|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
110
 | 
 0  | 
 0  | 
 delete $args{'distinct'} ? :
  | 
 
| 
114
 | 
 0  | 
 0  | 
 exists $args{'pretty'} ? :
  | 
 
| 
127
 | 
 0  | 
 0  | 
 exists $args{'table_aliases'} ? :
  | 
 
| 
129
 | 
 0  | 
 0  | 
 if ($args{'limit'})
  | 
 
| 
135
 | 
 0  | 
 0  | 
 if (delete $args{'for_update'})
  | 
 
| 
140
 | 
 0  | 
 0  | 
 unless %$all_columns
  | 
 
| 
142
 | 
 0  | 
 0  | 
 unless $logic eq ','
  | 
 
| 
146
 | 
 0  | 
 0  | 
 unless ($args{'dbh'})
  | 
 
| 
148
 | 
 0  | 
 0  | 
 if ($args{'db'}) { }
  | 
 
| 
162
 | 
 0  | 
 0  | 
 if ($query_arg)
  | 
 
| 
166
 | 
 0  | 
 0  | 
 if ($query_arg->[$i] =~ /^(?:and|or)$/i) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (my $ref = ref $query_arg->[$i]) { }
  | 
 
| 
170
 | 
 0  | 
 0  | 
 unless (ref $query and @$query)
  | 
 
| 
178
 | 
 0  | 
 0  | 
 if ($do_bind) { }
  | 
 
| 
201
 | 
 0  | 
 0  | 
 if ($pretty) { }
  | 
 
| 
224
 | 
 0  | 
 0  | 
 if ($ref eq 'SCALAR') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($ref eq 'ARRAY') { }
  | 
 
| 
233
 | 
 0  | 
 0  | 
 unless (ref $list->[0] eq 'SCALAR')
  | 
 
| 
242
 | 
 0  | 
 0  | 
 if ($do_bind)
  | 
 
| 
259
 | 
 0  | 
 0  | 
 ref $_ eq 'SCALAR' ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 if ref $select
  | 
 
| 
260
 | 
 0  | 
 0  | 
 ref $_ eq 'SCALAR' ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 if ref $sort_by
  | 
 
| 
261
 | 
 0  | 
 0  | 
 if ref $group_by
  | 
 
| 
267
 | 
 0  | 
 0  | 
 unless $columns->{$table}
  | 
 
| 
275
 | 
 0  | 
 0  | 
 @$tables > 1 ? :
  | 
 
| 
278
 | 
 0  | 
 0  | 
 if ($multi_table) { }
  | 
 
| 
284
 | 
 0  | 
 0  | 
 unless defined $table_aliases
  | 
 
| 
300
 | 
 0  | 
 0  | 
 unless ($query_is_sql)
  | 
 
| 
302
 | 
 0  | 
 0  | 
 unless $classes = $args{'classes'}
  | 
 
| 
307
 | 
 0  | 
 0  | 
 unless $db
  | 
 
| 
310
 | 
 0  | 
 0  | 
 unless $obj_class = $classes->{$table}
  | 
 
| 
313
 | 
 0  | 
 0  | 
 unless $obj_meta = $meta->{$obj_class} || $obj_class->meta
  | 
 
| 
316
 | 
 0  | 
 0  | 
 if ($bind_params and not defined $do_bind_params)
  | 
 
| 
322
 | 
 0  | 
 0  | 
 unless $do_bind_params
  | 
 
| 
329
 | 
 0  | 
 0  | 
 if (@$my_columns == 0)
  | 
 
| 
334
 | 
 0  | 
 0  | 
 if ($obj_meta) { }
  | 
 
| 
345
 | 
 0  | 
 0  | 
 if ($obj_meta)
  | 
 
| 
359
 | 
 0  | 
 0  | 
 $table_map->{$table_tn} ? :
  | 
 
| 
371
 | 
 0  | 
 0  | 
 if $rel_column eq $fq_column
  | 
 
| 
373
 | 
 0  | 
 0  | 
 if ($obj_meta)
  | 
 
