summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-08-31 23:13:14 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-08-31 23:13:14 +0000
commite168ef63a9a1306232b4a3c87d6264f2263c9e15 (patch)
treebb7ff4ac775c2dfbfc4d860ac9cf4aff891c50d0 /lib
parent0c7250a4740b26875d94fc9a1cb714fc970ea700 (diff)
downloadsqlalchemy-e168ef63a9a1306232b4a3c87d6264f2263c9e15.tar.gz
some tweaks to oracle casing...
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/ansisql.py4
-rw-r--r--lib/sqlalchemy/databases/oracle.py7
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):