Showing 6 changed files with 67 additions and 60 deletions
+2
t/common-mysql.t
... ...
@@ -15,6 +15,8 @@ use DBIx::Custom;
15 15
     sub password { 'dbix_custom' }
16 16
     
17 17
     sub create_table1 { 'create table table1 (key1 varchar(255), key2 varchar(255));' }
18
+    sub create_table1_2 {'create table table1 (key1 varchar(255), key2 varchar(255), '
19
+     . 'key3 varchar(255), key4 varchar(255), key5 varchar(255));' }
18 20
 }
19 21
 
20 22
 require "$FindBin::Bin/common.t";
+2
t/common-postgresql.t
... ...
@@ -15,6 +15,8 @@ use DBIx::Custom;
15 15
     sub password { 'dbix_custom' }
16 16
     
17 17
     sub create_table1 { 'create table table1 (key1 varchar(255), key2 varchar(255));' }
18
+    sub create_table1_2 {'create table table1 (key1 varchar(255), key2 varchar(255), '
19
+     . 'key3 varchar(255), key4 varchar(255), key5 varchar(255));' }
18 20
 }
19 21
 
20 22
 require "$FindBin::Bin/common.t";
+1
t/common-sqlite-quote.t
... ...
@@ -11,6 +11,7 @@ use DBIx::Custom;
11 11
     sub dsn { 'dbi:SQLite:dbname=:memory:' }
12 12
     sub quote { '""' }
13 13
     sub create_table1 { 'create table table1 (key1, key2);' }
14
+    sub create_table1_2 {'create table table1 (key1, key2, key3, key4, key5);' }
14 15
 }
15 16
 
16 17
 require "$FindBin::Bin/common.t";
+1
t/common-sqlite.t
... ...
@@ -10,6 +10,7 @@ use DBIx::Custom;
10 10
     no warnings 'redefine';
11 11
     sub dsn { 'dbi:SQLite:dbname=:memory:' }
12 12
     sub create_table1 { 'create table table1 (key1, key2);' }
13
+    sub create_table1_2 {'create table table1 (key1, key2, key3, key4, key5);' }
13 14
 }
14 15
 
15 16
 require "$FindBin::Bin/common.t";
