my ($table, $type) = @_ ? @_ : ('%', '%');
my $dbh = $self->schema->storage->dbh;
- my @tables = $dbh->tables(undef, $self->db_schema, $table, $type);
+ my @tables = $dbh->tables(undef, $table->schema, $table, $type);
my $qt = qr/[\Q$self->{_quoter}\E"'`\[\]]/;
my $sql_maker = $self->schema->storage->sql_maker;
my $name_sep = $sql_maker->name_sep;
- my $db_schema = $self->db_schema;
+ my $schema = $table->schema;
- if($db_schema) {
- return $self->_quote($self->{db_schema})
+ if ($schema) {
+ return $self->_quote($schema)
. $name_sep
. $self->_quote($table);
}
my $dbh = $self->schema->storage->dbh;
my @primary = try {
- $dbh->primary_key('', $self->db_schema, $table);
+ $dbh->primary_key('', $table->schema, $table);
}
catch {
warn "Cannot find primary keys for this driver: $_";
}
my %indices;
- my $sth = $dbh->statistics_info(undef, $self->db_schema, $table, 1, 1);
+ my $sth = $dbh->statistics_info(undef, $table->schema, $table, 1, 1);
while(my $row = $sth->fetchrow_hashref) {
# skip table-level stats, conditional indexes, and any index missing
# critical fields
my $dbh = $self->schema->storage->dbh;
my $sth = try {
- $dbh->foreign_key_info( '', $self->db_schema, '',
- '', $self->db_schema, $table );
+ $dbh->foreign_key_info( '', $table->schema, '',
+ '', $table->schema, $table );
}
catch {
warn "Cannot introspect relationships for this driver: $_";
my %result;
if ($dbh->can('column_info')) {
- my $sth = $self->_dbh_column_info($dbh, undef, $self->db_schema, $table, '%' );
+ my $sth = $self->_dbh_column_info($dbh, undef, $table->schema, $table, '%' );
while ( my $info = $sth->fetchrow_hashref() ){
my $column_info = {};
$column_info->{data_type} = lc $info->{TYPE_NAME};
$column_info->{size} = $2;
}
- my $extra_info = $self->_extra_column_info($table, $columns[$i], $column_info) || {};
+ my $extra_info = $self->_extra_column_info($table, $columns[$i], $column_info, $sth) || {};
$column_info = { %$column_info, %$extra_info };
$result{ $self->_lc($columns[$i]) } = $column_info;