... | ... |
@@ -1,3 +1,5 @@ |
1 |
+0.1710 |
|
2 |
+ - Fixed fisrt where clause failed. |
|
1 | 3 |
0.1709 |
2 | 4 |
- fixed named placeholder bug and added escape syntax |
3 | 5 |
0.1708 |
... | ... |
@@ -1078,9 +1078,8 @@ sub where { |
1078 | 1078 |
|
1079 | 1079 |
# Create where |
1080 | 1080 |
return DBIx::Custom::Where->new( |
1081 |
- query_builder => $self->query_builder, |
|
1082 |
- safety_character => $self->safety_character, |
|
1083 | 1081 |
quote => $self->_quote, |
1082 |
+ dbi => $self, |
|
1084 | 1083 |
@_ |
1085 | 1084 |
); |
1086 | 1085 |
} |
... | ... |
@@ -306,6 +306,15 @@ DBIx::Custom::QueryBuilder - Query builder |
306 | 306 |
"select from table title = :title and author = :author" |
307 | 307 |
); |
308 | 308 |
|
309 |
+=head1 ATTRIBUTES |
|
310 |
+ |
|
311 |
+=head2 C<dbi> |
|
312 |
+ |
|
313 |
+ my $dbi = $builder->dbi; |
|
314 |
+ $builder = $builder->dbi($dbi); |
|
315 |
+ |
|
316 |
+L<DBIx::Custom> object. |
|
317 |
+ |
|
309 | 318 |
=head1 METHODS |
310 | 319 |
|
311 | 320 |
L<DBIx::Custom::QueryBuilder> inherits all methods from L<Object::Simple> |
... | ... |
@@ -317,9 +326,4 @@ and implements the following new ones. |
317 | 326 |
|
318 | 327 |
Create a new L<DBIx::Custom::Query> object from SQL source. |
319 | 328 |
|
320 |
-=head2 C<dbi> |
|
321 |
- |
|
322 |
- my $dbi = $builder->dbi; |
|
323 |
- $builder = $builder->dbi($dbi); |
|
324 |
- |
|
325 | 329 |
=cut |
... | ... |
@@ -9,7 +9,7 @@ use overload '""' => sub { shift->to_string }, fallback => 1; |
9 | 9 |
# Carp trust relationship |
10 | 10 |
push @DBIx::Custom::CARP_NOT, __PACKAGE__; |
11 | 11 |
|
12 |
-has [qw/param query_builder quote safety_character /], |
|
12 |
+has [qw/dbi param quote/], |
|
13 | 13 |
clause => sub { [] }; |
14 | 14 |
|
15 | 15 |
sub new { |
... | ... |
@@ -29,7 +29,7 @@ sub to_string { |
29 | 29 |
my $self = shift; |
30 | 30 |
|
31 | 31 |
# Check if column name is safety character; |
32 |
- my $safety = $self->safety_character; |
|
32 |
+ my $safety = $self->dbi->safety_character; |
|
33 | 33 |
if (ref $self->param eq 'HASH') { |
34 | 34 |
foreach my $column (keys %{$self->param}) { |
35 | 35 |
croak qq{"$column" is not safety column name (} . _subname . ")" |
... | ... |
@@ -93,7 +93,7 @@ sub _parse { |
93 | 93 |
my $pushed; |
94 | 94 |
|
95 | 95 |
# Column |
96 |
- my $columns = $self->query_builder->build_query($clause)->columns; |
|
96 |
+ my $columns = $self->dbi->query_builder->build_query($clause)->columns; |
|
97 | 97 |
if (@$columns == 0) { |
98 | 98 |
push @$where, $clause; |
99 | 99 |
$pushed = 1; |
... | ... |
@@ -112,7 +112,7 @@ sub _parse { |
112 | 112 |
} |
113 | 113 |
|
114 | 114 |
# Check safety |
115 |
- my $safety = $self->safety_character; |
|
115 |
+ my $safety = $self->dbi->safety_character; |
|
116 | 116 |
croak qq{"$column" is not safety column name (} . _subname . ")" |
117 | 117 |
unless $column =~ /^[$safety\.]+$/; |
118 | 118 |
|
... | ... |
@@ -183,10 +183,12 @@ If all parameter names is exists. |
183 | 183 |
date => ['2010-11-11', '2011-03-05'], |
184 | 184 |
}); |
185 | 185 |
|
186 |
-=head2 C<safety_character> |
|
186 |
+=head2 C<dbi> |
|
187 | 187 |
|
188 |
- my $safety_character = $self->safety_character; |
|
189 |
- $where = $self->safety_character("\w"); |
|
188 |
+ my $dbi = $where->dbi; |
|
189 |
+ $where = $where->dbi($dbi); |
|
190 |
+ |
|
191 |
+L<DBIx::Custom> object. |
|
190 | 192 |
|
191 | 193 |
=head1 METHODS |
192 | 194 |
|