diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-08-31 23:13:14 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-08-31 23:13:14 +0000 |
| commit | e168ef63a9a1306232b4a3c87d6264f2263c9e15 (patch) | |
| tree | bb7ff4ac775c2dfbfc4d860ac9cf4aff891c50d0 /lib | |
| parent | 0c7250a4740b26875d94fc9a1cb714fc970ea700 (diff) | |
| download | sqlalchemy-e168ef63a9a1306232b4a3c87d6264f2263c9e15.tar.gz | |
some tweaks to oracle casing...
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/ansisql.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index d5b31c8aa..bd367918c 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -556,7 +556,7 @@ class ANSICompiler(sql.Compiled): # case one: no parameters in the statement, no parameters in the # compiled params - just return binds for all the table columns if self.parameters is None and stmt.parameters is None: - return [(c, sql.bindparam(c.name, type=c.type)) for c in stmt.table.columns] + return [(c, sql.bindparam(c.key, type=c.type)) for c in stmt.table.columns] # if we have statement parameters - set defaults in the # compiled params @@ -589,7 +589,7 @@ class ANSICompiler(sql.Compiled): if d.has_key(c): value = d[c] if sql._is_literal(value): - value = sql.bindparam(c.name, value, type=c.type) + value = sql.bindparam(c.key, value, type=c.type) values.append((c, value)) return values diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 0fa7216c6..f5d7f52d5 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -186,7 +186,8 @@ class OracleDialect(ansisql.ANSIDialect): return bool( cursor.fetchone() is not None ) def reflecttable(self, connection, table): - c = connection.execute ("select distinct OWNER from ALL_TAB_COLUMNS where TABLE_NAME = :table_name", {'table_name':table.name.upper()}) + # TODO: determine how oracle puts case sensitive names in data dictionary + c = connection.execute ("select distinct OWNER from ALL_TAB_COLUMNS where TABLE_NAME = :table_name", {'table_name':name.upper()}) rows = c.fetchall() if not rows : raise exceptions.NoSuchTableError(table.name) @@ -397,7 +398,7 @@ class OracleCompiler(ansisql.ANSICompiler): class OracleSchemaGenerator(ansisql.ANSISchemaGenerator): def get_column_specification(self, column, **kwargs): - colspec = column.name + colspec = self.preparer.format_column(column) colspec += " " + column.type.engine_impl(self.engine).get_col_spec() default = self.get_column_default_string(column) if default is not None: @@ -409,7 +410,7 @@ class OracleSchemaGenerator(ansisql.ANSISchemaGenerator): def visit_sequence(self, sequence): if not self.engine.dialect.has_sequence(self.connection, sequence.name): - self.append("CREATE SEQUENCE %s" % sequence.name) + self.append("CREATE SEQUENCE %s" % self.preparer.format_sequence(sequence)) self.execute() class OracleSchemaDropper(ansisql.ANSISchemaDropper): |
