phoenix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From els...@apache.org
Subject [19/40] phoenix git commit: PHOENIX-4688 Support SPNEGO for python driver via requests-kerberos
Date Fri, 05 Oct 2018 23:02:44 GMT
http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0094991/python/phoenixdb/avatica/__init__.py
----------------------------------------------------------------------
diff --git a/python/phoenixdb/avatica/__init__.py b/python/phoenixdb/avatica/__init__.py
deleted file mode 100644
index 53776d7..0000000
--- a/python/phoenixdb/avatica/__init__.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-from .client import AvaticaClient  # noqa: F401

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0094991/python/phoenixdb/avatica/client.py
----------------------------------------------------------------------
diff --git a/python/phoenixdb/avatica/client.py b/python/phoenixdb/avatica/client.py
deleted file mode 100644
index ea00631..0000000
--- a/python/phoenixdb/avatica/client.py
+++ /dev/null
@@ -1,510 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-"""Implementation of the JSON-over-HTTP RPC protocol used by Avatica."""
-
-import re
-import socket
-import pprint
-import math
-import logging
-import time
-from phoenixdb import errors
-from phoenixdb.avatica.proto import requests_pb2, common_pb2, responses_pb2
-
-try:
-    import httplib
-except ImportError:
-    import http.client as httplib
-
-try:
-    import urlparse
-except ImportError:
-    import urllib.parse as urlparse
-
-try:
-    from HTMLParser import HTMLParser
-except ImportError:
-    from html.parser import HTMLParser
-
-__all__ = ['AvaticaClient']
-
-logger = logging.getLogger(__name__)
-
-
-class JettyErrorPageParser(HTMLParser):
-
-    def __init__(self):
-        HTMLParser.__init__(self)
-        self.path = []
-        self.title = []
-        self.message = []
-
-    def handle_starttag(self, tag, attrs):
-        self.path.append(tag)
-
-    def handle_endtag(self, tag):
-        self.path.pop()
-
-    def handle_data(self, data):
-        if len(self.path) > 2 and self.path[0] == 'html' and self.path[1] == 'body':
-            if len(self.path) == 3 and self.path[2] == 'h2':
-                self.title.append(data.strip())
-            elif len(self.path) == 4 and self.path[2] == 'p' and self.path[3] == 'pre':
-                self.message.append(data.strip())
-
-
-def parse_url(url):
-    url = urlparse.urlparse(url)
-    if not url.scheme and not url.netloc and url.path:
-        netloc = url.path
-        if ':' not in netloc:
-            netloc = '{}:8765'.format(netloc)
-        return urlparse.ParseResult('http', netloc, '/', '', '', '')
-    return url
-
-
-# Defined in phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java
-SQLSTATE_ERROR_CLASSES = [
-    ('08', errors.OperationalError),  # Connection Exception
-    ('22018', errors.IntegrityError),  # Constraint violatioin.
-    ('22', errors.DataError),  # Data Exception
-    ('23', errors.IntegrityError),  # Constraint Violation
-    ('24', errors.InternalError),  # Invalid Cursor State
-    ('25', errors.InternalError),  # Invalid Transaction State
-    ('42', errors.ProgrammingError),  # Syntax Error or Access Rule Violation
-    ('XLC', errors.OperationalError),  # Execution exceptions
-    ('INT', errors.InternalError),  # Phoenix internal error
-]
-
-# Relevant properties as defined by https://calcite.apache.org/avatica/docs/client_reference.html
-OPEN_CONNECTION_PROPERTIES = (
-    'user',  # User for the database connection
-    'password',  # Password for the user
-)
-
-
-def raise_sql_error(code, sqlstate, message):
-    for prefix, error_class in SQLSTATE_ERROR_CLASSES:
-        if sqlstate.startswith(prefix):
-            raise error_class(message, code, sqlstate)
-
-
-def parse_and_raise_sql_error(message):
-    match = re.findall(r'(?:([^ ]+): )?ERROR (\d+) \(([0-9A-Z]{5})\): (.*?) ->', message)
-    if match is not None and len(match):
-        exception, code, sqlstate, message = match[0]
-        raise_sql_error(int(code), sqlstate, message)
-
-
-def parse_error_page(html):
-    parser = JettyErrorPageParser()
-    parser.feed(html)
-    if parser.title == ['HTTP ERROR: 500']:
-        message = ' '.join(parser.message).strip()
-        parse_and_raise_sql_error(message)
-        raise errors.InternalError(message)
-
-
-def parse_error_protobuf(text):
-    message = common_pb2.WireMessage()
-    message.ParseFromString(text)
-
-    err = responses_pb2.ErrorResponse()
-    err.ParseFromString(message.wrapped_message)
-
-    parse_and_raise_sql_error(err.error_message)
-    raise_sql_error(err.error_code, err.sql_state, err.error_message)
-    raise errors.InternalError(err.error_message)
-
-
-class AvaticaClient(object):
-    """Client for Avatica's RPC server.
-
-    This exposes all low-level functionality that the Avatica
-    server provides, using the native terminology. You most likely
-    do not want to use this class directly, but rather get connect
-    to a server using :func:`phoenixdb.connect`.
-    """
-
-    def __init__(self, url, max_retries=None):
-        """Constructs a new client object.
-
-        :param url:
-            URL of an Avatica RPC server.
-        """
-        self.url = parse_url(url)
-        self.max_retries = max_retries if max_retries is not None else 3
-        self.connection = None
-
-    def connect(self):
-        """Opens a HTTP connection to the RPC server."""
-        logger.debug("Opening connection to %s:%s", self.url.hostname, self.url.port)
-        try:
-            self.connection = httplib.HTTPConnection(self.url.hostname, self.url.port)
-            self.connection.connect()
-        except (httplib.HTTPException, socket.error) as e:
-            raise errors.InterfaceError('Unable to connect to the specified service', e)
-
-    def close(self):
-        """Closes the HTTP connection to the RPC server."""
-        if self.connection is not None:
-            logger.debug("Closing connection to %s:%s", self.url.hostname, self.url.port)
-            try:
-                self.connection.close()
-            except httplib.HTTPException:
-                logger.warning("Error while closing connection", exc_info=True)
-            self.connection = None
-
-    def _post_request(self, body, headers):
-        retry_count = self.max_retries
-        while True:
-            logger.debug("POST %s %r %r", self.url.path, body, headers)
-            try:
-                self.connection.request('POST', self.url.path, body=body, headers=headers)
-                response = self.connection.getresponse()
-            except httplib.HTTPException as e:
-                if retry_count > 0:
-                    delay = math.exp(-retry_count)
-                    logger.debug("HTTP protocol error, will retry in %s seconds...", delay, exc_info=True)
-                    self.close()
-                    self.connect()
-                    time.sleep(delay)
-                    retry_count -= 1
-                    continue
-                raise errors.InterfaceError('RPC request failed', cause=e)
-            else:
-                if response.status == httplib.SERVICE_UNAVAILABLE:
-                    if retry_count > 0:
-                        delay = math.exp(-retry_count)
-                        logger.debug("Service unavailable, will retry in %s seconds...", delay, exc_info=True)
-                        time.sleep(delay)
-                        retry_count -= 1
-                        continue
-                return response
-
-    def _apply(self, request_data, expected_response_type=None):
-        logger.debug("Sending request\n%s", pprint.pformat(request_data))
-
-        request_name = request_data.__class__.__name__
-        message = common_pb2.WireMessage()
-        message.name = 'org.apache.calcite.avatica.proto.Requests${}'.format(request_name)
-        message.wrapped_message = request_data.SerializeToString()
-        body = message.SerializeToString()
-        headers = {'content-type': 'application/x-google-protobuf'}
-
-        response = self._post_request(body, headers)
-        response_body = response.read()
-
-        if response.status != httplib.OK:
-            logger.debug("Received response\n%s", response_body)
-            if b'<html>' in response_body:
-                parse_error_page(response_body)
-            else:
-                # assume the response is in protobuf format
-                parse_error_protobuf(response_body)
-            raise errors.InterfaceError('RPC request returned invalid status code', response.status)
-
-        message = common_pb2.WireMessage()
-        message.ParseFromString(response_body)
-
-        logger.debug("Received response\n%s", message)
-
-        if expected_response_type is None:
-            expected_response_type = request_name.replace('Request', 'Response')
-
-        expected_response_type = 'org.apache.calcite.avatica.proto.Responses$' + expected_response_type
-        if message.name != expected_response_type:
-            raise errors.InterfaceError('unexpected response type "{}"'.format(message.name))
-
-        return message.wrapped_message
-
-    def get_catalogs(self, connection_id):
-        request = requests_pb2.CatalogsRequest()
-        request.connection_id = connection_id
-        return self._apply(request)
-
-    def get_schemas(self, connection_id, catalog=None, schemaPattern=None):
-        request = requests_pb2.SchemasRequest()
-        request.connection_id = connection_id
-        if catalog is not None:
-            request.catalog = catalog
-        if schemaPattern is not None:
-            request.schema_pattern = schemaPattern
-        return self._apply(request)
-
-    def get_tables(self, connection_id, catalog=None, schemaPattern=None, tableNamePattern=None, typeList=None):
-        request = requests_pb2.TablesRequest()
-        request.connection_id = connection_id
-        if catalog is not None:
-            request.catalog = catalog
-        if schemaPattern is not None:
-            request.schema_pattern = schemaPattern
-        if tableNamePattern is not None:
-            request.table_name_pattern = tableNamePattern
-        if typeList is not None:
-            request.type_list = typeList
-        if typeList is not None:
-            request.type_list.extend(typeList)
-        request.has_type_list = typeList is not None
-        return self._apply(request)
-
-    def get_columns(self, connection_id, catalog=None, schemaPattern=None, tableNamePattern=None, columnNamePattern=None):
-        request = requests_pb2.ColumnsRequest()
-        request.connection_id = connection_id
-        if catalog is not None:
-            request.catalog = catalog
-        if schemaPattern is not None:
-            request.schema_pattern = schemaPattern
-        if tableNamePattern is not None:
-            request.table_name_pattern = tableNamePattern
-        if columnNamePattern is not None:
-            request.column_name_pattern = columnNamePattern
-        return self._apply(request)
-
-    def get_table_types(self, connection_id):
-        request = requests_pb2.TableTypesRequest()
-        request.connection_id = connection_id
-        return self._apply(request)
-
-    def get_type_info(self, connection_id):
-        request = requests_pb2.TypeInfoRequest()
-        request.connection_id = connection_id
-        return self._apply(request)
-
-    def connection_sync(self, connection_id, connProps=None):
-        """Synchronizes connection properties with the server.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param connProps:
-            Dictionary with the properties that should be changed.
-
-        :returns:
-            A ``common_pb2.ConnectionProperties`` object.
-        """
-        if connProps is None:
-            connProps = {}
-
-        request = requests_pb2.ConnectionSyncRequest()
-        request.connection_id = connection_id
-        request.conn_props.auto_commit = connProps.get('autoCommit', False)
-        request.conn_props.has_auto_commit = True
-        request.conn_props.read_only = connProps.get('readOnly', False)
-        request.conn_props.has_read_only = True
-        request.conn_props.transaction_isolation = connProps.get('transactionIsolation', 0)
-        request.conn_props.catalog = connProps.get('catalog', '')
-        request.conn_props.schema = connProps.get('schema', '')
-
-        response_data = self._apply(request)
-        response = responses_pb2.ConnectionSyncResponse()
-        response.ParseFromString(response_data)
-        return response.conn_props
-
-    def open_connection(self, connection_id, info=None):
-        """Opens a new connection.
-
-        :param connection_id:
-            ID of the connection to open.
-        """
-        request = requests_pb2.OpenConnectionRequest()
-        request.connection_id = connection_id
-        if info is not None:
-            # Info is a list of repeated pairs, setting a dict directly fails
-            for k, v in info.items():
-                request.info[k] = v
-
-        response_data = self._apply(request)
-        response = responses_pb2.OpenConnectionResponse()
-        response.ParseFromString(response_data)
-
-    def close_connection(self, connection_id):
-        """Closes a connection.
-
-        :param connection_id:
-            ID of the connection to close.
-        """
-        request = requests_pb2.CloseConnectionRequest()
-        request.connection_id = connection_id
-        self._apply(request)
-
-    def create_statement(self, connection_id):
-        """Creates a new statement.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :returns:
-            New statement ID.
-        """
-        request = requests_pb2.CreateStatementRequest()
-        request.connection_id = connection_id
-
-        response_data = self._apply(request)
-        response = responses_pb2.CreateStatementResponse()
-        response.ParseFromString(response_data)
-        return response.statement_id
-
-    def close_statement(self, connection_id, statement_id):
-        """Closes a statement.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param statement_id:
-            ID of the statement to close.
-        """
-        request = requests_pb2.CloseStatementRequest()
-        request.connection_id = connection_id
-        request.statement_id = statement_id
-
-        self._apply(request)
-
-    def prepare_and_execute(self, connection_id, statement_id, sql, max_rows_total=None, first_frame_max_size=None):
-        """Prepares and immediately executes a statement.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param statement_id:
-            ID of the statement to prepare.
-
-        :param sql:
-            SQL query.
-
-        :param max_rows_total:
-            The maximum number of rows that will be allowed for this query.
-
-        :param first_frame_max_size:
-            The maximum number of rows that will be returned in the first Frame returned for this query.
-
-        :returns:
-            Result set with the signature of the prepared statement and the first frame data.
-        """
-        request = requests_pb2.PrepareAndExecuteRequest()
-        request.connection_id = connection_id
-        request.statement_id = statement_id
-        request.sql = sql
-        if max_rows_total is not None:
-            request.max_rows_total = max_rows_total
-        if first_frame_max_size is not None:
-            request.first_frame_max_size = first_frame_max_size
-
-        response_data = self._apply(request, 'ExecuteResponse')
-        response = responses_pb2.ExecuteResponse()
-        response.ParseFromString(response_data)
-        return response.results
-
-    def prepare(self, connection_id, sql, max_rows_total=None):
-        """Prepares a statement.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param sql:
-            SQL query.
-
-        :param max_rows_total:
-            The maximum number of rows that will be allowed for this query.
-
-        :returns:
-            Signature of the prepared statement.
-        """
-        request = requests_pb2.PrepareRequest()
-        request.connection_id = connection_id
-        request.sql = sql
-        if max_rows_total is not None:
-            request.max_rows_total = max_rows_total
-
-        response_data = self._apply(request)
-        response = responses_pb2.PrepareResponse()
-        response.ParseFromString(response_data)
-        return response.statement
-
-    def execute(self, connection_id, statement_id, signature, parameter_values=None, first_frame_max_size=None):
-        """Returns a frame of rows.
-
-        The frame describes whether there may be another frame. If there is not
-        another frame, the current iteration is done when we have finished the
-        rows in the this frame.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param statement_id:
-            ID of the statement to fetch rows from.
-
-        :param signature:
-            common_pb2.Signature object
-
-        :param parameter_values:
-            A list of parameter values, if statement is to be executed; otherwise ``None``.
-
-        :param first_frame_max_size:
-            The maximum number of rows that will be returned in the first Frame returned for this query.
-
-        :returns:
-            Frame data, or ``None`` if there are no more.
-        """
-        request = requests_pb2.ExecuteRequest()
-        request.statementHandle.id = statement_id
-        request.statementHandle.connection_id = connection_id
-        request.statementHandle.signature.CopyFrom(signature)
-        if parameter_values is not None:
-            request.parameter_values.extend(parameter_values)
-            request.has_parameter_values = True
-        if first_frame_max_size is not None:
-            request.deprecated_first_frame_max_size = first_frame_max_size
-            request.first_frame_max_size = first_frame_max_size
-
-        response_data = self._apply(request)
-        response = responses_pb2.ExecuteResponse()
-        response.ParseFromString(response_data)
-        return response.results
-
-    def fetch(self, connection_id, statement_id, offset=0, frame_max_size=None):
-        """Returns a frame of rows.
-
-        The frame describes whether there may be another frame. If there is not
-        another frame, the current iteration is done when we have finished the
-        rows in the this frame.
-
-        :param connection_id:
-            ID of the current connection.
-
-        :param statement_id:
-            ID of the statement to fetch rows from.
-
-        :param offset:
-            Zero-based offset of first row in the requested frame.
-
-        :param frame_max_size:
-            Maximum number of rows to return; negative means no limit.
-
-        :returns:
-            Frame data, or ``None`` if there are no more.
-        """
-        request = requests_pb2.FetchRequest()
-        request.connection_id = connection_id
-        request.statement_id = statement_id
-        request.offset = offset
-        if frame_max_size is not None:
-            request.frame_max_size = frame_max_size
-
-        response_data = self._apply(request)
-        response = responses_pb2.FetchResponse()
-        response.ParseFromString(response_data)
-        return response.frame

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0094991/python/phoenixdb/avatica/proto/__init__.py
----------------------------------------------------------------------
diff --git a/python/phoenixdb/avatica/proto/__init__.py b/python/phoenixdb/avatica/proto/__init__.py
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a0094991/python/phoenixdb/avatica/proto/common_pb2.py
----------------------------------------------------------------------
diff --git a/python/phoenixdb/avatica/proto/common_pb2.py b/python/phoenixdb/avatica/proto/common_pb2.py
deleted file mode 100644
index 3c99502..0000000
--- a/python/phoenixdb/avatica/proto/common_pb2.py
+++ /dev/null
@@ -1,1667 +0,0 @@
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: common.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='common.proto',
-  package='',
-  syntax='proto3',
-  serialized_pb=_b('\n\x0c\x63ommon.proto\"\xc0\x01\n\x14\x43onnectionProperties\x12\x10\n\x08is_dirty\x18\x01 \x01(\x08\x12\x13\n\x0b\x61uto_commit\x18\x02 \x01(\x08\x12\x17\n\x0fhas_auto_commit\x18\x07 \x01(\x08\x12\x11\n\tread_only\x18\x03 \x01(\x08\x12\x15\n\rhas_read_only\x18\x08 \x01(\x08\x12\x1d\n\x15transaction_isolation\x18\x04 \x01(\r\x12\x0f\n\x07\x63\x61talog\x18\x05 \x01(\t\x12\x0e\n\x06schema\x18\x06 \x01(\t\"S\n\x0fStatementHandle\x12\x15\n\rconnection_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\r\x12\x1d\n\tsignature\x18\x03 \x01(\x0b\x32\n.Signature\"\xb0\x01\n\tSignature\x12 \n\x07\x63olumns\x18\x01 \x03(\x0b\x32\x0f.ColumnMetaData\x12\x0b\n\x03sql\x18\x02 \x01(\t\x12%\n\nparameters\x18\x03 \x03(\x0b\x32\x11.AvaticaParameter\x12&\n\x0e\x63ursor_factory\x18\x04 \x01(\x0b\x32\x0e.CursorFactory\x12%\n\rstatementType\x18\x05 \x01(\x0e\x32\x0e.StatementType\"\xad\x03\n\x0e\x43olumnMetaData\x12\x0f\n\x07ordinal\x18\x01 \x01(\r\x12\x16\n\x0e\x61uto_increment\x18\x02 \x
 01(\x08\x12\x16\n\x0e\x63\x61se_sensitive\x18\x03 \x01(\x08\x12\x12\n\nsearchable\x18\x04 \x01(\x08\x12\x10\n\x08\x63urrency\x18\x05 \x01(\x08\x12\x10\n\x08nullable\x18\x06 \x01(\r\x12\x0e\n\x06signed\x18\x07 \x01(\x08\x12\x14\n\x0c\x64isplay_size\x18\x08 \x01(\r\x12\r\n\x05label\x18\t \x01(\t\x12\x13\n\x0b\x63olumn_name\x18\n \x01(\t\x12\x13\n\x0bschema_name\x18\x0b \x01(\t\x12\x11\n\tprecision\x18\x0c \x01(\r\x12\r\n\x05scale\x18\r \x01(\r\x12\x12\n\ntable_name\x18\x0e \x01(\t\x12\x14\n\x0c\x63\x61talog_name\x18\x0f \x01(\t\x12\x11\n\tread_only\x18\x10 \x01(\x08\x12\x10\n\x08writable\x18\x11 \x01(\x08\x12\x1b\n\x13\x64\x65\x66initely_writable\x18\x12 \x01(\x08\x12\x19\n\x11\x63olumn_class_name\x18\x13 \x01(\t\x12\x1a\n\x04type\x18\x14 \x01(\x0b\x32\x0c.AvaticaType\"}\n\x0b\x41vaticaType\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\x03rep\x18\x03 \x01(\x0e\x32\x04.Rep\x12 \n\x07\x63olumns\x18\x04 \x03(\x0b\x32\x0f.ColumnMetaData\x12\x1f\n\tcomponent\x18
 \x05 \x01(\x0b\x32\x0c.AvaticaType\"\x91\x01\n\x10\x41vaticaParameter\x12\x0e\n\x06signed\x18\x01 \x01(\x08\x12\x11\n\tprecision\x18\x02 \x01(\r\x12\r\n\x05scale\x18\x03 \x01(\r\x12\x16\n\x0eparameter_type\x18\x04 \x01(\r\x12\x11\n\ttype_name\x18\x05 \x01(\t\x12\x12\n\nclass_name\x18\x06 \x01(\t\x12\x0c\n\x04name\x18\x07 \x01(\t\"\xb3\x01\n\rCursorFactory\x12#\n\x05style\x18\x01 \x01(\x0e\x32\x14.CursorFactory.Style\x12\x12\n\nclass_name\x18\x02 \x01(\t\x12\x13\n\x0b\x66ield_names\x18\x03 \x03(\t\"T\n\x05Style\x12\n\n\x06OBJECT\x10\x00\x12\n\n\x06RECORD\x10\x01\x12\x15\n\x11RECORD_PROJECTION\x10\x02\x12\t\n\x05\x41RRAY\x10\x03\x12\x08\n\x04LIST\x10\x04\x12\x07\n\x03MAP\x10\x05\"9\n\x05\x46rame\x12\x0e\n\x06offset\x18\x01 \x01(\x04\x12\x0c\n\x04\x64one\x18\x02 \x01(\x08\x12\x12\n\x04rows\x18\x03 \x03(\x0b\x32\x04.Row\"\"\n\x03Row\x12\x1b\n\x05value\x18\x01 \x03(\x0b\x32\x0c.ColumnValue\"3\n\x10\x44\x61tabaseProperty\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tfunctions\x18\x02 \x03(
 \t\"4\n\x0bWireMessage\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x17\n\x0fwrapped_message\x18\x02 \x01(\x0c\"\x87\x01\n\x0b\x43olumnValue\x12\x1a\n\x05value\x18\x01 \x03(\x0b\x32\x0b.TypedValue\x12 \n\x0b\x61rray_value\x18\x02 \x03(\x0b\x32\x0b.TypedValue\x12\x17\n\x0fhas_array_value\x18\x03 \x01(\x08\x12!\n\x0cscalar_value\x18\x04 \x01(\x0b\x32\x0b.TypedValue\"\xf2\x01\n\nTypedValue\x12\x12\n\x04type\x18\x01 \x01(\x0e\x32\x04.Rep\x12\x12\n\nbool_value\x18\x02 \x01(\x08\x12\x14\n\x0cstring_value\x18\x03 \x01(\t\x12\x14\n\x0cnumber_value\x18\x04 \x01(\x12\x12\x13\n\x0b\x62ytes_value\x18\x05 \x01(\x0c\x12\x14\n\x0c\x64ouble_value\x18\x06 \x01(\x01\x12\x0c\n\x04null\x18\x07 \x01(\x08\x12 \n\x0b\x61rray_value\x18\x08 \x03(\x0b\x32\x0b.TypedValue\x12\x1c\n\x0e\x63omponent_type\x18\t \x01(\x0e\x32\x04.Rep\x12\x17\n\x0fimplicitly_null\x18\n \x01(\x08\"\xa6\x02\n\x19MetaDataOperationArgument\x12\x14\n\x0cstring_value\x18\x01 \x01(\t\x12\x12\n\nbool_value\x18\x02 \x01(\x08\x12\x11\n\tint_value\x
 18\x03 \x01(\x11\x12\x1b\n\x13string_array_values\x18\x04 \x03(\t\x12\x18\n\x10int_array_values\x18\x05 \x03(\x11\x12\x35\n\x04type\x18\x06 \x01(\x0e\x32\'.MetaDataOperationArgument.ArgumentType\"^\n\x0c\x41rgumentType\x12\n\n\x06STRING\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\x07\n\x03INT\x10\x02\x12\x13\n\x0fREPEATED_STRING\x10\x03\x12\x10\n\x0cREPEATED_INT\x10\x04\x12\x08\n\x04NULL\x10\x05\"\xb0\x01\n\nQueryState\x12\x18\n\x04type\x18\x01 \x01(\x0e\x32\n.StateType\x12\x0b\n\x03sql\x18\x02 \x01(\t\x12\x1e\n\x02op\x18\x03 \x01(\x0e\x32\x12.MetaDataOperation\x12(\n\x04\x61rgs\x18\x04 \x03(\x0b\x32\x1a.MetaDataOperationArgument\x12\x10\n\x08has_args\x18\x05 \x01(\x08\x12\x0f\n\x07has_sql\x18\x06 \x01(\x08\x12\x0e\n\x06has_op\x18\x07 \x01(\x08*\x9f\x01\n\rStatementType\x12\n\n\x06SELECT\x10\x00\x12\n\n\x06INSERT\x10\x01\x12\n\n\x06UPDATE\x10\x02\x12\n\n\x06\x44\x45LETE\x10\x03\x12\n\n\x06UPSERT\x10\x04\x12\t\n\x05MERGE\x10\x05\x12\r\n\tOTHER_DML\x10\x06\x12\n\n\x06\x43REATE\x10\x07\x1
 2\x08\n\x04\x44ROP\x10\x08\x12\t\n\x05\x41LTER\x10\t\x12\r\n\tOTHER_DDL\x10\n\x12\x08\n\x04\x43\x41LL\x10\x0b*\xe2\x03\n\x03Rep\x12\x15\n\x11PRIMITIVE_BOOLEAN\x10\x00\x12\x12\n\x0ePRIMITIVE_BYTE\x10\x01\x12\x12\n\x0ePRIMITIVE_CHAR\x10\x02\x12\x13\n\x0fPRIMITIVE_SHORT\x10\x03\x12\x11\n\rPRIMITIVE_INT\x10\x04\x12\x12\n\x0ePRIMITIVE_LONG\x10\x05\x12\x13\n\x0fPRIMITIVE_FLOAT\x10\x06\x12\x14\n\x10PRIMITIVE_DOUBLE\x10\x07\x12\x0b\n\x07\x42OOLEAN\x10\x08\x12\x08\n\x04\x42YTE\x10\t\x12\r\n\tCHARACTER\x10\n\x12\t\n\x05SHORT\x10\x0b\x12\x0b\n\x07INTEGER\x10\x0c\x12\x08\n\x04LONG\x10\r\x12\t\n\x05\x46LOAT\x10\x0e\x12\n\n\x06\x44OUBLE\x10\x0f\x12\x0f\n\x0b\x42IG_INTEGER\x10\x19\x12\x0f\n\x0b\x42IG_DECIMAL\x10\x1a\x12\x11\n\rJAVA_SQL_TIME\x10\x10\x12\x16\n\x12JAVA_SQL_TIMESTAMP\x10\x11\x12\x11\n\rJAVA_SQL_DATE\x10\x12\x12\x12\n\x0eJAVA_UTIL_DATE\x10\x13\x12\x0f\n\x0b\x42YTE_STRING\x10\x14\x12\n\n\x06STRING\x10\x15\x12\n\n\x06NUMBER\x10\x16\x12\n\n\x06OBJECT\x10\x17\x12\x08\n\x04NULL\x10\x18\x12\
 t\n\x05\x41RRAY\x10\x1b\x12\n\n\x06STRUCT\x10\x1c\x12\x0c\n\x08MULTISET\x10\x1d*^\n\x08Severity\x12\x14\n\x10UNKNOWN_SEVERITY\x10\x00\x12\x12\n\x0e\x46\x41TAL_SEVERITY\x10\x01\x12\x12\n\x0e\x45RROR_SEVERITY\x10\x02\x12\x14\n\x10WARNING_SEVERITY\x10\x03*\xd7\x04\n\x11MetaDataOperation\x12\x12\n\x0eGET_ATTRIBUTES\x10\x00\x12\x1b\n\x17GET_BEST_ROW_IDENTIFIER\x10\x01\x12\x10\n\x0cGET_CATALOGS\x10\x02\x12\x1e\n\x1aGET_CLIENT_INFO_PROPERTIES\x10\x03\x12\x19\n\x15GET_COLUMN_PRIVILEGES\x10\x04\x12\x0f\n\x0bGET_COLUMNS\x10\x05\x12\x17\n\x13GET_CROSS_REFERENCE\x10\x06\x12\x15\n\x11GET_EXPORTED_KEYS\x10\x07\x12\x18\n\x14GET_FUNCTION_COLUMNS\x10\x08\x12\x11\n\rGET_FUNCTIONS\x10\t\x12\x15\n\x11GET_IMPORTED_KEYS\x10\n\x12\x12\n\x0eGET_INDEX_INFO\x10\x0b\x12\x14\n\x10GET_PRIMARY_KEYS\x10\x0c\x12\x19\n\x15GET_PROCEDURE_COLUMNS\x10\r\x12\x12\n\x0eGET_PROCEDURES\x10\x0e\x12\x16\n\x12GET_PSEUDO_COLUMNS\x10\x0f\x12\x0f\n\x0bGET_SCHEMAS\x10\x10\x12\x19\n\x15GET_SCHEMAS_WITH_ARGS\x10\x11\x12\x14\n\x10GET
 _SUPER_TABLES\x10\x12\x12\x13\n\x0fGET_SUPER_TYPES\x10\x13\x12\x18\n\x14GET_TABLE_PRIVILEGES\x10\x14\x12\x0e\n\nGET_TABLES\x10\x15\x12\x13\n\x0fGET_TABLE_TYPES\x10\x16\x12\x11\n\rGET_TYPE_INFO\x10\x17\x12\x0c\n\x08GET_UDTS\x10\x18\x12\x17\n\x13GET_VERSION_COLUMNS\x10\x19*\"\n\tStateType\x12\x07\n\x03SQL\x10\x00\x12\x0c\n\x08METADATA\x10\x01\x42\"\n org.apache.calcite.avatica.protob\x06proto3')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-_STATEMENTTYPE = _descriptor.EnumDescriptor(
-  name='StatementType',
-  full_name='StatementType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='SELECT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='INSERT', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='UPDATE', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DELETE', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='UPSERT', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='MERGE', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OTHER_DML', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='CREATE', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DROP', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='ALTER', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OTHER_DDL', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='CALL', index=11, number=11,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2426,
-  serialized_end=2585,
-)
-_sym_db.RegisterEnumDescriptor(_STATEMENTTYPE)
-
-StatementType = enum_type_wrapper.EnumTypeWrapper(_STATEMENTTYPE)
-_REP = _descriptor.EnumDescriptor(
-  name='Rep',
-  full_name='Rep',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_BOOLEAN', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_BYTE', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_CHAR', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_SHORT', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_INT', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_LONG', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_FLOAT', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='PRIMITIVE_DOUBLE', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BOOLEAN', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BYTE', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='CHARACTER', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='SHORT', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='INTEGER', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='LONG', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='FLOAT', index=14, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DOUBLE', index=15, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BIG_INTEGER', index=16, number=25,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BIG_DECIMAL', index=17, number=26,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='JAVA_SQL_TIME', index=18, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='JAVA_SQL_TIMESTAMP', index=19, number=17,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='JAVA_SQL_DATE', index=20, number=18,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='JAVA_UTIL_DATE', index=21, number=19,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BYTE_STRING', index=22, number=20,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='STRING', index=23, number=21,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='NUMBER', index=24, number=22,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='OBJECT', index=25, number=23,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='NULL', index=26, number=24,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='ARRAY', index=27, number=27,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='STRUCT', index=28, number=28,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='MULTISET', index=29, number=29,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2588,
-  serialized_end=3070,
-)
-_sym_db.RegisterEnumDescriptor(_REP)
-
-Rep = enum_type_wrapper.EnumTypeWrapper(_REP)
-_SEVERITY = _descriptor.EnumDescriptor(
-  name='Severity',
-  full_name='Severity',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN_SEVERITY', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='FATAL_SEVERITY', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='ERROR_SEVERITY', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='WARNING_SEVERITY', index=3, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3072,
-  serialized_end=3166,
-)
-_sym_db.RegisterEnumDescriptor(_SEVERITY)
-
-Severity = enum_type_wrapper.EnumTypeWrapper(_SEVERITY)
-_METADATAOPERATION = _descriptor.EnumDescriptor(
-  name='MetaDataOperation',
-  full_name='MetaDataOperation',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='GET_ATTRIBUTES', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_BEST_ROW_IDENTIFIER', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_CATALOGS', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_CLIENT_INFO_PROPERTIES', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_COLUMN_PRIVILEGES', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_COLUMNS', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_CROSS_REFERENCE', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_EXPORTED_KEYS', index=7, number=7,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_FUNCTION_COLUMNS', index=8, number=8,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_FUNCTIONS', index=9, number=9,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_IMPORTED_KEYS', index=10, number=10,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_INDEX_INFO', index=11, number=11,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_PRIMARY_KEYS', index=12, number=12,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_PROCEDURE_COLUMNS', index=13, number=13,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_PROCEDURES', index=14, number=14,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_PSEUDO_COLUMNS', index=15, number=15,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_SCHEMAS', index=16, number=16,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_SCHEMAS_WITH_ARGS', index=17, number=17,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_SUPER_TABLES', index=18, number=18,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_SUPER_TYPES', index=19, number=19,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_TABLE_PRIVILEGES', index=20, number=20,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_TABLES', index=21, number=21,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_TABLE_TYPES', index=22, number=22,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_TYPE_INFO', index=23, number=23,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_UDTS', index=24, number=24,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='GET_VERSION_COLUMNS', index=25, number=25,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3169,
-  serialized_end=3768,
-)
-_sym_db.RegisterEnumDescriptor(_METADATAOPERATION)
-
-MetaDataOperation = enum_type_wrapper.EnumTypeWrapper(_METADATAOPERATION)
-_STATETYPE = _descriptor.EnumDescriptor(
-  name='StateType',
-  full_name='StateType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='SQL', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='METADATA', index=1, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=3770,
-  serialized_end=3804,
-)
-_sym_db.RegisterEnumDescriptor(_STATETYPE)
-
-StateType = enum_type_wrapper.EnumTypeWrapper(_STATETYPE)
-SELECT = 0
-INSERT = 1
-UPDATE = 2
-DELETE = 3
-UPSERT = 4
-MERGE = 5
-OTHER_DML = 6
-CREATE = 7
-DROP = 8
-ALTER = 9
-OTHER_DDL = 10
-CALL = 11
-PRIMITIVE_BOOLEAN = 0
-PRIMITIVE_BYTE = 1
-PRIMITIVE_CHAR = 2
-PRIMITIVE_SHORT = 3
-PRIMITIVE_INT = 4
-PRIMITIVE_LONG = 5
-PRIMITIVE_FLOAT = 6
-PRIMITIVE_DOUBLE = 7
-BOOLEAN = 8
-BYTE = 9
-CHARACTER = 10
-SHORT = 11
-INTEGER = 12
-LONG = 13
-FLOAT = 14
-DOUBLE = 15
-BIG_INTEGER = 25
-BIG_DECIMAL = 26
-JAVA_SQL_TIME = 16
-JAVA_SQL_TIMESTAMP = 17
-JAVA_SQL_DATE = 18
-JAVA_UTIL_DATE = 19
-BYTE_STRING = 20
-STRING = 21
-NUMBER = 22
-OBJECT = 23
-NULL = 24
-ARRAY = 27
-STRUCT = 28
-MULTISET = 29
-UNKNOWN_SEVERITY = 0
-FATAL_SEVERITY = 1
-ERROR_SEVERITY = 2
-WARNING_SEVERITY = 3
-GET_ATTRIBUTES = 0
-GET_BEST_ROW_IDENTIFIER = 1
-GET_CATALOGS = 2
-GET_CLIENT_INFO_PROPERTIES = 3
-GET_COLUMN_PRIVILEGES = 4
-GET_COLUMNS = 5
-GET_CROSS_REFERENCE = 6
-GET_EXPORTED_KEYS = 7
-GET_FUNCTION_COLUMNS = 8
-GET_FUNCTIONS = 9
-GET_IMPORTED_KEYS = 10
-GET_INDEX_INFO = 11
-GET_PRIMARY_KEYS = 12
-GET_PROCEDURE_COLUMNS = 13
-GET_PROCEDURES = 14
-GET_PSEUDO_COLUMNS = 15
-GET_SCHEMAS = 16
-GET_SCHEMAS_WITH_ARGS = 17
-GET_SUPER_TABLES = 18
-GET_SUPER_TYPES = 19
-GET_TABLE_PRIVILEGES = 20
-GET_TABLES = 21
-GET_TABLE_TYPES = 22
-GET_TYPE_INFO = 23
-GET_UDTS = 24
-GET_VERSION_COLUMNS = 25
-SQL = 0
-METADATA = 1
-
-
-_CURSORFACTORY_STYLE = _descriptor.EnumDescriptor(
-  name='Style',
-  full_name='CursorFactory.Style',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='OBJECT', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RECORD', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RECORD_PROJECTION', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='ARRAY', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='LIST', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='MAP', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=1278,
-  serialized_end=1362,
-)
-_sym_db.RegisterEnumDescriptor(_CURSORFACTORY_STYLE)
-
-_METADATAOPERATIONARGUMENT_ARGUMENTTYPE = _descriptor.EnumDescriptor(
-  name='ArgumentType',
-  full_name='MetaDataOperationArgument.ArgumentType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='STRING', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BOOL', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='INT', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='REPEATED_STRING', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='REPEATED_INT', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='NULL', index=5, number=5,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=2150,
-  serialized_end=2244,
-)
-_sym_db.RegisterEnumDescriptor(_METADATAOPERATIONARGUMENT_ARGUMENTTYPE)
-
-
-_CONNECTIONPROPERTIES = _descriptor.Descriptor(
-  name='ConnectionProperties',
-  full_name='ConnectionProperties',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='is_dirty', full_name='ConnectionProperties.is_dirty', index=0,
-      number=1, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='auto_commit', full_name='ConnectionProperties.auto_commit', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_auto_commit', full_name='ConnectionProperties.has_auto_commit', index=2,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='read_only', full_name='ConnectionProperties.read_only', index=3,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_read_only', full_name='ConnectionProperties.has_read_only', index=4,
-      number=8, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='transaction_isolation', full_name='ConnectionProperties.transaction_isolation', index=5,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='catalog', full_name='ConnectionProperties.catalog', index=6,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='schema', full_name='ConnectionProperties.schema', index=7,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=17,
-  serialized_end=209,
-)
-
-
-_STATEMENTHANDLE = _descriptor.Descriptor(
-  name='StatementHandle',
-  full_name='StatementHandle',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='connection_id', full_name='StatementHandle.connection_id', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='id', full_name='StatementHandle.id', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='signature', full_name='StatementHandle.signature', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=211,
-  serialized_end=294,
-)
-
-
-_SIGNATURE = _descriptor.Descriptor(
-  name='Signature',
-  full_name='Signature',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='columns', full_name='Signature.columns', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sql', full_name='Signature.sql', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='parameters', full_name='Signature.parameters', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='cursor_factory', full_name='Signature.cursor_factory', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='statementType', full_name='Signature.statementType', index=4,
-      number=5, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=297,
-  serialized_end=473,
-)
-
-
-_COLUMNMETADATA = _descriptor.Descriptor(
-  name='ColumnMetaData',
-  full_name='ColumnMetaData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='ordinal', full_name='ColumnMetaData.ordinal', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='auto_increment', full_name='ColumnMetaData.auto_increment', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='case_sensitive', full_name='ColumnMetaData.case_sensitive', index=2,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='searchable', full_name='ColumnMetaData.searchable', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='currency', full_name='ColumnMetaData.currency', index=4,
-      number=5, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='nullable', full_name='ColumnMetaData.nullable', index=5,
-      number=6, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='signed', full_name='ColumnMetaData.signed', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='display_size', full_name='ColumnMetaData.display_size', index=7,
-      number=8, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='label', full_name='ColumnMetaData.label', index=8,
-      number=9, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='column_name', full_name='ColumnMetaData.column_name', index=9,
-      number=10, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='schema_name', full_name='ColumnMetaData.schema_name', index=10,
-      number=11, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='precision', full_name='ColumnMetaData.precision', index=11,
-      number=12, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='scale', full_name='ColumnMetaData.scale', index=12,
-      number=13, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='table_name', full_name='ColumnMetaData.table_name', index=13,
-      number=14, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='catalog_name', full_name='ColumnMetaData.catalog_name', index=14,
-      number=15, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='read_only', full_name='ColumnMetaData.read_only', index=15,
-      number=16, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='writable', full_name='ColumnMetaData.writable', index=16,
-      number=17, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='definitely_writable', full_name='ColumnMetaData.definitely_writable', index=17,
-      number=18, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='column_class_name', full_name='ColumnMetaData.column_class_name', index=18,
-      number=19, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='ColumnMetaData.type', index=19,
-      number=20, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=476,
-  serialized_end=905,
-)
-
-
-_AVATICATYPE = _descriptor.Descriptor(
-  name='AvaticaType',
-  full_name='AvaticaType',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='AvaticaType.id', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='name', full_name='AvaticaType.name', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rep', full_name='AvaticaType.rep', index=2,
-      number=3, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='columns', full_name='AvaticaType.columns', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='component', full_name='AvaticaType.component', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=907,
-  serialized_end=1032,
-)
-
-
-_AVATICAPARAMETER = _descriptor.Descriptor(
-  name='AvaticaParameter',
-  full_name='AvaticaParameter',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='signed', full_name='AvaticaParameter.signed', index=0,
-      number=1, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='precision', full_name='AvaticaParameter.precision', index=1,
-      number=2, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='scale', full_name='AvaticaParameter.scale', index=2,
-      number=3, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='parameter_type', full_name='AvaticaParameter.parameter_type', index=3,
-      number=4, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type_name', full_name='AvaticaParameter.type_name', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='class_name', full_name='AvaticaParameter.class_name', index=5,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='name', full_name='AvaticaParameter.name', index=6,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1035,
-  serialized_end=1180,
-)
-
-
-_CURSORFACTORY = _descriptor.Descriptor(
-  name='CursorFactory',
-  full_name='CursorFactory',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='style', full_name='CursorFactory.style', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='class_name', full_name='CursorFactory.class_name', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='field_names', full_name='CursorFactory.field_names', index=2,
-      number=3, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _CURSORFACTORY_STYLE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1183,
-  serialized_end=1362,
-)
-
-
-_FRAME = _descriptor.Descriptor(
-  name='Frame',
-  full_name='Frame',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='offset', full_name='Frame.offset', index=0,
-      number=1, type=4, cpp_type=4, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='done', full_name='Frame.done', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='rows', full_name='Frame.rows', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1364,
-  serialized_end=1421,
-)
-
-
-_ROW = _descriptor.Descriptor(
-  name='Row',
-  full_name='Row',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='value', full_name='Row.value', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1423,
-  serialized_end=1457,
-)
-
-
-_DATABASEPROPERTY = _descriptor.Descriptor(
-  name='DatabaseProperty',
-  full_name='DatabaseProperty',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='name', full_name='DatabaseProperty.name', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='functions', full_name='DatabaseProperty.functions', index=1,
-      number=2, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1459,
-  serialized_end=1510,
-)
-
-
-_WIREMESSAGE = _descriptor.Descriptor(
-  name='WireMessage',
-  full_name='WireMessage',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='name', full_name='WireMessage.name', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='wrapped_message', full_name='WireMessage.wrapped_message', index=1,
-      number=2, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1512,
-  serialized_end=1564,
-)
-
-
-_COLUMNVALUE = _descriptor.Descriptor(
-  name='ColumnValue',
-  full_name='ColumnValue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='value', full_name='ColumnValue.value', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='array_value', full_name='ColumnValue.array_value', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_array_value', full_name='ColumnValue.has_array_value', index=2,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='scalar_value', full_name='ColumnValue.scalar_value', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1567,
-  serialized_end=1702,
-)
-
-
-_TYPEDVALUE = _descriptor.Descriptor(
-  name='TypedValue',
-  full_name='TypedValue',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='TypedValue.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bool_value', full_name='TypedValue.bool_value', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='string_value', full_name='TypedValue.string_value', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='number_value', full_name='TypedValue.number_value', index=3,
-      number=4, type=18, cpp_type=2, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bytes_value', full_name='TypedValue.bytes_value', index=4,
-      number=5, type=12, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b(""),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='double_value', full_name='TypedValue.double_value', index=5,
-      number=6, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='null', full_name='TypedValue.null', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='array_value', full_name='TypedValue.array_value', index=7,
-      number=8, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='component_type', full_name='TypedValue.component_type', index=8,
-      number=9, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='implicitly_null', full_name='TypedValue.implicitly_null', index=9,
-      number=10, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1705,
-  serialized_end=1947,
-)
-
-
-_METADATAOPERATIONARGUMENT = _descriptor.Descriptor(
-  name='MetaDataOperationArgument',
-  full_name='MetaDataOperationArgument',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='string_value', full_name='MetaDataOperationArgument.string_value', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='bool_value', full_name='MetaDataOperationArgument.bool_value', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='int_value', full_name='MetaDataOperationArgument.int_value', index=2,
-      number=3, type=17, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='string_array_values', full_name='MetaDataOperationArgument.string_array_values', index=3,
-      number=4, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='int_array_values', full_name='MetaDataOperationArgument.int_array_values', index=4,
-      number=5, type=17, cpp_type=1, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='MetaDataOperationArgument.type', index=5,
-      number=6, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-    _METADATAOPERATIONARGUMENT_ARGUMENTTYPE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1950,
-  serialized_end=2244,
-)
-
-
-_QUERYSTATE = _descriptor.Descriptor(
-  name='QueryState',
-  full_name='QueryState',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='type', full_name='QueryState.type', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sql', full_name='QueryState.sql', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='op', full_name='QueryState.op', index=2,
-      number=3, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='args', full_name='QueryState.args', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_args', full_name='QueryState.has_args', index=4,
-      number=5, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_sql', full_name='QueryState.has_sql', index=5,
-      number=6, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='has_op', full_name='QueryState.has_op', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=2247,
-  serialized_end=2423,
-)
-
-_STATEMENTHANDLE.fields_by_name['signature'].message_type = _SIGNATURE
-_SIGNATURE.fields_by_name['columns'].message_type = _COLUMNMETADATA
-_SIGNATURE.fields_by_name['parameters'].message_type = _AVATICAPARAMETER
-_SIGNATURE.fields_by_name['cursor_factory'].message_type = _CURSORFACTORY
-_SIGNATURE.fields_by_name['statementType'].enum_type = _STATEMENTTYPE
-_COLUMNMETADATA.fields_by_name['type'].message_type = _AVATICATYPE
-_AVATICATYPE.fields_by_name['rep'].enum_type = _REP
-_AVATICATYPE.fields_by_name['columns'].message_type = _COLUMNMETADATA
-_AVATICATYPE.fields_by_name['component'].message_type = _AVATICATYPE
-_CURSORFACTORY.fields_by_name['style'].enum_type = _CURSORFACTORY_STYLE
-_CURSORFACTORY_STYLE.containing_type = _CURSORFACTORY
-_FRAME.fields_by_name['rows'].message_type = _ROW
-_ROW.fields_by_name['value'].message_type = _COLUMNVALUE
-_COLUMNVALUE.fields_by_name['value'].message_type = _TYPEDVALUE
-_COLUMNVALUE.fields_by_name['array_value'].message_type = _TYPEDVALUE
-_COLUMNVALUE.fields_by_name['scalar_value'].message_type = _TYPEDVALUE
-_TYPEDVALUE.fields_by_name['type'].enum_type = _REP
-_TYPEDVALUE.fields_by_name['array_value'].message_type = _TYPEDVALUE
-_TYPEDVALUE.fields_by_name['component_type'].enum_type = _REP
-_METADATAOPERATIONARGUMENT.fields_by_name['type'].enum_type = _METADATAOPERATIONARGUMENT_ARGUMENTTYPE
-_METADATAOPERATIONARGUMENT_ARGUMENTTYPE.containing_type = _METADATAOPERATIONARGUMENT
-_QUERYSTATE.fields_by_name['type'].enum_type = _STATETYPE
-_QUERYSTATE.fields_by_name['op'].enum_type = _METADATAOPERATION
-_QUERYSTATE.fields_by_name['args'].message_type = _METADATAOPERATIONARGUMENT
-DESCRIPTOR.message_types_by_name['ConnectionProperties'] = _CONNECTIONPROPERTIES
-DESCRIPTOR.message_types_by_name['StatementHandle'] = _STATEMENTHANDLE
-DESCRIPTOR.message_types_by_name['Signature'] = _SIGNATURE
-DESCRIPTOR.message_types_by_name['ColumnMetaData'] = _COLUMNMETADATA
-DESCRIPTOR.message_types_by_name['AvaticaType'] = _AVATICATYPE
-DESCRIPTOR.message_types_by_name['AvaticaParameter'] = _AVATICAPARAMETER
-DESCRIPTOR.message_types_by_name['CursorFactory'] = _CURSORFACTORY
-DESCRIPTOR.message_types_by_name['Frame'] = _FRAME
-DESCRIPTOR.message_types_by_name['Row'] = _ROW
-DESCRIPTOR.message_types_by_name['DatabaseProperty'] = _DATABASEPROPERTY
-DESCRIPTOR.message_types_by_name['WireMessage'] = _WIREMESSAGE
-DESCRIPTOR.message_types_by_name['ColumnValue'] = _COLUMNVALUE
-DESCRIPTOR.message_types_by_name['TypedValue'] = _TYPEDVALUE
-DESCRIPTOR.message_types_by_name['MetaDataOperationArgument'] = _METADATAOPERATIONARGUMENT
-DESCRIPTOR.message_types_by_name['QueryState'] = _QUERYSTATE
-DESCRIPTOR.enum_types_by_name['StatementType'] = _STATEMENTTYPE
-DESCRIPTOR.enum_types_by_name['Rep'] = _REP
-DESCRIPTOR.enum_types_by_name['Severity'] = _SEVERITY
-DESCRIPTOR.enum_types_by_name['MetaDataOperation'] = _METADATAOPERATION
-DESCRIPTOR.enum_types_by_name['StateType'] = _STATETYPE
-
-ConnectionProperties = _reflection.GeneratedProtocolMessageType('ConnectionProperties', (_message.Message,), dict(
-  DESCRIPTOR = _CONNECTIONPROPERTIES,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:ConnectionProperties)
-  ))
-_sym_db.RegisterMessage(ConnectionProperties)
-
-StatementHandle = _reflection.GeneratedProtocolMessageType('StatementHandle', (_message.Message,), dict(
-  DESCRIPTOR = _STATEMENTHANDLE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:StatementHandle)
-  ))
-_sym_db.RegisterMessage(StatementHandle)
-
-Signature = _reflection.GeneratedProtocolMessageType('Signature', (_message.Message,), dict(
-  DESCRIPTOR = _SIGNATURE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:Signature)
-  ))
-_sym_db.RegisterMessage(Signature)
-
-ColumnMetaData = _reflection.GeneratedProtocolMessageType('ColumnMetaData', (_message.Message,), dict(
-  DESCRIPTOR = _COLUMNMETADATA,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:ColumnMetaData)
-  ))
-_sym_db.RegisterMessage(ColumnMetaData)
-
-AvaticaType = _reflection.GeneratedProtocolMessageType('AvaticaType', (_message.Message,), dict(
-  DESCRIPTOR = _AVATICATYPE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:AvaticaType)
-  ))
-_sym_db.RegisterMessage(AvaticaType)
-
-AvaticaParameter = _reflection.GeneratedProtocolMessageType('AvaticaParameter', (_message.Message,), dict(
-  DESCRIPTOR = _AVATICAPARAMETER,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:AvaticaParameter)
-  ))
-_sym_db.RegisterMessage(AvaticaParameter)
-
-CursorFactory = _reflection.GeneratedProtocolMessageType('CursorFactory', (_message.Message,), dict(
-  DESCRIPTOR = _CURSORFACTORY,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:CursorFactory)
-  ))
-_sym_db.RegisterMessage(CursorFactory)
-
-Frame = _reflection.GeneratedProtocolMessageType('Frame', (_message.Message,), dict(
-  DESCRIPTOR = _FRAME,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:Frame)
-  ))
-_sym_db.RegisterMessage(Frame)
-
-Row = _reflection.GeneratedProtocolMessageType('Row', (_message.Message,), dict(
-  DESCRIPTOR = _ROW,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:Row)
-  ))
-_sym_db.RegisterMessage(Row)
-
-DatabaseProperty = _reflection.GeneratedProtocolMessageType('DatabaseProperty', (_message.Message,), dict(
-  DESCRIPTOR = _DATABASEPROPERTY,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:DatabaseProperty)
-  ))
-_sym_db.RegisterMessage(DatabaseProperty)
-
-WireMessage = _reflection.GeneratedProtocolMessageType('WireMessage', (_message.Message,), dict(
-  DESCRIPTOR = _WIREMESSAGE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:WireMessage)
-  ))
-_sym_db.RegisterMessage(WireMessage)
-
-ColumnValue = _reflection.GeneratedProtocolMessageType('ColumnValue', (_message.Message,), dict(
-  DESCRIPTOR = _COLUMNVALUE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:ColumnValue)
-  ))
-_sym_db.RegisterMessage(ColumnValue)
-
-TypedValue = _reflection.GeneratedProtocolMessageType('TypedValue', (_message.Message,), dict(
-  DESCRIPTOR = _TYPEDVALUE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:TypedValue)
-  ))
-_sym_db.RegisterMessage(TypedValue)
-
-MetaDataOperationArgument = _reflection.GeneratedProtocolMessageType('MetaDataOperationArgument', (_message.Message,), dict(
-  DESCRIPTOR = _METADATAOPERATIONARGUMENT,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:MetaDataOperationArgument)
-  ))
-_sym_db.RegisterMessage(MetaDataOperationArgument)
-
-QueryState = _reflection.GeneratedProtocolMessageType('QueryState', (_message.Message,), dict(
-  DESCRIPTOR = _QUERYSTATE,
-  __module__ = 'common_pb2'
-  # @@protoc_insertion_point(class_scope:QueryState)
-  ))
-_sym_db.RegisterMessage(QueryState)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n org.apache.calcite.avatica.proto'))
-# @@protoc_insertion_point(module_scope)


Mime
View raw message