Showing 2 changed files with 113 additions and 117 deletions
+27
t/common.t
... ...
@@ -2146,6 +2146,33 @@ $result = $model->select(
2146 2146
 is_deeply($result->one,
2147 2147
           {key1 => 1, key2 => 2, 'table2__key1' => 1, 'table2__key3' => 3});
2148 2148
 
2149
+test 'insert_param';
2150
+$dbi = DBIx::Custom->connect;
2151
+eval { $dbi->execute('drop table table1') };
2152
+$dbi->execute($create_table1_2);
2153
+$param = {key1 => 1, key2 => 2};
2154
+$insert_param = $dbi->insert_param($param);
2155
+$sql = <<"EOS";
2156
+insert into table1 $insert_param
2157
+EOS
2158
+$dbi->execute($sql, param => $param, table => 'table1');
2159
+is($dbi->select(table => 'table1')->one->{key1}, 1);
2160
+is($dbi->select(table => 'table1')->one->{key2}, 2);
2161
+
2162
+$dbi = DBIx::Custom->connect;
2163
+eval { $dbi->execute('drop table table1') };
2164
+$dbi->execute($create_table1_2);
2165
+$param = {key1 => 1, key2 => 2};
2166
+$insert_param = $dbi->insert_param($param);
2167
+$sql = <<"EOS";
2168
+insert into table1 $insert_param
2169
+EOS
2170
+$dbi->execute($sql, param => $param, table => 'table1');
2171
+is($dbi->select(table => 'table1')->one->{key1}, 1);
2172
+is($dbi->select(table => 'table1')->one->{key2}, 2);
2173
+
2174
+eval { $dbi->insert_param({";" => 1}) };
2175
+like($@, qr/not safety/);
2149 2176
 
2150 2177
 
2151 2178
 
+86 -117
t/sqlite.t
... ...
@@ -196,123 +196,6 @@ my $binary;
196 196
 # Prepare table
197 197
 $dbi = DBIx::Custom->connect;
198 198
 
199
-
200
-
201
-test 'update_param';
202
-$dbi = DBIx::Custom->connect;
203
-eval { $dbi->execute('drop table table1') };
204
-$dbi->execute($create_table1_2);
205
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
206
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
207
-
208
-$param = {key2 => 11};
209
-$update_param = $dbi->update_param($param);
210
-$sql = <<"EOS";
211
-update table1 $update_param
212
-where key1 = 1
213
-EOS
214
-$dbi->execute($sql, param => $param);
215
-$result = $dbi->execute('select * from table1;', table => 'table1');
216
-$rows   = $result->all;
217
-is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 3, key4 => 4, key5 => 5},
218
-                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
219
-                  "basic");
220
-
221
-
222
-$dbi = DBIx::Custom->connect;
223
-eval { $dbi->execute('drop table table1') };
224
-$dbi->execute($create_table1_2);
225
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
226
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
227
-
228
-$param = {key2 => 11, key3 => 33};
229
-$update_param = $dbi->update_param($param);
230
-$sql = <<"EOS";
231
-update table1 $update_param
232
-where key1 = 1
233
-EOS
234
-$dbi->execute($sql, param => $param);
235
-$result = $dbi->execute('select * from table1;', table => 'table1');
236
-$rows   = $result->all;
237
-is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 33, key4 => 4, key5 => 5},
238
-                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
239
-                  "basic");
240
-
241
-$dbi = DBIx::Custom->connect;
242
-eval { $dbi->execute('drop table table1') };
243
-$dbi->execute($create_table1_2);
244
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
245
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
246
-
247
-$param = {key2 => 11, key3 => 33};
248
-$update_param = $dbi->update_param($param, {no_set => 1});
249
-$sql = <<"EOS";
250
-update table1 set $update_param
251
-where key1 = 1
252
-EOS
253
-$dbi->execute($sql, param => $param);
254
-$result = $dbi->execute('select * from table1;', table => 'table1');
255
-$rows   = $result->all;
256
-is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 33, key4 => 4, key5 => 5},
257
-                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
258
-                  "update param no_set");
259
-
260
-            
261
-eval { $dbi->update_param({";" => 1}) };
262
-like($@, qr/not safety/);
263
-
264
-
265
-test 'update_param';
266
-$dbi = DBIx::Custom->connect;
267
-eval { $dbi->execute('drop table table1') };
268
-$dbi->execute($create_table1_2);
269
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
270
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
271
-
272
-$param = {key2 => 11};
273
-$update_param = $dbi->assign_param($param);
274
-$sql = <<"EOS";
275
-update table1 set $update_param
276
-where key1 = 1
277
-EOS
278
-$dbi->execute($sql, param => $param, table => 'table1');
279
-$result = $dbi->execute('select * from table1;');
280
-$rows   = $result->all;
281
-is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 3, key4 => 4, key5 => 5},
282
-                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
283
-                  "basic");
284
-
285
-
286
-test 'insert_param';
287
-$dbi = DBIx::Custom->connect;
288
-eval { $dbi->execute('drop table table1') };
289
-$dbi->execute($create_table1_2);
290
-$param = {key1 => 1, key2 => 2};
291
-$insert_param = $dbi->insert_param($param);
292
-$sql = <<"EOS";
293
-insert into table1 $insert_param
294
-EOS
295
-$dbi->execute($sql, param => $param, table => 'table1');
296
-is($dbi->select(table => 'table1')->one->{key1}, 1);
297
-is($dbi->select(table => 'table1')->one->{key2}, 2);
298
-
299
-$dbi = DBIx::Custom->connect;
300
-$dbi->quote('"');
301
-eval { $dbi->execute('drop table table1') };
302
-$dbi->execute($create_table1_2);
303
-$param = {key1 => 1, key2 => 2};
304
-$insert_param = $dbi->insert_param($param);
305
-$sql = <<"EOS";
306
-insert into table1 $insert_param
307
-EOS
308
-$dbi->execute($sql, param => $param, table => 'table1');
309
-is($dbi->select(table => 'table1')->one->{key1}, 1);
310
-is($dbi->select(table => 'table1')->one->{key2}, 2);
311
-
312
-eval { $dbi->insert_param({";" => 1}) };
313
-like($@, qr/not safety/);
314
-
315
-
316 199
 test 'join';
