| ... | ... |
@@ -13,6 +13,9 @@ plan skip_all => $ENV{DBIX_CUSTOM_SKIP_MESSAGE} || 'common.t is always skipped'
|
| 13 | 13 |
|
| 14 | 14 |
plan 'no_plan'; |
| 15 | 15 |
|
| 16 |
+$SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /DEPRECATED/};
|
|
| 17 |
+sub test { print "# $_[0]\n" }
|
|
| 18 |
+ |
|
| 16 | 19 |
# Constant |
| 17 | 20 |
my $table1 = $dbi->table1; |
| 18 | 21 |
my $table2 = $dbi->table2; |
| ... | ... |
@@ -230,8 +233,164 @@ require MyDBI1; |
| 230 | 233 |
} |
| 231 | 234 |
} |
| 232 | 235 |
|
| 233 |
-$SIG{__WARN__} = sub { warn $_[0] unless $_[0] =~ /DEPRECATED/};
|
|
| 234 |
-sub test { print "# $_[0]\n" }
|
|
| 236 |
+test 'join'; |
|
| 237 |
+$dbi = DBIx::Custom->connect; |
|
| 238 |
+eval { $dbi->execute("drop table $table1") };
|
|
| 239 |
+$dbi->execute($create_table1); |
|
| 240 |
+$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 241 |
+$dbi->insert(table => $table1, param => {$key1 => 3, $key2 => 4});
|
|
| 242 |
+eval { $dbi->execute("drop table $table2") };
|
|
| 243 |
+$dbi->execute($create_table2); |
|
| 244 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 245 |
+eval { $dbi->execute("drop table $table3") };
|
|
| 246 |
+$dbi->execute("create table $table3 ($key3 int, $key4 int)");
|
|
| 247 |
+$dbi->insert(table => $table3, param => {$key3 => 5, $key4 => 4});
|
|
| 248 |
+$rows = $dbi->select( |
|
| 249 |
+ table => $table1, |
|
| 250 |
+ column => "$table1.$key1 as ${table1}_$key1, $table2.$key1 as ${table2}_$key1, $key2, $key3",
|
|
| 251 |
+ where => {"$table1.$key2" => 2},
|
|
| 252 |
+ join => ["left outer join $table2 on $table1.$key1 = $table2.$key1"] |
|
| 253 |
+)->all; |
|
| 254 |
+is_deeply($rows, [{"${table1}_$key1" => 1, "${table2}_$key1" => 1, $key2 => 2, $key3 => 5}]);
|
|
| 255 |
+ |
|
| 256 |
+$rows = $dbi->select( |
|
| 257 |
+ table => $table1, |
|
| 258 |
+ where => {$key1 => 1},
|
|
| 259 |
+ join => ["left outer join $table2 on $table1.$key1 = $table2.$key1"] |
|
| 260 |
+)->all; |
|
| 261 |
+is_deeply($rows, [{$key1 => 1, $key2 => 2}]);
|
|
| 262 |
+ |
|
| 263 |
+eval {
|
|
| 264 |
+ $rows = $dbi->select( |
|
| 265 |
+ table => $table1, |
|
| 266 |
+ column => "$table1.$key1 as ${table1}_$key1, $table2.$key1 as ${table2}_$key1, $key2, $key3",
|
|
| 267 |
+ where => {"$table1.$key2" => 2},
|
|
| 268 |
+ join => {"$table1.$key1" => "$table2.$key1"}
|
|
| 269 |
+ ); |
|
| 270 |
+}; |
|
| 271 |
+like ($@, qr/array/); |
|
| 272 |
+ |
|
| 273 |
+$rows = $dbi->select( |
|
| 274 |
+ table => $table1, |
|
| 275 |
+ where => {$key1 => 1},
|
|
| 276 |
+ join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 277 |
+ "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 278 |
+)->all; |
|
| 279 |
+is_deeply($rows, [{$key1 => 1, $key2 => 2}]);
|
|
| 280 |
+ |
|
| 281 |
+$rows = $dbi->select( |
|
| 282 |
+ column => "$table3.$key4 as ${table3}__$key4",
|
|
| 283 |
+ table => $table1, |
|
| 284 |
+ where => {"$table1.$key1" => 1},
|
|
| 285 |
+ join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 286 |
+ "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 287 |
+)->all; |
|
| 288 |
+is_deeply($rows, [{"${table3}__$key4" => 4}]);
|
|
| 289 |
+ |
|
| 290 |
+$rows = $dbi->select( |
|
| 291 |
+ column => "$table1.$key1 as ${table1}__$key1",
|
|
| 292 |
+ table => $table1, |
|
| 293 |
+ where => {"$table3.$key4" => 4},
|
|
| 294 |
+ join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 295 |
+ "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 296 |
+)->all; |
|
| 297 |
+is_deeply($rows, [{"${table1}__$key1" => 1}]);
|
|
| 298 |
+ |
|
| 299 |
+$dbi = DBIx::Custom->connect; |
|
| 300 |
+eval { $dbi->execute("drop table $table1") };
|
|
| 301 |
+$dbi->execute($create_table1); |
|
| 302 |
+$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 303 |
+eval { $dbi->execute("drop table $table2") };
|
|
| 304 |
+$dbi->execute($create_table2); |
|
| 305 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 306 |
+$rows = $dbi->select( |
|
| 307 |
+ table => $table1, |
|
| 308 |
+ column => "${q}$table1$p.${q}$key1$p as ${q}${table1}_$key1$p, ${q}$table2$p.${q}$key1$p as ${q}${table2}_$key1$p, ${q}$key2$p, ${q}$key3$p",
|
|
| 309 |
+ where => {"$table1.$key2" => 2},
|
|
| 310 |
+ join => ["left outer join ${q}$table2$p on ${q}$table1$p.${q}$key1$p = ${q}$table2$p.${q}$key1$p"],
|
|
| 311 |
+)->all; |
|
| 312 |
+is_deeply($rows, [{"${table1}_$key1" => 1, "${table2}_$key1" => 1, $key2 => 2, $key3 => 5}],
|
|
| 313 |
+ 'quote'); |
|
| 314 |
+ |
|
| 315 |
+ |
|
| 316 |
+$dbi = DBIx::Custom->connect; |
|
| 317 |
+eval { $dbi->execute("drop table $table1") };
|
|
| 318 |
+$dbi->execute($create_table1); |
|
| 319 |
+$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 320 |
+$sql = <<"EOS"; |
|
| 321 |
+left outer join ( |
|
| 322 |
+ select * from $table1 t1 |
|
| 323 |
+ where t1.$key2 = ( |
|
| 324 |
+ select max(t2.$key2) from $table1 t2 |
|
| 325 |
+ where t1.$key1 = t2.$key1 |
|
| 326 |
+ ) |
|
| 327 |
+) $table3 on $table1.$key1 = $table3.$key1 |
|
| 328 |
+EOS |
|
| 329 |
+$join = [$sql]; |
|
| 330 |
+$rows = $dbi->select( |
|
| 331 |
+ table => $table1, |
|
| 332 |
+ column => "$table3.$key1 as ${table3}__$key1",
|
|
| 333 |
+ join => $join |
|
| 334 |
+)->all; |
|
| 335 |
+$DB::single = 1; |
|
| 336 |
+is_deeply($rows, [{"${table3}__$key1" => 1}]);
|
|
| 337 |
+ |
|
| 338 |
+$dbi = DBIx::Custom->connect; |
|
| 339 |
+eval { $dbi->execute("drop table $table1") };
|
|
| 340 |
+eval { $dbi->execute("drop table $table2") };
|
|
| 341 |
+$dbi->execute($create_table1); |
|
| 342 |
+$dbi->execute($create_table2); |
|
| 343 |
+$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 344 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 4});
|
|
| 345 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 346 |
+$result = $dbi->select( |
|
| 347 |
+ table => $table1, |
|
| 348 |
+ join => [ |
|
| 349 |
+ "left outer join $table2 on $table2.$key2 = '4' and $table1.$key1 = $table2.$key1" |
|
| 350 |
+ ] |
|
| 351 |
+); |
|
| 352 |
+is_deeply($result->all, [{$key1 => 1, $key2 => 2}]);
|
|
| 353 |
+$result = $dbi->select( |
|
| 354 |
+ table => $table1, |
|
| 355 |
+ column => [{$table2 => [$key3]}],
|
|
| 356 |
+ join => [ |
|
| 357 |
+ "left outer join $table2 on $table2.$key3 = '4' and $table1.$key1 = $table2.$key1" |
|
| 358 |
+ ] |
|
| 359 |
+); |
|
| 360 |
+is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 361 |
+$result = $dbi->select( |
|
| 362 |
+ table => $table1, |
|
| 363 |
+ column => [{$table2 => [$key3]}],
|
|
| 364 |
+ join => [ |
|
| 365 |
+ "left outer join $table2 on $table1.$key1 = $table2.$key1 and $table2.$key3 = '4'" |
|
| 366 |
+ ] |
|
| 367 |
+); |
|
| 368 |
+is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 369 |
+ |
|
| 370 |
+$dbi = DBIx::Custom->connect; |
|
| 371 |
+eval { $dbi->execute("drop table $table1") };
|
|
| 372 |
+eval { $dbi->execute("drop table $table2") };
|
|
| 373 |
+$dbi->execute($create_table1); |
|
| 374 |
+$dbi->execute($create_table2); |
|
| 375 |
+$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 376 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 4});
|
|
| 377 |
+$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 378 |
+$result = $dbi->select( |
|
| 379 |
+ table => $table1, |
|
| 380 |
+ column => [{$table2 => [$key3]}],
|
|
| 381 |
+ join => [ |
|
| 382 |
+ {
|
|
| 383 |
+ clause => "left outer join $table2 on $table2.$key3 = '4' and $table1.$key1 = $table2.$key1", |
|
| 384 |
+ table => [$table1, $table2] |
|
| 385 |
+ } |
|
| 386 |
+ ] |
|
| 387 |
+); |
|
| 388 |
+is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 389 |
+ |
|
| 390 |
+test 'columns'; |
|
| 391 |
+$DB::single = 1; |
|
| 392 |
+$dbi = MyDBI1->connect; |
|
| 393 |
+$model = $dbi->model($table1); |
|
| 235 | 394 |
|
| 236 | 395 |
# Create table |
| 237 | 396 |
$dbi = DBIx::Custom->connect; |
| ... | ... |
@@ -1966,12 +2125,6 @@ eval {
|
| 1966 | 2125 |
}; |
| 1967 | 2126 |
like($@, qr/must be/); |
| 1968 | 2127 |
|
| 1969 |
-test 'columns'; |
|
| 1970 |
-$DB::single = 1; |
|
| 1971 |
-$dbi = MyDBI1->connect; |
|
| 1972 |
-$model = $dbi->model($table1); |
|
| 1973 |
- |
|
| 1974 |
- |
|
| 1975 | 2128 |
test 'model delete_at'; |
| 1976 | 2129 |
$dbi = MyDBI6->connect; |
| 1977 | 2130 |
eval { $dbi->execute("drop table $table1") };
|
| ... | ... |
@@ -3164,159 +3317,6 @@ is_deeply($rows, [{$key1 => 1, $key2 => 11, $key3 => 3, $key4 => 4, $key5 => 5},
|
| 3164 | 3317 |
{$key1 => 6, $key2 => 7, $key3 => 8, $key4 => 9, $key5 => 10}],
|
| 3165 | 3318 |
"basic"); |
| 3166 | 3319 |
|
| 3167 |
-test 'join'; |
|
| 3168 |
-$dbi = DBIx::Custom->connect; |
|
| 3169 |
-eval { $dbi->execute("drop table $table1") };
|
|
| 3170 |
-$dbi->execute($create_table1); |
|
| 3171 |
-$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 3172 |
-$dbi->insert(table => $table1, param => {$key1 => 3, $key2 => 4});
|
|
| 3173 |
-eval { $dbi->execute("drop table $table2") };
|
|
| 3174 |
-$dbi->execute($create_table2); |
|
| 3175 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 3176 |
-eval { $dbi->execute("drop table $table3") };
|
|
| 3177 |
-$dbi->execute("create table $table3 ($key3 int, $key4 int)");
|
|
| 3178 |
-$dbi->insert(table => $table3, param => {$key3 => 5, $key4 => 4});
|
|
| 3179 |
-$rows = $dbi->select( |
|
| 3180 |
- table => $table1, |
|
| 3181 |
- column => "$table1.$key1 as ${table1}_$key1, $table2.$key1 as ${table2}_$key1, $key2, $key3",
|
|
| 3182 |
- where => {"$table1.$key2" => 2},
|
|
| 3183 |
- join => ["left outer join $table2 on $table1.$key1 = $table2.$key1"] |
|
| 3184 |
-)->all; |
|
| 3185 |
-is_deeply($rows, [{"${table1}_$key1" => 1, "${table2}_$key1" => 1, $key2 => 2, $key3 => 5}]);
|
|
| 3186 |
- |
|
| 3187 |
-$rows = $dbi->select( |
|
| 3188 |
- table => $table1, |
|
| 3189 |
- where => {$key1 => 1},
|
|
| 3190 |
- join => ["left outer join $table2 on $table1.$key1 = $table2.$key1"] |
|
| 3191 |
-)->all; |
|
| 3192 |
-is_deeply($rows, [{$key1 => 1, $key2 => 2}]);
|
|
| 3193 |
- |
|
| 3194 |
-eval {
|
|
| 3195 |
- $rows = $dbi->select( |
|
| 3196 |
- table => $table1, |
|
| 3197 |
- column => "$table1.$key1 as ${table1}_$key1, $table2.$key1 as ${table2}_$key1, $key2, $key3",
|
|
| 3198 |
- where => {"$table1.$key2" => 2},
|
|
| 3199 |
- join => {"$table1.$key1" => "$table2.$key1"}
|
|
| 3200 |
- ); |
|
| 3201 |
-}; |
|
| 3202 |
-like ($@, qr/array/); |
|
| 3203 |
- |
|
| 3204 |
-$rows = $dbi->select( |
|
| 3205 |
- table => $table1, |
|
| 3206 |
- where => {$key1 => 1},
|
|
| 3207 |
- join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 3208 |
- "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 3209 |
-)->all; |
|
| 3210 |
-is_deeply($rows, [{$key1 => 1, $key2 => 2}]);
|
|
| 3211 |
- |
|
| 3212 |
-$rows = $dbi->select( |
|
| 3213 |
- column => "$table3.$key4 as ${table3}__$key4",
|
|
| 3214 |
- table => $table1, |
|
| 3215 |
- where => {"$table1.$key1" => 1},
|
|
| 3216 |
- join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 3217 |
- "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 3218 |
-)->all; |
|
| 3219 |
-is_deeply($rows, [{"${table3}__$key4" => 4}]);
|
|
| 3220 |
- |
|
| 3221 |
-$rows = $dbi->select( |
|
| 3222 |
- column => "$table1.$key1 as ${table1}__$key1",
|
|
| 3223 |
- table => $table1, |
|
| 3224 |
- where => {"$table3.$key4" => 4},
|
|
| 3225 |
- join => ["left outer join $table2 on $table1.$key1 = $table2.$key1", |
|
| 3226 |
- "left outer join $table3 on $table2.$key3 = $table3.$key3"] |
|
| 3227 |
-)->all; |
|
| 3228 |
-is_deeply($rows, [{"${table1}__$key1" => 1}]);
|
|
| 3229 |
- |
|
| 3230 |
-$dbi = DBIx::Custom->connect; |
|
| 3231 |
-eval { $dbi->execute("drop table $table1") };
|
|
| 3232 |
-$dbi->execute($create_table1); |
|
| 3233 |
-$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 3234 |
-eval { $dbi->execute("drop table $table2") };
|
|
| 3235 |
-$dbi->execute($create_table2); |
|
| 3236 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 3237 |
-$rows = $dbi->select( |
|
| 3238 |
- table => $table1, |
|
| 3239 |
- column => "${q}$table1$p.${q}$key1$p as ${q}${table1}_$key1$p, ${q}$table2$p.${q}$key1$p as ${q}${table2}_$key1$p, ${q}$key2$p, ${q}$key3$p",
|
|
| 3240 |
- where => {"$table1.$key2" => 2},
|
|
| 3241 |
- join => ["left outer join ${q}$table2$p on ${q}$table1$p.${q}$key1$p = ${q}$table2$p.${q}$key1$p"],
|
|
| 3242 |
-)->all; |
|
| 3243 |
-is_deeply($rows, [{"${table1}_$key1" => 1, "${table2}_$key1" => 1, $key2 => 2, $key3 => 5}],
|
|
| 3244 |
- 'quote'); |
|
| 3245 |
- |
|
| 3246 |
- |
|
| 3247 |
-$dbi = DBIx::Custom->connect; |
|
| 3248 |
-eval { $dbi->execute("drop table $table1") };
|
|
| 3249 |
-$dbi->execute($create_table1); |
|
| 3250 |
-$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 3251 |
-$sql = <<"EOS"; |
|
| 3252 |
-left outer join ( |
|
| 3253 |
- select * from $table1 t1 |
|
| 3254 |
- where t1.$key2 = ( |
|
| 3255 |
- select max(t2.$key2) from $table1 t2 |
|
| 3256 |
- where t1.$key1 = t2.$key1 |
|
| 3257 |
- ) |
|
| 3258 |
-) latest_$table1 on $table1.$key1 = latest_$table1.$key1 |
|
| 3259 |
-EOS |
|
| 3260 |
-$join = [$sql]; |
|
| 3261 |
-$rows = $dbi->select( |
|
| 3262 |
- table => $table1, |
|
| 3263 |
- column => "latest_$table1.$key1 as latest_${table1}__$key1",
|
|
| 3264 |
- join => $join |
|
| 3265 |
-)->all; |
|
| 3266 |
-is_deeply($rows, [{"latest_${table1}__$key1" => 1}]);
|
|
| 3267 |
- |
|
| 3268 |
-$dbi = DBIx::Custom->connect; |
|
| 3269 |
-eval { $dbi->execute("drop table $table1") };
|
|
| 3270 |
-eval { $dbi->execute("drop table $table2") };
|
|
| 3271 |
-$dbi->execute($create_table1); |
|
| 3272 |
-$dbi->execute($create_table2); |
|
| 3273 |
-$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 3274 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 4});
|
|
| 3275 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 3276 |
-$result = $dbi->select( |
|
| 3277 |
- table => $table1, |
|
| 3278 |
- join => [ |
|
| 3279 |
- "left outer join $table2 on $table2.$key2 = '4' and $table1.$key1 = $table2.$key1" |
|
| 3280 |
- ] |
|
| 3281 |
-); |
|
| 3282 |
-is_deeply($result->all, [{$key1 => 1, $key2 => 2}]);
|
|
| 3283 |
-$result = $dbi->select( |
|
| 3284 |
- table => $table1, |
|
| 3285 |
- column => [{$table2 => [$key3]}],
|
|
| 3286 |
- join => [ |
|
| 3287 |
- "left outer join $table2 on $table2.$key3 = '4' and $table1.$key1 = $table2.$key1" |
|
| 3288 |
- ] |
|
| 3289 |
-); |
|
| 3290 |
-is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 3291 |
-$result = $dbi->select( |
|
| 3292 |
- table => $table1, |
|
| 3293 |
- column => [{$table2 => [$key3]}],
|
|
| 3294 |
- join => [ |
|
| 3295 |
- "left outer join $table2 on $table1.$key1 = $table2.$key1 and $table2.$key3 = '4'" |
|
| 3296 |
- ] |
|
| 3297 |
-); |
|
| 3298 |
-is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 3299 |
- |
|
| 3300 |
-$dbi = DBIx::Custom->connect; |
|
| 3301 |
-eval { $dbi->execute("drop table $table1") };
|
|
| 3302 |
-eval { $dbi->execute("drop table $table2") };
|
|
| 3303 |
-$dbi->execute($create_table1); |
|
| 3304 |
-$dbi->execute($create_table2); |
|
| 3305 |
-$dbi->insert(table => $table1, param => {$key1 => 1, $key2 => 2});
|
|
| 3306 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 4});
|
|
| 3307 |
-$dbi->insert(table => $table2, param => {$key1 => 1, $key3 => 5});
|
|
| 3308 |
-$result = $dbi->select( |
|
| 3309 |
- table => $table1, |
|
| 3310 |
- column => [{$table2 => [$key3]}],
|
|
| 3311 |
- join => [ |
|
| 3312 |
- {
|
|
| 3313 |
- clause => "left outer join $table2 on $table2.$key3 = '4' and $table1.$key1 = $table2.$key1", |
|
| 3314 |
- table => [$table1, $table2] |
|
| 3315 |
- } |
|
| 3316 |
- ] |
|
| 3317 |
-); |
|
| 3318 |
-is_deeply($result->all, [{"$table2.$key3" => 4}]);
|
|
| 3319 |
- |
|
| 3320 | 3320 |
test 'Model class'; |
| 3321 | 3321 |
$dbi = MyDBI1->connect; |
| 3322 | 3322 |
eval { $dbi->execute("drop table $table1") };
|
| ... | ... |
@@ -10,10 +10,8 @@ sub connect {
|
| 10 | 10 |
|
| 11 | 11 |
$self->include_model( |
| 12 | 12 |
MyModel1 => [ |
| 13 |
- 'table1', |
|
| 14 |
- 'table2', |
|
| 15 |
- 'TABLE1', |
|
| 16 |
- 'TABLE2' |
|
| 13 |
+ $self->table1, |
|
| 14 |
+ $self->table2 |
|
| 17 | 15 |
] |
| 18 | 16 |
); |
| 19 | 17 |
} |
| ... | ... |
@@ -10,10 +10,8 @@ sub connect {
|
| 10 | 10 |
|
| 11 | 11 |
$self->include_model( |
| 12 | 12 |
MyModel1 => [ |
| 13 |
- 'table1', |
|
| 14 |
- 'table2', |
|
| 15 |
- 'TABLE1', |
|
| 16 |
- 'TABLE2' |
|
| 13 |
+ $self->table1, |
|
| 14 |
+ $self->table2 |
|
| 17 | 15 |
] |
| 18 | 16 |
); |
| 19 | 17 |
} |