| 
377
 | 
 0  | 
 0  | 
 unless ($method eq $column)
  | 
 
| 
383
 | 
 0  | 
 0  | 
 $table_map->{$table_tn} ? :
  | 
 
| 
387
 | 
 0  | 
 0  | 
 unless ($query_only_columns or not $select_columns{$column})
  | 
 
| 
389
 | 
 0  | 
 0  | 
 if ($table_aliases) { }
  | 
 
| 
391
 | 
 0  | 
 0  | 
 $unique_aliases ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $unique_aliases ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $unique_aliases ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $db ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $obj_meta ? :
  | 
 
| 
406
 | 
 0  | 
 0  | 
 $db ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $obj_meta ? :
  | 
 
| 
416
 | 
 0  | 
 0  | 
 index($column_arg, '!') == 0 ? :
  | 
 
| 
426
 | 
 0  | 
 0  | 
 unless ($query_is_sql or $scalar_ref)
  | 
 
| 
430
 | 
 0  | 
 0  | 
 unless $col_meta = $obj_meta->column($column) || $obj_meta->method_column($column)
  | 
 
| 
433
 | 
 0  | 
 0  | 
 if ($get_method or $set_method)
  | 
 
| 
435
 | 
 0  | 
 0  | 
 unless ($obj = $proto{$obj_class})
  | 
 
| 
441
 | 
 0  | 
 0  | 
 unless $get_method = $obj_meta->column_accessor_method_name($column)
  | 
 
| 
444
 | 
 0  | 
 0  | 
 unless $set_method = $obj_meta->column_mutator_method_name($column)
  | 
 
| 
450
 | 
 0  | 
 0  | 
 if (ref $val eq 'HASH' and $val->{'any_in_array'} || $val->{'all_in_array'} and not @{[] unless $val->{'any_in_array'} or $val->{'all_in_array'};})
  | 
 
| 
451
 | 
 0  | 
 0  | 
 unless $val->{'any_in_array'} or $val->{'all_in_array'}
  | 
 
| 
453
 | 
 0  | 
 0  | 
 unless $allow_empty_lists
  | 
 
| 
467
 | 
 0  | 
 0  | 
 if ($column_arg eq $column || $column_arg eq "!$column" and ($column_count{$column} || 0) > 1)
  | 
 
| 
470
 | 
 0  | 
 0  | 
 if ($args{'no_ambiguous_columns'}) { }
  | 
 
| 
478
 | 
 0  | 
 0  | 
 unless $table_alias eq 't1'
  | 
 
| 
482
 | 
 0  | 
 0  | 
 $col_meta ? :
  | 
 
| 
483
 | 
 0  | 
 0  | 
 $db ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $table_aliases ? :
  | 
 
| 
486
 | 
 0  | 
 0  | 
 if ($val_ref) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not defined $val) { }
  | 
 
| 
488
 | 
 0  | 
 0  | 
 if $scalar_ref
  | 
 
| 
490
 | 
 0  | 
 0  | 
 $do_bind ? :
  | 
 
| 
500
 | 
 0  | 
 0  | 
 if ($set) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($op eq 'IS' or $op eq 'IS NOT') { }
  | 
 
| 
506
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $op eq 'IS NOT' ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
512
 | 
 0  | 
 0  | 
 $not || $op eq '<>' ? :
  | 
 
| 
517
 | 
 0  | 
 0  | 
 if ($col_meta and $db and $col_meta->should_inline_value($db, $val)) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($do_bind) { }
  | 
 
| 
519
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
523
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
526
 | 
 0  | 
 0  | 
 if ($do_bind_params)
  | 
 
| 
533
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
543
 | 
 0  | 
 0  | 
 if (%query)
  | 
 
| 
545
 | 
 0  | 
 0  | 
 scalar keys %query > 1 ? :
  | 
 
| 
549
 | 
 0  | 
 0  | 
 if ($clauses_arg)
  | 
 
| 
556
 | 
 0  | 
 0  | 
 if ($pretty) { }
  | 
 
