| ... | ... |
@@ -58,8 +58,7 @@ my $create_table2 = $dbi->create_table2; |
| 58 | 58 |
my $create_table2_2 = $dbi->create_table2_2; |
| 59 | 59 |
my $create_table3 = $dbi->create_table3; |
| 60 | 60 |
my $create_table_reserved = $dbi->create_table_reserved; |
| 61 |
-my $q = substr($dbi->quote, 0, 1); |
|
| 62 |
-my $p = substr($dbi->quote, 1, 1) || $q; |
|
| 61 |
+my ($q, $p) = $dbi->_qp; |
|
| 63 | 62 |
my $date_typename = $dbi->date_typename; |
| 64 | 63 |
my $datetime_typename = $dbi->datetime_typename; |
| 65 | 64 |
my $date_datatype = $dbi->date_datatype; |
| ... | ... |
@@ -2615,7 +2614,7 @@ $rows = $dbi->select( |
| 2615 | 2614 |
column => "$table1.$key1 as " . u("${table1}_$key1") . ", $key2, $key3",
|
| 2616 | 2615 |
where => {"$table1.$key2" => 3},
|
| 2617 | 2616 |
join => ["inner join (select * from $table2 where {= $table2.$key3})" .
|
| 2618 |
- " \"$table2\" on $table1.$key1 = \"$table2\".$key1"], |
|
| 2617 |
+ " $q$table2$p on $table1.$key1 = $q$table2$p.$key1"], |
|
| 2619 | 2618 |
param => {"$table2.$key3" => 5}
|
| 2620 | 2619 |
)->all; |
| 2621 | 2620 |
is_deeply($rows, [{u"${table1}_$key1" => 2, $key2 => 3, $key3 => 5}]);
|
| ... | ... |
@@ -2625,7 +2624,7 @@ $rows = $dbi->select( |
| 2625 | 2624 |
column => "$table1.$key1 as " . u("${table1}_$key1") . ", $key2, $key3",
|
| 2626 | 2625 |
where => {"$table1.$key2" => 3},
|
| 2627 | 2626 |
join => "inner join (select * from $table2 where {= $table2.$key3})" .
|
| 2628 |
- " \"$table2\" on $table1.$key1 = \"$table2\".$key1", |
|
| 2627 |
+ " $q$table2$p on $table1.$key1 = $q$table2$p.$key1", |
|
| 2629 | 2628 |
param => {"$table2.$key3" => 5}
|
| 2630 | 2629 |
)->all; |
| 2631 | 2630 |
is_deeply($rows, [{u"${table1}_$key1" => 2, $key2 => 3, $key3 => 5}]);
|
| ... | ... |
@@ -3890,32 +3889,32 @@ $dbi->execute("insert into $table2 ($key1, $key3) values (1, 4)");
|
| 3890 | 3889 |
$model = $dbi->model($table1); |
| 3891 | 3890 |
$result = $model->select( |
| 3892 | 3891 |
column => [ |
| 3893 |
- $model->column($table2, {alias => $table2_alias})
|
|
| 3892 |
+ $model->column($table2, {alias => u$table2_alias})
|
|
| 3894 | 3893 |
], |
| 3895 |
- where => {"$table2_alias.$key3" => 4}
|
|
| 3894 |
+ where => {u($table2_alias) . ".$key3" => 4}
|
|
| 3896 | 3895 |
); |
| 3897 | 3896 |
is_deeply($result->one, |
| 3898 |
- {"$table2_alias.$key1" => 1, "$table2_alias.$key3" => 4});
|
|
| 3897 |
+ {u($table2_alias) . ".$key1" => 1, u($table2_alias) . ".$key3" => 4});
|
|
| 3899 | 3898 |
|
| 3900 | 3899 |
$dbi->separator('__');
|
| 3901 | 3900 |
$result = $model->select( |
| 3902 | 3901 |
column => [ |
| 3903 |
- $model->column($table2, {alias => $table2_alias})
|
|
| 3902 |
+ $model->column($table2, {alias => u$table2_alias})
|
|
| 3904 | 3903 |
], |
| 3905 |
- where => {"$table2_alias.$key3" => 4}
|
|
| 3904 |
+ where => {u($table2_alias) . ".$key3" => 4}
|
|
| 3906 | 3905 |
); |
| 3907 | 3906 |
is_deeply($result->one, |
| 3908 |
- {"${table2_alias}__$key1" => 1, "${table2_alias}__$key3" => 4});
|
|
| 3907 |
+ {u(${table2_alias}) . "__$key1" => 1, u(${table2_alias}) . "__$key3" => 4});
|
|
| 3909 | 3908 |
|
| 3910 | 3909 |
$dbi->separator('-');
|
| 3911 | 3910 |
$result = $model->select( |
| 3912 | 3911 |
column => [ |
| 3913 |
- $model->column($table2, {alias => $table2_alias})
|
|
| 3912 |
+ $model->column($table2, {alias => u$table2_alias})
|
|
| 3914 | 3913 |
], |
| 3915 |
- where => {"$table2_alias.$key3" => 4}
|
|
| 3914 |
+ where => {u($table2_alias) . ".$key3" => 4}
|
|
| 3916 | 3915 |
); |
| 3917 | 3916 |
is_deeply($result->one, |
| 3918 |
- {"$table2_alias-$key1" => 1, "$table2_alias-$key3" => 4});
|
|
| 3917 |
+ {u(${table2_alias}) . "-$key1" => 1, u(${table2_alias}) . "-$key3" => 4});
|
|
| 3919 | 3918 |
|
| 3920 | 3919 |
test 'create_model'; |
| 3921 | 3920 |
$dbi = DBIx::Custom->connect; |
| ... | ... |
@@ -1,7 +1,13 @@ |
| 1 | 1 |
package MyModel8::main::table1; |
| 2 | 2 |
use MyModel8 -base; |
| 3 | 3 |
|
| 4 |
-has join => sub { ['left join main.table2 main.table2_alias on main.table1.key1 = main.table2_alias.key1'] };
|
|
| 4 |
+has join => sub {
|
|
| 5 |
+ my $self = shift; |
|
| 6 |
+ |
|
| 7 |
+ my ($q, $p) = $self->_qp; |
|
| 8 |
+ |
|
| 9 |
+ return ["left join main.table2 main_table2_alias on main.table1.key1 = main_table2_alias.key1"] |
|
| 10 |
+}; |
|
| 5 | 11 |
|
| 6 | 12 |
|
| 7 | 13 |
1; |