summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/oracle/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/dialects/oracle/base.py')
-rw-r--r--lib/sqlalchemy/dialects/oracle/base.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py
index 7a4d835c9..5956a04b6 100644
--- a/lib/sqlalchemy/dialects/oracle/base.py
+++ b/lib/sqlalchemy/dialects/oracle/base.py
@@ -164,18 +164,22 @@ RESERVED_WORDS = \
NO_ARG_FNS = set('UID CURRENT_DATE SYSDATE USER '
'CURRENT_TIME CURRENT_TIMESTAMP'.split())
+
class RAW(sqltypes._Binary):
__visit_name__ = 'RAW'
OracleRaw = RAW
+
class NCLOB(sqltypes.Text):
__visit_name__ = 'NCLOB'
+
class VARCHAR2(VARCHAR):
__visit_name__ = 'VARCHAR2'
NVARCHAR2 = NVARCHAR
+
class NUMBER(sqltypes.Numeric, sqltypes.Integer):
__visit_name__ = 'NUMBER'
@@ -207,12 +211,15 @@ class DOUBLE_PRECISION(sqltypes.Numeric):
super(DOUBLE_PRECISION, self).__init__(precision=precision, scale=scale, asdecimal=asdecimal)
+
class BFILE(sqltypes.LargeBinary):
__visit_name__ = 'BFILE'
+
class LONG(sqltypes.Text):
__visit_name__ = 'LONG'
+
class INTERVAL(sqltypes.TypeEngine):
__visit_name__ = 'INTERVAL'
@@ -243,6 +250,7 @@ class INTERVAL(sqltypes.TypeEngine):
def _type_affinity(self):
return sqltypes.Interval
+
class ROWID(sqltypes.TypeEngine):
"""Oracle ROWID type.
@@ -388,6 +396,7 @@ class OracleTypeCompiler(compiler.GenericTypeCompiler):
def visit_ROWID(self, type_):
return "ROWID"
+
class OracleCompiler(compiler.SQLCompiler):
"""Oracle compiler modifies the lexical structure of Select
statements to work under non-ANSI configured Oracle databases, if
@@ -613,6 +622,7 @@ class OracleCompiler(compiler.SQLCompiler):
else:
return super(OracleCompiler, self).for_update_clause(select)
+
class OracleDDLCompiler(compiler.DDLCompiler):
def define_constraint_cascades(self, constraint):
@@ -634,6 +644,7 @@ class OracleDDLCompiler(compiler.DDLCompiler):
return super(OracleDDLCompiler, self).\
visit_create_index(create, include_schema=True)
+
class OracleIdentifierPreparer(compiler.IdentifierPreparer):
reserved_words = set([x.lower() for x in RESERVED_WORDS])
@@ -658,6 +669,7 @@ class OracleExecutionContext(default.DefaultExecutionContext):
self.dialect.identifier_preparer.format_sequence(seq) +
".nextval FROM DUAL", type_)
+
class OracleDialect(default.DefaultDialect):
name = 'oracle'
supports_alter = True