# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from _qwak_proto.qwak.analytics import analytics_service_pb2 as qwak_dot_analytics_dot_analytics__service__pb2


class AnalyticsQueryServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.Query = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/Query',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.QueryRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.QueryResponse.FromString,
                )
        self.ExecuteDdlQuery = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/ExecuteDdlQuery',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryResponse.FromString,
                )
        self.GetQueryResultsPage = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/GetQueryResultsPage',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageResponse.FromString,
                )
        self.GetQueryStatus = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/GetQueryStatus',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusResponse.FromString,
                )
        self.DescribeTable = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/DescribeTable',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableResponse.FromString,
                )
        self.ListTables = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/ListTables',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.ListTableRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.ListTableResponse.FromString,
                )
        self.CreateTable = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/CreateTable',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateTableRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateTableResponse.FromString,
                )
        self.GetQueryResultDownloadURL = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/GetQueryResultDownloadURL',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLResponse.FromString,
                )
        self.OptimizeTable = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/OptimizeTable',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableResponse.FromString,
                )
        self.CreateDatabase = channel.unary_unary(
                '/qwak.analytics.AnalyticsQueryService/CreateDatabase',
                request_serializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseRequest.SerializeToString,
                response_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseResponse.FromString,
                )


class AnalyticsQueryServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def Query(self, request, context):
        """Initiates a query request from the user. Returns a query ID which the client should start subscribing on
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteDdlQuery(self, request, context):
        """Executing ddl query and waiting for the execution to finish
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetQueryResultsPage(self, request, context):
        """Fetch the query results page of a submitted query
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetQueryStatus(self, request, context):
        """Get Query status of a submitted query
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DescribeTable(self, request, context):
        """Describe table - shows its list of column names and types
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListTables(self, request, context):
        """List all table names in the system
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateTable(self, request, context):
        """Creates table
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetQueryResultDownloadURL(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OptimizeTable(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateDatabase(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_AnalyticsQueryServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Query': grpc.unary_unary_rpc_method_handler(
                    servicer.Query,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.QueryRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.QueryResponse.SerializeToString,
            ),
            'ExecuteDdlQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteDdlQuery,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryResponse.SerializeToString,
            ),
            'GetQueryResultsPage': grpc.unary_unary_rpc_method_handler(
                    servicer.GetQueryResultsPage,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageResponse.SerializeToString,
            ),
            'GetQueryStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetQueryStatus,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusResponse.SerializeToString,
            ),
            'DescribeTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DescribeTable,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableResponse.SerializeToString,
            ),
            'ListTables': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTables,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.ListTableRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.ListTableResponse.SerializeToString,
            ),
            'CreateTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTable,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateTableRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateTableResponse.SerializeToString,
            ),
            'GetQueryResultDownloadURL': grpc.unary_unary_rpc_method_handler(
                    servicer.GetQueryResultDownloadURL,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLResponse.SerializeToString,
            ),
            'OptimizeTable': grpc.unary_unary_rpc_method_handler(
                    servicer.OptimizeTable,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableResponse.SerializeToString,
            ),
            'CreateDatabase': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateDatabase,
                    request_deserializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseRequest.FromString,
                    response_serializer=qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'qwak.analytics.AnalyticsQueryService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class AnalyticsQueryService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def Query(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/Query',
            qwak_dot_analytics_dot_analytics__service__pb2.QueryRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.QueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteDdlQuery(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/ExecuteDdlQuery',
            qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.ExecuteDdlQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetQueryResultsPage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/GetQueryResultsPage',
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultsPageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetQueryStatus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/GetQueryStatus',
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryStatusResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DescribeTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/DescribeTable',
            qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.DescribeTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListTables(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/ListTables',
            qwak_dot_analytics_dot_analytics__service__pb2.ListTableRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.ListTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/CreateTable',
            qwak_dot_analytics_dot_analytics__service__pb2.CreateTableRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.CreateTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetQueryResultDownloadURL(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/GetQueryResultDownloadURL',
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.GetQueryResultDownloadURLResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OptimizeTable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/OptimizeTable',
            qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.OptimizeTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateDatabase(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/qwak.analytics.AnalyticsQueryService/CreateDatabase',
            qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseRequest.SerializeToString,
            qwak_dot_analytics_dot_analytics__service__pb2.CreateDatabaseResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
