summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-02-14 01:02:50 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-02-14 01:02:50 +0000
commit14dbac460037c1c662b8e33c7349bcd312cbfcf4 (patch)
tree306180571e88b8bcd0569b197423cb500b3b35d3
parent7fb79e516dbbf0cf89e6b76d934387efc65cb0da (diff)
downloadsqlalchemy-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.py8
-rw-r--r--lib/sqlalchemy/sql.py2
-rw-r--r--test/alltests.py2
-rw-r--r--test/query.py13
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