X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FSybase%2FCommon.pm;h=70bee8e19f803dc6f7dd21251ba1b689abfd09db;hb=a6900c9127d90a9bec26228a16f68a11cc13fb1d;hp=316d46a741adf984ecebbc05092eca43cefce341;hpb=6b1d4f76b756e4b4119153a1f1e8a7bd59ad4e87;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm b/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm index 316d46a..70bee8e 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/Sybase/Common.pm @@ -3,10 +3,9 @@ package DBIx::Class::Schema::Loader::DBI::Sybase::Common; use strict; use warnings; use base 'DBIx::Class::Schema::Loader::DBI'; -use Carp::Clan qw/^DBIx::Class/; -use Class::C3; +use mro 'c3'; -our $VERSION = '0.07001'; +our $VERSION = '0.07039'; =head1 NAME @@ -20,8 +19,8 @@ See L and L. =cut # DBD::Sybase doesn't implement get_info properly -sub _build_quoter { '"' } -sub _build_namesep { '.' } +sub _build_quote_char { '[]' } +sub _build_name_sep { '.' } sub _setup { my $self = shift; @@ -30,38 +29,6 @@ sub _setup { $self->schema->storage->sql_maker->quote_char([qw/[ ]/]); $self->schema->storage->sql_maker->name_sep('.'); - $self->{db_schema} ||= $self->_build_db_schema; -} - -sub _build_db_schema { - my $self = shift; - my $dbh = $self->schema->storage->dbh; - - local $dbh->{FetchHashKeyName} = 'NAME_lc'; - - my $test_table = "_loader_test_$$"; - - my $db_schema = 'dbo'; # default - - eval { - $dbh->do("create table $test_table (id integer)"); - my $sth = $dbh->prepare('sp_tables'); - $sth->execute; - while (my $row = $sth->fetchrow_hashref) { - next unless $row->{table_name} eq $test_table; - - $db_schema = $row->{table_owner}; - last; - } - $sth->finish; - $dbh->do("drop table $test_table"); - }; - my $exception = $@; - eval { $dbh->do("drop table $test_table") }; - carp "Could not determine db_schema, defaulting to $db_schema : $exception" - if $exception; - - return $db_schema; } # remove 'IDENTITY' from column data_type