Skip to content

Commit

Permalink
Revert "Use _binary prefix for bytes/bytearray parameters"
Browse files Browse the repository at this point in the history
  • Loading branch information
methane committed Sep 30, 2016
1 parent 387c350 commit 490080a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 16 deletions.
9 changes: 2 additions & 7 deletions MySQLdb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
paramstyle = "format"

from _mysql import *
from MySQLdb.compat import PY2
from MySQLdb.constants import FIELD_TYPE
from MySQLdb.times import Date, Time, Timestamp, \
DateFromTicks, TimeFromTicks, TimestampFromTicks
Expand Down Expand Up @@ -73,12 +72,8 @@ def test_DBAPISet_set_equality_membership():
def test_DBAPISet_set_inequality_membership():
assert FIELD_TYPE.DATE != STRING

if PY2:
def Binary(x):
return bytearray(x)
else:
def Binary(x):
return bytes(x)
def Binary(x):
return bytes(x)

def Connect(*args, **kwargs):
"""Factory function for connections.Connection."""
Expand Down
11 changes: 2 additions & 9 deletions MySQLdb/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ class object, used to create cursors (keyword only)

db = proxy(self)
def _get_string_literal():
# Note: string_literal() is called for bytes object on Python 3 (via bytes_literal)
# Note: string_literal() is called for bytes object on Python 3.
def string_literal(obj, dummy=None):
return db.string_literal(obj)
return string_literal
Expand All @@ -213,19 +213,13 @@ def unicode_literal(u, dummy=None):
return db.literal(str(u).encode(unicode_literal.charset))
return unicode_literal

def _get_bytes_literal():
def bytes_literal(obj, dummy=None):
return b'_binary' + db.string_literal(obj)
return bytes_literal

def _get_string_decoder():
def string_decoder(s):
return s.decode(string_decoder.charset)
return string_decoder

string_literal = _get_string_literal()
self.unicode_literal = unicode_literal = _get_unicode_literal()
bytes_literal = _get_bytes_literal()
self.string_decoder = string_decoder = _get_string_decoder()
if not charset:
charset = self.character_set_name()
Expand All @@ -240,8 +234,7 @@ def string_decoder(s):
self.converter[FIELD_TYPE.VARCHAR].append((None, string_decoder))
self.converter[FIELD_TYPE.BLOB].append((None, string_decoder))

self.encoders[bytes] = string_literal if PY2 else bytes_literal
self.encoders[bytearray] = bytes_literal
self.encoders[bytes] = string_literal
self.encoders[unicode] = unicode_literal
self._transactional = self.server_capabilities & CLIENT.TRANSACTIONS
if self._transactional:
Expand Down

0 comments on commit 490080a

Please sign in to comment.