From a0ffeb546468e14fa9d99b30571f7b8f9b32f421 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 1 Feb 2008 01:16:18 +0000 Subject: - some consolidation of tests in select.py, moved other tests to more specific modules - added "now()" as a generic function; on SQLite and Oracle compiles as "CURRENT_TIMESTAMP"; "now()" on all others [ticket:943] --- lib/sqlalchemy/databases/oracle.py | 9 ++++++++- lib/sqlalchemy/databases/sqlite.py | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/databases') diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 55bdf74b1..23c159ef7 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -10,7 +10,7 @@ import datetime, random, re from sqlalchemy import util, sql, schema, exceptions, logging from sqlalchemy.engine import default, base from sqlalchemy.sql import compiler, visitors -from sqlalchemy.sql import operators as sql_operators +from sqlalchemy.sql import operators as sql_operators, functions as sql_functions from sqlalchemy import types as sqltypes @@ -586,6 +586,13 @@ class OracleCompiler(compiler.DefaultCompiler): } ) + functions = compiler.DefaultCompiler.functions.copy() + functions.update ( + { + sql_functions.now : 'CURRENT_TIMESTAMP' + } + ) + def __init__(self, *args, **kwargs): super(OracleCompiler, self).__init__(*args, **kwargs) self.__wheres = {} diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py index 4ce898727..a5a5a2ed9 100644 --- a/lib/sqlalchemy/databases/sqlite.py +++ b/lib/sqlalchemy/databases/sqlite.py @@ -11,7 +11,7 @@ from sqlalchemy import schema, exceptions, pool, PassiveDefault from sqlalchemy.engine import default import sqlalchemy.types as sqltypes import sqlalchemy.util as util -from sqlalchemy.sql import compiler +from sqlalchemy.sql import compiler, functions as sql_functions SELECT_REGEXP = re.compile(r'\s*(?:SELECT|PRAGMA)', re.I | re.UNICODE) @@ -349,6 +349,13 @@ class SQLiteDialect(default.DefaultDialect): class SQLiteCompiler(compiler.DefaultCompiler): + functions = compiler.DefaultCompiler.functions.copy() + functions.update ( + { + sql_functions.now : 'CURRENT_TIMESTAMP' + } + ) + def visit_cast(self, cast, **kwargs): if self.dialect.supports_cast: return super(SQLiteCompiler, self).visit_cast(cast) -- cgit v1.2.1