diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 20:38:53 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-27 20:38:53 -0400 |
| commit | c926f0a9d8910c67554f053ed0f7902542679f0d (patch) | |
| tree | 85db2c4de6f43e4eee491b58b60e233b6b20a16e /lib/sqlalchemy/engine | |
| parent | 2709ae46884f405d95dc16be0667a6cbbebcfb69 (diff) | |
| download | sqlalchemy-c926f0a9d8910c67554f053ed0f7902542679f0d.tar.gz | |
plugging away
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/ddl.py | 4 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 53 |
3 files changed, 28 insertions, 35 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 9eb3d6128..dbc1ff820 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -3,7 +3,7 @@ # # This module is part of SQLAlchemy and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php - +from __future__ import with_statement """Defines :class:`.Connection` and :class:`.Engine`. @@ -734,7 +734,7 @@ class Connection(Connectable): distilled_params = _distill_params(multiparams, params) if distilled_params: - keys = list(distilled_params[0].keys()) + keys = list(distilled_params[0]) else: keys = [] @@ -1045,7 +1045,7 @@ class Connection(Connectable): Compiled: _execute_compiled, schema.SchemaItem: _execute_default, schema.DDLElement: _execute_ddl, - str: _execute_text + util.string_types[0]: _execute_text } def default_schema_name(self): diff --git a/lib/sqlalchemy/engine/ddl.py b/lib/sqlalchemy/engine/ddl.py index 56f475e30..6daa9be6b 100644 --- a/lib/sqlalchemy/engine/ddl.py +++ b/lib/sqlalchemy/engine/ddl.py @@ -55,7 +55,7 @@ class SchemaGenerator(DDLBase): tables = list(metadata.tables.values()) collection = [t for t in sql_util.sort_tables(tables) if self._can_create_table(t)] - seq_coll = [s for s in list(metadata._sequences.values()) + seq_coll = [s for s in metadata._sequences.values() if s.column is None and self._can_create_sequence(s)] metadata.dispatch.before_create(metadata, self.connection, @@ -130,7 +130,7 @@ class SchemaDropper(DDLBase): seq_coll = [ s - for s in list(metadata._sequences.values()) + for s in metadata._sequences.values() if s.column is None and self._can_drop_sequence(s) ] diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index 9dda6d81e..e52aac427 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -57,18 +57,16 @@ class DefaultDialect(interfaces.Dialect): # *not* the FLOAT type however. supports_native_decimal = False -# start Py3K - supports_unicode_statements = True - supports_unicode_binds = True - returns_unicode_strings = True - description_encoding = None -# end Py3K -# start Py2K -# supports_unicode_statements = False -# supports_unicode_binds = False -# returns_unicode_strings = False -# description_encoding = 'use_encoding' -# end Py2K + if util.py3k: + supports_unicode_statements = True + supports_unicode_binds = True + returns_unicode_strings = True + description_encoding = None + else: + supports_unicode_statements = False + supports_unicode_binds = False + returns_unicode_strings = False + description_encoding = 'use_encoding' name = 'default' @@ -202,15 +200,10 @@ class DefaultDialect(interfaces.Dialect): return None def _check_unicode_returns(self, connection): -# start Py2K -# if self.supports_unicode_statements: -# cast_to = unicode -# else: -# cast_to = str -# end Py2K -# start Py3K - cast_to = str -# end Py3K + if util.py2k and not self.supports_unicode_statements: + cast_to = util.binary_type + else: + cast_to = util.text_type def check_unicode(formatstr, type_): cursor = connection.connection.cursor() @@ -219,8 +212,8 @@ class DefaultDialect(interfaces.Dialect): cursor.execute( cast_to( expression.select( - [expression.cast( - expression.literal_column( + [expression.cast( + expression.literal_column( "'test %s returns'" % formatstr), type_) ]).compile(dialect=self) @@ -228,7 +221,7 @@ class DefaultDialect(interfaces.Dialect): ) row = cursor.fetchone() - return isinstance(row[0], str) + return isinstance(row[0], util.string_types) except self.dbapi.Error as de: util.warn("Exception attempting to " "detect unicode returns: %r" % de) @@ -375,10 +368,10 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.execution_options.update(connection._execution_options) if not dialect.supports_unicode_statements: - self.unicode_statement = str(compiled) + self.unicode_statement = util.text_type(compiled) self.statement = dialect._encoder(self.unicode_statement)[0] else: - self.statement = self.unicode_statement = str(compiled) + self.statement = self.unicode_statement = util.text_type(compiled) self.cursor = self.create_cursor() self.compiled_parameters = [] @@ -416,7 +409,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.result_map = compiled.result_map - self.unicode_statement = str(compiled) + self.unicode_statement = util.text_type(compiled) if not dialect.supports_unicode_statements: self.statement = self.unicode_statement.encode( self.dialect.encoding) @@ -521,7 +514,7 @@ class DefaultExecutionContext(interfaces.ExecutionContext): self.executemany = len(parameters) > 1 if not dialect.supports_unicode_statements and \ - isinstance(statement, str): + isinstance(statement, util.text_type): self.unicode_statement = statement self.statement = dialect._encoder(statement)[0] else: @@ -575,8 +568,8 @@ class DefaultExecutionContext(interfaces.ExecutionContext): """ conn = self.root_connection - if isinstance(stmt, str) and \ - not self.dialect.supports_unicode_statements: + if isinstance(stmt, util.text_type) and \ + not self.dialect.supports_unicode_statements: stmt = self.dialect._encoder(stmt)[0] if self.dialect.positional: |
