From 3362991b7c52fcc555d21f9e81fc5051a069e9e3 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 19 Dec 2005 08:32:49 +0000 Subject: [PATCH] typemap needs lower case keys since result set metadata is not always case-sensitive (like in oracle) --- lib/sqlalchemy/ansisql.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/sqlalchemy/ansisql.py b/lib/sqlalchemy/ansisql.py index e4bcdd0775..2cb5e5301b 100644 --- a/lib/sqlalchemy/ansisql.py +++ b/lib/sqlalchemy/ansisql.py @@ -158,9 +158,9 @@ class ANSICompiler(sql.Compiled): # if we are within a visit to a Select, set up the "typemap" # for this column which is used to translate result set values if self.select_stack[-1].use_labels: - self.typemap.setdefault(column.label, column.type) + self.typemap.setdefault(column.label.lower(), column.type) else: - self.typemap.setdefault(column.key, column.type) + self.typemap.setdefault(column.key.lower(), column.type) if column.table.name is None: self.strings[column] = column.name else: @@ -269,6 +269,11 @@ class ANSICompiler(sql.Compiled): whereclause = select.whereclause + # TODO: look at our own parameters, see if they + # are all present in the form of BindParamClauses. if + # not, then append to the above whereclause column conditions + # matching those keys + froms = [] for f in select.froms: -- 2.47.2