[Bast-commits] r8594 - in
DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage:
. DBI/Oracle
faxm0dem at dev.catalyst.perl.org
faxm0dem at dev.catalyst.perl.org
Tue Feb 9 20:53:48 GMT 2010
Author: faxm0dem
Date: 2010-02-09 20:53:48 +0000 (Tue, 09 Feb 2010)
New Revision: 8594
Modified:
DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI.pm
DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
Log:
should work now
Modified: DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
===================================================================
--- DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm 2010-02-08 15:16:44 UTC (rev 8593)
+++ DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm 2010-02-09 20:53:48 UTC (rev 8594)
@@ -25,9 +25,35 @@
=cut
+my %ora_reserved = map { $_, 1 } qw(
+ ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN BY CHAR CHECK
+ CLUSTER COLUMN COMMENT COMPRESS CONNECT CREATE CURRENT DATE DECIMAL
+ DEFAULT DELETE DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT
+ FOR FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE IN INCREMENT
+ INDEX INITIAL INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK
+ LONG MAXEXTENTS MINUS MLSLABEL MODE MODIFY NOAUDIT NOCOMPRESS NOT
+ NOWAIT NULL NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE
+ PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE ROW ROWID ROWNUM
+ ROWS SELECT SESSION SET SHARE SIZE SMALLINT START SUCCESSFUL SYNONYM
+ SYSDATE TABLE THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE
+ VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH
+);
+
use base qw/DBIx::Class::Storage::DBI/;
use mro 'c3';
+sub deployment_statements {
+ my $self = shift;;
+ 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;
+
+ $self->next::method($schema, $type, $version, $dir, $sqltargs, @rest);
+}
+
sub _dbh_last_insert_id {
my ($self, $dbh, $source, @columns) = @_;
my @ids = ();
@@ -42,8 +68,8 @@
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'};
- my $name_sep = $self->schema->storage->{'_sql_maker_opts'}->{'name_sep'};
# look up the correct sequence automatically
my $sql = q{
@@ -65,6 +91,7 @@
else {
$source_name = ${$source->name};
}
+ $source_name = uc($source_name) unless $quote_char;
# check for fully-qualified name (eg. SCHEMA.TABLENAME)
if ( my ( $schema, $table ) = $source_name =~ /(\w+)\.(\w+)/ ) {
@@ -75,9 +102,11 @@
AND t.status = 'ENABLED'
};
$sth = $dbh->prepare($sql);
- my $table_name = $quote_char ? "$quote_char$table$quote_char" : uc($table);
- die $table_name;
- $sth->execute( uc($schema), $table_name );
+ my $table_name = $self -> sql_maker -> _quote($table);
+ #my $schema_name = $self -> sql_maker -> _quote($schema);
+ my $schema_name = uc($schema);
+
+ $sth->execute( $schema_name, $table_name );
}
else {
$sth = $dbh->prepare($sql);
@@ -165,7 +194,7 @@
sub columns_info_for {
my ($self, $table) = @_;
- $self->next::method(uc($table));
+ $self->next::method($table);
}
=head2 datetime_parser_type
Modified: DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI.pm
===================================================================
--- DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI.pm 2010-02-08 15:16:44 UTC (rev 8593)
+++ DBIx-Class/0.08/branches/oracle_quotes/lib/DBIx/Class/Storage/DBI.pm 2010-02-09 20:53:48 UTC (rev 8594)
@@ -45,6 +45,7 @@
# Each of these methods need _determine_driver called before itself
# in order to function reliably. This is a purely DRY optimization
my @rdbms_specific_methods = qw/
+ deployment_statements
sqlt_type
build_datetime_parser
datetime_parser_type
More information about the Bast-commits
mailing list