+60
t/common.t
... ...
@@ -125,3 +125,63 @@ $result = $dbi->execute($select_query, param => {'table1.key1' => [1,5], 'table1
125 125
 $rows = $result->all;
126 126
 is_deeply($rows, [{key1 => 2, key2 => 4}], "filter");
127 127
 
128
+test 'DBIx::Custom::SQLTemplate basic tag';
129
+$dbi->execute('drop table table1');
130
+$dbi->execute($dbi->create_table1_2);
131
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
132
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
133
+
134
+$source = "select * from table1 where key1 = :key1 and {<> key2} and {< key3} and {> key4} and {>= key5};";
135
+$query = $dbi->execute($source, {}, query => 1);
136
+$result = $dbi->execute($query, param => {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
137
+$rows = $result->all;
138
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag1");
139
+
140
+$source = "select * from table1 where key1 = :key1 and {<> key2} and {< key3} and {> key4} and {>= key5};";
141
+$query = $dbi->execute($source, {}, query => 1);
142
+$result = $dbi->execute($query, {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
143
+$rows = $result->all;
144
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag1");
145
+
146
+$source = "select * from table1 where {<= key1} and {like key2};";
147
+$query = $dbi->execute($source, {}, query => 1);
148
+$result = $dbi->execute($query, param => {key1 => 1, key2 => '%2%'});
149
+$rows = $result->all;
150
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag2");
151
+
152
+test 'DIB::Custom::SQLTemplate in tag';
153
+$dbi->execute('drop table table1');
154
+$dbi->execute($dbi->create_table1_2);
155
+$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
156
+$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
157
+
158
+$source = "select * from table1 where {in key1 2};";
159
+$query = $dbi->execute($source, {}, query => 1);
160
+$result = $dbi->execute($query, param => {key1 => [9, 1]});
161
+$rows = $result->all;
162
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
163
+
164
+test 'DBIx::Custom::SQLTemplate insert tag';
165
+$dbi->delete_all(table => 'table1');
166
+$insert_source = 'insert into table1 {insert_param key1 key2 key3 key4 key5}';
167
+$dbi->execute($insert_source, param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
168
+
169
+$result = $dbi->execute('select * from table1;');
170
+$rows = $result->all;
171
+is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
172
+
173
+test 'DBIx::Custom::SQLTemplate update tag';
174
+$dbi->delete_all(table => 'table1');
175
+$insert_source = "insert into table1 {insert_param key1 key2 key3 key4 key5}";
176
+$dbi->execute($insert_source, param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
177
+$dbi->execute($insert_source, param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
178
+
179
+$update_source = 'update table1 {update_param key1 key2 key3 key4} where {= key5}';
180
+$dbi->execute($update_source, param => {key1 => 1, key2 => 1, key3 => 1, key4 => 1, key5 => 5});
181
+
182
+$result = $dbi->execute('select * from table1 order by key1;');
183
+$rows = $result->all;
184
+is_deeply($rows, [{key1 => 1, key2 => 1, key3 => 1, key4 => 1, key5 => 5},
185
+                  {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10}], "basic");
186
+
187
+1;
+1 -60
t/sqlite.t
... ...
@@ -57,67 +57,8 @@ my $join;
57 57
 # Prepare table
58 58
 $dbi = DBIx::Custom->connect(%memory);
59 59
 
60
-test 'DBIx::Custom::SQLTemplate basic tag';
61
-$dbi->execute('create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));');
62
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
63
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
64
-
65
-$source = "select * from table1 where key1 = :key1 and {<> key2} and {< key3} and {> key4} and {>= key5};";
66
-$query = $dbi->execute($source, {}, query => 1);
67
-$result = $dbi->execute($query, param => {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
68
-$rows = $result->all;
69
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag1");
70
-
71
-$source = "select * from table1 where key1 = :key1 and {<> key2} and {< key3} and {> key4} and {>= key5};";
72
-$query = $dbi->execute($source, {}, query => 1);
73
-$result = $dbi->execute($query, {key1 => 1, key2 => 3, key3 => 4, key4 => 3, key5 => 5});
74
-$rows = $result->all;
75
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag1");
76
-
77
-$source = "select * from table1 where {<= key1} and {like key2};";
78
-$query = $dbi->execute($source, {}, query => 1);
79
-$result = $dbi->execute($query, param => {key1 => 1, key2 => '%2%'});
80
-$rows = $result->all;
81
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic tag2");
82
-
83
-test 'DIB::Custom::SQLTemplate in tag';
84
-$dbi->execute('drop table table1');
85
-$dbi->execute('create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));');
86
-$dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
87
-$dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
88
-
89
-$source = "select * from table1 where {in key1 2};";
90
-$query = $dbi->execute($source, {}, query => 1);
91
-$result = $dbi->execute($query, param => {key1 => [9, 1]});
92
-$rows = $result->all;
93
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
94
-
95
-test 'DBIx::Custom::SQLTemplate insert tag';
96
-$dbi->execute("delete from table1");
97
-$insert_source = 'insert into table1 {insert_param key1 key2 key3 key4 key5}';
98
-$dbi->execute($insert_source, param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
99
-
100
-$result = $dbi->execute('select * from table1;');
101
-$rows = $result->all;
102
-is_deeply($rows, [{key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5}], "basic");
103
-
104
-test 'DBIx::Custom::SQLTemplate update tag';
105
-$dbi->execute("delete from table1");
106
-$insert_source = "insert into table1 {insert_param key1 key2 key3 key4 key5}";
107
-$dbi->execute($insert_source, param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
108
-$dbi->execute($insert_source, param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});
109
-
110
-$update_source = 'update table1 {update_param key1 key2 key3 key4} where {= key5}';
111
-$dbi->execute($update_source, param => {key1 => 1, key2 => 1, key3 => 1, key4 => 1, key5 => 5});
112
-
113
-$result = $dbi->execute('select * from table1;');
114
-$rows = $result->all;
115
-is_deeply($rows, [{key1 => 1, key2 => 1, key3 => 1, key4 => 1, key5 => 5},
116
-                  {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10}], "basic");
117
-
118
-
119 60
 test 'Named placeholder';
120
-$dbi->execute('drop table table1');
61
+#$dbi->execute('drop table table1');
121 62
 $dbi->execute('create table table1 (key1 char(255), key2 char(255), key3 char(255), key4 char(255), key5 char(255));');
122 63
 $dbi->insert(table => 'table1', param => {key1 => 1, key2 => 2, key3 => 3, key4 => 4, key5 => 5});
123 64
 $dbi->insert(table => 'table1', param => {key1 => 6, key2 => 7, key3 => 8, key4 => 9, key5 => 10});