[Python-modules-commits] [python-vertica] 04/05: merge patched into master
Jean Baptiste Favre
jbfavre-guest at moszumanska.debian.org
Sat Apr 23 08:33:03 UTC 2016
This is an automated email from the git hooks/post-receive script.
jbfavre-guest pushed a commit to branch master
in repository python-vertica.
commit c0e7a8cc8c143ee24b4f6bb4bfb8df96b65f8150
Merge: 0b1f648 461d63a
Author: Jean Baptiste Favre <debian at jbfavre.org>
Date: Sat Apr 23 09:13:39 2016 +0200
merge patched into master
README.md | 26 ++++++++-
debian/.git-dpm | 6 +--
.../0001-Update-python-3-compatibility-patch.patch | 62 ++++++++++------------
requirements.txt | 1 +
setup.py | 4 +-
vertica_python/__init__.py | 2 +-
vertica_python/vertica/connection.py | 58 ++++++++++----------
vertica_python/vertica/cursor.py | 3 +-
8 files changed, 92 insertions(+), 70 deletions(-)
diff --cc debian/.git-dpm
index 1cc60fd,0000000..c8c3ef9
mode 100644,000000..100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@@ -1,11 -1,0 +1,11 @@@
+# see git-dpm(1) from git-dpm package
- 4bd817c41fbba2c3383ef26dc1439e145884ab0a
- 4bd817c41fbba2c3383ef26dc1439e145884ab0a
- ae8b3b3ef96558d8f3f28f77dfc946ea612084d5
++461d63a1ef4b558d51228f1cd42c9a39e24d6fac
++461d63a1ef4b558d51228f1cd42c9a39e24d6fac
++f023f12a95089c1178b78e28da29d6842bfc3865
+f023f12a95089c1178b78e28da29d6842bfc3865
+python-vertica_0.5.8.orig.tar.gz
+1f6b9f43d60f70df09bbbfb885f4a01da8311ae0
+23136
+debianTag="debian/%e%v"
+patchedTag="patched/%e%v"
+upstreamTag="upstream/%e%u"
diff --cc debian/patches/0001-Update-python-3-compatibility-patch.patch
index fd5103b,0000000..7695f0c
mode 100644,000000..100644
--- a/debian/patches/0001-Update-python-3-compatibility-patch.patch
+++ b/debian/patches/0001-Update-python-3-compatibility-patch.patch
@@@ -1,1219 -1,0 +1,1215 @@@
- From 4bd817c41fbba2c3383ef26dc1439e145884ab0a Mon Sep 17 00:00:00 2001
++From 461d63a1ef4b558d51228f1cd42c9a39e24d6fac Mon Sep 17 00:00:00 2001
+From: Jean Baptiste Favre <github at jbfavre.org>
+Date: Sun, 10 Apr 2016 17:49:01 +0200
+Subject: Update python 3 compatibility patch
+
+---
+ vertica_python/__init__.py | 2 +-
+ vertica_python/datatypes.py | 2 +-
+ vertica_python/errors.py | 28 +++++----
+ vertica_python/tests/basic_tests.py | 4 +-
+ vertica_python/tests/date_tests.py | 2 +-
+ vertica_python/tests/unicode_tests.py | 11 ++++
+ vertica_python/vertica/column.py | 15 ++---
+ vertica_python/vertica/connection.py | 35 ++++++-----
- vertica_python/vertica/cursor.py | 14 +++--
++ vertica_python/vertica/cursor.py | 15 ++---
+ vertica_python/vertica/messages/__init__.py | 70 +++++++++++-----------
+ .../messages/backend_messages/authentication.py | 4 +-
+ .../messages/backend_messages/backend_key_data.py | 4 +-
+ .../messages/backend_messages/bind_complete.py | 4 +-
+ .../messages/backend_messages/close_complete.py | 4 +-
+ .../messages/backend_messages/command_complete.py | 12 ++--
+ .../messages/backend_messages/copy_in_response.py | 6 +-
+ .../vertica/messages/backend_messages/data_row.py | 7 ++-
+ .../backend_messages/empty_query_response.py | 4 +-
+ .../messages/backend_messages/error_response.py | 4 +-
+ .../vertica/messages/backend_messages/no_data.py | 4 +-
+ .../messages/backend_messages/notice_response.py | 30 +++++-----
+ .../backend_messages/parameter_description.py | 4 +-
+ .../messages/backend_messages/parameter_status.py | 6 +-
+ .../messages/backend_messages/parse_complete.py | 4 +-
+ .../messages/backend_messages/portal_suspended.py | 4 +-
+ .../messages/backend_messages/ready_for_query.py | 10 ++--
+ .../messages/backend_messages/row_description.py | 8 +--
+ .../vertica/messages/backend_messages/unknown.py | 2 +-
+ .../vertica/messages/frontend_messages/bind.py | 14 ++---
+ .../messages/frontend_messages/cancel_request.py | 2 +-
+ .../vertica/messages/frontend_messages/close.py | 4 +-
+ .../messages/frontend_messages/copy_data.py | 4 +-
+ .../messages/frontend_messages/copy_done.py | 4 +-
+ .../messages/frontend_messages/copy_fail.py | 4 +-
+ .../messages/frontend_messages/copy_stream.py | 4 +-
+ .../vertica/messages/frontend_messages/describe.py | 4 +-
+ .../vertica/messages/frontend_messages/execute.py | 4 +-
+ .../vertica/messages/frontend_messages/flush.py | 4 +-
+ .../vertica/messages/frontend_messages/parse.py | 4 +-
+ .../vertica/messages/frontend_messages/password.py | 4 +-
+ .../vertica/messages/frontend_messages/query.py | 9 +--
+ .../messages/frontend_messages/ssl_request.py | 2 +-
+ .../vertica/messages/frontend_messages/startup.py | 8 +--
+ .../vertica/messages/frontend_messages/sync.py | 4 +-
+ .../messages/frontend_messages/terminate.py | 4 +-
+ vertica_python/vertica/messages/message.py | 14 ++---
- 46 files changed, 205 insertions(+), 196 deletions(-)
++ 46 files changed, 205 insertions(+), 197 deletions(-)
+
+diff --git a/vertica_python/__init__.py b/vertica_python/__init__.py
- index 5a7dc99..1a751da 100644
++index c0fb885..5bc34da 100644
+--- a/vertica_python/__init__.py
++++ b/vertica_python/__init__.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.connection import Connection
+
+diff --git a/vertica_python/datatypes.py b/vertica_python/datatypes.py
+index c459295..89fe296 100644
+--- a/vertica_python/datatypes.py
++++ b/vertica_python/datatypes.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from datetime import datetime
+ from datetime import timedelta
+diff --git a/vertica_python/errors.py b/vertica_python/errors.py
+index 1b9f842..08ae256 100644
+--- a/vertica_python/errors.py
++++ b/vertica_python/errors.py
+@@ -1,14 +1,16 @@
+-from __future__ import absolute_import
+
+-import exceptions
++
++import sys
++if sys.version_info < (3,):
++ import exceptions
+ import re
+
+
+-class Error(exceptions.StandardError):
++class Error(Exception):
+ pass
+
+
+-class Warning(exceptions.StandardError):
++class Warning(Exception):
+ pass
+
+
+@@ -128,13 +130,13 @@ class InvalidDatetimeFormat(QueryError):
+
+
+ QUERY_ERROR_CLASSES = {
+- '55V03': LockFailure,
+- '53000': InsufficientResources,
+- '53200': OutOfMemory,
+- '42601': VerticaSyntaxError,
+- '42V01': MissingRelation,
+- '42703': MissingColumn,
+- '22V04': CopyRejected,
+- '42501': PermissionDenied,
+- '22007': InvalidDatetimeFormat
++ b'55V03': LockFailure,
++ b'53000': InsufficientResources,
++ b'53200': OutOfMemory,
++ b'42601': VerticaSyntaxError,
++ b'42V01': MissingRelation,
++ b'42703': MissingColumn,
++ b'22V04': CopyRejected,
++ b'42501': PermissionDenied,
++ b'22007': InvalidDatetimeFormat
+ }
+diff --git a/vertica_python/tests/basic_tests.py b/vertica_python/tests/basic_tests.py
+index 0593e40..dbc72de 100644
+--- a/vertica_python/tests/basic_tests.py
++++ b/vertica_python/tests/basic_tests.py
+@@ -2,7 +2,7 @@ import unittest
+ import logging
+ import tempfile
+
+-from test_commons import conn_info
++from .test_commons import conn_info
+
+ import vertica_python
+ from vertica_python import errors
+@@ -184,7 +184,7 @@ class TestVerticaPython(unittest.TestCase):
+ cur2 = conn.cursor()
+
+ f = tempfile.TemporaryFile()
+- f.write("1,foo\n2,bar")
++ f.write(b"1,foo\n2,bar")
+ # move rw pointer to top of file
+ f.seek(0)
+ cur.copy(""" COPY vertica_python_unit_test (a, b) from stdin DELIMITER ',' """, f)
+diff --git a/vertica_python/tests/date_tests.py b/vertica_python/tests/date_tests.py
+index 90e4486..4477165 100644
+--- a/vertica_python/tests/date_tests.py
++++ b/vertica_python/tests/date_tests.py
+@@ -1,5 +1,5 @@
+ from datetime import date, datetime
+-from test_commons import *
++from .test_commons import *
+ from vertica_python import errors
+ from vertica_python.vertica.column import timestamp_parse
+
+diff --git a/vertica_python/tests/unicode_tests.py b/vertica_python/tests/unicode_tests.py
+index 42a5bc6..5fe9907 100644
+--- a/vertica_python/tests/unicode_tests.py
++++ b/vertica_python/tests/unicode_tests.py
+@@ -3,6 +3,17 @@ from .. import connect
+
+
+ class UnicodeTestCase(VerticaTestCase):
++ def test_unicode_query(self):
++ value = u'\u16a0'
++ query = u"SELECT '%s'" % value
++
++ with connect(**conn_info) as conn:
++ cur = conn.cursor()
++ cur.execute(query)
++ res = cur.fetchone()
++
++ assert res[0] == value
++
+ def test_unicode_named_parameter_binding(self):
+ key = u'\u16a0'
+ value = 1
+diff --git a/vertica_python/vertica/column.py b/vertica_python/vertica/column.py
+index 7dd4df5..91c41dd 100644
+--- a/vertica_python/vertica/column.py
++++ b/vertica_python/vertica/column.py
+@@ -1,8 +1,9 @@
+-from __future__ import absolute_import
++
+
+ from collections import namedtuple
+ import re
+
++from builtins import str
+ from decimal import Decimal
+ from datetime import date
+ from datetime import datetime
+@@ -78,10 +79,10 @@ def date_parse(s):
+ :return: an instance of datetime.date
+ :raises NotSupportedError when a date Before Christ is encountered
+ """
+- if s.endswith(' BC'):
+- raise errors.NotSupportedError('Dates Before Christ are not supported. Got: ' + s)
++ if s.endswith(b' BC'):
++ raise errors.NotSupportedError('Dates Before Christ are not supported. Got: ' + str(s, 'utf-8'))
+
+- return date(*map(lambda x: int(x), s.split('-')))
++ return date(*map(lambda x: int(x), s.split(b'-')))
+
+ ColumnTuple = namedtuple(
+ 'Column',
+@@ -105,8 +106,8 @@ class Column(object):
+ ('bool', lambda s: s == 't'),
+ ('integer', lambda s: int(s)),
+ ('float', lambda s: float(s)),
+- ('char', lambda s: unicode(s, 'utf-8', unicode_error)),
+- ('varchar', lambda s: unicode(s, 'utf-8', unicode_error)),
++ ('char', lambda s: str(s, 'utf-8', unicode_error)),
++ ('varchar', lambda s: str(s, 'utf-8', unicode_error)),
+ ('date', date_parse),
+ ('time', None),
+ ('timestamp', timestamp_parse),
+@@ -165,7 +166,7 @@ class Column(object):
+ return self.props.__str__()
+
+ def __unicode__(self):
+- return unicode(self.props.__str__())
++ return str(self.props.__str__())
+
+ def __repr__(self):
+ return self.props.__str__()
+diff --git a/vertica_python/vertica/connection.py b/vertica_python/vertica/connection.py
- index 8bc9a1e..ddbdaf4 100644
++index 1865fbf..2910aba 100644
+--- a/vertica_python/vertica/connection.py
++++ b/vertica_python/vertica/connection.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ import logging
+ import select
+@@ -7,6 +7,8 @@ import ssl
+
+ from struct import unpack
+
++from builtins import str
++
+ import vertica_python.errors as errors
+ import vertica_python.vertica.messages as messages
+
+@@ -14,6 +16,7 @@ from vertica_python.vertica.messages.message import BackendMessage
+
+ from vertica_python.vertica.cursor import Cursor
+ from vertica_python.errors import SSLNotSupported
++import collections
+
+ logger = logging.getLogger('vertica')
+
+@@ -24,7 +27,7 @@ class Connection(object):
+
+ options = options or {}
+ self.options = dict(
+- (key, value) for key, value in options.iteritems() if value is not None
++ (key, value) for key, value in options.items() if value is not None
+ )
+
+ # we only support one cursor per connection
+@@ -37,13 +40,13 @@ class Connection(object):
+ def __enter__(self):
+ return self
+
+- def __exit__(self, type, value, traceback):
++ def __exit__(self, type_, value, traceback):
+ try:
+ # if there's no outstanding transaction, we can simply close the connection
+ if self.transaction_status in (None, 'in_transaction'):
+ return
+
+- if type is not None:
++ if type_ is not None:
+ self.rollback()
+ else:
+ self.commit()
- @@ -134,7 +137,7 @@ class Connection(object):
++@@ -116,9 +119,9 @@ class Connection(object):
++ raw_socket = ssl_options.wrap_socket(raw_socket, server_hostname=host)
++ else:
++ raw_socket = ssl.wrap_socket(raw_socket)
++- except CertificateError, e:
+++ except CertificateError as e:
++ raise errors.ConnectionError('SSL: ' + e.message)
++- except SSLError, e:
+++ except SSLError as e:
++ raise errors.ConnectionError('SSL: ' + e.reason)
++ else:
++ raise SSLNotSupported("SSL requested but not supported by server")
++@@ -141,7 +144,7 @@ class Connection(object):
+
+ is_stream = hasattr(message, "read_bytes")
+
+- if (hasattr(message, 'to_bytes') is False or callable(getattr(message, 'to_bytes')) is False) and not is_stream:
++ if (hasattr(message, 'to_bytes') is False or isinstance(getattr(message, 'to_bytes'), collections.Callable) is False) and not is_stream:
+ raise TypeError("invalid message: ({0})".format(message))
+
+ logger.debug('=> %s', message)
- @@ -151,12 +154,12 @@ class Connection(object):
++@@ -158,12 +161,12 @@ class Connection(object):
+
+ self._socket().sendall(data)
+
+- except Exception, e:
++ except Exception as e:
+ self.close_socket()
+- if e.message == 'unsupported authentication method: 9':
++ if str(e) == 'unsupported authentication method: 9':
+ raise errors.ConnectionError('Error during authentication. Your password might be expired.')
+ else:
+- raise errors.ConnectionError(e.message)
++ raise errors.ConnectionError(str(e))
+
+ def close_socket(self):
+ try:
- @@ -173,14 +176,14 @@ class Connection(object):
- try:
- ready = select.select([self._socket()], [], [], self.options['read_timeout'])
- if len(ready[0]) > 0:
- - type = self.read_bytes(1)
- + type_ = self.read_bytes(1)
- size = unpack('!I', self.read_bytes(4))[0]
-
- if size < 4:
- raise errors.MessageError(
- "Bad message size: {0}".format(size)
- )
- - message = BackendMessage.factory(type, self.read_bytes(size - 4))
- + message = BackendMessage.factory(type_, self.read_bytes(size - 4))
- logger.debug('<= %s', message)
- return message
- else:
+@@ -190,7 +193,7 @@ class Connection(object):
- raise
- except Exception as e:
++ return message
++ except (SystemError, IOError) as e:
+ self.close_socket()
+- raise errors.ConnectionError(e.message)
++ raise errors.ConnectionError(str(e))
+
+ def process_message(self, message):
+ if isinstance(message, messages.ErrorResponse):
+@@ -221,7 +224,7 @@ class Connection(object):
+
+ def __str__(self):
+ safe_options = dict(
+- (key, value) for key, value in self.options.iteritems() if key != 'password'
++ (key, value) for key, value in self.options.items() if key != 'password'
+ )
+ s1 = "<Vertica.Connection:{0} parameters={1} backend_pid={2}, ".format(
+ id(self), self.parameters, self.backend_pid
+@@ -233,12 +236,12 @@ class Connection(object):
+ return s1 + s2
+
+ def read_bytes(self, n):
+- results = ''
++ results = bytes()
+ while len(results) < n:
+- bytes = self._socket().recv(n - len(results))
+- if not bytes:
++ bytes_ = self._socket().recv(n - len(results))
++ if not bytes_:
+ raise errors.ConnectionError("Connection closed by Vertica")
+- results = results + bytes
++ results = results + bytes_
+ return results
+
+ def startup_connection(self):
+diff --git a/vertica_python/vertica/cursor.py b/vertica_python/vertica/cursor.py
- index 4389951..e26d3c1 100644
++index 611ffb9..8d8cb17 100644
+--- a/vertica_python/vertica/cursor.py
++++ b/vertica_python/vertica/cursor.py
- @@ -1,8 +1,10 @@
++@@ -1,9 +1,10 @@
+-from __future__ import absolute_import
++
+
+ import re
+ import logging
+
++-from ordereddict import OrderedDict
+++from collections import OrderedDict
++from builtins import str
- +
++
+ import vertica_python.errors as errors
+
- import vertica_python.vertica.messages as messages
- @@ -30,7 +32,7 @@ class Cursor(object):
++@@ -32,7 +33,7 @@ class Cursor(object):
+ def __enter__(self):
+ return self
+
+- def __exit__(self, type, value, traceback):
++ def __exit__(self, type_, value, traceback):
+ self.close()
+
+ #
- @@ -57,19 +59,19 @@ class Cursor(object):
++@@ -59,19 +60,19 @@ class Cursor(object):
+ for key in parameters:
+ param = parameters[key]
+ # Make sure adapt() behaves properly
+- if isinstance(param, unicode):
++ if isinstance(param, str):
+ v = adapt(param.encode('utf8')).getquoted()
+ else:
+ v = adapt(param).getquoted()
+
+ # Using a regex with word boundary to correctly handle params with similar names
+ # such as :s and :start
+- match_str = u':%s\\b' % unicode(key)
++ match_str = u':%s\\b' % str(key)
+ operation = re.sub(match_str, v.decode('utf-8'), operation, flags=re.UNICODE)
+ elif isinstance(parameters, tuple):
+ tlist = []
+ for p in parameters:
+- if isinstance(p, unicode):
++ if isinstance(p, str):
+ tlist.append(adapt(p.encode('utf8')).getquoted())
+ else:
+ tlist.append(adapt(p).getquoted())
- @@ -89,7 +91,7 @@ class Cursor(object):
++@@ -91,7 +92,7 @@ class Cursor(object):
+ if isinstance(message, messages.ErrorResponse):
+ raise errors.QueryError.from_error_response(message, operation)
+ elif isinstance(message, messages.RowDescription):
+- self.description = map(lambda fd: Column(fd, self.unicode_error), message.fields)
++ self.description = list(map(lambda fd: Column(fd, self.unicode_error), message.fields))
+ elif isinstance(message, messages.DataRow):
+ break
+ elif isinstance(message, messages.ReadyForQuery):
+diff --git a/vertica_python/vertica/messages/__init__.py b/vertica_python/vertica/messages/__init__.py
+index d15ed69..7168246 100644
+--- a/vertica_python/vertica/messages/__init__.py
++++ b/vertica_python/vertica/messages/__init__.py
+@@ -1,39 +1,39 @@
+-from backend_messages.authentication import Authentication
+-from backend_messages.backend_key_data import BackendKeyData
+-from backend_messages.bind_complete import BindComplete
+-from backend_messages.close_complete import CloseComplete
+-from backend_messages.command_complete import CommandComplete
+-from backend_messages.copy_in_response import CopyInResponse
+-from backend_messages.data_row import DataRow
+-from backend_messages.empty_query_response import EmptyQueryResponse
+-from backend_messages.error_response import ErrorResponse
+-from backend_messages.no_data import NoData
+-from backend_messages.notice_response import NoticeResponse
+-from backend_messages.parameter_description import ParameterDescription
+-from backend_messages.parameter_status import ParameterStatus
+-from backend_messages.parse_complete import ParseComplete
+-from backend_messages.portal_suspended import PortalSuspended
+-from backend_messages.ready_for_query import ReadyForQuery
+-from backend_messages.row_description import RowDescription
+-from backend_messages.unknown import Unknown
++from .backend_messages.authentication import Authentication
++from .backend_messages.backend_key_data import BackendKeyData
++from .backend_messages.bind_complete import BindComplete
++from .backend_messages.close_complete import CloseComplete
++from .backend_messages.command_complete import CommandComplete
++from .backend_messages.copy_in_response import CopyInResponse
++from .backend_messages.data_row import DataRow
++from .backend_messages.empty_query_response import EmptyQueryResponse
++from .backend_messages.error_response import ErrorResponse
++from .backend_messages.no_data import NoData
++from .backend_messages.notice_response import NoticeResponse
++from .backend_messages.parameter_description import ParameterDescription
++from .backend_messages.parameter_status import ParameterStatus
++from .backend_messages.parse_complete import ParseComplete
++from .backend_messages.portal_suspended import PortalSuspended
++from .backend_messages.ready_for_query import ReadyForQuery
++from .backend_messages.row_description import RowDescription
++from .backend_messages.unknown import Unknown
+
+-from frontend_messages.bind import Bind
+-from frontend_messages.cancel_request import CancelRequest
+-from frontend_messages.close import Close
+-from frontend_messages.copy_data import CopyData
+-from frontend_messages.copy_stream import CopyStream
+-from frontend_messages.copy_done import CopyDone
+-from frontend_messages.copy_fail import CopyFail
+-from frontend_messages.describe import Describe
+-from frontend_messages.execute import Execute
+-from frontend_messages.flush import Flush
+-from frontend_messages.parse import Parse
+-from frontend_messages.password import Password
+-from frontend_messages.query import Query
+-from frontend_messages.ssl_request import SslRequest
+-from frontend_messages.startup import Startup
+-from frontend_messages.sync import Sync
+-from frontend_messages.terminate import Terminate
++from .frontend_messages.bind import Bind
++from .frontend_messages.cancel_request import CancelRequest
++from .frontend_messages.close import Close
++from .frontend_messages.copy_data import CopyData
++from .frontend_messages.copy_stream import CopyStream
++from .frontend_messages.copy_done import CopyDone
++from .frontend_messages.copy_fail import CopyFail
++from .frontend_messages.describe import Describe
++from .frontend_messages.execute import Execute
++from .frontend_messages.flush import Flush
++from .frontend_messages.parse import Parse
++from .frontend_messages.password import Password
++from .frontend_messages.query import Query
++from .frontend_messages.ssl_request import SslRequest
++from .frontend_messages.startup import Startup
++from .frontend_messages.sync import Sync
++from .frontend_messages.terminate import Terminate
+
+ __all__ = ["Authentication", "BackendKeyData", "BindComplete", "CloseComplete", "CommandComplete",
+ "CopyInResponse", "DataRow", "EmptyQueryResponse", "ErrorResponse", "NoData", "NoticeResponse",
+diff --git a/vertica_python/vertica/messages/backend_messages/authentication.py b/vertica_python/vertica/messages/backend_messages/authentication.py
+index 54add1a..3e0a93e 100644
+--- a/vertica_python/vertica/messages/backend_messages/authentication.py
++++ b/vertica_python/vertica/messages/backend_messages/authentication.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import unpack
+
+@@ -27,4 +27,4 @@ class Authentication(BackendMessage):
+ self.auth_data = other
+
+
+-Authentication._message_id('R')
++Authentication._message_id(b'R')
+diff --git a/vertica_python/vertica/messages/backend_messages/backend_key_data.py b/vertica_python/vertica/messages/backend_messages/backend_key_data.py
+index 317d450..d2f8316 100644
+--- a/vertica_python/vertica/messages/backend_messages/backend_key_data.py
++++ b/vertica_python/vertica/messages/backend_messages/backend_key_data.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import unpack
+
+@@ -13,4 +13,4 @@ class BackendKeyData(BackendMessage):
+ self.key = unpacked[1]
+
+
+-BackendKeyData._message_id('K')
++BackendKeyData._message_id(b'K')
+diff --git a/vertica_python/vertica/messages/backend_messages/bind_complete.py b/vertica_python/vertica/messages/backend_messages/bind_complete.py
+index 5d25e1d..12c352a 100644
+--- a/vertica_python/vertica/messages/backend_messages/bind_complete.py
++++ b/vertica_python/vertica/messages/backend_messages/bind_complete.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class BindComplete(BackendMessage):
+ pass
+
+
+-BindComplete._message_id('2')
++BindComplete._message_id(b'2')
+diff --git a/vertica_python/vertica/messages/backend_messages/close_complete.py b/vertica_python/vertica/messages/backend_messages/close_complete.py
+index fea59dd..4ff7ddf 100644
+--- a/vertica_python/vertica/messages/backend_messages/close_complete.py
++++ b/vertica_python/vertica/messages/backend_messages/close_complete.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class CloseComplete(BackendMessage):
+ pass
+
+
+-CloseComplete._message_id('3')
++CloseComplete._message_id(b'3')
+diff --git a/vertica_python/vertica/messages/backend_messages/command_complete.py b/vertica_python/vertica/messages/backend_messages/command_complete.py
+index 92873f2..802577c 100644
+--- a/vertica_python/vertica/messages/backend_messages/command_complete.py
++++ b/vertica_python/vertica/messages/backend_messages/command_complete.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ import re
+
+@@ -13,15 +13,15 @@ class CommandComplete(BackendMessage):
+
+ data = unpack('{0}sx'.format(len(data) - 1), data)[0]
+
+- if re.match("INSERT", data) is not None:
+- splitstr = data.split(' ', 3)
++ if re.match(b"INSERT", data) is not None:
++ splitstr = data.split(b' ', 3)
+ self.tag = splitstr[0]
+ if len(splitstr) >= 2:
+ self.oid = int(splitstr[1])
+ if len(splitstr) >= 3:
+ self.rows = int(splitstr[2])
+- elif re.match("(DELETE|UPDATE|MOVE|FETCH|COPY)", data) is not None:
+- splitstr = data.split(' ', 2)
++ elif re.match(b"(DELETE|UPDATE|MOVE|FETCH|COPY)", data) is not None:
++ splitstr = data.split(b' ', 2)
+ self.tag = splitstr[0]
+ if len(splitstr) >= 2:
+ self.rows = int(splitstr[1])
+@@ -29,4 +29,4 @@ class CommandComplete(BackendMessage):
+ self.tag = data
+
+
+-CommandComplete._message_id('C')
++CommandComplete._message_id(b'C')
+diff --git a/vertica_python/vertica/messages/backend_messages/copy_in_response.py b/vertica_python/vertica/messages/backend_messages/copy_in_response.py
+index 1566035..71c2bc2 100644
+--- a/vertica_python/vertica/messages/backend_messages/copy_in_response.py
++++ b/vertica_python/vertica/messages/backend_messages/copy_in_response.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import unpack
+
+@@ -8,9 +8,9 @@ from vertica_python.vertica.messages.message import BackendMessage
+ class CopyInResponse(BackendMessage):
+
+ def __init__(self, data):
+- values = unpack('!B{0}H'.format((len(data) - 1)/2), data)
++ values = unpack('!B{0}H'.format((len(data) - 1)//2), data)
+ self.format = values[0]
+ self.column_formats = values[2::]
+
+
+-CopyInResponse._message_id('G')
++CopyInResponse._message_id(b'G')
+diff --git a/vertica_python/vertica/messages/backend_messages/data_row.py b/vertica_python/vertica/messages/backend_messages/data_row.py
+index 52eec1a..8c7fbc5 100644
+--- a/vertica_python/vertica/messages/backend_messages/data_row.py
++++ b/vertica_python/vertica/messages/backend_messages/data_row.py
+@@ -1,5 +1,6 @@
+-from __future__ import absolute_import
+
++
++from builtins import range
+ from struct import unpack, unpack_from
+
+ from vertica_python.vertica.messages.message import BackendMessage
+@@ -12,7 +13,7 @@ class DataRow(BackendMessage):
+ field_count = unpack('!H', data[0:2])[0]
+ pos = 2
+
+- for i in xrange(field_count):
++ for i in range(field_count):
+ size = unpack_from('!I', data, pos)[0]
+
+ if size == 4294967295:
+@@ -25,4 +26,4 @@ class DataRow(BackendMessage):
+ pos += (4 + max(size, 0))
+
+
+-DataRow._message_id('D')
++DataRow._message_id(b'D')
+diff --git a/vertica_python/vertica/messages/backend_messages/empty_query_response.py b/vertica_python/vertica/messages/backend_messages/empty_query_response.py
+index fbe68aa..9b3eb20 100644
+--- a/vertica_python/vertica/messages/backend_messages/empty_query_response.py
++++ b/vertica_python/vertica/messages/backend_messages/empty_query_response.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class EmptyQueryResponse(BackendMessage):
+ pass
+
+
+-EmptyQueryResponse._message_id('I')
++EmptyQueryResponse._message_id(b'I')
+diff --git a/vertica_python/vertica/messages/backend_messages/error_response.py b/vertica_python/vertica/messages/backend_messages/error_response.py
+index 471c16e..cf03e2a 100644
+--- a/vertica_python/vertica/messages/backend_messages/error_response.py
++++ b/vertica_python/vertica/messages/backend_messages/error_response.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+ from vertica_python.vertica.messages.backend_messages.notice_response import NoticeResponse
+@@ -8,4 +8,4 @@ class ErrorResponse(NoticeResponse, BackendMessage):
+ pass
+
+
+-ErrorResponse._message_id('E')
++ErrorResponse._message_id(b'E')
+diff --git a/vertica_python/vertica/messages/backend_messages/no_data.py b/vertica_python/vertica/messages/backend_messages/no_data.py
+index b9c3c7c..78086ff 100644
+--- a/vertica_python/vertica/messages/backend_messages/no_data.py
++++ b/vertica_python/vertica/messages/backend_messages/no_data.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class NoData(BackendMessage):
+ pass
+
+
+-NoData._message_id('n')
++NoData._message_id(b'n')
+diff --git a/vertica_python/vertica/messages/backend_messages/notice_response.py b/vertica_python/vertica/messages/backend_messages/notice_response.py
+index e0dc35c..fadf7ff 100644
+--- a/vertica_python/vertica/messages/backend_messages/notice_response.py
++++ b/vertica_python/vertica/messages/backend_messages/notice_response.py
+@@ -1,6 +1,4 @@
+-from __future__ import absolute_import
+
+-import string
+
+ from struct import unpack_from
+
+@@ -10,18 +8,18 @@ from vertica_python.vertica.messages.message import BackendMessage
+ class NoticeResponse(BackendMessage):
+
+ FIELDS_DEFINITIONS = [
+- {'type': 'q', 'name': "Internal Query", 'method': 'internal_query'},
+- {'type': 'S', 'name': "Severity", 'method': 'severity'},
+- {'type': 'M', 'name': "Message", 'method': 'message'},
+- {'type': 'C', 'name': "Sqlstate", 'method': 'sqlstate'},
+- {'type': 'D', 'name': "Detail", 'method': 'detail'},
+- {'type': 'H', 'name': "Hint", 'method': 'hint'},
+- {'type': 'P', 'name': "Position", 'method': 'position'},
+- {'type': 'W', 'name': "Where", 'method': 'where'},
+- {'type': 'p', 'name': "Internal Position", 'method': 'internal_position'},
+- {'type': 'R', 'name': "Routine", 'method': 'routine'},
+- {'type': 'F', 'name': "File", 'method': 'file'},
+- {'type': 'L', 'name': "Line", 'method': 'line'}
++ {'type': b'q', 'name': "Internal Query", 'method': 'internal_query'},
++ {'type': b'S', 'name': "Severity", 'method': 'severity'},
++ {'type': b'M', 'name': "Message", 'method': 'message'},
++ {'type': b'C', 'name': "Sqlstate", 'method': 'sqlstate'},
++ {'type': b'D', 'name': "Detail", 'method': 'detail'},
++ {'type': b'H', 'name': "Hint", 'method': 'hint'},
++ {'type': b'P', 'name': "Position", 'method': 'position'},
++ {'type': b'W', 'name': "Where", 'method': 'where'},
++ {'type': b'p', 'name': "Internal Position", 'method': 'internal_position'},
++ {'type': b'R', 'name': "Routine", 'method': 'routine'},
++ {'type': b'F', 'name': "File", 'method': 'file'},
++ {'type': b'L', 'name': "Line", 'method': 'line'}
+ ]
+
+ def FIELDS(self):
+@@ -35,7 +33,7 @@ class NoticeResponse(BackendMessage):
+
+ pos = 0
+ while pos < len(data) - 1:
+- null_byte = string.find(data, '\x00', pos)
++ null_byte = data.find(b'\x00', pos)
+
+ # This will probably work
+ unpacked = unpack_from('c{0}sx'.format(null_byte - 1 - pos), data, pos)
+@@ -58,4 +56,4 @@ class NoticeResponse(BackendMessage):
+ return ', '.join(ordered)
+
+
+-NoticeResponse._message_id('N')
++NoticeResponse._message_id(b'N')
+diff --git a/vertica_python/vertica/messages/backend_messages/parameter_description.py b/vertica_python/vertica/messages/backend_messages/parameter_description.py
+index 0c0b9fb..91113f1 100644
+--- a/vertica_python/vertica/messages/backend_messages/parameter_description.py
++++ b/vertica_python/vertica/messages/backend_messages/parameter_description.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import unpack, unpack_from
+
+@@ -14,4 +14,4 @@ class ParameterDescription(BackendMessage):
+ self.parameter_types = [Column.data_types[dtid] for dtid in parameter_type_ids]
+
+
+-ParameterDescription._message_id('t')
++ParameterDescription._message_id(b't')
+diff --git a/vertica_python/vertica/messages/backend_messages/parameter_status.py b/vertica_python/vertica/messages/backend_messages/parameter_status.py
+index 06c952a..c96b4b2 100644
+--- a/vertica_python/vertica/messages/backend_messages/parameter_status.py
++++ b/vertica_python/vertica/messages/backend_messages/parameter_status.py
+@@ -1,6 +1,4 @@
+-from __future__ import absolute_import
+
+-import string
+
+ from struct import unpack
+
+@@ -10,10 +8,10 @@ from vertica_python.vertica.messages.message import BackendMessage
+ class ParameterStatus(BackendMessage):
+
+ def __init__(self, data):
+- null_byte = string.find(data, '\x00')
++ null_byte = data.find(b'\x00')
+ unpacked = unpack('{0}sx{1}sx'.format(null_byte - 1, len(data) - null_byte - 1), data)
+ self.name = unpacked[0]
+ self.value = unpacked[1]
+
+
+-ParameterStatus._message_id('S')
++ParameterStatus._message_id(b'S')
+diff --git a/vertica_python/vertica/messages/backend_messages/parse_complete.py b/vertica_python/vertica/messages/backend_messages/parse_complete.py
+index ea3c1ab..9e3664e 100644
+--- a/vertica_python/vertica/messages/backend_messages/parse_complete.py
++++ b/vertica_python/vertica/messages/backend_messages/parse_complete.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class ParseComplete(BackendMessage):
+ pass
+
+
+-ParseComplete._message_id('1')
++ParseComplete._message_id(b'1')
+diff --git a/vertica_python/vertica/messages/backend_messages/portal_suspended.py b/vertica_python/vertica/messages/backend_messages/portal_suspended.py
+index 773f078..52c2f8b 100644
+--- a/vertica_python/vertica/messages/backend_messages/portal_suspended.py
++++ b/vertica_python/vertica/messages/backend_messages/portal_suspended.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+@@ -7,4 +7,4 @@ class PortalSuspended(BackendMessage):
+ pass
+
+
+-PortalSuspended._message_id('s')
++PortalSuspended._message_id(b's')
+diff --git a/vertica_python/vertica/messages/backend_messages/ready_for_query.py b/vertica_python/vertica/messages/backend_messages/ready_for_query.py
+index 1c38a5a..6d6fec2 100644
+--- a/vertica_python/vertica/messages/backend_messages/ready_for_query.py
++++ b/vertica_python/vertica/messages/backend_messages/ready_for_query.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import unpack
+
+@@ -8,13 +8,13 @@ from vertica_python.vertica.messages.message import BackendMessage
+ class ReadyForQuery(BackendMessage):
+
+ STATUSES = {
+- 'I': 'no_transaction',
+- 'T': 'in_transaction',
+- 'E': 'failed_transaction'
++ b'I': 'no_transaction',
++ b'T': 'in_transaction',
++ b'E': 'failed_transaction'
+ }
+
+ def __init__(self, data):
+ self.transaction_status = self.STATUSES[unpack('c', data)[0]]
+
+
+-ReadyForQuery._message_id('Z')
++ReadyForQuery._message_id(b'Z')
+diff --git a/vertica_python/vertica/messages/backend_messages/row_description.py b/vertica_python/vertica/messages/backend_messages/row_description.py
+index 1913f32..3c8cae0 100644
+--- a/vertica_python/vertica/messages/backend_messages/row_description.py
++++ b/vertica_python/vertica/messages/backend_messages/row_description.py
+@@ -1,6 +1,4 @@
+-from __future__ import absolute_import
+
+-import string
+
+ from struct import unpack, unpack_from
+
+@@ -15,8 +13,8 @@ class RowDescription(BackendMessage):
+ field_count = unpack('!H', data[0:2])[0]
+ pos = 2
+
+- for i in xrange(field_count):
+- field_info = unpack_from("!{0}sxIHIHIH".format(string.find(data, '\x00', pos) - pos), data, pos)
++ for i in range(field_count):
++ field_info = unpack_from("!{0}sxIHIHIH".format(data.find(b'\x00', pos) - pos), data, pos)
+ self.fields.append({
+ 'name': field_info[0],
+ 'table_oid': field_info[1],
+@@ -30,4 +28,4 @@ class RowDescription(BackendMessage):
+ pos += 19 + len(field_info[0])
+
+
+-RowDescription._message_id('T')
++RowDescription._message_id(b'T')
+diff --git a/vertica_python/vertica/messages/backend_messages/unknown.py b/vertica_python/vertica/messages/backend_messages/unknown.py
+index e646e89..9333801 100644
+--- a/vertica_python/vertica/messages/backend_messages/unknown.py
++++ b/vertica_python/vertica/messages/backend_messages/unknown.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from vertica_python.vertica.messages.message import BackendMessage
+
+diff --git a/vertica_python/vertica/messages/frontend_messages/bind.py b/vertica_python/vertica/messages/frontend_messages/bind.py
+index bc4bb23..6f367b9 100644
+--- a/vertica_python/vertica/messages/frontend_messages/bind.py
++++ b/vertica_python/vertica/messages/frontend_messages/bind.py
+@@ -1,5 +1,3 @@
+-from __future__ import absolute_import
+-
+ from struct import pack
+
+ from vertica_python.vertica.messages.message import FrontendMessage
+@@ -13,14 +11,14 @@ class Bind(FrontendMessage):
+ self.parameter_values = parameter_values
+
+ def to_bytes(self):
+- bytes = pack('!{0}sx{1}sxHH'.format(len(self.portal_name), len(self.prepared_statement_name)), self.portal_name, self.prepared_statement_name, 0, len(self.parameter_values))
++ bytes_ = pack('!{0}sx{1}sxHH'.format(len(self.portal_name), len(self.prepared_statement_name)), self.portal_name, self.prepared_statement_name, 0, len(self.parameter_values))
+ for val in self.parameter_values.values():
+ if val is None:
+- bytes += pack('!I', [-1])
++ bytes_ += pack('!I', [-1])
+ else:
+- bytes += pack('!I{0}s'.format(len(val)), len(val), val)
+- bytes += pack('!H', [0])
+- return self.message_string(bytes)
++ bytes_ += pack('!I{0}s'.format(len(val)), len(val), val)
++ bytes_ += pack('!H', [0])
++ return self.message_string(bytes_)
+
+
+-Bind._message_id('B')
++Bind._message_id(b'B')
+diff --git a/vertica_python/vertica/messages/frontend_messages/cancel_request.py b/vertica_python/vertica/messages/frontend_messages/cancel_request.py
+index 6e38ef0..b009760 100644
+--- a/vertica_python/vertica/messages/frontend_messages/cancel_request.py
++++ b/vertica_python/vertica/messages/frontend_messages/cancel_request.py
+@@ -1,4 +1,4 @@
+-from __future__ import absolute_import
++
+
+ from struct import pack
+
+diff --git a/vertica_python/vertica/messages/frontend_messages/close.py b/vertica_python/vertica/messages/frontend_messages/close.py
+index 30f8bc3..4ef4200 100644
+--- a/vertica_python/vertica/messages/frontend_messages/close.py
++++ b/vertica_python/vertica/messages/frontend_messages/close.py
... 291 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-vertica.git
More information about the Python-modules-commits
mailing list