X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FOracle.pm;h=5babfeca366b7c255a5a7981ce56b10abe27b4e9;hb=4337bddf9f24ee07d447eb30f9d08cf9b8c4896b;hp=6a664104fdc87588adf8e3d1fc343af109312679;hpb=be72dba7c8aa2d4872a66a6d581d353ad29a6deb;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm b/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm index 6a66410..5babfec 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/Oracle.pm @@ -16,21 +16,10 @@ our $VERSION = '0.06001'; DBIx::Class::Schema::Loader::DBI::Oracle - DBIx::Class::Schema::Loader::DBI Oracle Implementation. -=head1 SYNOPSIS - - package My::Schema; - use base qw/DBIx::Class::Schema::Loader/; - - __PACKAGE__->loader_options( debug => 1 ); - - 1; - =head1 DESCRIPTION See L. -This module is considered experimental and not well tested yet. - =cut sub _setup { @@ -77,6 +66,15 @@ sub _tables_list { return $self->_filter_tables(\@tables, $opts); } +sub _table_columns { + my ($self, $table) = @_; + + my $dbh = $self->schema->storage->dbh; + + my $sth = $dbh->column_info(undef, $self->db_schema, uc $table, '%'); + return [ map lc($_->{COLUMN_NAME}), @{ $sth->fetchall_arrayref({ COLUMN_NAME => 1 }) || [] } ]; +} + sub _table_uniq_info { my ($self, $table) = @_; @@ -137,8 +135,8 @@ sub _extra_column_info { SELECT COUNT(*) FROM all_triggers ut JOIN all_trigger_cols atc USING (trigger_name) WHERE atc.table_name = ? AND atc.column_name = ? - AND column_usage LIKE '%NEW%' AND column_usage LIKE '%OUT%' - AND trigger_type = 'BEFORE EACH ROW' AND triggering_event LIKE '%INSERT%' + AND lower(column_usage) LIKE '%new%' AND lower(column_usage) LIKE '%out%' + AND trigger_type = 'BEFORE EACH ROW' AND lower(triggering_event) LIKE '%insert%' }, {}, 1);