summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/oracle.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-12-28 22:32:04 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-12-28 22:32:04 +0000
commit8598780e8d746a85897ab19bd514c9980bfe446e (patch)
tree4ca3be41a5673273c8d349d182b4ef4f01a1e4de /lib/sqlalchemy/databases/oracle.py
parentbd23baf4ac0f9dd520120445594bd00f1b760f4b (diff)
downloadsqlalchemy-8598780e8d746a85897ab19bd514c9980bfe446e.tar.gz
- Added OracleNVarchar type, produces NVARCHAR2, and also
subclasses Unicode so that convert_unicode=True by default. NVARCHAR2 reflects into this type automatically so these columns pass unicode on a reflected table with no explicit convert_unicode=True flags. [ticket:1233]
Diffstat (limited to 'lib/sqlalchemy/databases/oracle.py')
-rw-r--r--lib/sqlalchemy/databases/oracle.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py
index aed070f2e..5a305ffd2 100644
--- a/lib/sqlalchemy/databases/oracle.py
+++ b/lib/sqlalchemy/databases/oracle.py
@@ -202,6 +202,10 @@ class OracleString(sqltypes.String):
def get_col_spec(self):
return "VARCHAR(%(length)s)" % {'length' : self.length}
+class OracleNVarchar(sqltypes.Unicode, OracleString):
+ def get_col_spec(self):
+ return "NVARCHAR2(%(length)s)" % {'length' : self.length}
+
class OracleText(sqltypes.Text):
def get_dbapi_type(self, dbapi):
return dbapi.CLOB
@@ -297,6 +301,7 @@ colspecs = {
ischema_names = {
'VARCHAR2' : OracleString,
+ 'NVARCHAR2' : OracleNVarchar,
'CHAR' : OracleString,
'DATE' : OracleDateTime,
'DATETIME' : OracleDateTime,
@@ -888,4 +893,4 @@ dialect.schemagenerator = OracleSchemaGenerator
dialect.schemadropper = OracleSchemaDropper
dialect.preparer = OracleIdentifierPreparer
dialect.defaultrunner = OracleDefaultRunner
-dialect.execution_ctx_cls = OracleExecutionContext \ No newline at end of file
+dialect.execution_ctx_cls = OracleExecutionContext