line |
true |
false |
branch |
135
|
0 |
26 |
unless shift()
|
139
|
26 |
0 |
$self->keep ? :
|
146
|
0 |
2082 |
unless &blessed($model) and $model->does("Attean::API::Model")
|
148
|
1283 |
799 |
if ($plan->has_cost) { }
|
151
|
799 |
0 |
if ($model->does("Attean::API::CostPlanner"))
|
152
|
27 |
772 |
if (defined(my $cost = $model->cost_for_plan($plan, $self)))
|
161
|
0 |
772 |
if ($plan->isa('Attean::Plan::Quad')) { }
|
|
0 |
772 |
elsif ($plan->isa('Attean::Plan::Table')) { }
|
|
408 |
364 |
elsif ($plan->isa('Attean::Plan::NestedLoopJoin')) { }
|
|
356 |
8 |
elsif ($plan->isa('Attean::Plan::HashJoin')) { }
|
|
3 |
5 |
elsif ($plan->isa('Attean::Plan::Service')) { }
|
|
0 |
5 |
elsif ($plan->isa('Attean::Plan::Unique')) { }
|
162
|
0 |
0 |
if &blessed($_)
|
170
|
26 |
382 |
if ($lcost == 0) { }
|
|
0 |
382 |
elsif ($rcost == 0) { }
|
181
|
52 |
356 |
unless $plan->children_are_variable_connected
|
188
|
0 |
356 |
unless $plan->children_are_variable_connected
|
207
|
0 |
772 |
if ($self->log->is_trace) { }
|
256
|
0 |
13 |
$k < scalar @todo ? :
|
262
|
16 |
52 |
if scalar @$o == 0
|
263
|
16 |
36 |
if scalar @$o == scalar @$s
|
288
|
51 |
9 |
if ($cost == $min)
|
301
|
51 |
0 |
if (not defined $min_key or $min_key eq $v_key)
|
337
|
0 |
125 |
unless shift()
|
340
|
0 |
125 |
if ($self->log->is_trace)
|
356
|
0 |
1075 |
unless &blessed($model) and $model->does("Attean::API::Model")
|
358
|
796 |
279 |
if ($plan->has_cost) { }
|
361
|
279 |
0 |
if ($model->does("Attean::API::CostPlanner"))
|
362
|
29 |
250 |
if (defined(my $cost = $model->cost_for_plan($plan, $self)))
|
371
|
4 |
246 |
if ($plan->isa('Attean::Plan::Quad')) { }
|
|
0 |
246 |
elsif ($plan->isa('Attean::Plan::Table')) { }
|
|
124 |
122 |
elsif ($plan->isa('Attean::Plan::NestedLoopJoin')) { }
|
|
104 |
18 |
elsif ($plan->isa('Attean::Plan::HashJoin')) { }
|
|
1 |
17 |
elsif ($plan->isa('Attean::Plan::Service')) { }
|
|
0 |
17 |
elsif ($plan->isa('Attean::Plan::Unique')) { }
|
372
|
12 |
4 |
if &blessed($_)
|
381
|
2 |
122 |
if ($lcost == 0) { }
|
|
2 |
120 |
elsif ($rcost == 0) { }
|
393
|
0 |
104 |
if ($lcost == 0) { }
|
|
0 |
104 |
elsif ($rcost == 0) { }
|
466
|
0 |
4 |
if ($t->subject->does('Attean::API::Variable')) { }
|
471
|
0 |
4 |
if ($t->predicate->does('Attean::API::Variable')) { }
|
474
|
0 |
4 |
if ($t->predicate->equals(iri('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'))) { }
|
480
|
4 |
0 |
if ($t->object->does('Attean::API::Variable')) { }
|
|
0 |
0 |
elsif ($t->object->does('Attean::API::Literal')) { }
|
497
|
208 |
16 |
if (scalar @$jv) { }
|
498
|
64 |
144 |
if (&all(sub {
|
505
|
64 |
0 |
if ($lnodes[$i]->does("Attean::API::Variable") and $lnodes[$i]->value eq $var)
|
508
|
64 |
0 |
if ($rnodes[$i]->does("Attean::API::Variable") and $rnodes[$i]->value eq $var)
|
511
|
64 |
0 |
if scalar keys %joinpos >= 2
|
520
|
64 |
0 |
if (exists $costs{$joinpos})
|