From: Fabien Wernli Date: Wed, 17 Feb 2010 17:54:45 +0000 (+0000) Subject: still need to uc source_name if quotes off X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=38aead8ef4d233c52f9efa21e6ba195285301b4c;p=dbsrgits%2FDBIx-Class-Historic.git still need to uc source_name if quotes off --- diff --git a/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm b/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm index 65df78b..854566a 100644 --- a/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm @@ -33,15 +33,15 @@ sub deployment_statements { my ($schema, $type, $version, $dir, $sqltargs, @rest) = @_; $sqltargs ||= {}; - my $quote_char = $self->schema->storage->{'_sql_maker_opts'}->{'quote_char'}; - $sqltargs->{quote_table_names} = 0 unless $quote_char; - $sqltargs->{quote_field_names} = 0 unless $quote_char; + my $quote_char = $self->schema->storage->{'_sql_maker_opts'}->{'quote_char'}; + $sqltargs->{quote_table_names} = 0 unless $quote_char; + $sqltargs->{quote_field_names} = 0 unless $quote_char; - my $oracle_version = eval { $self->_get_dbh->get_info(18) }; + my $oracle_version = eval { $self->_get_dbh->get_info(18) }; $sqltargs->{producer_args}{oracle_version} = $oracle_version; - $self->next::method($schema, $type, $version, $dir, $sqltargs, @rest); + $self->next::method($schema, $type, $version, $dir, $sqltargs, @rest); } sub _dbh_last_insert_id { @@ -58,9 +58,6 @@ sub _dbh_last_insert_id { sub _dbh_get_autoinc_seq { my ($self, $dbh, $source, $col) = @_; - # check if quoting is on - my $quote_char = $self->schema->storage->{'_sql_maker_opts'}->{'quote_char'}; - # look up the correct sequence automatically my $sql = q{ SELECT trigger_body FROM ALL_TRIGGERS t @@ -81,7 +78,10 @@ sub _dbh_get_autoinc_seq { else { $source_name = ${$source->name}; } - $source_name = uc($source_name) unless $quote_char; + + unless ($self->schema->storage->{'_sql_maker_opts'}->{'quote_char'}) { + $source_name = uc($source_name); + } # check for fully-qualified name (eg. SCHEMA.TABLENAME) if ( my ( $schema, $table ) = $source_name =~ /(\w+)\.(\w+)/ ) { @@ -92,9 +92,8 @@ sub _dbh_get_autoinc_seq { AND t.status = 'ENABLED' }; $sth = $dbh->prepare($sql); - my $table_name = $self -> sql_maker -> _quote($table); - #my $schema_name = $self -> sql_maker -> _quote($schema); - my $schema_name = uc($schema); + my $table_name = $self -> sql_maker -> _quote($table); + my $schema_name = $self -> sql_maker -> _quote($schema); $sth->execute( $schema_name, $table_name ); }