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

from ydb.public.api.protos import ydb_table_pb2 as ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateSession = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CreateSession',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.FromString,
                )
        self.DeleteSession = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DeleteSession',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.FromString,
                )
        self.KeepAlive = channel.unary_unary(
                '/Ydb.Table.V1.TableService/KeepAlive',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.FromString,
                )
        self.CreateTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CreateTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.FromString,
                )
        self.DropTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DropTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.FromString,
                )
        self.AlterTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/AlterTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.FromString,
                )
        self.CopyTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CopyTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.FromString,
                )
        self.CopyTables = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CopyTables',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.FromString,
                )
        self.RenameTables = channel.unary_unary(
                '/Ydb.Table.V1.TableService/RenameTables',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.FromString,
                )
        self.DescribeTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DescribeTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.FromString,
                )
        self.ExplainDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExplainDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.FromString,
                )
        self.PrepareDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/PrepareDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.FromString,
                )
        self.ExecuteDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExecuteDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.FromString,
                )
        self.ExecuteSchemeQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExecuteSchemeQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.FromString,
                )
        self.BeginTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/BeginTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.FromString,
                )
        self.CommitTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CommitTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.FromString,
                )
        self.RollbackTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/RollbackTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.FromString,
                )
        self.DescribeTableOptions = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DescribeTableOptions',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.FromString,
                )
        self.StreamReadTable = channel.unary_stream(
                '/Ydb.Table.V1.TableService/StreamReadTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.FromString,
                )
        self.BulkUpsert = channel.unary_unary(
                '/Ydb.Table.V1.TableService/BulkUpsert',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.FromString,
                )
        self.StreamExecuteScanQuery = channel.unary_stream(
                '/Ydb.Table.V1.TableService/StreamExecuteScanQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.FromString,
                )


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

    def CreateSession(self, request, context):
        """Create new session. Implicit session creation is forbidden,
        so user must create new session before execute any query,
        otherwise BAD_SESSION status will be returned.
        Simultaneous execution of requests are forbiden.
        Sessions are volatile, can be invalidated by server, for example in case
        of fatal errors. All requests with this session will fail with BAD_SESSION status.
        So, client must be able to handle BAD_SESSION status.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSession(self, request, context):
        """Ends a session, releasing server resources associated with it.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeepAlive(self, request, context):
        """Idle sessions can be kept alive by calling KeepAlive periodically.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

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

    def AlterTable(self, request, context):
        """Modifies schema of given table.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def CopyTables(self, request, context):
        """Creates consistent copy of given tables.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RenameTables(self, request, context):
        """Creates consistent move of given tables.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DescribeTable(self, request, context):
        """Returns information about given table (metadata).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExplainDataQuery(self, request, context):
        """Explains data query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PrepareDataQuery(self, request, context):
        """Prepares data query, returns query id.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteDataQuery(self, request, context):
        """Executes data query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteSchemeQuery(self, request, context):
        """Executes scheme query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BeginTransaction(self, request, context):
        """Begins new transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CommitTransaction(self, request, context):
        """Commits specified active transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RollbackTransaction(self, request, context):
        """Performs a rollback of the specified active transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DescribeTableOptions(self, request, context):
        """Describe supported table options.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def BulkUpsert(self, request, context):
        """Upserts a batch of rows non-transactionally.
        Returns success only when all rows were successfully upserted. In case of an error some rows might
        be upserted and some might not.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamExecuteScanQuery(self, request, context):
        """Executes scan query with streaming result.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_TableServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateSession': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSession,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.SerializeToString,
            ),
            'DeleteSession': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSession,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.SerializeToString,
            ),
            'KeepAlive': grpc.unary_unary_rpc_method_handler(
                    servicer.KeepAlive,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.SerializeToString,
            ),
            'CreateTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.SerializeToString,
            ),
            'DropTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DropTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.SerializeToString,
            ),
            'AlterTable': grpc.unary_unary_rpc_method_handler(
                    servicer.AlterTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.SerializeToString,
            ),
            'CopyTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CopyTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.SerializeToString,
            ),
            'CopyTables': grpc.unary_unary_rpc_method_handler(
                    servicer.CopyTables,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.SerializeToString,
            ),
            'RenameTables': grpc.unary_unary_rpc_method_handler(
                    servicer.RenameTables,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.SerializeToString,
            ),
            'DescribeTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DescribeTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.SerializeToString,
            ),
            'ExplainDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExplainDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.SerializeToString,
            ),
            'PrepareDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.PrepareDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.SerializeToString,
            ),
            'ExecuteDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.SerializeToString,
            ),
            'ExecuteSchemeQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteSchemeQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.SerializeToString,
            ),
            'BeginTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.BeginTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.SerializeToString,
            ),
            'CommitTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.CommitTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.SerializeToString,
            ),
            'RollbackTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.RollbackTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.SerializeToString,
            ),
            'DescribeTableOptions': grpc.unary_unary_rpc_method_handler(
                    servicer.DescribeTableOptions,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.SerializeToString,
            ),
            'StreamReadTable': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamReadTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.SerializeToString,
            ),
            'BulkUpsert': grpc.unary_unary_rpc_method_handler(
                    servicer.BulkUpsert,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.SerializeToString,
            ),
            'StreamExecuteScanQuery': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamExecuteScanQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'Ydb.Table.V1.TableService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateSession(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, '/Ydb.Table.V1.TableService/CreateSession',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSession(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, '/Ydb.Table.V1.TableService/DeleteSession',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeepAlive(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, '/Ydb.Table.V1.TableService/KeepAlive',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.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, '/Ydb.Table.V1.TableService/CreateTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DropTable(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, '/Ydb.Table.V1.TableService/DropTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AlterTable(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, '/Ydb.Table.V1.TableService/AlterTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CopyTable(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, '/Ydb.Table.V1.TableService/CopyTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CopyTables(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, '/Ydb.Table.V1.TableService/CopyTables',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RenameTables(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, '/Ydb.Table.V1.TableService/RenameTables',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.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, '/Ydb.Table.V1.TableService/DescribeTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExplainDataQuery(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, '/Ydb.Table.V1.TableService/ExplainDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PrepareDataQuery(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, '/Ydb.Table.V1.TableService/PrepareDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteDataQuery(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, '/Ydb.Table.V1.TableService/ExecuteDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteSchemeQuery(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, '/Ydb.Table.V1.TableService/ExecuteSchemeQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BeginTransaction(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, '/Ydb.Table.V1.TableService/BeginTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CommitTransaction(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, '/Ydb.Table.V1.TableService/CommitTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RollbackTransaction(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, '/Ydb.Table.V1.TableService/RollbackTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DescribeTableOptions(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, '/Ydb.Table.V1.TableService/DescribeTableOptions',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamReadTable(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_stream(request, target, '/Ydb.Table.V1.TableService/StreamReadTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BulkUpsert(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, '/Ydb.Table.V1.TableService/BulkUpsert',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamExecuteScanQuery(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_stream(request, target, '/Ydb.Table.V1.TableService/StreamExecuteScanQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

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

from ydb.public.api.protos import ydb_table_pb2 as ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.CreateSession = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CreateSession',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.FromString,
                )
        self.DeleteSession = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DeleteSession',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.FromString,
                )
        self.KeepAlive = channel.unary_unary(
                '/Ydb.Table.V1.TableService/KeepAlive',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.FromString,
                )
        self.CreateTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CreateTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.FromString,
                )
        self.DropTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DropTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.FromString,
                )
        self.AlterTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/AlterTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.FromString,
                )
        self.CopyTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CopyTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.FromString,
                )
        self.CopyTables = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CopyTables',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.FromString,
                )
        self.RenameTables = channel.unary_unary(
                '/Ydb.Table.V1.TableService/RenameTables',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.FromString,
                )
        self.DescribeTable = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DescribeTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.FromString,
                )
        self.ExplainDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExplainDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.FromString,
                )
        self.PrepareDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/PrepareDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.FromString,
                )
        self.ExecuteDataQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExecuteDataQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.FromString,
                )
        self.ExecuteSchemeQuery = channel.unary_unary(
                '/Ydb.Table.V1.TableService/ExecuteSchemeQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.FromString,
                )
        self.BeginTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/BeginTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.FromString,
                )
        self.CommitTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/CommitTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.FromString,
                )
        self.RollbackTransaction = channel.unary_unary(
                '/Ydb.Table.V1.TableService/RollbackTransaction',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.FromString,
                )
        self.DescribeTableOptions = channel.unary_unary(
                '/Ydb.Table.V1.TableService/DescribeTableOptions',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.FromString,
                )
        self.StreamReadTable = channel.unary_stream(
                '/Ydb.Table.V1.TableService/StreamReadTable',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.FromString,
                )
        self.BulkUpsert = channel.unary_unary(
                '/Ydb.Table.V1.TableService/BulkUpsert',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.FromString,
                )
        self.StreamExecuteScanQuery = channel.unary_stream(
                '/Ydb.Table.V1.TableService/StreamExecuteScanQuery',
                request_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.SerializeToString,
                response_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.FromString,
                )


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

    def CreateSession(self, request, context):
        """Create new session. Implicit session creation is forbidden,
        so user must create new session before execute any query,
        otherwise BAD_SESSION status will be returned.
        Simultaneous execution of requests are forbiden.
        Sessions are volatile, can be invalidated by server, for example in case
        of fatal errors. All requests with this session will fail with BAD_SESSION status.
        So, client must be able to handle BAD_SESSION status.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteSession(self, request, context):
        """Ends a session, releasing server resources associated with it.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def KeepAlive(self, request, context):
        """Idle sessions can be kept alive by calling KeepAlive periodically.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

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

    def AlterTable(self, request, context):
        """Modifies schema of given table.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def CopyTables(self, request, context):
        """Creates consistent copy of given tables.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RenameTables(self, request, context):
        """Creates consistent move of given tables.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DescribeTable(self, request, context):
        """Returns information about given table (metadata).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExplainDataQuery(self, request, context):
        """Explains data query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PrepareDataQuery(self, request, context):
        """Prepares data query, returns query id.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteDataQuery(self, request, context):
        """Executes data query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExecuteSchemeQuery(self, request, context):
        """Executes scheme query.
        SessionId of previously created session must be provided.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BeginTransaction(self, request, context):
        """Begins new transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CommitTransaction(self, request, context):
        """Commits specified active transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RollbackTransaction(self, request, context):
        """Performs a rollback of the specified active transaction.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DescribeTableOptions(self, request, context):
        """Describe supported table options.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def BulkUpsert(self, request, context):
        """Upserts a batch of rows non-transactionally.
        Returns success only when all rows were successfully upserted. In case of an error some rows might
        be upserted and some might not.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamExecuteScanQuery(self, request, context):
        """Executes scan query with streaming result.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_TableServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'CreateSession': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSession,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.SerializeToString,
            ),
            'DeleteSession': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteSession,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.SerializeToString,
            ),
            'KeepAlive': grpc.unary_unary_rpc_method_handler(
                    servicer.KeepAlive,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.SerializeToString,
            ),
            'CreateTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.SerializeToString,
            ),
            'DropTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DropTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.SerializeToString,
            ),
            'AlterTable': grpc.unary_unary_rpc_method_handler(
                    servicer.AlterTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.SerializeToString,
            ),
            'CopyTable': grpc.unary_unary_rpc_method_handler(
                    servicer.CopyTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.SerializeToString,
            ),
            'CopyTables': grpc.unary_unary_rpc_method_handler(
                    servicer.CopyTables,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.SerializeToString,
            ),
            'RenameTables': grpc.unary_unary_rpc_method_handler(
                    servicer.RenameTables,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.SerializeToString,
            ),
            'DescribeTable': grpc.unary_unary_rpc_method_handler(
                    servicer.DescribeTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.SerializeToString,
            ),
            'ExplainDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExplainDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.SerializeToString,
            ),
            'PrepareDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.PrepareDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.SerializeToString,
            ),
            'ExecuteDataQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteDataQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.SerializeToString,
            ),
            'ExecuteSchemeQuery': grpc.unary_unary_rpc_method_handler(
                    servicer.ExecuteSchemeQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.SerializeToString,
            ),
            'BeginTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.BeginTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.SerializeToString,
            ),
            'CommitTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.CommitTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.SerializeToString,
            ),
            'RollbackTransaction': grpc.unary_unary_rpc_method_handler(
                    servicer.RollbackTransaction,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.SerializeToString,
            ),
            'DescribeTableOptions': grpc.unary_unary_rpc_method_handler(
                    servicer.DescribeTableOptions,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.SerializeToString,
            ),
            'StreamReadTable': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamReadTable,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.SerializeToString,
            ),
            'BulkUpsert': grpc.unary_unary_rpc_method_handler(
                    servicer.BulkUpsert,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.SerializeToString,
            ),
            'StreamExecuteScanQuery': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamExecuteScanQuery,
                    request_deserializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.FromString,
                    response_serializer=ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'Ydb.Table.V1.TableService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def CreateSession(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, '/Ydb.Table.V1.TableService/CreateSession',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateSessionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteSession(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, '/Ydb.Table.V1.TableService/DeleteSession',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DeleteSessionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def KeepAlive(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, '/Ydb.Table.V1.TableService/KeepAlive',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.KeepAliveResponse.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, '/Ydb.Table.V1.TableService/CreateTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CreateTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DropTable(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, '/Ydb.Table.V1.TableService/DropTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DropTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AlterTable(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, '/Ydb.Table.V1.TableService/AlterTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.AlterTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CopyTable(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, '/Ydb.Table.V1.TableService/CopyTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CopyTables(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, '/Ydb.Table.V1.TableService/CopyTables',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CopyTablesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RenameTables(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, '/Ydb.Table.V1.TableService/RenameTables',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RenameTablesResponse.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, '/Ydb.Table.V1.TableService/DescribeTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExplainDataQuery(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, '/Ydb.Table.V1.TableService/ExplainDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExplainDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PrepareDataQuery(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, '/Ydb.Table.V1.TableService/PrepareDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.PrepareDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteDataQuery(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, '/Ydb.Table.V1.TableService/ExecuteDataQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteDataQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExecuteSchemeQuery(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, '/Ydb.Table.V1.TableService/ExecuteSchemeQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteSchemeQueryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BeginTransaction(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, '/Ydb.Table.V1.TableService/BeginTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BeginTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CommitTransaction(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, '/Ydb.Table.V1.TableService/CommitTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.CommitTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RollbackTransaction(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, '/Ydb.Table.V1.TableService/RollbackTransaction',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.RollbackTransactionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DescribeTableOptions(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, '/Ydb.Table.V1.TableService/DescribeTableOptions',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.DescribeTableOptionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamReadTable(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_stream(request, target, '/Ydb.Table.V1.TableService/StreamReadTable',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ReadTableResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BulkUpsert(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, '/Ydb.Table.V1.TableService/BulkUpsert',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.BulkUpsertResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamExecuteScanQuery(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_stream(request, target, '/Ydb.Table.V1.TableService/StreamExecuteScanQuery',
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryRequest.SerializeToString,
            ydb_dot_public_dot_api_dot_protos_dot_ydb__table__pb2.ExecuteScanQueryPartialResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! Client and server classes corresponding to protobuf-defined services. Missing associated documentation comment in .proto file. Constructor.          Args:             channel: A grpc.Channel. Missing associated documentation comment in .proto file. Create new session. Implicit session creation is forbidden,         so user must create new session before execute any query,         otherwise BAD_SESSION status will be returned.         Simultaneous execution of requests are forbiden.         Sessions are volatile, can be invalidated by server, for example in case         of fatal errors. All requests with this session will fail with BAD_SESSION status.         So, client must be able to handle BAD_SESSION status. Ends a session, releasing server resources associated with it. Idle sessions can be kept alive by calling KeepAlive periodically. Creates new table. Drop table. Modifies schema of given table. Creates copy of given table. Creates consistent copy of given tables. Creates consistent move of given tables. Returns information about given table (metadata). Explains data query.         SessionId of previously created session must be provided. Prepares data query, returns query id.         SessionId of previously created session must be provided. Executes data query.         SessionId of previously created session must be provided. Executes scheme query.         SessionId of previously created session must be provided. Begins new transaction. Commits specified active transaction. Performs a rollback of the specified active transaction. Describe supported table options. Streaming read table Upserts a batch of rows non-transactionally.         Returns success only when all rows were successfully upserted. In case of an error some rows might         be upserted and some might not. Executes scan query with streaming result. # This class is part of an EXPERIMENTAL API. Missing associated documentation comment in .proto file.