-#!/usr/bin/perl
-
use strict;
use warnings;
},
{
equal => 0,
- opts => { parenthesis_significant => 1 },
statements => [
- q/SELECT foo FROM bar WHERE a IN (1,2,3)/,
q/SELECT foo FROM bar WHERE a IN (1,3,2)/,
+ q/SELECT foo FROM bar WHERE a IN 1,2,3/,
+ q/SELECT foo FROM bar WHERE a IN (1,2,3)/,
q/SELECT foo FROM bar WHERE a IN ((1,2,3))/,
]
},
},
);
-for my $test ( @sql_tests ) {
+for my $test (@sql_tests) {
# this does not work on 5.8.8 and earlier :(
#local @{*SQL::Abstract::Test::}{keys %{$test->{opts}}} = map { \$_ } values %{$test->{opts}}
'expected debug of missing branch',
);
+
+ok (eq_sql_bind (
+ \[ 'SELECT foo FROM bar WHERE baz = ? or buzz = ?', [ {} => 1 ], 2 ],
+ 'SELECT foo FROM bar WHERE (baz = ?) OR buzz = ?',
+ [ [ {} => 1 ], 2 ],
+), 'arrayrefref unpacks correctly' );
+
+is_same_sql_bind(
+ \[ 'SELECT foo FROM bar WHERE baz = ? or buzz = ?', [ {} => 1 ], 2 ],
+ \[ 'SELECT foo FROM bar WHERE (( baz = ? OR (buzz = ?) ))', [ {} => 1 ], 2 ],
+ 'double arrayrefref unpacks correctly'
+);
+
done_testing;