summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/databases/oracle.py9
-rw-r--r--lib/sqlalchemy/databases/sqlite.py9
-rw-r--r--lib/sqlalchemy/sql/functions.py3
3 files changed, 19 insertions, 2 deletions
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)
diff --git a/lib/sqlalchemy/sql/functions.py b/lib/sqlalchemy/sql/functions.py
index 869df46a7..be1d8eb61 100644
--- a/lib/sqlalchemy/sql/functions.py
+++ b/lib/sqlalchemy/sql/functions.py
@@ -35,6 +35,9 @@ class coalesce(GenericFunction):
kwargs.setdefault('type_', _type_from_args(args))
GenericFunction.__init__(self, args=args, **kwargs)
+class now(GenericFunction):
+ __return_type__ = sqltypes.DateTime
+
class concat(GenericFunction):
__return_type__ = sqltypes.String
def __init__(self, *args, **kwargs):