From 369ffb7816b83f0b6fbee7e6ecd743655ad2a5a7 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 26 Jul 2006 18:05:36 +0000 Subject: oracle boolean type [ticket:257] --- lib/sqlalchemy/databases/oracle.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 897ed640e..6ca81c662 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -52,7 +52,21 @@ class OracleBinary(sqltypes.Binary): return "BLOB" class OracleBoolean(sqltypes.Boolean): def get_col_spec(self): - return "BOOLEAN" + return "SMALLINT" + def convert_result_value(self, value, dialect): + if value is None: + return None + return value and True or False + def convert_bind_param(self, value, dialect): + if value is True: + return 1 + elif value is False: + return 0 + elif value is None: + return None + else: + return value and True or False + colspecs = { sqltypes.Integer : OracleInteger, -- cgit v1.2.1