$col_btype ? (bindtype => 'columns') : (),
);
- my ($sql, @bind) = $sql_maker->select ('artist', '*', { arr1 => { -value => [1,2] }, arr2 => { '>', { -value => [3,4] } }, field => [5,6] } );
+ my ($sql, @bind) = $sql_maker->select('artist', '*', { arr1 => { -value => [1,2] }, arr2 => { '>', { -value => [3,4] } }, field => [5,6] } );
is_same_sql_bind (
$sql,
)
],
);
+
+ {
+ local $SIG{__WARN__} = sub { warn @_ unless $_[0] =~ /Supplying an undefined argument to '(?:NOT )?LIKE'/ };
+
+ ($sql, @bind) = $sql_maker->where({
+ c1 => undef,
+ c2 => { -value => undef },
+ c3 => { '=' => { -value => undef } },
+ c4 => { '!=' => { -value => undef } },
+ c5 => { '<>' => { -value => undef } },
+ c6 => { '-like' => { -value => undef } },
+ c7 => { '-not_like' => { -value => undef } },
+ c8 => { 'is' => { -value => undef } },
+ c9 => { 'is not' => { -value => undef } },
+ });
+
+ is_same_sql_bind (
+ $sql,
+ \@bind,
+ "WHERE ${q}c1${q} IS NULL
+ AND ${q}c2${q} IS NULL
+ AND ${q}c3${q} IS NULL
+ AND ${q}c4${q} IS NOT NULL
+ AND ${q}c5${q} IS NOT NULL
+ AND ${q}c6${q} IS NULL
+ AND ${q}c7${q} IS NOT NULL
+ AND ${q}c8${q} IS NULL
+ AND ${q}c9${q} IS NOT NULL
+ ",
+ [],
+ );
+ }
}}
done_testing;