| 
569
 | 
 0  | 
 0  | 
 $db ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 exists $args{'nested_joins'} ? :
  | 
 
| 
571
 | 
 0  | 
 0  | 
 unless ($where_only)
  | 
 
| 
583
 | 
 0  | 
 0  | 
 if ($joins and @$joins) { }
  | 
 
| 
591
 | 
 0  | 
 0  | 
 if ($i == 1) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not $joins->[$i]) { }
  | 
 
| 
594
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
609
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
625
 | 
 0  | 
 0  | 
 unless $joins->[$i]{'type'}
  | 
 
| 
628
 | 
 0  | 
 0  | 
 unless $joins->[$i]{'conditions'}
  | 
 
| 
630
 | 
 0  | 
 0  | 
 if ($nested_joins) { }
  | 
 
| 
632
 | 
 0  | 
 0  | 
 if (my $parent_tn = $joins->[$i]{'parent_tn'}) { }
  | 
 
| 
643
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
661
 | 
 0  | 
 0  | 
 if ($nested_joins)
  | 
 
| 
667
 | 
 0  | 
 0  | 
 if $seen[$i]++
  | 
 
| 
671
 | 
 0  | 
 0  | 
 unless $children
  | 
 
| 
673
 | 
 0  | 
 0  | 
 if (@$children) { }
  | 
 
| 
679
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
699
 | 
 0  | 
 0  | 
 if ($driver eq 'mysql' and @normal_tables and $db && $db->database_version >= 5000012 || $dbh->get_info(18) =~ /5\.\d+\.(?:1[2-9]|[2-9]\d)/) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($driver eq 'SQLite') { }
  | 
 
| 
730
 | 
 0  | 
 0  | 
 @normal_tables ? :
  | 
 
| 
741
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
750
 | 
 0  | 
 0  | 
 $oracle_hack || keys %$hints ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $table_aliases ? :
  | 
 
| 
756
 | 
 0  | 
 0  | 
 $table_aliases ? :
  | 
 
| 
763
 | 
 0  | 
 0  | 
 if ($from_and_where_only) { }
  | 
 
| 
769
 | 
 0  | 
 0  | 
 $db && %$hints ? :
  | 
 
| 
771
 | 
 0  | 
 0  | 
 if (index($limit_prefix, 'SELECT ') != 0) { }
  | 
 
| 
782
 | 
 0  | 
 0  | 
 if ($where)
  | 
 
| 
784
 | 
 0  | 
 0  | 
 if ($where_only) { }
  | 
 
| 
794
 | 
 0  | 
 0  | 
 if $group_by
  | 
 
| 
795
 | 
 0  | 
 0  | 
 if $sort_by
  | 
 
| 
796
 | 
 0  | 
 0  | 
 if defined $limit_suffix
  | 
 
| 
797
 | 
 0  | 
 0  | 
 if $object_class and $lock
  | 
 
| 
799
 | 
 0  | 
 0  | 
 if $Debug
  | 
 
| 
801
 | 
 0  | 
 0  | 
 wantarray ? :
  | 
 
| 
815
 | 
 0  | 
 0  | 
 if (ref $vals eq 'SCALAR')
  | 
 
| 
821
 | 
 0  | 
 0  | 
 if (not defined $op and ref $vals eq 'HASH' and keys %$vals == 1) { }
  | 
 
