| ... | ... |
@@ -10,14 +10,16 @@ use DBIx::Custom; |
| 10 | 10 |
no warnings 'redefine'; |
| 11 | 11 |
has dsn => 'dbi:SQLite:dbname=:memory:'; |
| 12 | 12 |
sub quote { '""' }
|
| 13 |
- sub create_table1 { 'create table table1 (key1, key2);' }
|
|
| 14 |
- sub create_table1_2 {'create table table1 (key1, key2, key3, key4, key5);' }
|
|
| 13 |
+ sub create_table1 { 'create table table1 (key1 varchar, key2 varchar);' }
|
|
| 14 |
+ sub create_table1_2 {'create table table1 (key1 varchar, key2 varchar, key3 varchar, key4 varchar, key5 varchar);' }
|
|
| 15 | 15 |
sub create_table1_type { 'create table table1 (key1 Date, key2 datetime);' }
|
| 16 |
- sub create_table1_highperformance { "create table table1 (ab, bc, ik, hi, ui, pq, dc);" }
|
|
| 17 |
- sub create_table2 { 'create table table2 (key1, key3);' }
|
|
| 18 |
- sub create_table2_2 { "create table table2 (key1, key2, key3)" }
|
|
| 19 |
- sub create_table3 { "create table table3 (key1, key2, key3)" }
|
|
| 20 |
- sub create_table_reserved { 'create table "table" ("select", "update")' }
|
|
| 16 |
+ |
|
| 17 |
+ sub create_table1_highperformance { "create table table1 (ab varchar, bc varchar, ik varchar, hi varchar, ui varchar, pq varchar, dc varchar);" }
|
|
| 18 |
+ |
|
| 19 |
+ sub create_table2 { 'create table table2 (key1 varchar, key3 varchar);' }
|
|
| 20 |
+ sub create_table2_2 { "create table table2 (key1 varchar, key2 varchar, key3 varchar)" }
|
|
| 21 |
+ sub create_table3 { "create table table3 (key1 varchar, key2 varchar, key3 varchar)" }
|
|
| 22 |
+ sub create_table_reserved { 'create table "table" ("select" varchar, "update" varchar)' }
|
|
| 21 | 23 |
} |
| 22 | 24 |
|
| 23 | 25 |
require "$FindBin::Bin/common.t"; |
| ... | ... |
@@ -9,16 +9,16 @@ use DBIx::Custom; |
| 9 | 9 |
package DBIx::Custom; |
| 10 | 10 |
no warnings 'redefine'; |
| 11 | 11 |
has dsn => 'dbi:SQLite:dbname=:memory:'; |
| 12 |
- sub create_table1 { 'create table table1 (key1, key2);' }
|
|
| 13 |
- sub create_table1_2 {'create table table1 (key1, key2, key3, key4, key5);' }
|
|
| 12 |
+ sub create_table1 { 'create table table1 (key1 varchar, key2 varchar);' }
|
|
| 13 |
+ sub create_table1_2 {'create table table1 (key1 varchar, key2 varchar, key3 varchar, key4 varchar, key5 varchar);' }
|
|
| 14 | 14 |
sub create_table1_type { 'create table table1 (key1 Date, key2 datetime);' }
|
| 15 | 15 |
|
| 16 |
- sub create_table1_highperformance { "create table table1 (ab, bc, ik, hi, ui, pq, dc);" }
|
|
| 16 |
+ sub create_table1_highperformance { "create table table1 (ab varchar, bc varchar, ik varchar, hi varchar, ui varchar, pq varchar, dc varchar);" }
|
|
| 17 | 17 |
|
| 18 |
- sub create_table2 { 'create table table2 (key1, key3);' }
|
|
| 19 |
- sub create_table2_2 { "create table table2 (key1, key2, key3)" }
|
|
| 20 |
- sub create_table3 { "create table table3 (key1, key2, key3)" }
|
|
| 21 |
- sub create_table_reserved { 'create table "table" ("select", "update")' }
|
|
| 18 |
+ sub create_table2 { 'create table table2 (key1 varchar, key3 varchar);' }
|
|
| 19 |
+ sub create_table2_2 { "create table table2 (key1 varchar, key2 varchar, key3 varchar)" }
|
|
| 20 |
+ sub create_table3 { "create table table3 (key1 varchar, key2 varchar, key3 varchar)" }
|
|
| 21 |
+ sub create_table_reserved { 'create table "table" ("select" varchar, "update" varchar)' }
|
|
| 22 | 22 |
} |
| 23 | 23 |
|
| 24 | 24 |
require "$FindBin::Bin/common.t"; |
| ... | ... |
@@ -2993,4 +2993,17 @@ $source = "a {= {}";
|
| 2993 | 2993 |
eval{$builder->build_query($source)};
|
| 2994 | 2994 |
like($@, qr/unexpected "{"/, "error : 2");
|
| 2995 | 2995 |
|
| 2996 |
+test 'select() wrap option'; |
|
| 2997 |
+$dbi = DBIx::Custom->connect; |
|
| 2998 |
+eval { $dbi->execute('drop table table1') };
|
|
| 2999 |
+$dbi->execute($create_table1); |
|
| 3000 |
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2});
|
|
| 3001 |
+$dbi->insert(table => 'table1', param => {key1 => 2, key2 => 3});
|
|
| 3002 |
+$rows = $dbi->select( |
|
| 3003 |
+ table => 'table1', |
|
| 3004 |
+ column => 'key1', |
|
| 3005 |
+ wrap => ['select * from (', ') as t where key1 = 1']
|
|
| 3006 |
+)->all; |
|
| 3007 |
+is_deeply($rows, [{key1 => 1}]);
|
|
| 3008 |
+ |
|
| 2996 | 3009 |
1; |
| ... | ... |
@@ -151,12 +151,12 @@ use MyDBI1; |
| 151 | 151 |
} |
| 152 | 152 |
|
| 153 | 153 |
# Constant |
| 154 |
-my $create_table1 = 'create table table1 (key1 char(255), key2 char(255));'; |
|
| 155 |
-my $create_table1_2 = 'create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));'; |
|
| 156 |
-my $create_table2 = 'create table table2 (key1 char(255), key3 char(255));'; |
|
| 157 |
-my $create_table2_2 = "create table table2 (key1, key2, key3)"; |
|
| 158 |
-my $create_table3 = "create table table3 (key1, key2, key3)"; |
|
| 159 |
-my $create_table_reserved = 'create table "table" ("select", "update")';
|
|
| 154 |
+my $create_table1 = 'create table table1 (key1 varchar, key2 varchar);'; |
|
| 155 |
+my $create_table1_2 = 'create table table1 (key1 varchar, key2 varchar, key3 varchar, key4 varchar, key5 varchar);'; |
|
| 156 |
+my $create_table2 = 'create table table2 (key1 varchar, key3 varchar);'; |
|
| 157 |
+my $create_table2_2 = "create table table2 (key1 varchar, key2 varchar, key3 varchar)"; |
|
| 158 |
+my $create_table3 = "create table table3 (key1 varchar, key2 varchar, key3 varchar)"; |
|
| 159 |
+my $create_table_reserved = 'create table "table" ("select" varchar, "update" varchar)';
|
|
| 160 | 160 |
|
| 161 | 161 |
my $q = '"'; |
| 162 | 162 |
my $p = '"'; |
| ... | ... |
@@ -196,40 +196,6 @@ my $binary; |
| 196 | 196 |
# Prepare table |
| 197 | 197 |
$dbi = DBIx::Custom->connect; |
| 198 | 198 |
|
| 199 |
- |
|
| 200 |
- |
|
| 201 |
- |
|
| 202 |
- |
|
| 203 |
- |
|
| 204 |
- |
|
| 205 |
- |
|
| 206 |
- |
|
| 207 |
- |
|
| 208 |
- |
|
| 209 |
- |
|
| 210 |
- |
|
| 211 |
- |
|
| 212 |
- |
|
| 213 |
- |
|
| 214 |
- |
|
| 215 |
- |
|
| 216 |
- |
|
| 217 |
- |
|
| 218 |
- |
|
| 219 |
- |
|
| 220 |
- |
|
| 221 |
- |
|
| 222 |
- |
|
| 223 |
- |
|
| 224 |
- |
|
| 225 |
- |
|
| 226 |
- |
|
| 227 |
- |
|
| 228 |
- |
|
| 229 |
- |
|
| 230 |
- |
|
| 231 |
- |
|
| 232 |
- |
|
| 233 | 199 |
### a little complex test |
| 234 | 200 |
test 'table_alias'; |
| 235 | 201 |
$dbi = DBIx::Custom->connect; |
| ... | ... |
@@ -1187,24 +1153,6 @@ $result = $dbi->select(table => 'table1'); |
| 1187 | 1153 |
eval {$result->fetch_hash_multi};
|
| 1188 | 1154 |
like($@, qr/Row count must be specified/, "Not specified row count"); |
| 1189 | 1155 |
|
| 1190 |
- |
|
| 1191 |
- |
|
| 1192 |
- |
|
| 1193 |
- |
|
| 1194 |
- |
|
| 1195 |
- |
|
| 1196 |
- |
|
| 1197 |
- |
|
| 1198 |
- |
|
| 1199 |
- |
|
| 1200 |
- |
|
| 1201 |
- |
|
| 1202 |
- |
|
| 1203 |
- |
|
| 1204 |
- |
|
| 1205 |
- |
|
| 1206 |
- |
|
| 1207 |
- |
|
| 1208 | 1156 |
# DEPRECATED! test |
| 1209 | 1157 |
test 'filter __ expression'; |
| 1210 | 1158 |
$dbi = DBIx::Custom->connect; |