From b8662333bbd20194ca3117835e7e1ca0bb4d3c0b Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 23 Jan 2007 20:25:48 +0000 Subject: - *slight* support for binary, but still need to figure out how to insert reasonably large values (over 4K). requires auto_setinputsizes=True sent to create_engine(), rows must be fully fetched individually, etc. --- lib/sqlalchemy/databases/oracle.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 3f257a460..6008ae61c 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -62,11 +62,15 @@ class OracleBinary(sqltypes.Binary): return dbapi.BINARY def get_col_spec(self): return "BLOB" -class OracleLongBinary(sqltypes.Binary): - def get_dbapi_type(self, dbapi): - return dbapi.LONG_BINARY - def get_col_spec(self): - return "LONGBLOB" + def convert_bind_param(self, value, dialect): + # this is RAWTOHEX + return ''.join(["%.2X" % ord(c) for c in value]) + def convert_result_value(self, value, dialect): + if value is None: + return None + else: + return value.read() + class OracleBoolean(sqltypes.Boolean): def get_col_spec(self): return "SMALLINT" -- cgit v1.2.1