| line |
true |
false |
branch |
|
60
|
211 |
923 |
if 0 < scalar @_ |
|
105
|
6 |
535 |
if ($use_type eq 'ModifyTable') { } |
|
|
32 |
503 |
elsif ($use_type eq 'Aggregate') { } |
|
107
|
6 |
0 |
if ($struct->{'Relation Name'}) |
|
109
|
0 |
6 |
if $struct->{'Alias'} and $struct->{'Alias'} ne $struct->{'Relation Name'} |
|
115
|
6 |
26 |
if $strategy eq "Hashed" |
|
116
|
3 |
29 |
if $strategy eq "Sorted" |
|
117
|
2 |
30 |
if $strategy eq "Mixed" |
|
119
|
6 |
535 |
if (($struct->{'Scan Direction'} || '') eq "Backward") |
|
136
|
0 |
541 |
if (defined $struct->{'Actual Startup Time'} and not $struct->{'Actual Loops'}) |
|
142
|
257 |
284 |
if ($struct->{'Node Type'} =~ /\A(?:Seq Scan|Bitmap Heap Scan)$/u) { } |
|
|
6 |
278 |
elsif ($struct->{'Node Type'} eq 'Function Scan') { } |
|
|
6 |
272 |
elsif ($struct->{'Node Type'} eq 'Bitmap Index Scan') { } |
|
|
24 |
248 |
elsif ($struct->{'Node Type'} =~ /\AIndex(?: Only)? Scan(?: Backward)?\z/u) { } |
|
|
9 |
239 |
elsif ($struct->{'Node Type'} eq 'CTE Scan') { } |
|
|
2 |
237 |
elsif ($struct->{'Node Type'} eq 'Subquery Scan') { } |
|
|
3 |
234 |
elsif ($struct->{'Node Type'} eq 'WorkTable Scan') { } |
|
199
|
9 |
532 |
if ($struct->{'Group Key'}) |
|
204
|
2 |
539 |
if ($struct->{'Grouping Sets'}) |
|
215
|
6 |
535 |
if $struct->{'Workers Planned'} |
|
216
|
6 |
535 |
if ($struct->{'Workers Launched'}) |
|
221
|
6 |
535 |
if ($struct->{'Recheck Cond'}) |
|
223
|
3 |
3 |
if ($struct->{'Rows Removed by Index Recheck'}) |
|
228
|
3 |
538 |
if ($struct->{'Join Filter'}) |
|
230
|
3 |
0 |
if ($struct->{'Rows Removed by Join Filter'}) |
|
235
|
19 |
522 |
if $struct->{'Index Cond'} |
|
237
|
205 |
336 |
if ($struct->{'Filter'}) |
|
239
|
205 |
0 |
if (defined $struct->{'Rows Removed by Filter'}) |
|
244
|
12 |
529 |
if ($struct->{'Node Type'} eq "Sort") |
|
245
|
9 |
3 |
if ("ARRAY" eq ref $struct->{'Sort Key'}) |
|
248
|
9 |
3 |
if ($struct->{'Sort Method'}) |
|
256
|
6 |
535 |
if $struct->{'Heap Fetches'} |
|
261
|
1076 |
6 |
unless $struct->{$key} |
|
264
|
6 |
535 |
if 0 < scalar @heap_blocks_info |
|
267
|
60 |
481 |
if $buffers |
|
269
|
3 |
538 |
if ($struct->{'Conflict Resolution'}) |
|
271
|
3 |
0 |
if ($struct->{'Conflict Arbiter Indexes'}) |
|
274
|
3 |
0 |
if ($struct->{'Conflict Filter'}) |
|
276
|
3 |
0 |
if (defined $struct->{'Rows Removed by Conflict Filter'}) |
|
282
|
3 |
538 |
if defined $struct->{'Tuples Inserted'} |
|
284
|
3 |
538 |
if defined $struct->{'Conflicting Tuples'} |
|
286
|
320 |
221 |
if ($struct->{'Plans'}) |
|
288
|
0 |
320 |
if ('HASH' eq ref $struct->{'Plans'}) { } |
|
297
|
15 |
315 |
if ($parent_relationship eq 'InitPlan') { } |
|
|
3 |
312 |
elsif ($parent_relationship eq 'SubPlan') { } |
|
298
|
9 |
6 |
if ($subplan->{'Subplan Name'} =~ / \A \s* CTE \s+ (\S+) \s* \z /msux) { } |
|
|
6 |
0 |
elsif ($subplan->{'Subplan Name'} =~ / \A InitPlan \s+ (\d+) \s+ \(returns \s+ ( .* )\) \z/msux) { } |