]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fixes mostly to get the important unit tests to run for Oracle, boxesw without wsgi_utils
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 14 Feb 2006 01:02:50 +0000 (01:02 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 14 Feb 2006 01:02:50 +0000 (01:02 +0000)
lib/sqlalchemy/databases/oracle.py
lib/sqlalchemy/sql.py
test/alltests.py
test/query.py

index 2ce07a3c6c8efaa45d04f7ff2063be9c28bc2bc3..14e4b33cd4867df444a4722a893b67f6511b08d3 100644 (file)
@@ -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
index d4ae77a4e9b2a1b87dfab8b3b6ccad8cc938c56b..c99af4c6d0fc5788ca48e7d1a1d51a7c8efb0d3e 100644 (file)
@@ -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)
     
index 0e10e008e307e2b26025114acbbeca629cbce8d9..681014448d3602c09e3ca99bdbb454aa5f6d2cb1 100644 (file)
@@ -42,7 +42,7 @@ def suite():
         
         # extensions
         'proxy_engine',
-        'wsgi_test',
+        #'wsgi_test',
         
         )
 
index 1b52ae4818e3f6f4d7bd972087be9c3c2ed728fd..428cb27757fba1eb770eb5841c98be978f3ad6f9 100644 (file)
@@ -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