... | ... |
@@ -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; |