[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