| 
825
 | 
 0  | 
 0  | 
 if ($op_arg =~ s/(?:_|^)sql$//)
  | 
 
| 
830
 | 
 0  | 
 0  | 
 unless ($op = $Op_Map{$op_arg})
  | 
 
| 
832
 | 
 0  | 
 0  | 
 if ($strict_ops) { }
  | 
 
| 
844
 | 
 0  | 
 0  | 
 $db ? :
  | 
 
| 
846
 | 
 0  | 
 0  | 
 unless ($ref = ref $vals)
  | 
 
| 
848
 | 
 0  | 
 0  | 
 if $field_mod
  | 
 
| 
853
 | 
 0  | 
 0  | 
 if (defined $vals)
  | 
 
| 
855
 | 
 0  | 
 0  | 
 if ($bind and not $should_inline and not $force_inline)
  | 
 
| 
859
 | 
 0  | 
 0  | 
 if ($bind_params)
  | 
 
| 
864
 | 
 0  | 
 0  | 
 if ($op eq 'ANY IN SET' or $op eq 'ALL IN SET') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($op eq 'ANY IN ARRAY' or $op eq 'ALL IN ARRAY') { }
  | 
 
| 
866
 | 
 0  | 
 0  | 
 if ($driver eq 'mysql') { }
  | 
 
| 
868
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
873
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
878
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
882
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
886
 | 
 0  | 
 0  | 
 if ($op eq 'ANY IN SET' or $op eq 'ALL IN SET') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($op eq 'ANY IN ARRAY' or $op eq 'ALL IN ARRAY') { }
  | 
 
| 
888
 | 
 0  | 
 0  | 
 if ($driver eq 'mysql') { }
  | 
 
| 
890
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $should_inline || $force_inline ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
896
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $should_inline || $force_inline ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
903
 | 
 0  | 
 0  | 
 $should_inline || $force_inline ? :
  | 
 
| 
904
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
908
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $should_inline || $force_inline ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
916
 | 
 0  | 
 0  | 
 if ($set) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($op eq 'IS' or $op eq 'IS NOT') { }
  | 
 
| 
922
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $op eq 'IS NOT' ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
927
 | 
 0  | 
 0  | 
 $not || $op eq '<>' ? :
  | 
 
| 
931
 | 
 0  | 
 0  | 
 if ($ref eq 'ARRAY') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($ref eq 'HASH') { }
  | 
 
| 
933
 | 
 0  | 
 0  | 
 if (not @$vals) { }
  | 
 
| 
935
 | 
 0  | 
 0  | 
 unless $allow_empty_lists
  | 
 
| 
940
 | 
 0  | 
 0  | 
 if ($op eq '=') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($op =~ /^(A(?:NY|LL)) IN (SET|ARRAY)$/) { }
  | 
 
| 
949
 | 
 0  | 
 0  | 
 if (ref $val eq 'SCALAR') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($should_inline or $force_inline) { }
  | 
 
| 
959
 | 
 0  | 
 0  | 
 if ($bind) { }
  | 
 
| 
961
 | 
 0  | 
 0  | 
 if (defined $val) { }
  | 
 
| 
966
 | 
 0  | 
 0  | 
 if ($bind_params)
  | 
 
| 
983
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
987
 | 
 0  | 
 0  | 
 $1 eq 'ANY' ? :
  | 
 
| 
988
 | 
 0  | 
 0  | 
 $2 eq 'SET' ? :
  | 
 
| 
990
 | 
 0  | 
 0  | 
 if ($bind)
  | 
 
| 
995
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 ref $vals ? :
  | 
 
| 
996
 | 
 0  | 
 0  | 
 if ($bind_params)
  | 
 
| 
1008
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 ref $vals ? :
  | 
 
| 
1013
 | 
 0  | 
 0  | 
 if ($bind)
  | 
 
| 
1020
 | 
 0  | 
 0  | 
 if (ref $val eq 'SCALAR')
  | 
 
| 
1029
 | 
 0  | 
 0  | 
 if ($should_inline or $force_inline) { }
  | 
 
| 
1038
 | 
 0  | 
 0  | 
 if ($bind_params)
  | 
 
| 
1045
 | 
 0  | 
 0  | 
 if ($Template_Op{$op})
  | 
 
| 
1053
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
1056
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
1062
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $force_inline || $db && $col_meta && $col_meta->should_inline_value($db, $_) ? :
  | 
 
| 
 | 
 0  | 
 0  | 
 $not ? :
  | 
 
| 
1075
 | 
 0  | 
 0  | 
 if exists $vals->{'field'}
  | 
 
| 
1077
 | 
 0  | 
 0  | 
 $op eq 'ALL IN SET' || $op eq 'ALL IN ARRAY' ? :
  | 
 
| 
1078
 | 
 0  | 
 0  | 
 $op eq 'ANY IN SET' || $op eq 'ANY IN ARRAY' ? :
  | 
 
| 
1082
 | 
 0  | 
 0  | 
 unless ($sub_op = $Op_Map{$raw_op})
  | 
 
| 
1084
 | 
 0  | 
 0  | 
 if $strict_ops
  | 
 
| 
1090
 | 
 0  | 
 0  | 
 if (not $ref_type or $ref_type eq 'SCALAR') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($ref_type eq 'ARRAY') { }
  | 
 
| 
1096
 | 
 0  | 
 0  | 
 $all_in ? :
  | 
 
| 
1098
 | 
 0  | 
 0  | 
 if (my $wanted = $Op_Wantarray{$raw_op}) { }
  | 
 
| 
1100
 | 
 0  | 
 0  | 
 if ($wanted > 1 and @{$vals->{$raw_op};} > $wanted)
  | 
 
| 
1117
 | 
 0  | 
 0  | 
 $col_meta ? :
  | 
 
| 
1123
 | 
 0  | 
 0  | 
 if ($all_in) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($any_in) { }
  | 
 
| 
1125
 | 
 0  | 
 0  | 
 if ($not) { }
  | 
 
| 
1131
 | 
 0  | 
 0  | 
 @clauses == 1 ? :
  | 
 
| 
1136
 | 
 0  | 
 0  | 
 if ($not) { }
  | 
 
| 
1142
 | 
 0  | 
 0  | 
 @clauses == 1 ? :
  | 
 
| 
1147
 | 
 0  | 
 0  | 
 @clauses == 1 ? :
  | 
 
| 
1151
 | 
 0  | 
 0  | 
 $col_meta ? :
  | 
 
| 
1162
 | 
 0  | 
 0  | 
 if ($nested->[$i] and @{$nested->[$i];}) { }
  | 
 
| 
1166
 | 
 0  | 
 0  | 
 if ($joins->[$i]) { }
  | 
 
| 
1172
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
1203
 | 
 0  | 
 0  | 
 if ($db) { }
  | 
 
| 
1228
 | 
 0  | 
 0  | 
 if (not $val_ref or $asis) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($val_ref eq 'ARRAY') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($val_ref eq 'HASH') { }
  | 
 
| 
1230
 | 
 0  | 
 0  | 
 unless (ref $store eq 'HASH' and $Op_Arg_PassThru{$param})
  | 
 
| 
1232
 | 
 0  | 
 0  | 
 if ($col_meta->manager_uses_method) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (defined $value) { }
  | 
 
| 
1243
 | 
 0  | 
 0  | 
 if (defined $value and not defined $parsed_value)
  | 
 
| 
1248
 | 
 0  | 
 0  | 
 if defined $value
  | 
 
| 
1255
 | 
 0  | 
 0  | 
 unless @$value or $allow_empty_lists
  | 
 
| 
1258
 | 
 0  | 
 0  | 
 if ($asis or $col_meta->type eq 'array' or $col_meta->type eq 'set' and $depth == 1) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif ($col_meta->type ne 'set') { }
  | 
 
| 
1279
 | 
 0  | 
 0  | 
 if $key =~ /(?:_|^)sql$/
  | 
 
| 
1285
 | 
 0  | 
 0  | 
 if ($col_meta->manager_uses_method) { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (defined $value and $val_ref ne 'SCALAR') { }
  | 
 
| 
1296
 | 
 0  | 
 0  | 
 if (defined $value and not defined $parsed_value)
  | 
 
| 
1301
 | 
 0  | 
 0  | 
 if defined $value
  | 
 
| 
1306
 | 
 0  | 
 0  | 
 if (ref $store eq 'HASH') { }
  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (ref $store eq 'ARRAY') { }
  | 
 
| 
1308
 | 
 0  | 
 0  | 
 unless defined $param
  |