]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
check for unicode first before encoding
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 6 Feb 2008 17:44:48 +0000 (17:44 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 6 Feb 2008 17:44:48 +0000 (17:44 +0000)
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/default.py

index 1a13fdeeb836e17b4ed35c2eb00d093c9db4f56b..f426d93a663e6040e45095c3d367d8e8d0cfd9d7 100644 (file)
@@ -1825,7 +1825,7 @@ class DefaultRunner(schema.SchemaVisitor):
         """execute a string statement, using the raw cursor,
         and return a scalar result."""
         conn = self.context._connection
-        if not self.dialect.supports_unicode_statements:
+        if isinstance(stmt, unicode) and not self.dialect.supports_unicode_statements:
             stmt = stmt.encode(self.dialect.encoding)
         conn._cursor_execute(self.context.cursor, stmt, params)
         return self.context.cursor.fetchone()[0]
index 3b93862aeb73d48d2a090439b36263808444ed0e..5c6a67b2805b25d04a461f0a26bd852f46325297 100644 (file)
@@ -185,7 +185,7 @@ class DefaultExecutionContext(base.ExecutionContext):
             self.result_map = None
             self.parameters = self.__encode_param_keys(parameters)
             self.executemany = len(parameters) > 1
-            if not dialect.supports_unicode_statements:
+            if isinstance(statement, unicode) and not dialect.supports_unicode_statements:
                 self.statement = statement.encode(self.dialect.encoding)
             else:
                 self.statement = statement