... | ... |
@@ -51,7 +51,7 @@ has [qw/connector dsn password quote user/], |
51 | 51 |
}, |
52 | 52 |
last_sql => '', |
53 | 53 |
models => sub { {} }, |
54 |
- query_builder => sub { DBIx::Custom::QueryBuilder->new }, |
|
54 |
+ query_builder => sub { DBIx::Custom::QueryBuilder->new(_dbi => shift) }, |
|
55 | 55 |
result_class => 'DBIx::Custom::Result', |
56 | 56 |
safety_character => '\w', |
57 | 57 |
stash => sub { {} }, |
... | ... |
@@ -1114,7 +1114,6 @@ sub _create_query { |
1114 | 1114 |
# Create query |
1115 | 1115 |
my $builder = $self->query_builder; |
1116 | 1116 |
$builder->{_tag_parse} = $self->tag_parse; |
1117 |
- $builder->safety_character($self->safety_character); |
|
1118 | 1117 |
$query = $builder->build_query($source); |
1119 | 1118 |
|
1120 | 1119 |
# Remove reserved word quote |
... | ... |
@@ -10,8 +10,6 @@ use DBIx::Custom::Util '_subname'; |
10 | 10 |
push @DBIx::Custom::CARP_NOT, __PACKAGE__; |
11 | 11 |
push @DBIx::Custom::Where::CARP_NOT, __PACKAGE__; |
12 | 12 |
|
13 |
-has 'safety_character'; |
|
14 |
- |
|
15 | 13 |
sub build_query { |
16 | 14 |
my ($self, $source) = @_; |
17 | 15 |
|
... | ... |
@@ -72,7 +70,7 @@ sub _parse_parameter { |
72 | 70 |
# Get and replace parameters |
73 | 71 |
my $sql = $source || ''; |
74 | 72 |
my $columns = []; |
75 |
- my $c = $self->safety_character; |
|
73 |
+ my $c = $self->{_dbi}->safety_character; |
|
76 | 74 |
# Parameter regex |
77 | 75 |
$sql =~ s/([^:]):(\d+):([^:])/$1\\:$2\\:$3/g; |
78 | 76 |
my $re = qr/(^|.*?[^\\]):([$c\.]+)(?:\{(.*?)\})?(.*)/s; |
... | ... |
@@ -57,7 +57,6 @@ $datas = [ |
57 | 57 |
for (my $i = 0; $i < @$datas; $i++) { |
58 | 58 |
my $data = $datas->[$i]; |
59 | 59 |
my $builder = DBIx::Custom->new->query_builder; |
60 |
- $builder->safety_character('\w'); |
|
61 | 60 |
my $query = $builder->build_query($data->{source}); |
62 | 61 |
is($query->{sql}, $data->{sql_expected}, "$data->{name} : sql"); |
63 | 62 |
is_deeply($query->columns, $data->{columns_expected}, "$data->{name} : columns"); |
... | ... |
@@ -66,7 +65,6 @@ for (my $i = 0; $i < @$datas; $i++) { |
66 | 65 |
|
67 | 66 |
test 'Original tag'; |
68 | 67 |
$builder = DBIx::Custom->new->query_builder; |
69 |
-$builder->safety_character('\w'); |
|
70 | 68 |
|
71 | 69 |
$ret_val = $builder->register_tag( |
72 | 70 |
p => sub { |
... | ... |
@@ -86,7 +84,6 @@ isa_ok($ret_val, 'DBIx::Custom::QueryBuilder'); |
86 | 84 |
|
87 | 85 |
test "Tag error case"; |
88 | 86 |
$builder = DBIx::Custom->new->query_builder; |
89 |
-$builder->safety_character('\w'); |
|
90 | 87 |
|
91 | 88 |
eval{$builder->build_query('{? }')}; |
92 | 89 |
like($@, qr/\QColumn name must be specified in tag "{? }"/, "? not arguments"); |
... | ... |
@@ -122,7 +119,6 @@ $builder->register_tag( |
122 | 119 |
|
123 | 120 |
test 'General error case'; |
124 | 121 |
$builder = DBIx::Custom->new->query_builder; |
125 |
-$builder->safety_character('\w'); |
|
126 | 122 |
$builder->register_tag( |
127 | 123 |
a => sub { |
128 | 124 |
return ["? ? ?", ['']]; |