... | ... |
@@ -301,7 +301,7 @@ sub _build_bind_values { |
301 | 301 |
$found = 1; |
302 | 302 |
} |
303 | 303 |
|
304 |
- if ($key eq 'ARRAY') { |
|
304 |
+ if (ref $key eq 'ARRAY') { |
|
305 | 305 |
$root_params = $root_params->[$key->[0]]; |
306 | 306 |
} |
307 | 307 |
else { |
... | ... |
@@ -208,6 +208,7 @@ $result = $dbi->execute($select_query); |
208 | 208 |
$rows = $result->fetch_all_hash; |
209 | 209 |
is_deeply($rows, [{key1 => 3, key2 => 2}], "$test : insert with table name"); |
210 | 210 |
|
211 |
+ |
|
211 | 212 |
test 'DBI::Custom::SQL::Template basic tag'; |
212 | 213 |
$dbi->reconnect; |
213 | 214 |
$dbi->do($CREATE_TABLE->{1}); |
... | ... |
@@ -252,8 +253,30 @@ $rows = $result->fetch_all_hash; |
252 | 253 |
is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic tag2 with table dot"); |
253 | 254 |
|
254 | 255 |
|
256 |
+test 'DIB::Custom::SQL::Template in tag'; |
|
257 |
+$dbi->reconnect; |
|
258 |
+$dbi->do($CREATE_TABLE->{1}); |
|
259 |
+$sth = $dbi->prepare("insert into table1 (key1, key2, key3, key4, key5) values (?, ?, ?, ?, ?);"); |
|
260 |
+$sth->execute(1, 2, 3, 4, 5); |
|
261 |
+$sth->execute(6, 7, 8, 9, 10); |
|
255 | 262 |
|
256 |
-test 'DIB::Custom::SQL::Template'; |
|
263 |
+$tmpl = "select * from table1 where {in key1 2};"; |
|
264 |
+$query = $dbi->create_query($tmpl); |
|
265 |
+$result = $dbi->execute($query, {key1 => [9, 1]}); |
|
266 |
+$rows = $result->fetch_all_hash; |
|
267 |
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : basic"); |
|
268 |
+ |
|
269 |
+$tmpl = "select * from table1 where {in table1.key1 2};"; |
|
270 |
+$query = $dbi->create_query($tmpl); |
|
271 |
+$result = $dbi->execute($query, {table1 => {key1 => [9, 1]}}); |
|
272 |
+$rows = $result->fetch_all_hash; |
|
273 |
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : with table"); |
|
274 |
+ |
|
275 |
+$tmpl = "select * from table1 where {in table1.key1 2};"; |
|
276 |
+$query = $dbi->create_query($tmpl); |
|
277 |
+$result = $dbi->execute($query, {'table1.key1' => [9, 1]}); |
|
278 |
+$rows = $result->fetch_all_hash; |
|
279 |
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "$test : with table dot"); |
|
257 | 280 |
|
258 | 281 |
|
259 | 282 |
test 'DBI::Custom::SQL::Template insert tag'; |