X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FSQLAnywhere.pm;h=e918952c77ff90060d5ea0403dfcbf0d9a1134c7;hb=d6a0cc2707a03f470ed51371c916c4ea1cfd18cb;hp=5a451e264882807cef1f42122a04c17692d83f29;hpb=3b134b29ffc271920afc1a04249177c43cb2805a;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm b/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm index 5a451e2..e918952 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/SQLAnywhere.pm @@ -24,6 +24,29 @@ See L. =cut +sub _setup { + my $self = shift; + + $self->{db_schema} ||= + ($self->schema->storage->dbh->selectrow_array('select user'))[0]; +} + +sub _tables_list { + my $self = shift; + + my $dbh = $self->schema->storage->dbh; + my $sth = $dbh->prepare(<<'EOF'); +select t.table_name from systab t +join sysuser u on u.user_id = t.creator +where u.user_name = ? +EOF + $sth->execute($self->db_schema); + + my @tables = map @$_, @{ $sth->fetchall_arrayref }; + + return $self->_filter_tables(@tables); +} + # check for IDENTITY columns sub _columns_info_for { my $self = shift;