diff options
Diffstat (limited to 'lib/sqlalchemy/dialects')
| -rw-r--r-- | lib/sqlalchemy/dialects/mssql/information_schema.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/base.py | 2 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 78 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/hstore.py | 42 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/psycopg2.py | 42 | ||||
| -rw-r--r-- | lib/sqlalchemy/dialects/sqlite/pysqlite.py | 15 |
6 files changed, 27 insertions, 158 deletions
diff --git a/lib/sqlalchemy/dialects/mssql/information_schema.py b/lib/sqlalchemy/dialects/mssql/information_schema.py index fa0386faa..f16d3b6a0 100644 --- a/lib/sqlalchemy/dialects/mssql/information_schema.py +++ b/lib/sqlalchemy/dialects/mssql/information_schema.py @@ -9,7 +9,6 @@ from ... import cast from ... import Column from ... import MetaData from ... import Table -from ... import util from ...ext.compiler import compiles from ...sql import expression from ...types import Boolean @@ -27,11 +26,6 @@ class CoerceUnicode(TypeDecorator): impl = Unicode cache_ok = True - def process_bind_param(self, value, dialect): - if util.py2k and isinstance(value, util.binary_type): - value = value.decode(dialect.encoding) - return value - def bind_expression(self, bindvalue): return _cast_on_2005(bindvalue) diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index c0bf985e5..9e62b931d 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -2468,8 +2468,6 @@ class OracleDialect(default.DefaultDialect): rp = connection.execute(sql.text(text), params).scalar() if rp: - if util.py2k: - rp = rp.decode(self.encoding) return rp else: return None diff --git a/lib/sqlalchemy/dialects/oracle/cx_oracle.py b/lib/sqlalchemy/dialects/oracle/cx_oracle.py index 3e705dced..38e864898 100644 --- a/lib/sqlalchemy/dialects/oracle/cx_oracle.py +++ b/lib/sqlalchemy/dialects/oracle/cx_oracle.py @@ -468,7 +468,6 @@ from ... import processors from ... import types as sqltypes from ... import util from ...engine import cursor as _cursor -from ...util import compat class _OracleInteger(sqltypes.Integer): @@ -745,24 +744,7 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): " cx_oracle" % (bindparam.key, bindparam.type) ) - if compat.py2k and dbtype in ( - cx_Oracle.CLOB, - cx_Oracle.NCLOB, - ): - outconverter = ( - processors.to_unicode_processor_factory( - self.dialect.encoding, - errors=self.dialect.encoding_errors, - ) - ) - self.out_parameters[name] = self.cursor.var( - dbtype, - outconverter=lambda value: outconverter( - value.read() - ), - ) - - elif dbtype in ( + if dbtype in ( cx_Oracle.BLOB, cx_Oracle.CLOB, cx_Oracle.NCLOB, @@ -770,18 +752,6 @@ class OracleExecutionContext_cx_oracle(OracleExecutionContext): self.out_parameters[name] = self.cursor.var( dbtype, outconverter=lambda value: value.read() ) - elif compat.py2k and isinstance( - type_impl, sqltypes.Unicode - ): - outconverter = ( - processors.to_unicode_processor_factory( - self.dialect.encoding, - errors=self.dialect.encoding_errors, - ) - ) - self.out_parameters[name] = self.cursor.var( - dbtype, outconverter=outconverter - ) else: self.out_parameters[name] = self.cursor.var(dbtype) self.parameters[0][ @@ -1182,45 +1152,23 @@ class OracleDialect_cx_oracle(OracleDialect): and default_type is not cx_Oracle.CLOB and default_type is not cx_Oracle.NCLOB ): - if compat.py2k: - outconverter = processors.to_unicode_processor_factory( - dialect.encoding, errors=dialect.encoding_errors - ) - return cursor.var( - cx_Oracle.STRING, - size, - cursor.arraysize, - outconverter=outconverter, - ) - else: - return cursor.var( - util.text_type, - size, - cursor.arraysize, - **dialect._cursor_var_unicode_kwargs - ) + return cursor.var( + util.text_type, + size, + cursor.arraysize, + **dialect._cursor_var_unicode_kwargs + ) elif dialect.auto_convert_lobs and default_type in ( cx_Oracle.CLOB, cx_Oracle.NCLOB, ): - if compat.py2k: - outconverter = processors.to_unicode_processor_factory( - dialect.encoding, errors=dialect.encoding_errors - ) - return cursor.var( - cx_Oracle.LONG_STRING, - size, - cursor.arraysize, - outconverter=outconverter, - ) - else: - return cursor.var( - cx_Oracle.LONG_STRING, - size, - cursor.arraysize, - **dialect._cursor_var_unicode_kwargs - ) + return cursor.var( + cx_Oracle.LONG_STRING, + size, + cursor.arraysize, + **dialect._cursor_var_unicode_kwargs + ) elif dialect.auto_convert_lobs and default_type in ( cx_Oracle.BLOB, diff --git a/lib/sqlalchemy/dialects/postgresql/hstore.py b/lib/sqlalchemy/dialects/postgresql/hstore.py index a4090f1ac..85d678ef5 100644 --- a/lib/sqlalchemy/dialects/postgresql/hstore.py +++ b/lib/sqlalchemy/dialects/postgresql/hstore.py @@ -228,42 +228,20 @@ class HSTORE(sqltypes.Indexable, sqltypes.Concatenable, sqltypes.TypeEngine): comparator_factory = Comparator def bind_processor(self, dialect): - if util.py2k: - encoding = dialect.encoding - - def process(value): - if isinstance(value, dict): - return _serialize_hstore(value).encode(encoding) - else: - return value - - else: - - def process(value): - if isinstance(value, dict): - return _serialize_hstore(value) - else: - return value + def process(value): + if isinstance(value, dict): + return _serialize_hstore(value) + else: + return value return process def result_processor(self, dialect, coltype): - if util.py2k: - encoding = dialect.encoding - - def process(value): - if value is not None: - return _parse_hstore(value.decode(encoding)) - else: - return value - - else: - - def process(value): - if value is not None: - return _parse_hstore(value) - else: - return value + def process(value): + if value is not None: + return _parse_hstore(value) + else: + return value return process diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 7512ab9b5..162ddde94 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -478,7 +478,6 @@ from .base import _ColonCast from .base import _DECIMAL_TYPES from .base import _FLOAT_TYPES from .base import _INT_TYPES -from .base import ENUM from .base import PGCompiler from .base import PGDialect from .base import PGExecutionContext @@ -527,22 +526,6 @@ class _PGNumeric(sqltypes.Numeric): ) -class _PGEnum(ENUM): - def result_processor(self, dialect, coltype): - if util.py2k and self._expect_unicode is True: - # for py2k, if the enum type needs unicode data (which is set up as - # part of the Enum() constructor based on values passed as py2k - # unicode objects) we have to use our own converters since - # psycopg2's don't work, a rare exception to the "modern DBAPIs - # support unicode everywhere" theme of deprecating - # convert_unicode=True. Use the special "force_nocheck" directive - # which forces unicode conversion to happen on the Python side - # without an isinstance() check. in py3k psycopg2 does the right - # thing automatically. - self._expect_unicode = "force_nocheck" - return super(_PGEnum, self).result_processor(dialect, coltype) - - class _PGHStore(HSTORE): def bind_processor(self, dialect): if dialect._has_native_hstore: @@ -664,16 +647,6 @@ class PGDialect_psycopg2(PGDialect): driver = "psycopg2" supports_statement_cache = True - - if util.py2k: - # turn off supports_unicode_statements for Python 2. psycopg2 supports - # unicode statements in Py2K. But! it does not support unicode *bound - # parameter names* because it uses the Python "%" operator to - # interpolate these into the string, and this fails. So for Py2K, we - # have to use full-on encoding for statements and parameters before - # passing to cursor.execute(). - supports_unicode_statements = False - supports_server_side_cursors = True default_paramstyle = "pyformat" @@ -694,8 +667,6 @@ class PGDialect_psycopg2(PGDialect): PGDialect.colspecs, { sqltypes.Numeric: _PGNumeric, - ENUM: _PGEnum, # needs force_unicode - sqltypes.Enum: _PGEnum, # needs force_unicode HSTORE: _PGHStore, JSON: _PGJSON, sqltypes.JSON: _PGJSON, @@ -718,7 +689,7 @@ class PGDialect_psycopg2(PGDialect): ): PGDialect.__init__(self, **kwargs) self.use_native_unicode = use_native_unicode - if not use_native_unicode and not util.py2k: + if not use_native_unicode: raise exc.ArgumentError( "psycopg2 native_unicode mode is required under Python 3" ) @@ -854,7 +825,6 @@ class PGDialect_psycopg2(PGDialect): def on_connect(self): extras = self._psycopg2_extras - extensions = self._psycopg2_extensions fns = [] if self.client_encoding is not None: @@ -878,14 +848,6 @@ class PGDialect_psycopg2(PGDialect): fns.append(on_connect) - if util.py2k and self.dbapi and self.use_native_unicode: - - def on_connect(conn): - extensions.register_type(extensions.UNICODE, conn) - extensions.register_type(extensions.UNICODEARRAY, conn) - - fns.append(on_connect) - if self.dbapi and self.use_native_hstore: def on_connect(conn): @@ -893,8 +855,6 @@ class PGDialect_psycopg2(PGDialect): if hstore_oids is not None: oid, array_oid = hstore_oids kw = {"oid": oid} - if util.py2k: - kw["unicode"] = True kw["array_oid"] = array_oid extras.register_hstore(conn, **kw) diff --git a/lib/sqlalchemy/dialects/sqlite/pysqlite.py b/lib/sqlalchemy/dialects/sqlite/pysqlite.py index e9d5d9682..10912e0d5 100644 --- a/lib/sqlalchemy/dialects/sqlite/pysqlite.py +++ b/lib/sqlalchemy/dialects/sqlite/pysqlite.py @@ -454,23 +454,14 @@ class SQLiteDialect_pysqlite(SQLiteDialect): }, ) - if not util.py2k: - description_encoding = None + description_encoding = None driver = "pysqlite" @classmethod def dbapi(cls): - if util.py2k: - try: - from pysqlite2 import dbapi2 as sqlite - except ImportError: - try: - from sqlite3 import dbapi2 as sqlite - except ImportError as e: - raise e - else: - from sqlite3 import dbapi2 as sqlite + from sqlite3 import dbapi2 as sqlite + return sqlite @classmethod |