317 200
 $dbi = DBIx::Custom->connect;
318 201
 eval { $dbi->execute('drop table table1') };
... ...
@@ -1636,6 +1519,92 @@ like($@, qr/unexpected "{"/, "error : 2");
1636 1519
 
1637 1520
 
1638 1521
 ### a little complex test
1522
+
1523
+test 'update_param';
1524
+$dbi = DBIx::Custom->connect;
1525
+eval { $dbi->execute('drop table table1') };
1526
+$dbi->execute($create_table1_2);
1527
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
1528
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
1529
+
1530
+$param = {key2 => 11};
1531
+$update_param = $dbi->update_param($param);
1532
+$sql = <<"EOS";
1533
+update table1 $update_param
1534
+where key1 = 1
1535
+EOS
1536
+$dbi->execute($sql, param => $param);
1537
+$result = $dbi->execute('select * from table1;', table => 'table1');
1538
+$rows   = $result->all;
1539
+is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 3, key4 => 4, key5 => 5},
1540
+                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
1541
+                  "basic");
1542
+
1543
+
1544
+$dbi = DBIx::Custom->connect;
1545
+eval { $dbi->execute('drop table table1') };
1546
+$dbi->execute($create_table1_2);
1547
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
1548
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
1549
+
1550
+$param = {key2 => 11, key3 => 33};
1551
+$update_param = $dbi->update_param($param);
1552
+$sql = <<"EOS";
1553
+update table1 $update_param
1554
+where key1 = 1
1555
+EOS
1556
+$dbi->execute($sql, param => $param);
1557
+$result = $dbi->execute('select * from table1;', table => 'table1');
1558
+$rows   = $result->all;
1559
+is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 33, key4 => 4, key5 => 5},
1560
+                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
1561
+                  "basic");
1562
+
1563
+$dbi = DBIx::Custom->connect;
1564
+eval { $dbi->execute('drop table table1') };
1565
+$dbi->execute($create_table1_2);
1566
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
1567
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
1568
+
1569
+$param = {key2 => 11, key3 => 33};
1570
+$update_param = $dbi->update_param($param, {no_set => 1});
1571
+$sql = <<"EOS";
1572
+update table1 set $update_param
1573
+where key1 = 1
1574
+EOS
1575
+$dbi->execute($sql, param => $param);
1576
+$result = $dbi->execute('select * from table1;', table => 'table1');
1577
+$rows   = $result->all;
1578
+is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 33, key4 => 4, key5 => 5},
1579
+                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
1580
+                  "update param no_set");
1581
+
1582
+            
1583
+eval { $dbi->update_param({";" => 1}) };
1584
+like($@, qr/not safety/);
1585
+
1586
+
1587
+test 'update_param';
1588
+$dbi = DBIx::Custom->connect;
1589
+eval { $dbi->execute('drop table table1') };
1590
+$dbi->execute($create_table1_2);
1591
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
1592
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
1593
+
1594
+$param = {key2 => 11};
1595
+$update_param = $dbi->assign_param($param);
1596
+$sql = <<"EOS";
1597
+update table1 set $update_param
1598
+where key1 = 1
1599
+EOS
1600
+$dbi->execute($sql, param => $param, table => 'table1');
1601
+$result = $dbi->execute('select * from table1;');
1602
+$rows   = $result->all;
1603
+is_deeply($rows, [{key1 => 1, key2 => 11, key3 => 3, key4 => 4, key5 => 5},
1604
+                  {key1 => 6, key2 => 7,  key3 => 8, key4 => 9, key5 => 10}],
1605
+                  "basic");
1606
+
1607
+
1639 1608
 test 'type option'; # DEPRECATED!
1640 1609
 $dbi = DBIx::Custom->connect(
1641 1610
     data_source => 'dbi:SQLite:dbname=:memory:',