summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-07-26 18:05:36 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-07-26 18:05:36 +0000
commit369ffb7816b83f0b6fbee7e6ecd743655ad2a5a7 (patch)
tree676694467423279daa18cd72c3fd19a9a5b6f3c3
parent3c14b364ba31708aa8f6f43a62689c1fe6e9eac3 (diff)
downloadsqlalchemy-369ffb7816b83f0b6fbee7e6ecd743655ad2a5a7.tar.gz
oracle boolean type [ticket:257]
-rw-r--r--CHANGES1
-rw-r--r--lib/sqlalchemy/databases/oracle.py16
2 files changed, 16 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 6a90e7424..c177757ab 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ primary key columns are null (i.e. when mapping to outer joins etc)
- fixed reflection of foreign keys to autoload the referenced table
if it was not loaded already
- [ticket:256] - pass URL query string arguments to connect() function
+- [ticket:257] - oracle boolean type
0.2.6
- big overhaul to schema to allow truly composite primary and foreign
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,