From ad845f576589e2dc1a822c2c9c6ae4ca30ef1c3b Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Tue, 27 Apr 2010 16:26:39 -0500 Subject: [PATCH] Added unicode parameter workaround. --- sqlbase7_sa/base.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sqlbase7_sa/base.py b/sqlbase7_sa/base.py index be7dfd1..cc8644f 100644 --- a/sqlbase7_sa/base.py +++ b/sqlbase7_sa/base.py @@ -91,6 +91,10 @@ class SQLBase7Dialect(DefaultDialect): max_identifier_length = 18 + # # Hmm, it'd be great if these actually did something... + # supports_unicode_statements = False + # supports_unicode_binds = False + statement_compiler = SQLBase7Compiler type_map = { @@ -160,3 +164,14 @@ class SQLBase7Dialect(DefaultDialect): def get_indexes(self, connection, table_name, schema=None, **kw): return [] + + def do_execute(self, cursor, statement, parameters, context=None): + # Since the "supports_unicode_binds" attribute doesn't seem to do + # anything, take matters into our own hands here. + _parameters = [] + for parameter in parameters: + if isinstance(parameter, basestring) and not isinstance(parameter, str): + parameter = str(parameter) + _parameters.append(parameter) + parameters = tuple(_parameters) + cursor.execute(statement, parameters)