diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-14 01:02:50 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-02-14 01:02:50 +0000 |
commit | 14dbac460037c1c662b8e33c7349bcd312cbfcf4 (patch) | |
tree | 306180571e88b8bcd0569b197423cb500b3b35d3 | |
parent | 7fb79e516dbbf0cf89e6b76d934387efc65cb0da (diff) | |
download | sqlalchemy-14dbac460037c1c662b8e33c7349bcd312cbfcf4.tar.gz |
fixes mostly to get the important unit tests to run for Oracle, boxesw without wsgi_utils
-rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 8 | ||||
-rw-r--r-- | lib/sqlalchemy/sql.py | 2 | ||||
-rw-r--r-- | test/alltests.py | 2 | ||||
-rw-r--r-- | test/query.py | 13 |
4 files changed, 19 insertions, 6 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 2ce07a3c6..14e4b33cd 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -178,7 +178,13 @@ class OracleCompiler(ansisql.ANSICompiler): self.strings[column] = "%s.%s(+)" % (column.table.name, column.name) else: self.strings[column] = "%s.%s" % (column.table.name, column.name) - + + def visit_function(self, func): + if len(func.clauses): + super(OracleCompiler, self).visit_function(func) + else: + self.strings[func] = func.name + def visit_insert(self, insert): """inserts are required to have the primary keys be explicitly present. mapper will by default not put them in the insert statement to comply diff --git a/lib/sqlalchemy/sql.py b/lib/sqlalchemy/sql.py index d4ae77a4e..c99af4c6d 100644 --- a/lib/sqlalchemy/sql.py +++ b/lib/sqlalchemy/sql.py @@ -595,7 +595,7 @@ class FromClause(Selectable): cp = self._proxy_column(co) self._orig_cols[co.original] = cp def _exportable_columns(self): - raise NotImplementedError(repr(self)) + return [] def _proxy_column(self, column): return column._make_proxy(self) diff --git a/test/alltests.py b/test/alltests.py index 0e10e008e..681014448 100644 --- a/test/alltests.py +++ b/test/alltests.py @@ -42,7 +42,7 @@ def suite(): # extensions 'proxy_engine', - 'wsgi_test', + #'wsgi_test', ) diff --git a/test/query.py b/test/query.py index 1b52ae481..428cb2775 100644 --- a/test/query.py +++ b/test/query.py @@ -48,11 +48,18 @@ class QueryTest(PersistTest): return x['x'] use_function_defaults = db.engine.__module__.endswith('postgres') or db.engine.__module__.endswith('oracle') - + is_oracle = db.engine.__module__.endswith('oracle') + # select "count(1)" from the DB which returns different results # on different DBs - f = select([func.count(1) + 5], engine=db).scalar() - if use_function_defaults: + if is_oracle: + f = select([func.count(1) + 5], engine=db, from_obj=['DUAL']).scalar() + ts = select([func.sysdate()], engine=db, from_obj=['DUAL']).scalar() + def1 = func.sysdate() + def2 = text("sysdate") + deftype = Date + elif use_function_defaults: + f = select([func.count(1) + 5], engine=db).scalar() def1 = func.current_date() def2 = text("current_date") deftype = Date |