summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/oracle
diff options
context:
space:
mode:
authorDiana Clarke <diana.joan.clarke@gmail.com>2012-11-20 00:47:31 -0500
committerDiana Clarke <diana.joan.clarke@gmail.com>2012-11-20 00:47:31 -0500
commitead37e4ec0dd5750769226befea043d9527f869e (patch)
tree4edd39d12a4b8d1825ed3e1f4764941dcd813ef1 /lib/sqlalchemy/dialects/oracle
parent63a953e59dbd3389f96c2ab39aa149dc0ba063e4 (diff)
downloadsqlalchemy-ead37e4ec0dd5750769226befea043d9527f869e.tar.gz
kill me now, pep8 pass, so close
Diffstat (limited to 'lib/sqlalchemy/dialects/oracle')
-rw-r--r--lib/sqlalchemy/dialects/oracle/base.py58
-rw-r--r--lib/sqlalchemy/dialects/oracle/cx_oracle.py31
-rw-r--r--lib/sqlalchemy/dialects/oracle/zxjdbc.py12
3 files changed, 55 insertions, 46 deletions
diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py
index 1daea3cef..baea4815b 100644
--- a/lib/sqlalchemy/dialects/oracle/base.py
+++ b/lib/sqlalchemy/dialects/oracle/base.py
@@ -139,10 +139,9 @@ is not in use this flag should be left off.
"""
-import random, re
+import re
-from sqlalchemy import schema as sa_schema
-from sqlalchemy import util, sql, log
+from sqlalchemy import util, sql
from sqlalchemy.engine import default, base, reflection
from sqlalchemy.sql import compiler, visitors, expression
from sqlalchemy.sql import operators as sql_operators, functions as sql_functions
@@ -205,6 +204,7 @@ class NUMBER(sqltypes.Numeric, sqltypes.Integer):
class DOUBLE_PRECISION(sqltypes.Numeric):
__visit_name__ = 'DOUBLE_PRECISION'
+
def __init__(self, precision=None, scale=None, asdecimal=None):
if asdecimal is None:
asdecimal = False
@@ -265,27 +265,27 @@ class _OracleBoolean(sqltypes.Boolean):
return dbapi.NUMBER
colspecs = {
- sqltypes.Boolean : _OracleBoolean,
- sqltypes.Interval : INTERVAL,
+ sqltypes.Boolean: _OracleBoolean,
+ sqltypes.Interval: INTERVAL,
}
ischema_names = {
- 'VARCHAR2' : VARCHAR,
- 'NVARCHAR2' : NVARCHAR,
- 'CHAR' : CHAR,
- 'DATE' : DATE,
- 'NUMBER' : NUMBER,
- 'BLOB' : BLOB,
- 'BFILE' : BFILE,
- 'CLOB' : CLOB,
- 'NCLOB' : NCLOB,
- 'TIMESTAMP' : TIMESTAMP,
- 'TIMESTAMP WITH TIME ZONE' : TIMESTAMP,
- 'INTERVAL DAY TO SECOND' : INTERVAL,
- 'RAW' : RAW,
- 'FLOAT' : FLOAT,
- 'DOUBLE PRECISION' : DOUBLE_PRECISION,
- 'LONG' : LONG,
+ 'VARCHAR2': VARCHAR,
+ 'NVARCHAR2': NVARCHAR,
+ 'CHAR': CHAR,
+ 'DATE': DATE,
+ 'NUMBER': NUMBER,
+ 'BLOB': BLOB,
+ 'BFILE': BFILE,
+ 'CLOB': CLOB,
+ 'NCLOB': NCLOB,
+ 'TIMESTAMP': TIMESTAMP,
+ 'TIMESTAMP WITH TIME ZONE': TIMESTAMP,
+ 'INTERVAL DAY TO SECOND': INTERVAL,
+ 'RAW': RAW,
+ 'FLOAT': FLOAT,
+ 'DOUBLE PRECISION': DOUBLE_PRECISION,
+ 'LONG': LONG,
}
@@ -389,7 +389,7 @@ class OracleTypeCompiler(compiler.GenericTypeCompiler):
def visit_RAW(self, type_):
if type_.length:
- return "RAW(%(length)s)" % {'length' : type_.length}
+ return "RAW(%(length)s)" % {'length': type_.length}
else:
return "RAW"
@@ -910,7 +910,7 @@ class OracleDialect(default.DefaultDialect):
(colname, orig_colname, coltype, length, precision, scale, nullable, default) = \
(self.normalize_name(row[0]), row[0], row[1], row[2], row[3], row[4], row[5] == 'Y', row[6])
- if coltype == 'NUMBER' :
+ if coltype == 'NUMBER':
coltype = NUMBER(precision, scale)
elif coltype in ('VARCHAR2', 'NVARCHAR2', 'CHAR'):
coltype = self.ischema_names.get(coltype)(length)
@@ -1066,7 +1066,7 @@ class OracleDialect(default.DefaultDialect):
"""
- requested_schema = schema # to check later on
+ requested_schema = schema # to check later on
resolve_synonyms = kw.get('oracle_resolve_synonyms', False)
dblink = kw.get('dblink', '')
info_cache = kw.get('info_cache')
@@ -1082,11 +1082,11 @@ class OracleDialect(default.DefaultDialect):
def fkey_rec():
return {
- 'name' : None,
- 'constrained_columns' : [],
- 'referred_schema' : None,
- 'referred_table' : None,
- 'referred_columns' : []
+ 'name': None,
+ 'constrained_columns': [],
+ 'referred_schema': None,
+ 'referred_table': None,
+ 'referred_columns': []
}
fkeys = util.defaultdict(fkey_rec)
diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py
index e7b182c66..bee730800 100644
--- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py
+++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py
@@ -182,6 +182,7 @@ class _OracleNumeric(sqltypes.Numeric):
fstring = "%.10f"
else:
fstring = "%%.%df" % self.scale
+
def to_decimal(value):
if value is None:
return None
@@ -189,6 +190,7 @@ class _OracleNumeric(sqltypes.Numeric):
return value
else:
return decimal.Decimal(fstring % value)
+
return to_decimal
else:
if self.precision is None and self.scale is None:
@@ -486,21 +488,24 @@ class OracleDialect_cx_oracle(OracleDialect):
colspecs = colspecs = {
sqltypes.Numeric: _OracleNumeric,
- sqltypes.Date : _OracleDate, # generic type, assume datetime.date is desired
+ sqltypes.Date: _OracleDate, # generic type, assume datetime.date is desired
oracle.DATE: oracle.DATE, # non generic type - passthru
- sqltypes.LargeBinary : _OracleBinary,
- sqltypes.Boolean : oracle._OracleBoolean,
- sqltypes.Interval : _OracleInterval,
- oracle.INTERVAL : _OracleInterval,
- sqltypes.Text : _OracleText,
- sqltypes.String : _OracleString,
- sqltypes.UnicodeText : _OracleUnicodeText,
- sqltypes.CHAR : _OracleChar,
- sqltypes.Integer : _OracleInteger, # this is only needed for OUT parameters.
- # it would be nice if we could not use it otherwise.
+ sqltypes.LargeBinary: _OracleBinary,
+ sqltypes.Boolean: oracle._OracleBoolean,
+ sqltypes.Interval: _OracleInterval,
+ oracle.INTERVAL: _OracleInterval,
+ sqltypes.Text: _OracleText,
+ sqltypes.String: _OracleString,
+ sqltypes.UnicodeText: _OracleUnicodeText,
+ sqltypes.CHAR: _OracleChar,
+
+ # this is only needed for OUT parameters.
+ # it would be nice if we could not use it otherwise.
+ sqltypes.Integer: _OracleInteger,
+
oracle.RAW: _OracleRaw,
sqltypes.Unicode: _OracleNVarChar,
- sqltypes.NVARCHAR : _OracleNVarChar,
+ sqltypes.NVARCHAR: _OracleNVarChar,
oracle.ROWID: _OracleRowid,
}
@@ -588,6 +593,7 @@ class OracleDialect_cx_oracle(OracleDialect):
self.dbapi.BLOB: oracle.BLOB(),
self.dbapi.BINARY: oracle.RAW(),
}
+
@classmethod
def dbapi(cls):
import cx_Oracle
@@ -653,6 +659,7 @@ class OracleDialect_cx_oracle(OracleDialect):
return
cx_Oracle = self.dbapi
+
def output_type_handler(cursor, name, defaultType,
size, precision, scale):
# convert all NUMBER with precision + positive scale to Decimal
diff --git a/lib/sqlalchemy/dialects/oracle/zxjdbc.py b/lib/sqlalchemy/dialects/oracle/zxjdbc.py
index 7c828331b..94d8f8219 100644
--- a/lib/sqlalchemy/dialects/oracle/zxjdbc.py
+++ b/lib/sqlalchemy/dialects/oracle/zxjdbc.py
@@ -78,7 +78,7 @@ class OracleCompiler_zxjdbc(OracleCompiler):
self.binds[bindparam.key] = bindparam
binds.append(self.bindparam_string(self._truncate_bindparam(bindparam)))
- return 'RETURNING ' + ', '.join(columns) + " INTO " + ", ".join(binds)
+ return 'RETURNING ' + ', '.join(columns) + " INTO " + ", ".join(binds)
class OracleExecutionContext_zxjdbc(OracleExecutionContext):
@@ -178,7 +178,7 @@ class OracleDialect_zxjdbc(ZxJDBCConnector, OracleDialect):
colspecs = util.update_copy(
OracleDialect.colspecs,
{
- sqltypes.Date : _ZxJDBCDate,
+ sqltypes.Date: _ZxJDBCDate,
sqltypes.Numeric: _ZxJDBCNumeric
}
)
@@ -189,17 +189,19 @@ class OracleDialect_zxjdbc(ZxJDBCConnector, OracleDialect):
from java.sql import SQLException
from com.ziclix.python.sql import zxJDBC
from com.ziclix.python.sql.handler import OracleDataHandler
- class OracleReturningDataHandler(OracleDataHandler):
+ class OracleReturningDataHandler(OracleDataHandler):
"""zxJDBC DataHandler that specially handles ReturningParam."""
def setJDBCObject(self, statement, index, object, dbtype=None):
if type(object) is ReturningParam:
statement.registerReturnParameter(index, object.type)
elif dbtype is None:
- OracleDataHandler.setJDBCObject(self, statement, index, object)
+ OracleDataHandler.setJDBCObject(
+ self, statement, index, object)
else:
- OracleDataHandler.setJDBCObject(self, statement, index, object, dbtype)
+ OracleDataHandler.setJDBCObject(
+ self, statement, index, object, dbtype)
self.DataHandler = OracleReturningDataHandler
def initialize(self, connection):