... | ... |
@@ -1,5 +1,6 @@ |
1 | 1 |
0.24 |
2 |
- - support full-qualified table name. |
|
2 |
+ - support full-qualified table name |
|
3 |
+ - added EXPERIMENTAL default_schema attribute |
|
3 | 4 |
0.23 |
4 | 5 |
- DBIx::Custom::Mapper::map method support |
5 | 6 |
{value => '%<value>%'} syntax |
... | ... |
@@ -20,7 +20,7 @@ use Encode qw/encode encode_utf8 decode_utf8/; |
20 | 20 |
use Scalar::Util qw/weaken/; |
21 | 21 |
|
22 | 22 |
|
23 |
-has [qw/connector dsn password quote user exclude_table user_table_info |
|
23 |
+has [qw/connector dsn default_schema password quote user exclude_table user_table_info |
|
24 | 24 |
user_column_info safety_character/], |
25 | 25 |
async_conf => sub { {} }, |
26 | 26 |
cache => 0, |
... | ... |
@@ -304,7 +304,6 @@ sub each_column { |
304 | 304 |
$self->each_table(sub { |
305 | 305 |
my ($dbi, $table, $table_info) = @_; |
306 | 306 |
my $schema = $table_info->{TABLE_SCHEM}; |
307 |
- |
|
308 | 307 |
$tables->{$schema}{$table}++; |
309 | 308 |
}); |
310 | 309 |
|
... | ... |
@@ -317,7 +316,6 @@ sub each_column { |
317 | 316 |
eval {$sth_columns = $self->dbh->column_info(undef, $schema, $table, '%')}; |
318 | 317 |
next if $@; |
319 | 318 |
while (my $column_info = $sth_columns->fetchrow_hashref) { |
320 |
- $DB::single = 1; |
|
321 | 319 |
my $column = $column_info->{COLUMN_NAME}; |
322 | 320 |
$self->$cb($table, $column, $column_info); |
323 | 321 |
} |
... | ... |
@@ -1219,8 +1217,12 @@ sub type_rule { |
1219 | 1217 |
} |
1220 | 1218 |
|
1221 | 1219 |
my $schema = $column_info->{TABLE_SCHEM}; |
1222 |
- $self->{"_$into"}{key}{$table}{$column} = $filter; |
|
1223 |
- $self->{"_$into"}{dot}{"$table.$column"} = $filter; |
|
1220 |
+ my $default_schema = $self->default_schema; |
|
1221 |
+ if (!defined $default_schema || (defined $default_schema && $default_schema eq $schema)) { |
|
1222 |
+ $self->{"_$into"}{key}{$table}{$column} = $filter; |
|
1223 |
+ $self->{"_$into"}{dot}{"$table.$column"} = $filter; |
|
1224 |
+ } |
|
1225 |
+ |
|
1224 | 1226 |
$self->{"_$into"}{key}{"$schema.$table"}{$column} = $filter; |
1225 | 1227 |
$self->{"_$into"}{dot}{"$schema.$table.$column"} = $filter; |
1226 | 1228 |
} |
... | ... |
@@ -2311,6 +2313,16 @@ L<DBIx::Connector> is automatically set to C<connector> |
2311 | 2313 |
|
2312 | 2314 |
Note that L<DBIx::Connector> must be installed. |
2313 | 2315 |
|
2316 |
+=head2 C<default_schema> EXPERIMETNAL |
|
2317 |
+ |
|
2318 |
+ my $default_schema = $self->default_schema; |
|
2319 |
+ $dbi = $self->default_schema('public'); |
|
2320 |
+ |
|
2321 |
+schema name. if database has multiple schema, |
|
2322 |
+type_rule->{into} filter don't work well. |
|
2323 |
+ |
|
2324 |
+If you set C<default_schema>, type_rule->{into} filter work well. |
|
2325 |
+ |
|
2314 | 2326 |
=head2 C<dsn> |
2315 | 2327 |
|
2316 | 2328 |
my $dsn = $dbi->dsn; |