From 198999bada086f9b75ca82bc491cd61bce8a36a8 Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 20 Mar 2023 18:22:56 +0100 Subject: [PATCH 1/6] Prepare upgrade to proto 0.15.0 --- cottontaildb_client/cottontail_pb2.py | 419 +++++++++++---------- cottontaildb_client/cottontail_pb2_grpc.py | 118 ++++-- cottontaildb_client/cottontaildb_client.py | 61 +-- tests/test_cottontaildb_client.py | 4 +- 4 files changed, 339 insertions(+), 263 deletions(-) diff --git a/cottontaildb_client/cottontail_pb2.py b/cottontaildb_client/cottontail_pb2.py index 55c936a..222d498 100644 --- a/cottontaildb_client/cottontail_pb2.py +++ b/cottontaildb_client/cottontail_pb2.py @@ -16,10 +16,12 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x63ottontail.proto\x12\x1borg.vitrivr.cottontail.grpc\x1a\x1bgoogle/protobuf/empty.proto\"\x1a\n\nSchemaName\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x46unctionName\x12\x0c\n\x04name\x18\x01 \x01(\t\"S\n\nEntityName\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\x12\x0c\n\x04name\x18\x02 \x01(\t\"R\n\tIndexName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\nColumnName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"c\n\x08Metadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x0f\n\x07queryId\x18\x02 \x01(\t\x12/\n\x04hint\x18\x03 \x03(\x0b\x32!.org.vitrivr.cottontail.grpc.Hint\"\x84\x03\n\x07Literal\x12\x15\n\x0b\x62ooleanData\x18\x01 \x01(\x08H\x00\x12\x11\n\x07intData\x18\x02 \x01(\x05H\x00\x12\x12\n\x08longData\x18\x03 \x01(\x03H\x00\x12\x13\n\tfloatData\x18\x04 \x01(\x02H\x00\x12\x14\n\ndoubleData\x18\x05 \x01(\x01H\x00\x12\x14\n\nstringData\x18\x06 \x01(\tH\x00\x12\x35\n\x08\x64\x61teData\x18\x07 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.DateH\x00\x12?\n\rcomplex32Data\x18\x08 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32H\x00\x12?\n\rcomplex64Data\x18\t \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64H\x00\x12\x39\n\nvectorData\x18\n \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.VectorH\x00\x42\x06\n\x04\x64\x61ta\"\xc2\x01\n\nExpression\x12\x37\n\x07literal\x18\x01 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.LiteralH\x00\x12\x39\n\x06\x63olumn\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnNameH\x00\x12\x39\n\x08\x66unction\x18\x03 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.FunctionH\x00\x42\x05\n\x03\x65xp\"\x7f\n\x08\x46unction\x12\x37\n\x04name\x18\x01 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.FunctionName\x12:\n\targuments\x18\x02 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"J\n\x0b\x45xpressions\x12;\n\nexpression\x18\x01 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xe7\x03\n\x06Vector\x12?\n\x0b\x66loatVector\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.FloatVectorH\x00\x12\x41\n\x0c\x64oubleVector\x18\x02 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.DoubleVectorH\x00\x12;\n\tintVector\x18\x03 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IntVectorH\x00\x12=\n\nlongVector\x18\x04 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.LongVectorH\x00\x12=\n\nboolVector\x18\x05 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.BoolVectorH\x00\x12G\n\x0f\x63omplex32Vector\x18\x06 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex32VectorH\x00\x12G\n\x0f\x63omplex64Vector\x18\x07 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex64VectorH\x00\x42\x0c\n\nvectorData\"\x06\n\x04Null\"\x1d\n\x04\x44\x61te\x12\x15\n\rutc_timestamp\x18\x01 \x01(\x03\",\n\tComplex32\x12\x0c\n\x04real\x18\x01 \x01(\x02\x12\x11\n\timaginary\x18\x02 \x01(\x02\",\n\tComplex64\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"\x1d\n\x0b\x46loatVector\x12\x0e\n\x06vector\x18\x01 \x03(\x02\"\x1e\n\x0c\x44oubleVector\x12\x0e\n\x06vector\x18\x01 \x03(\x01\"\x1b\n\tIntVector\x12\x0e\n\x06vector\x18\x01 \x03(\x05\"\x1c\n\nLongVector\x12\x0e\n\x06vector\x18\x01 \x03(\x03\"\x1c\n\nBoolVector\x12\x0e\n\x06vector\x18\x01 \x03(\x08\"I\n\x0f\x43omplex32Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32\"I\n\x0f\x43omplex64Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64\"\x87\x01\n\x13\x43reateSchemaMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\x85\x01\n\x11\x44ropSchemaMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"L\n\x11ListSchemaMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\"\x91\x01\n\x13\x43reateEntityMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x41\n\ndefinition\x18\x02 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.EntityDefinition\"\x85\x01\n\x11\x44ropEntityMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x89\x01\n\x15TruncateEntityMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x89\x01\n\x15OptimizeEntityMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x88\x01\n\x14\x45ntityDetailsMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x85\x01\n\x11ListEntityMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\xed\x02\n\x12\x43reateIndexMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexType\x12\x11\n\tindexName\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12K\n\x06params\x18\x06 \x03(\x0b\x32;.org.vitrivr.cottontail.grpc.CreateIndexMessage.ParamsEntry\x12\x0f\n\x07rebuild\x18\x07 \x01(\x08\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x82\x01\n\x10\x44ropIndexMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x85\x01\n\x13RebuildIndexMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\xad\x01\n\x10\x43olumnDefinition\x12\x35\n\x04name\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12/\n\x04type\x18\x02 \x01(\x0e\x32!.org.vitrivr.cottontail.grpc.Type\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0f\n\x07primary\x18\x04 \x01(\x08\x12\x10\n\x08nullable\x18\x05 \x01(\x08\"\x8b\x01\n\x10\x45ntityDefinition\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\"\xc4\x02\n\rInsertMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12J\n\x08\x65lements\x18\x03 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.InsertMessage.InsertElement\x1a}\n\rInsertElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xc1\x02\n\x12\x42\x61tchInsertMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12G\n\x07inserts\x18\x04 \x03(\x0b\x32\x36.org.vitrivr.cottontail.grpc.BatchInsertMessage.Insert\x1a>\n\x06Insert\x12\x34\n\x06values\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xfa\x02\n\rUpdateMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12I\n\x07updates\x18\x04 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.UpdateMessage.UpdateElement\x1a\x80\x01\n\rUpdateElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xac\x01\n\rDeleteMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\"z\n\x0cQueryMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12\x31\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Query\"\xf8\x01\n\x05Query\x12/\n\x04\x66rom\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12;\n\nprojection\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Projection\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12\x31\n\x05order\x18\x04 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Order\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x0c\n\x04skip\x18\x06 \x01(\x04\"\x95\x02\n\x14QueryResponseMessage\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.Metadata\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\x12G\n\x06tuples\x18\x03 \x03(\x0b\x32\x37.org.vitrivr.cottontail.grpc.QueryResponseMessage.Tuple\x1a;\n\x05Tuple\x12\x32\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xb1\x01\n\x04\x46rom\x12\x31\n\x04scan\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.ScanH\x00\x12\x35\n\x06sample\x18\x02 \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.SampleH\x00\x12\x37\n\tsubSelect\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\x06\n\x04\x66rom\"[\n\x04Scan\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05start\x18\x02 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x03 \x01(\x03\"d\n\x06Sample\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04seed\x18\x02 \x01(\x03\x12\x13\n\x0bprobability\x18\x03 \x01(\x02\"\xb6\x03\n\nProjection\x12G\n\x02op\x18\x01 \x01(\x0e\x32;.org.vitrivr.cottontail.grpc.Projection.ProjectionOperation\x12K\n\x08\x65lements\x18\x02 \x03(\x0b\x32\x39.org.vitrivr.cottontail.grpc.Projection.ProjectionElement\x1a\x88\x01\n\x11ProjectionElement\x12\x36\n\x05\x61lias\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12;\n\nexpression\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\x86\x01\n\x13ProjectionOperation\x12\n\n\x06SELECT\x10\x00\x12\x13\n\x0fSELECT_DISTINCT\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\n\n\x06\x45XISTS\x10\x04\x12\x07\n\x03SUM\x10\x05\x12\x07\n\x03MAX\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x08\n\x04MEAN\x10\x08\"\xa6\x01\n\x05Where\x12\x45\n\x06\x61tomic\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12I\n\x08\x63ompound\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x42\x0b\n\tpredicate\"\xdb\x01\n\x16\x41tomicBooleanPredicate\x12\x35\n\x04left\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12@\n\x05right\x18\x02 \x01(\x0b\x32\x31.org.vitrivr.cottontail.grpc.AtomicBooleanOperand\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ComparisonOperator\x12\x0b\n\x03not\x18\x04 \x01(\x08\"\x97\x01\n\x14\x41tomicBooleanOperand\x12?\n\x0b\x65xpressions\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.ExpressionsH\x00\x12\x33\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\t\n\x07operand\"\x86\x03\n\x18\x43ompoundBooleanPredicate\x12\x44\n\x05\x61left\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12\x46\n\x05\x63left\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ConnectionOperator\x12\x45\n\x06\x61right\x18\x04 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x01\x12G\n\x06\x63right\x18\x05 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x01\x42\x06\n\x04leftB\x07\n\x05right\"\xfd\x01\n\x05Order\x12@\n\ncomponents\x18\x01 \x03(\x0b\x32,.org.vitrivr.cottontail.grpc.Order.Component\x1a\x85\x01\n\tComponent\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12?\n\tdirection\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.Order.Direction\"*\n\tDirection\x12\r\n\tASCENDING\x10\x00\x12\x0e\n\nDESCENDING\x10\x01\"\xcf\x04\n\x04Hint\x12\x44\n\x0bnoIndexHint\x18\x01 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.Hint.NoIndexHintH\x00\x12M\n\x11parallelIndexHint\x18\x02 \x01(\x0b\x32\x30.org.vitrivr.cottontail.grpc.Hint.NoParallelHintH\x00\x12\x42\n\npolicyHint\x18\x03 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Hint.PolicyHintH\x00\x12\x44\n\rnameIndexHint\x18\x04 \x01(\x0b\x32+.org.vitrivr.cottontail.grpc.Hint.IndexHintH\x00\x1a\x10\n\x0eNoParallelHint\x1a\r\n\x0bNoIndexHint\x1a\x9d\x01\n\tIndexHint\x12\x0c\n\x04name\x18\x01 \x01(\t\x12O\n\nparameters\x18\x02 \x03(\x0b\x32;.org.vitrivr.cottontail.grpc.Hint.IndexHint.ParametersEntry\x1a\x31\n\x0fParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a_\n\nPolicyHint\x12\x10\n\x08weightIo\x18\x01 \x01(\x02\x12\x11\n\tweightCpu\x18\x02 \x01(\x02\x12\x14\n\x0cweightMemory\x18\x03 \x01(\x02\x12\x16\n\x0eweightAccuracy\x18\x04 \x01(\x02\x42\x06\n\x04hint*J\n\tIndexType\x12\t\n\x05\x42TREE\x10\x00\x12\x0c\n\x08\x42TREE_UQ\x10\x01\x12\n\n\x06LUCENE\x10\x02\x12\x07\n\x03VAF\x10\x03\x12\x06\n\x02PQ\x10\x04\x12\x07\n\x03LSH\x10\x05*\x82\x02\n\x04Type\x12\x0b\n\x07\x42OOLEAN\x10\x00\x12\x08\n\x04\x42YTE\x10\x01\x12\t\n\x05SHORT\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x08\n\x04LONG\x10\x04\x12\t\n\x05\x46LOAT\x10\x05\x12\n\n\x06\x44OUBLE\x10\x06\x12\x08\n\x04\x44\x41TE\x10\x07\x12\n\n\x06STRING\x10\x08\x12\r\n\tCOMPLEX32\x10\t\x12\r\n\tCOMPLEX64\x10\n\x12\x0e\n\nDOUBLE_VEC\x10\x0b\x12\r\n\tFLOAT_VEC\x10\x0c\x12\x0c\n\x08LONG_VEC\x10\r\x12\x0b\n\x07INT_VEC\x10\x0e\x12\x0c\n\x08\x42OOL_VEC\x10\x0f\x12\x11\n\rCOMPLEX32_VEC\x10\x10\x12\x11\n\rCOMPLEX64_VEC\x10\x11\x12\x08\n\x04\x42LOB\x10\x12*y\n\x12\x43omparisonOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x0b\n\x07GREATER\x10\x01\x12\x08\n\x04LESS\x10\x02\x12\n\n\x06GEQUAL\x10\x03\x12\n\n\x06LEQUAL\x10\x04\x12\x06\n\x02IN\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\n\n\x06ISNULL\x10\x07\x12\x08\n\x04LIKE\x10\x08*%\n\x12\x43onnectionOperator\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\x32\xfa\n\n\x03\x44\x44L\x12r\n\x0bListSchemas\x12..org.vitrivr.cottontail.grpc.ListSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12s\n\x0c\x43reateSchema\x12\x30.org.vitrivr.cottontail.grpc.CreateSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropSchema\x12..org.vitrivr.cottontail.grpc.DropSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cListEntities\x12..org.vitrivr.cottontail.grpc.ListEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12u\n\rEntityDetails\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0c\x43reateEntity\x12\x30.org.vitrivr.cottontail.grpc.CreateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropEntity\x12..org.vitrivr.cottontail.grpc.DropEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12w\n\x0eTruncateEntity\x12\x32.org.vitrivr.cottontail.grpc.TruncateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12w\n\x0eOptimizeEntity\x12\x32.org.vitrivr.cottontail.grpc.OptimizeEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0b\x43reateIndex\x12/.org.vitrivr.cottontail.grpc.CreateIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12m\n\tDropIndex\x12-.org.vitrivr.cottontail.grpc.DropIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cRebuildIndex\x12\x30.org.vitrivr.cottontail.grpc.RebuildIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\xb3\x03\n\x03\x44ML\x12g\n\x06Insert\x12*.org.vitrivr.cottontail.grpc.InsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0bInsertBatch\x12/.org.vitrivr.cottontail.grpc.BatchInsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06Update\x12*.org.vitrivr.cottontail.grpc.UpdateMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06\x44\x65lete\x12*.org.vitrivr.cottontail.grpc.DeleteMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\x91\x02\n\x03\x44QL\x12i\n\x07\x45xplain\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12g\n\x05Query\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12\x36\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty2\xe3\x03\n\x03TXN\x12\x46\n\x05\x42\x65gin\x12\x16.google.protobuf.Empty\x1a%.org.vitrivr.cottontail.grpc.Metadata\x12G\n\x06\x43ommit\x12%.org.vitrivr.cottontail.grpc.Metadata\x1a\x16.google.protobuf.Empty\x12I\n\x08Rollback\x12%.org.vitrivr.cottontail.grpc.Metadata\x1a\x16.google.protobuf.Empty\x12\x45\n\x04Kill\x12%.org.vitrivr.cottontail.grpc.Metadata\x1a\x16.google.protobuf.Empty\x12_\n\x10ListTransactions\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12X\n\tListLocks\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x42-\n\x1borg.vitrivr.cottontail.grpcB\x0e\x43ottontailGrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x63ottontail.proto\x12\x1borg.vitrivr.cottontail.grpc\x1a\x1bgoogle/protobuf/empty.proto\"\x1a\n\nSchemaName\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x46unctionName\x12\x0c\n\x04name\x18\x01 \x01(\t\"S\n\nEntityName\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\x12\x0c\n\x04name\x18\x02 \x01(\t\"R\n\tIndexName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\nColumnName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"N\n\x10\x42\x65ginTransaction\x12:\n\x04mode\x18\x01 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\"\xb4\x04\n\x0fRequestMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x0f\n\x07queryId\x18\x02 \x01(\t\x12R\n\x0cparallelHint\x18\n \x01(\x0b\x32<.org.vitrivr.cottontail.grpc.RequestMetadata.ParallelismHint\x12I\n\tindexHint\x18\x0b \x01(\x0b\x32\x36.org.vitrivr.cottontail.grpc.RequestMetadata.IndexHint\x12K\n\npolicyHint\x18\x0c \x01(\x0b\x32\x37.org.vitrivr.cottontail.grpc.RequestMetadata.PolicyHint\x12\x16\n\x0enoOptimiseHint\x18\r \x01(\x08\x1a \n\x0fParallelismHint\x12\r\n\x05limit\x18\x01 \x01(\x05\x1ar\n\tIndexHint\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexTypeH\x00\x12\x12\n\x08\x64isallow\x18\x03 \x01(\x08H\x00\x42\t\n\x07setting\x1a_\n\nPolicyHint\x12\x10\n\x08weightIo\x18\x01 \x01(\x02\x12\x11\n\tweightCpu\x18\x02 \x01(\x02\x12\x14\n\x0cweightMemory\x18\x03 \x01(\x02\x12\x16\n\x0eweightAccuracy\x18\x04 \x01(\x02\"\xc1\x01\n\x10ResponseMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x45\n\x0ftransactionMode\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x14\n\x0cplanDuration\x18\x04 \x01(\x03\x12\x11\n\tplanScore\x18\x05 \x01(\x02\x12\x15\n\rqueryDuration\x18\x06 \x01(\x03\"\x9e\x03\n\x07Literal\x12\x15\n\x0b\x62ooleanData\x18\x01 \x01(\x08H\x00\x12\x11\n\x07intData\x18\x02 \x01(\x05H\x00\x12\x12\n\x08longData\x18\x03 \x01(\x03H\x00\x12\x13\n\tfloatData\x18\x04 \x01(\x02H\x00\x12\x14\n\ndoubleData\x18\x05 \x01(\x01H\x00\x12\x14\n\nstringData\x18\x06 \x01(\tH\x00\x12\x35\n\x08\x64\x61teData\x18\x07 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.DateH\x00\x12?\n\rcomplex32Data\x18\x08 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32H\x00\x12?\n\rcomplex64Data\x18\t \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64H\x00\x12\x39\n\nvectorData\x18\n \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.VectorH\x00\x12\x18\n\x0e\x62yteStringData\x18\x0b \x01(\x0cH\x00\x42\x06\n\x04\x64\x61ta\"\xc2\x01\n\nExpression\x12\x37\n\x07literal\x18\x01 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.LiteralH\x00\x12\x39\n\x06\x63olumn\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnNameH\x00\x12\x39\n\x08\x66unction\x18\x03 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.FunctionH\x00\x42\x05\n\x03\x65xp\"\x7f\n\x08\x46unction\x12\x37\n\x04name\x18\x01 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.FunctionName\x12:\n\targuments\x18\x02 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"J\n\x0b\x45xpressions\x12;\n\nexpression\x18\x01 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xe7\x03\n\x06Vector\x12?\n\x0b\x66loatVector\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.FloatVectorH\x00\x12\x41\n\x0c\x64oubleVector\x18\x02 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.DoubleVectorH\x00\x12;\n\tintVector\x18\x03 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IntVectorH\x00\x12=\n\nlongVector\x18\x04 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.LongVectorH\x00\x12=\n\nboolVector\x18\x05 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.BoolVectorH\x00\x12G\n\x0f\x63omplex32Vector\x18\x06 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex32VectorH\x00\x12G\n\x0f\x63omplex64Vector\x18\x07 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex64VectorH\x00\x42\x0c\n\nvectorData\"\x06\n\x04Null\"\x1d\n\x04\x44\x61te\x12\x15\n\rutc_timestamp\x18\x01 \x01(\x03\",\n\tComplex32\x12\x0c\n\x04real\x18\x01 \x01(\x02\x12\x11\n\timaginary\x18\x02 \x01(\x02\",\n\tComplex64\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"\x1d\n\x0b\x46loatVector\x12\x0e\n\x06vector\x18\x01 \x03(\x02\"\x1e\n\x0c\x44oubleVector\x12\x0e\n\x06vector\x18\x01 \x03(\x01\"\x1b\n\tIntVector\x12\x0e\n\x06vector\x18\x01 \x03(\x05\"\x1c\n\nLongVector\x12\x0e\n\x06vector\x18\x01 \x03(\x03\"\x1c\n\nBoolVector\x12\x0e\n\x06vector\x18\x01 \x03(\x08\"I\n\x0f\x43omplex32Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32\"I\n\x0f\x43omplex64Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64\"\x8e\x01\n\x13\x43reateSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\x8c\x01\n\x11\x44ropSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"S\n\x11ListSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\"\x98\x01\n\x13\x43reateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x41\n\ndefinition\x18\x02 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.EntityDefinition\"\x8c\x01\n\x11\x44ropEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x90\x01\n\x15TruncateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x9e\x01\n\x14\x41nalyzeEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\x8f\x01\n\x14\x45ntityDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x8c\x01\n\x13IndexDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x8c\x01\n\x11ListEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\xe3\x02\n\x12\x43reateIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexType\x12\x11\n\tindexName\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12K\n\x06params\x18\x06 \x03(\x0b\x32;.org.vitrivr.cottontail.grpc.CreateIndexMessage.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x89\x01\n\x10\x44ropIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x9b\x01\n\x13RebuildIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\xc4\x01\n\x10\x43olumnDefinition\x12\x35\n\x04name\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12/\n\x04type\x18\x02 \x01(\x0e\x32!.org.vitrivr.cottontail.grpc.Type\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0f\n\x07primary\x18\x04 \x01(\x08\x12\x10\n\x08nullable\x18\x05 \x01(\x08\x12\x15\n\rautoIncrement\x18\x06 \x01(\x08\"\x8b\x01\n\x10\x45ntityDefinition\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\"\xcb\x02\n\rInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12J\n\x08\x65lements\x18\x03 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.InsertMessage.InsertElement\x1a}\n\rInsertElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xc8\x02\n\x12\x42\x61tchInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12G\n\x07inserts\x18\x04 \x03(\x0b\x32\x36.org.vitrivr.cottontail.grpc.BatchInsertMessage.Insert\x1a>\n\x06Insert\x12\x34\n\x06values\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\x81\x03\n\rUpdateMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12I\n\x07updates\x18\x04 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.UpdateMessage.UpdateElement\x1a\x80\x01\n\rUpdateElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xb3\x01\n\rDeleteMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\"\x81\x01\n\x0cQueryMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x31\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Query\"\xf8\x01\n\x05Query\x12/\n\x04\x66rom\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12;\n\nprojection\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Projection\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12\x31\n\x05order\x18\x04 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Order\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x0c\n\x04skip\x18\x06 \x01(\x04\"\x9d\x02\n\x14QueryResponseMessage\x12?\n\x08metadata\x18\x01 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\x12G\n\x06tuples\x18\x03 \x03(\x0b\x32\x37.org.vitrivr.cottontail.grpc.QueryResponseMessage.Tuple\x1a;\n\x05Tuple\x12\x32\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xb1\x01\n\x04\x46rom\x12\x31\n\x04scan\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.ScanH\x00\x12\x35\n\x06sample\x18\x02 \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.SampleH\x00\x12\x37\n\tsubSelect\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\x06\n\x04\x66rom\"[\n\x04Scan\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05start\x18\x02 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x03 \x01(\x03\"d\n\x06Sample\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04seed\x18\x02 \x01(\x03\x12\x13\n\x0bprobability\x18\x03 \x01(\x02\"\xb6\x03\n\nProjection\x12G\n\x02op\x18\x01 \x01(\x0e\x32;.org.vitrivr.cottontail.grpc.Projection.ProjectionOperation\x12K\n\x08\x65lements\x18\x02 \x03(\x0b\x32\x39.org.vitrivr.cottontail.grpc.Projection.ProjectionElement\x1a\x88\x01\n\x11ProjectionElement\x12\x36\n\x05\x61lias\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12;\n\nexpression\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\x86\x01\n\x13ProjectionOperation\x12\n\n\x06SELECT\x10\x00\x12\x13\n\x0fSELECT_DISTINCT\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\n\n\x06\x45XISTS\x10\x04\x12\x07\n\x03SUM\x10\x05\x12\x07\n\x03MAX\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x08\n\x04MEAN\x10\x08\"\xa6\x01\n\x05Where\x12\x45\n\x06\x61tomic\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12I\n\x08\x63ompound\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x42\x0b\n\tpredicate\"\xdb\x01\n\x16\x41tomicBooleanPredicate\x12\x35\n\x04left\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12@\n\x05right\x18\x02 \x01(\x0b\x32\x31.org.vitrivr.cottontail.grpc.AtomicBooleanOperand\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ComparisonOperator\x12\x0b\n\x03not\x18\x04 \x01(\x08\"\x97\x01\n\x14\x41tomicBooleanOperand\x12?\n\x0b\x65xpressions\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.ExpressionsH\x00\x12\x33\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\t\n\x07operand\"\x86\x03\n\x18\x43ompoundBooleanPredicate\x12\x44\n\x05\x61left\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12\x46\n\x05\x63left\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ConnectionOperator\x12\x45\n\x06\x61right\x18\x04 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x01\x12G\n\x06\x63right\x18\x05 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x01\x42\x06\n\x04leftB\x07\n\x05right\"\xfd\x01\n\x05Order\x12@\n\ncomponents\x18\x01 \x03(\x0b\x32,.org.vitrivr.cottontail.grpc.Order.Component\x1a\x85\x01\n\tComponent\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12?\n\tdirection\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.Order.Direction\"*\n\tDirection\x12\r\n\tASCENDING\x10\x00\x12\x0e\n\nDESCENDING\x10\x01*U\n\tIndexType\x12\t\n\x05\x42TREE\x10\x00\x12\x0c\n\x08\x42TREE_UQ\x10\x01\x12\n\n\x06LUCENE\x10\x02\x12\x07\n\x03VAF\x10\x03\x12\x06\n\x02PQ\x10\x04\x12\t\n\x05IVFPQ\x10\x05\x12\x07\n\x03LSH\x10\x06*/\n\x0fTransactionMode\x12\x0e\n\nREAD_WRITE\x10\x00\x12\x0c\n\x08READONLY\x10\x01*\x88\x02\n\x04Type\x12\x0b\n\x07\x42OOLEAN\x10\x00\x12\x08\n\x04\x42YTE\x10\x01\x12\t\n\x05SHORT\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x08\n\x04LONG\x10\x04\x12\t\n\x05\x46LOAT\x10\x05\x12\n\n\x06\x44OUBLE\x10\x06\x12\x08\n\x04\x44\x41TE\x10\x07\x12\n\n\x06STRING\x10\x08\x12\r\n\tCOMPLEX32\x10\t\x12\r\n\tCOMPLEX64\x10\n\x12\x0e\n\nDOUBLE_VEC\x10\x0b\x12\r\n\tFLOAT_VEC\x10\x0c\x12\x0c\n\x08LONG_VEC\x10\r\x12\x0b\n\x07INT_VEC\x10\x0e\x12\x0c\n\x08\x42OOL_VEC\x10\x0f\x12\x11\n\rCOMPLEX32_VEC\x10\x10\x12\x11\n\rCOMPLEX64_VEC\x10\x11\x12\x0e\n\nBYTESTRING\x10\x12*y\n\x12\x43omparisonOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x0b\n\x07GREATER\x10\x01\x12\x08\n\x04LESS\x10\x02\x12\n\n\x06GEQUAL\x10\x03\x12\n\n\x06LEQUAL\x10\x04\x12\x06\n\x02IN\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\n\n\x06ISNULL\x10\x07\x12\x08\n\x04LIKE\x10\x08*%\n\x12\x43onnectionOperator\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\x32\xe7\x0c\n\x03\x44\x44L\x12r\n\x0bListSchemas\x12..org.vitrivr.cottontail.grpc.ListSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12s\n\x0c\x43reateSchema\x12\x30.org.vitrivr.cottontail.grpc.CreateSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropSchema\x12..org.vitrivr.cottontail.grpc.DropSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cListEntities\x12..org.vitrivr.cottontail.grpc.ListEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12u\n\rEntityDetails\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12x\n\x10\x45ntityStatistics\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cIndexDetails\x12\x30.org.vitrivr.cottontail.grpc.IndexDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0c\x43reateEntity\x12\x30.org.vitrivr.cottontail.grpc.CreateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropEntity\x12..org.vitrivr.cottontail.grpc.DropEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12w\n\x0eTruncateEntity\x12\x32.org.vitrivr.cottontail.grpc.TruncateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12u\n\rAnalyzeEntity\x12\x31.org.vitrivr.cottontail.grpc.AnalyzeEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0b\x43reateIndex\x12/.org.vitrivr.cottontail.grpc.CreateIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12m\n\tDropIndex\x12-.org.vitrivr.cottontail.grpc.DropIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cRebuildIndex\x12\x30.org.vitrivr.cottontail.grpc.RebuildIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\xb3\x03\n\x03\x44ML\x12g\n\x06Insert\x12*.org.vitrivr.cottontail.grpc.InsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0bInsertBatch\x12/.org.vitrivr.cottontail.grpc.BatchInsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06Update\x12*.org.vitrivr.cottontail.grpc.UpdateMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06\x44\x65lete\x12*.org.vitrivr.cottontail.grpc.DeleteMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\x91\x02\n\x03\x44QL\x12i\n\x07\x45xplain\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12g\n\x05Query\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12\x36\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty2\x97\x04\n\x03TXN\x12\x65\n\x05\x42\x65gin\x12-.org.vitrivr.cottontail.grpc.BeginTransaction\x1a-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12N\n\x06\x43ommit\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12P\n\x08Rollback\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12L\n\x04Kill\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12_\n\x10ListTransactions\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12X\n\tListLocks\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x42-\n\x1borg.vitrivr.cottontail.grpcB\x0e\x43ottontailGrpcb\x06proto3') _INDEXTYPE = DESCRIPTOR.enum_types_by_name['IndexType'] IndexType = enum_type_wrapper.EnumTypeWrapper(_INDEXTYPE) +_TRANSACTIONMODE = DESCRIPTOR.enum_types_by_name['TransactionMode'] +TransactionMode = enum_type_wrapper.EnumTypeWrapper(_TRANSACTIONMODE) _TYPE = DESCRIPTOR.enum_types_by_name['Type'] Type = enum_type_wrapper.EnumTypeWrapper(_TYPE) _COMPARISONOPERATOR = DESCRIPTOR.enum_types_by_name['ComparisonOperator'] @@ -31,7 +33,10 @@ LUCENE = 2 VAF = 3 PQ = 4 -LSH = 5 +IVFPQ = 5 +LSH = 6 +READ_WRITE = 0 +READONLY = 1 BOOLEAN = 0 BYTE = 1 SHORT = 2 @@ -50,7 +55,7 @@ BOOL_VEC = 15 COMPLEX32_VEC = 16 COMPLEX64_VEC = 17 -BLOB = 18 +BYTESTRING = 18 EQUAL = 0 GREATER = 1 LESS = 2 @@ -69,7 +74,12 @@ _ENTITYNAME = DESCRIPTOR.message_types_by_name['EntityName'] _INDEXNAME = DESCRIPTOR.message_types_by_name['IndexName'] _COLUMNNAME = DESCRIPTOR.message_types_by_name['ColumnName'] -_METADATA = DESCRIPTOR.message_types_by_name['Metadata'] +_BEGINTRANSACTION = DESCRIPTOR.message_types_by_name['BeginTransaction'] +_REQUESTMETADATA = DESCRIPTOR.message_types_by_name['RequestMetadata'] +_REQUESTMETADATA_PARALLELISMHINT = _REQUESTMETADATA.nested_types_by_name['ParallelismHint'] +_REQUESTMETADATA_INDEXHINT = _REQUESTMETADATA.nested_types_by_name['IndexHint'] +_REQUESTMETADATA_POLICYHINT = _REQUESTMETADATA.nested_types_by_name['PolicyHint'] +_RESPONSEMETADATA = DESCRIPTOR.message_types_by_name['ResponseMetadata'] _LITERAL = DESCRIPTOR.message_types_by_name['Literal'] _EXPRESSION = DESCRIPTOR.message_types_by_name['Expression'] _FUNCTION = DESCRIPTOR.message_types_by_name['Function'] @@ -92,8 +102,9 @@ _CREATEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['CreateEntityMessage'] _DROPENTITYMESSAGE = DESCRIPTOR.message_types_by_name['DropEntityMessage'] _TRUNCATEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['TruncateEntityMessage'] -_OPTIMIZEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['OptimizeEntityMessage'] +_ANALYZEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['AnalyzeEntityMessage'] _ENTITYDETAILSMESSAGE = DESCRIPTOR.message_types_by_name['EntityDetailsMessage'] +_INDEXDETAILSMESSAGE = DESCRIPTOR.message_types_by_name['IndexDetailsMessage'] _LISTENTITYMESSAGE = DESCRIPTOR.message_types_by_name['ListEntityMessage'] _CREATEINDEXMESSAGE = DESCRIPTOR.message_types_by_name['CreateIndexMessage'] _CREATEINDEXMESSAGE_PARAMSENTRY = _CREATEINDEXMESSAGE.nested_types_by_name['ParamsEntry'] @@ -123,12 +134,6 @@ _COMPOUNDBOOLEANPREDICATE = DESCRIPTOR.message_types_by_name['CompoundBooleanPredicate'] _ORDER = DESCRIPTOR.message_types_by_name['Order'] _ORDER_COMPONENT = _ORDER.nested_types_by_name['Component'] -_HINT = DESCRIPTOR.message_types_by_name['Hint'] -_HINT_NOPARALLELHINT = _HINT.nested_types_by_name['NoParallelHint'] -_HINT_NOINDEXHINT = _HINT.nested_types_by_name['NoIndexHint'] -_HINT_INDEXHINT = _HINT.nested_types_by_name['IndexHint'] -_HINT_INDEXHINT_PARAMETERSENTRY = _HINT_INDEXHINT.nested_types_by_name['ParametersEntry'] -_HINT_POLICYHINT = _HINT.nested_types_by_name['PolicyHint'] _PROJECTION_PROJECTIONOPERATION = _PROJECTION.enum_types_by_name['ProjectionOperation'] _ORDER_DIRECTION = _ORDER.enum_types_by_name['Direction'] SchemaName = _reflection.GeneratedProtocolMessageType('SchemaName', (_message.Message,), { @@ -166,12 +171,50 @@ }) _sym_db.RegisterMessage(ColumnName) -Metadata = _reflection.GeneratedProtocolMessageType('Metadata', (_message.Message,), { - 'DESCRIPTOR' : _METADATA, +BeginTransaction = _reflection.GeneratedProtocolMessageType('BeginTransaction', (_message.Message,), { + 'DESCRIPTOR' : _BEGINTRANSACTION, '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Metadata) + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.BeginTransaction) }) -_sym_db.RegisterMessage(Metadata) +_sym_db.RegisterMessage(BeginTransaction) + +RequestMetadata = _reflection.GeneratedProtocolMessageType('RequestMetadata', (_message.Message,), { + + 'ParallelismHint' : _reflection.GeneratedProtocolMessageType('ParallelismHint', (_message.Message,), { + 'DESCRIPTOR' : _REQUESTMETADATA_PARALLELISMHINT, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.ParallelismHint) + }) + , + + 'IndexHint' : _reflection.GeneratedProtocolMessageType('IndexHint', (_message.Message,), { + 'DESCRIPTOR' : _REQUESTMETADATA_INDEXHINT, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.IndexHint) + }) + , + + 'PolicyHint' : _reflection.GeneratedProtocolMessageType('PolicyHint', (_message.Message,), { + 'DESCRIPTOR' : _REQUESTMETADATA_POLICYHINT, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.PolicyHint) + }) + , + 'DESCRIPTOR' : _REQUESTMETADATA, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata) + }) +_sym_db.RegisterMessage(RequestMetadata) +_sym_db.RegisterMessage(RequestMetadata.ParallelismHint) +_sym_db.RegisterMessage(RequestMetadata.IndexHint) +_sym_db.RegisterMessage(RequestMetadata.PolicyHint) + +ResponseMetadata = _reflection.GeneratedProtocolMessageType('ResponseMetadata', (_message.Message,), { + 'DESCRIPTOR' : _RESPONSEMETADATA, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ResponseMetadata) + }) +_sym_db.RegisterMessage(ResponseMetadata) Literal = _reflection.GeneratedProtocolMessageType('Literal', (_message.Message,), { 'DESCRIPTOR' : _LITERAL, @@ -327,12 +370,12 @@ }) _sym_db.RegisterMessage(TruncateEntityMessage) -OptimizeEntityMessage = _reflection.GeneratedProtocolMessageType('OptimizeEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _OPTIMIZEENTITYMESSAGE, +AnalyzeEntityMessage = _reflection.GeneratedProtocolMessageType('AnalyzeEntityMessage', (_message.Message,), { + 'DESCRIPTOR' : _ANALYZEENTITYMESSAGE, '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.OptimizeEntityMessage) + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.AnalyzeEntityMessage) }) -_sym_db.RegisterMessage(OptimizeEntityMessage) +_sym_db.RegisterMessage(AnalyzeEntityMessage) EntityDetailsMessage = _reflection.GeneratedProtocolMessageType('EntityDetailsMessage', (_message.Message,), { 'DESCRIPTOR' : _ENTITYDETAILSMESSAGE, @@ -341,6 +384,13 @@ }) _sym_db.RegisterMessage(EntityDetailsMessage) +IndexDetailsMessage = _reflection.GeneratedProtocolMessageType('IndexDetailsMessage', (_message.Message,), { + 'DESCRIPTOR' : _INDEXDETAILSMESSAGE, + '__module__' : 'cottontail_pb2' + # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.IndexDetailsMessage) + }) +_sym_db.RegisterMessage(IndexDetailsMessage) + ListEntityMessage = _reflection.GeneratedProtocolMessageType('ListEntityMessage', (_message.Message,), { 'DESCRIPTOR' : _LISTENTITYMESSAGE, '__module__' : 'cottontail_pb2' @@ -551,53 +601,6 @@ _sym_db.RegisterMessage(Order) _sym_db.RegisterMessage(Order.Component) -Hint = _reflection.GeneratedProtocolMessageType('Hint', (_message.Message,), { - - 'NoParallelHint' : _reflection.GeneratedProtocolMessageType('NoParallelHint', (_message.Message,), { - 'DESCRIPTOR' : _HINT_NOPARALLELHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint.NoParallelHint) - }) - , - - 'NoIndexHint' : _reflection.GeneratedProtocolMessageType('NoIndexHint', (_message.Message,), { - 'DESCRIPTOR' : _HINT_NOINDEXHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint.NoIndexHint) - }) - , - - 'IndexHint' : _reflection.GeneratedProtocolMessageType('IndexHint', (_message.Message,), { - - 'ParametersEntry' : _reflection.GeneratedProtocolMessageType('ParametersEntry', (_message.Message,), { - 'DESCRIPTOR' : _HINT_INDEXHINT_PARAMETERSENTRY, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint.IndexHint.ParametersEntry) - }) - , - 'DESCRIPTOR' : _HINT_INDEXHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint.IndexHint) - }) - , - - 'PolicyHint' : _reflection.GeneratedProtocolMessageType('PolicyHint', (_message.Message,), { - 'DESCRIPTOR' : _HINT_POLICYHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint.PolicyHint) - }) - , - 'DESCRIPTOR' : _HINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Hint) - }) -_sym_db.RegisterMessage(Hint) -_sym_db.RegisterMessage(Hint.NoParallelHint) -_sym_db.RegisterMessage(Hint.NoIndexHint) -_sym_db.RegisterMessage(Hint.IndexHint) -_sym_db.RegisterMessage(Hint.IndexHint.ParametersEntry) -_sym_db.RegisterMessage(Hint.PolicyHint) - _DDL = DESCRIPTOR.services_by_name['DDL'] _DML = DESCRIPTOR.services_by_name['DML'] _DQL = DESCRIPTOR.services_by_name['DQL'] @@ -608,16 +611,16 @@ DESCRIPTOR._serialized_options = b'\n\033org.vitrivr.cottontail.grpcB\016CottontailGrpc' _CREATEINDEXMESSAGE_PARAMSENTRY._options = None _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_options = b'8\001' - _HINT_INDEXHINT_PARAMETERSENTRY._options = None - _HINT_INDEXHINT_PARAMETERSENTRY._serialized_options = b'8\001' - _INDEXTYPE._serialized_start=8819 - _INDEXTYPE._serialized_end=8893 - _TYPE._serialized_start=8896 - _TYPE._serialized_end=9154 - _COMPARISONOPERATOR._serialized_start=9156 - _COMPARISONOPERATOR._serialized_end=9277 - _CONNECTIONOPERATOR._serialized_start=9279 - _CONNECTIONOPERATOR._serialized_end=9316 + _INDEXTYPE._serialized_start=9299 + _INDEXTYPE._serialized_end=9384 + _TRANSACTIONMODE._serialized_start=9386 + _TRANSACTIONMODE._serialized_end=9433 + _TYPE._serialized_start=9436 + _TYPE._serialized_end=9700 + _COMPARISONOPERATOR._serialized_start=9702 + _COMPARISONOPERATOR._serialized_end=9823 + _CONNECTIONOPERATOR._serialized_start=9825 + _CONNECTIONOPERATOR._serialized_end=9862 _SCHEMANAME._serialized_start=78 _SCHEMANAME._serialized_end=104 _FUNCTIONNAME._serialized_start=106 @@ -628,136 +631,136 @@ _INDEXNAME._serialized_end=303 _COLUMNNAME._serialized_start=305 _COLUMNNAME._serialized_end=388 - _METADATA._serialized_start=390 - _METADATA._serialized_end=489 - _LITERAL._serialized_start=492 - _LITERAL._serialized_end=880 - _EXPRESSION._serialized_start=883 - _EXPRESSION._serialized_end=1077 - _FUNCTION._serialized_start=1079 - _FUNCTION._serialized_end=1206 - _EXPRESSIONS._serialized_start=1208 - _EXPRESSIONS._serialized_end=1282 - _VECTOR._serialized_start=1285 - _VECTOR._serialized_end=1772 - _NULL._serialized_start=1774 - _NULL._serialized_end=1780 - _DATE._serialized_start=1782 - _DATE._serialized_end=1811 - _COMPLEX32._serialized_start=1813 - _COMPLEX32._serialized_end=1857 - _COMPLEX64._serialized_start=1859 - _COMPLEX64._serialized_end=1903 - _FLOATVECTOR._serialized_start=1905 - _FLOATVECTOR._serialized_end=1934 - _DOUBLEVECTOR._serialized_start=1936 - _DOUBLEVECTOR._serialized_end=1966 - _INTVECTOR._serialized_start=1968 - _INTVECTOR._serialized_end=1995 - _LONGVECTOR._serialized_start=1997 - _LONGVECTOR._serialized_end=2025 - _BOOLVECTOR._serialized_start=2027 - _BOOLVECTOR._serialized_end=2055 - _COMPLEX32VECTOR._serialized_start=2057 - _COMPLEX32VECTOR._serialized_end=2130 - _COMPLEX64VECTOR._serialized_start=2132 - _COMPLEX64VECTOR._serialized_end=2205 - _CREATESCHEMAMESSAGE._serialized_start=2208 - _CREATESCHEMAMESSAGE._serialized_end=2343 - _DROPSCHEMAMESSAGE._serialized_start=2346 - _DROPSCHEMAMESSAGE._serialized_end=2479 - _LISTSCHEMAMESSAGE._serialized_start=2481 - _LISTSCHEMAMESSAGE._serialized_end=2557 - _CREATEENTITYMESSAGE._serialized_start=2560 - _CREATEENTITYMESSAGE._serialized_end=2705 - _DROPENTITYMESSAGE._serialized_start=2708 - _DROPENTITYMESSAGE._serialized_end=2841 - _TRUNCATEENTITYMESSAGE._serialized_start=2844 - _TRUNCATEENTITYMESSAGE._serialized_end=2981 - _OPTIMIZEENTITYMESSAGE._serialized_start=2984 - _OPTIMIZEENTITYMESSAGE._serialized_end=3121 - _ENTITYDETAILSMESSAGE._serialized_start=3124 - _ENTITYDETAILSMESSAGE._serialized_end=3260 - _LISTENTITYMESSAGE._serialized_start=3263 - _LISTENTITYMESSAGE._serialized_end=3396 - _CREATEINDEXMESSAGE._serialized_start=3399 - _CREATEINDEXMESSAGE._serialized_end=3764 - _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_start=3719 - _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_end=3764 - _DROPINDEXMESSAGE._serialized_start=3767 - _DROPINDEXMESSAGE._serialized_end=3897 - _REBUILDINDEXMESSAGE._serialized_start=3900 - _REBUILDINDEXMESSAGE._serialized_end=4033 - _COLUMNDEFINITION._serialized_start=4036 - _COLUMNDEFINITION._serialized_end=4209 - _ENTITYDEFINITION._serialized_start=4212 - _ENTITYDEFINITION._serialized_end=4351 - _INSERTMESSAGE._serialized_start=4354 - _INSERTMESSAGE._serialized_end=4678 - _INSERTMESSAGE_INSERTELEMENT._serialized_start=4553 - _INSERTMESSAGE_INSERTELEMENT._serialized_end=4678 - _BATCHINSERTMESSAGE._serialized_start=4681 - _BATCHINSERTMESSAGE._serialized_end=5002 - _BATCHINSERTMESSAGE_INSERT._serialized_start=4940 - _BATCHINSERTMESSAGE_INSERT._serialized_end=5002 - _UPDATEMESSAGE._serialized_start=5005 - _UPDATEMESSAGE._serialized_end=5383 - _UPDATEMESSAGE_UPDATEELEMENT._serialized_start=5255 - _UPDATEMESSAGE_UPDATEELEMENT._serialized_end=5383 - _DELETEMESSAGE._serialized_start=5386 - _DELETEMESSAGE._serialized_end=5558 - _QUERYMESSAGE._serialized_start=5560 - _QUERYMESSAGE._serialized_end=5682 - _QUERY._serialized_start=5685 - _QUERY._serialized_end=5933 - _QUERYRESPONSEMESSAGE._serialized_start=5936 - _QUERYRESPONSEMESSAGE._serialized_end=6213 - _QUERYRESPONSEMESSAGE_TUPLE._serialized_start=6154 - _QUERYRESPONSEMESSAGE_TUPLE._serialized_end=6213 - _FROM._serialized_start=6216 - _FROM._serialized_end=6393 - _SCAN._serialized_start=6395 - _SCAN._serialized_end=6486 - _SAMPLE._serialized_start=6488 - _SAMPLE._serialized_end=6588 - _PROJECTION._serialized_start=6591 - _PROJECTION._serialized_end=7029 - _PROJECTION_PROJECTIONELEMENT._serialized_start=6756 - _PROJECTION_PROJECTIONELEMENT._serialized_end=6892 - _PROJECTION_PROJECTIONOPERATION._serialized_start=6895 - _PROJECTION_PROJECTIONOPERATION._serialized_end=7029 - _WHERE._serialized_start=7032 - _WHERE._serialized_end=7198 - _ATOMICBOOLEANPREDICATE._serialized_start=7201 - _ATOMICBOOLEANPREDICATE._serialized_end=7420 - _ATOMICBOOLEANOPERAND._serialized_start=7423 - _ATOMICBOOLEANOPERAND._serialized_end=7574 - _COMPOUNDBOOLEANPREDICATE._serialized_start=7577 - _COMPOUNDBOOLEANPREDICATE._serialized_end=7967 - _ORDER._serialized_start=7970 - _ORDER._serialized_end=8223 - _ORDER_COMPONENT._serialized_start=8046 - _ORDER_COMPONENT._serialized_end=8179 - _ORDER_DIRECTION._serialized_start=8181 - _ORDER_DIRECTION._serialized_end=8223 - _HINT._serialized_start=8226 - _HINT._serialized_end=8817 - _HINT_NOPARALLELHINT._serialized_start=8521 - _HINT_NOPARALLELHINT._serialized_end=8537 - _HINT_NOINDEXHINT._serialized_start=8539 - _HINT_NOINDEXHINT._serialized_end=8552 - _HINT_INDEXHINT._serialized_start=8555 - _HINT_INDEXHINT._serialized_end=8712 - _HINT_INDEXHINT_PARAMETERSENTRY._serialized_start=8663 - _HINT_INDEXHINT_PARAMETERSENTRY._serialized_end=8712 - _HINT_POLICYHINT._serialized_start=8714 - _HINT_POLICYHINT._serialized_end=8809 - _DDL._serialized_start=9319 - _DDL._serialized_end=10721 - _DML._serialized_start=10724 - _DML._serialized_end=11159 - _DQL._serialized_start=11162 - _DQL._serialized_end=11435 - _TXN._serialized_start=11438 - _TXN._serialized_end=11921 + _BEGINTRANSACTION._serialized_start=390 + _BEGINTRANSACTION._serialized_end=468 + _REQUESTMETADATA._serialized_start=471 + _REQUESTMETADATA._serialized_end=1035 + _REQUESTMETADATA_PARALLELISMHINT._serialized_start=790 + _REQUESTMETADATA_PARALLELISMHINT._serialized_end=822 + _REQUESTMETADATA_INDEXHINT._serialized_start=824 + _REQUESTMETADATA_INDEXHINT._serialized_end=938 + _REQUESTMETADATA_POLICYHINT._serialized_start=940 + _REQUESTMETADATA_POLICYHINT._serialized_end=1035 + _RESPONSEMETADATA._serialized_start=1038 + _RESPONSEMETADATA._serialized_end=1231 + _LITERAL._serialized_start=1234 + _LITERAL._serialized_end=1648 + _EXPRESSION._serialized_start=1651 + _EXPRESSION._serialized_end=1845 + _FUNCTION._serialized_start=1847 + _FUNCTION._serialized_end=1974 + _EXPRESSIONS._serialized_start=1976 + _EXPRESSIONS._serialized_end=2050 + _VECTOR._serialized_start=2053 + _VECTOR._serialized_end=2540 + _NULL._serialized_start=2542 + _NULL._serialized_end=2548 + _DATE._serialized_start=2550 + _DATE._serialized_end=2579 + _COMPLEX32._serialized_start=2581 + _COMPLEX32._serialized_end=2625 + _COMPLEX64._serialized_start=2627 + _COMPLEX64._serialized_end=2671 + _FLOATVECTOR._serialized_start=2673 + _FLOATVECTOR._serialized_end=2702 + _DOUBLEVECTOR._serialized_start=2704 + _DOUBLEVECTOR._serialized_end=2734 + _INTVECTOR._serialized_start=2736 + _INTVECTOR._serialized_end=2763 + _LONGVECTOR._serialized_start=2765 + _LONGVECTOR._serialized_end=2793 + _BOOLVECTOR._serialized_start=2795 + _BOOLVECTOR._serialized_end=2823 + _COMPLEX32VECTOR._serialized_start=2825 + _COMPLEX32VECTOR._serialized_end=2898 + _COMPLEX64VECTOR._serialized_start=2900 + _COMPLEX64VECTOR._serialized_end=2973 + _CREATESCHEMAMESSAGE._serialized_start=2976 + _CREATESCHEMAMESSAGE._serialized_end=3118 + _DROPSCHEMAMESSAGE._serialized_start=3121 + _DROPSCHEMAMESSAGE._serialized_end=3261 + _LISTSCHEMAMESSAGE._serialized_start=3263 + _LISTSCHEMAMESSAGE._serialized_end=3346 + _CREATEENTITYMESSAGE._serialized_start=3349 + _CREATEENTITYMESSAGE._serialized_end=3501 + _DROPENTITYMESSAGE._serialized_start=3504 + _DROPENTITYMESSAGE._serialized_end=3644 + _TRUNCATEENTITYMESSAGE._serialized_start=3647 + _TRUNCATEENTITYMESSAGE._serialized_end=3791 + _ANALYZEENTITYMESSAGE._serialized_start=3794 + _ANALYZEENTITYMESSAGE._serialized_end=3952 + _ENTITYDETAILSMESSAGE._serialized_start=3955 + _ENTITYDETAILSMESSAGE._serialized_end=4098 + _INDEXDETAILSMESSAGE._serialized_start=4101 + _INDEXDETAILSMESSAGE._serialized_end=4241 + _LISTENTITYMESSAGE._serialized_start=4244 + _LISTENTITYMESSAGE._serialized_end=4384 + _CREATEINDEXMESSAGE._serialized_start=4387 + _CREATEINDEXMESSAGE._serialized_end=4742 + _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_start=4697 + _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_end=4742 + _DROPINDEXMESSAGE._serialized_start=4745 + _DROPINDEXMESSAGE._serialized_end=4882 + _REBUILDINDEXMESSAGE._serialized_start=4885 + _REBUILDINDEXMESSAGE._serialized_end=5040 + _COLUMNDEFINITION._serialized_start=5043 + _COLUMNDEFINITION._serialized_end=5239 + _ENTITYDEFINITION._serialized_start=5242 + _ENTITYDEFINITION._serialized_end=5381 + _INSERTMESSAGE._serialized_start=5384 + _INSERTMESSAGE._serialized_end=5715 + _INSERTMESSAGE_INSERTELEMENT._serialized_start=5590 + _INSERTMESSAGE_INSERTELEMENT._serialized_end=5715 + _BATCHINSERTMESSAGE._serialized_start=5718 + _BATCHINSERTMESSAGE._serialized_end=6046 + _BATCHINSERTMESSAGE_INSERT._serialized_start=5984 + _BATCHINSERTMESSAGE_INSERT._serialized_end=6046 + _UPDATEMESSAGE._serialized_start=6049 + _UPDATEMESSAGE._serialized_end=6434 + _UPDATEMESSAGE_UPDATEELEMENT._serialized_start=6306 + _UPDATEMESSAGE_UPDATEELEMENT._serialized_end=6434 + _DELETEMESSAGE._serialized_start=6437 + _DELETEMESSAGE._serialized_end=6616 + _QUERYMESSAGE._serialized_start=6619 + _QUERYMESSAGE._serialized_end=6748 + _QUERY._serialized_start=6751 + _QUERY._serialized_end=6999 + _QUERYRESPONSEMESSAGE._serialized_start=7002 + _QUERYRESPONSEMESSAGE._serialized_end=7287 + _QUERYRESPONSEMESSAGE_TUPLE._serialized_start=7228 + _QUERYRESPONSEMESSAGE_TUPLE._serialized_end=7287 + _FROM._serialized_start=7290 + _FROM._serialized_end=7467 + _SCAN._serialized_start=7469 + _SCAN._serialized_end=7560 + _SAMPLE._serialized_start=7562 + _SAMPLE._serialized_end=7662 + _PROJECTION._serialized_start=7665 + _PROJECTION._serialized_end=8103 + _PROJECTION_PROJECTIONELEMENT._serialized_start=7830 + _PROJECTION_PROJECTIONELEMENT._serialized_end=7966 + _PROJECTION_PROJECTIONOPERATION._serialized_start=7969 + _PROJECTION_PROJECTIONOPERATION._serialized_end=8103 + _WHERE._serialized_start=8106 + _WHERE._serialized_end=8272 + _ATOMICBOOLEANPREDICATE._serialized_start=8275 + _ATOMICBOOLEANPREDICATE._serialized_end=8494 + _ATOMICBOOLEANOPERAND._serialized_start=8497 + _ATOMICBOOLEANOPERAND._serialized_end=8648 + _COMPOUNDBOOLEANPREDICATE._serialized_start=8651 + _COMPOUNDBOOLEANPREDICATE._serialized_end=9041 + _ORDER._serialized_start=9044 + _ORDER._serialized_end=9297 + _ORDER_COMPONENT._serialized_start=9120 + _ORDER_COMPONENT._serialized_end=9253 + _ORDER_DIRECTION._serialized_start=9255 + _ORDER_DIRECTION._serialized_end=9297 + _DDL._serialized_start=9865 + _DDL._serialized_end=11504 + _DML._serialized_start=11507 + _DML._serialized_end=11942 + _DQL._serialized_start=11945 + _DQL._serialized_end=12218 + _TXN._serialized_start=12221 + _TXN._serialized_end=12756 # @@protoc_insertion_point(module_scope) diff --git a/cottontaildb_client/cottontail_pb2_grpc.py b/cottontaildb_client/cottontail_pb2_grpc.py index 8aa7013..48a02d5 100644 --- a/cottontaildb_client/cottontail_pb2_grpc.py +++ b/cottontaildb_client/cottontail_pb2_grpc.py @@ -40,6 +40,16 @@ def __init__(self, channel): request_serializer=cottontail__pb2.EntityDetailsMessage.SerializeToString, response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, ) + self.EntityStatistics = channel.unary_unary( + '/org.vitrivr.cottontail.grpc.DDL/EntityStatistics', + request_serializer=cottontail__pb2.EntityDetailsMessage.SerializeToString, + response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + ) + self.IndexDetails = channel.unary_unary( + '/org.vitrivr.cottontail.grpc.DDL/IndexDetails', + request_serializer=cottontail__pb2.IndexDetailsMessage.SerializeToString, + response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + ) self.CreateEntity = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/CreateEntity', request_serializer=cottontail__pb2.CreateEntityMessage.SerializeToString, @@ -55,9 +65,9 @@ def __init__(self, channel): request_serializer=cottontail__pb2.TruncateEntityMessage.SerializeToString, response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, ) - self.OptimizeEntity = channel.unary_unary( - '/org.vitrivr.cottontail.grpc.DDL/OptimizeEntity', - request_serializer=cottontail__pb2.OptimizeEntityMessage.SerializeToString, + self.AnalyzeEntity = channel.unary_unary( + '/org.vitrivr.cottontail.grpc.DDL/AnalyzeEntity', + request_serializer=cottontail__pb2.AnalyzeEntityMessage.SerializeToString, response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, ) self.CreateIndex = channel.unary_unary( @@ -115,6 +125,20 @@ def EntityDetails(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def EntityStatistics(self, request, context): + """Returns details about the given column. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def IndexDetails(self, request, context): + """Returns details about the given index. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def CreateEntity(self, request, context): """* Creates a new entity. """ @@ -136,7 +160,7 @@ def TruncateEntity(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def OptimizeEntity(self, request, context): + def AnalyzeEntity(self, request, context): """Optimizing and truncating entities. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -192,6 +216,16 @@ def add_DDLServicer_to_server(servicer, server): request_deserializer=cottontail__pb2.EntityDetailsMessage.FromString, response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, ), + 'EntityStatistics': grpc.unary_unary_rpc_method_handler( + servicer.EntityStatistics, + request_deserializer=cottontail__pb2.EntityDetailsMessage.FromString, + response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + ), + 'IndexDetails': grpc.unary_unary_rpc_method_handler( + servicer.IndexDetails, + request_deserializer=cottontail__pb2.IndexDetailsMessage.FromString, + response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + ), 'CreateEntity': grpc.unary_unary_rpc_method_handler( servicer.CreateEntity, request_deserializer=cottontail__pb2.CreateEntityMessage.FromString, @@ -207,9 +241,9 @@ def add_DDLServicer_to_server(servicer, server): request_deserializer=cottontail__pb2.TruncateEntityMessage.FromString, response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, ), - 'OptimizeEntity': grpc.unary_unary_rpc_method_handler( - servicer.OptimizeEntity, - request_deserializer=cottontail__pb2.OptimizeEntityMessage.FromString, + 'AnalyzeEntity': grpc.unary_unary_rpc_method_handler( + servicer.AnalyzeEntity, + request_deserializer=cottontail__pb2.AnalyzeEntityMessage.FromString, response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'CreateIndex': grpc.unary_unary_rpc_method_handler( @@ -322,6 +356,40 @@ def EntityDetails(request, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def EntityStatistics(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, '/org.vitrivr.cottontail.grpc.DDL/EntityStatistics', + cottontail__pb2.EntityDetailsMessage.SerializeToString, + cottontail__pb2.QueryResponseMessage.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def IndexDetails(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, '/org.vitrivr.cottontail.grpc.DDL/IndexDetails', + cottontail__pb2.IndexDetailsMessage.SerializeToString, + cottontail__pb2.QueryResponseMessage.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def CreateEntity(request, target, @@ -374,7 +442,7 @@ def TruncateEntity(request, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod - def OptimizeEntity(request, + def AnalyzeEntity(request, target, options=(), channel_credentials=None, @@ -384,8 +452,8 @@ def OptimizeEntity(request, wait_for_ready=None, timeout=None, metadata=None): - return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/OptimizeEntity', - cottontail__pb2.OptimizeEntityMessage.SerializeToString, + return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/AnalyzeEntity', + cottontail__pb2.AnalyzeEntityMessage.SerializeToString, cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -761,22 +829,22 @@ def __init__(self, channel): """ self.Begin = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Begin', - request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=cottontail__pb2.Metadata.FromString, + request_serializer=cottontail__pb2.BeginTransaction.SerializeToString, + response_deserializer=cottontail__pb2.ResponseMetadata.FromString, ) self.Commit = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Commit', - request_serializer=cottontail__pb2.Metadata.SerializeToString, + request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.Rollback = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Rollback', - request_serializer=cottontail__pb2.Metadata.SerializeToString, + request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.Kill = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Kill', - request_serializer=cottontail__pb2.Metadata.SerializeToString, + request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.ListTransactions = channel.unary_stream( @@ -843,22 +911,22 @@ def add_TXNServicer_to_server(servicer, server): rpc_method_handlers = { 'Begin': grpc.unary_unary_rpc_method_handler( servicer.Begin, - request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=cottontail__pb2.Metadata.SerializeToString, + request_deserializer=cottontail__pb2.BeginTransaction.FromString, + response_serializer=cottontail__pb2.ResponseMetadata.SerializeToString, ), 'Commit': grpc.unary_unary_rpc_method_handler( servicer.Commit, - request_deserializer=cottontail__pb2.Metadata.FromString, + request_deserializer=cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'Rollback': grpc.unary_unary_rpc_method_handler( servicer.Rollback, - request_deserializer=cottontail__pb2.Metadata.FromString, + request_deserializer=cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'Kill': grpc.unary_unary_rpc_method_handler( servicer.Kill, - request_deserializer=cottontail__pb2.Metadata.FromString, + request_deserializer=cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'ListTransactions': grpc.unary_stream_rpc_method_handler( @@ -895,8 +963,8 @@ def Begin(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Begin', - google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - cottontail__pb2.Metadata.FromString, + cottontail__pb2.BeginTransaction.SerializeToString, + cottontail__pb2.ResponseMetadata.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -912,7 +980,7 @@ def Commit(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Commit', - cottontail__pb2.Metadata.SerializeToString, + cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -929,7 +997,7 @@ def Rollback(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Rollback', - cottontail__pb2.Metadata.SerializeToString, + cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -946,7 +1014,7 @@ def Kill(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Kill', - cottontail__pb2.Metadata.SerializeToString, + cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/cottontaildb_client/cottontaildb_client.py b/cottontaildb_client/cottontaildb_client.py index 62cea90..443bb1c 100644 --- a/cottontaildb_client/cottontaildb_client.py +++ b/cottontaildb_client/cottontaildb_client.py @@ -6,9 +6,9 @@ from .cottontail_pb2 import SchemaName, CreateSchemaMessage, DropSchemaMessage, EntityName, ColumnDefinition, \ EntityDefinition, CreateEntityMessage, InsertMessage, ColumnName, Scan, From, Type, ListSchemaMessage, \ - ListEntityMessage, EntityDetailsMessage, DropEntityMessage, TruncateEntityMessage, OptimizeEntityMessage, \ - IndexName, IndexType, CreateIndexMessage, DropIndexMessage, RebuildIndexMessage, UpdateMessage, \ - DeleteMessage, Literal, Vector, FloatVector, BatchInsertMessage, Metadata, QueryMessage, Query + ListEntityMessage, EntityDetailsMessage, DropEntityMessage, TruncateEntityMessage, IndexName, IndexType, \ + CreateIndexMessage, DropIndexMessage, RebuildIndexMessage, UpdateMessage, DeleteMessage, Literal, Vector, \ + FloatVector, BatchInsertMessage, RequestMetadata, QueryMessage, Query, AnalyzeEntityMessage from .cottontail_pb2_grpc import DDLStub, DMLStub, TXNStub, DQLStub @@ -51,7 +51,7 @@ def commit_transaction(self): """Commits the current transaction.""" if not self._transaction: raise Exception('No transaction running!') - self._txn.Commit(Metadata(transactionId=self._tid)) + self._txn.Commit(RequestMetadata(transactionId=self._tid)) self._tid = None self._transaction = False @@ -59,7 +59,7 @@ def abort_transaction(self): """Aborts the current transaction and rolls back work. Blocks if a query is ongoing.""" if not self._transaction: raise Exception('No transaction running!') - self._txn.Rollback(Metadata(transactionId=self._tid)) + self._txn.Rollback(RequestMetadata(transactionId=self._tid)) self._tid = None self._transaction = False @@ -67,7 +67,7 @@ def kill_transaction(self): """Kills the current transaction and rolls back work.""" if not self._transaction: raise Exception('No transaction running!') - self._txn.Kill(Metadata(transactionId=self._tid)) + self._txn.Kill(RequestMetadata(transactionId=self._tid)) self._tid = None self._transaction = False @@ -97,14 +97,14 @@ def create_schema(self, schema, exist_ok=False): return schema_name = SchemaName(name=schema) response = self._ddl.CreateSchema( - CreateSchemaMessage(metadata=Metadata(transactionId=self._tid), schema=schema_name)) + CreateSchemaMessage(metadata=RequestMetadata(transactionId=self._tid), schema=schema_name)) return self._parse_query_response(response) def drop_schema(self, schema): """Drops the schema with the given name.""" schema_name = SchemaName(name=schema) response = self._ddl.DropSchema( - DropSchemaMessage(metadata=Metadata(transactionId=self._tid), schema=schema_name)) + DropSchemaMessage(metadata=RequestMetadata(transactionId=self._tid), schema=schema_name)) return self._parse_query_response(response) def create_entity(self, schema, entity, columns, exist_ok=False): @@ -126,7 +126,7 @@ def create_entity(self, schema, entity, columns, exist_ok=False): entity_name = EntityName(schema=schema_name, name=entity) entity_def = EntityDefinition(entity=entity_name, columns=columns) response = self._ddl.CreateEntity( - CreateEntityMessage(metadata=Metadata(transactionId=self._tid), definition=entity_def)) + CreateEntityMessage(metadata=RequestMetadata(transactionId=self._tid), definition=entity_def)) return self._parse_query_response(response) def drop_entity(self, schema, entity, not_exist_ok=True): @@ -136,7 +136,7 @@ def drop_entity(self, schema, entity, not_exist_ok=True): schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) response = self._ddl.DropEntity( - DropEntityMessage(metadata=Metadata(transactionId=self._tid), entity=entity_name)) + DropEntityMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name)) return self._parse_query_response(response) def truncate_entity(self, schema, entity, not_exist_ok=True): @@ -146,18 +146,21 @@ def truncate_entity(self, schema, entity, not_exist_ok=True): schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) response = self._ddl.TruncateEntity( - TruncateEntityMessage(metadata=Metadata(transactionId=self._tid), entity=entity_name)) + TruncateEntityMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name)) return self._parse_query_response(response) - def optimize_entity(self, schema, entity): + def analyze_entity(self, schema, entity, async_=False): """Optimizes the specified entity.""" schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) - response = self._ddl.OptimizeEntity( - OptimizeEntityMessage(metadata=Metadata(transactionId=self._tid), entity=entity_name)) + kwargs = { + 'async': async_ + } + response = self._ddl.AnalyzeEntity( + AnalyzeEntityMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name, **kwargs)) return self._parse_query_response(response) - def create_index(self, schema, entity, index, index_type: IndexType, columns: List[str], rebuild: bool = False): + def create_index(self, schema, entity, index, index_type: IndexType, columns: List[str]): """ Creates an index on a column. @@ -166,14 +169,13 @@ def create_index(self, schema, entity, index, index_type: IndexType, columns: Li @param index: index name @param index_type: type of index @param columns: columns to build index for - @param rebuild: TODO """ schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) # TODO: map params response = self._ddl.CreateIndex( - CreateIndexMessage(metadata=Metadata(transactionId=self._tid), entity=entity_name, type=index_type, - indexName=index, columns=columns, rebuild=rebuild)) + CreateIndexMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name, type=index_type, + indexName=index, columns=columns)) return self._parse_query_response(response) def drop_index(self, schema, entity, index): @@ -187,7 +189,8 @@ def drop_index(self, schema, entity, index): schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) index_name = IndexName(entity=entity_name, name=index) - response = self._ddl.DropIndex(DropIndexMessage(metadata=Metadata(transactionId=self._tid), index=index_name)) + response = self._ddl.DropIndex( + DropIndexMessage(metadata=RequestMetadata(transactionId=self._tid), index=index_name)) return self._parse_query_response(response) def rebuild_index(self, schema, entity, index): @@ -202,13 +205,13 @@ def rebuild_index(self, schema, entity, index): entity_name = EntityName(schema=schema_name, name=entity) index_name = IndexName(entity=entity_name, name=index) response = self._ddl.RebuildIndex( - RebuildIndexMessage(metadata=Metadata(transactionId=self._tid), index=index_name)) + RebuildIndexMessage(metadata=RequestMetadata(transactionId=self._tid), index=index_name)) return self._parse_query_response(response) def list_schemas(self): """Lists all schemas in the database.""" responses = [response for response in - self._ddl.ListSchemas(ListSchemaMessage(metadata=Metadata(transactionId=self._tid)))] + self._ddl.ListSchemas(ListSchemaMessage(metadata=RequestMetadata(transactionId=self._tid)))] tuples = [t.data[0].stringData for response in responses for t in response.tuples] return tuples @@ -222,7 +225,7 @@ def list_entities(self, schema): schema_name = SchemaName(name=schema) responses = [response for response in self._ddl.ListEntities( - ListEntityMessage(metadata=Metadata(transactionId=self._tid), schema=schema_name))] + ListEntityMessage(metadata=RequestMetadata(transactionId=self._tid), schema=schema_name))] tuples = [t.data[0].stringData for response in responses for t in response.tuples] return tuples @@ -237,7 +240,7 @@ def get_entity_details(self, schema, entity): schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) response = self._ddl.EntityDetails( - EntityDetailsMessage(metadata=Metadata(transactionId=self._tid), entity=entity_name)) + EntityDetailsMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name)) entity_data = response.tuples[0] data_names = [c.name.name for c in response.columns] name_index = data_names.index('dbo') @@ -301,7 +304,7 @@ def insert_batch(self, schema, entity, columns, values): 'inserts': inserts } - message = BatchInsertMessage(metadata=Metadata(transactionId=self._tid), **kwargs) + message = BatchInsertMessage(metadata=RequestMetadata(transactionId=self._tid), **kwargs) self._dml.InsertBatch(message) @@ -321,7 +324,8 @@ def update(self, schema, entity, where, updates): for column, value in updates.items()] # TODO: Simplify where specification return self._dml.Update( - UpdateMessage(metadata=Metadata(transactionId=self._tid), **from_kwarg, where=where, updates=updates_list)) + UpdateMessage(metadata=RequestMetadata(transactionId=self._tid), **from_kwarg, where=where, + updates=updates_list)) def delete(self, schema, entity, where): """ @@ -335,7 +339,8 @@ def delete(self, schema, entity, where): entity_name = EntityName(schema=schema_name, name=entity) from_kwarg = {'from': From(scan=Scan(entity=entity_name))} # TODO: Simplify where specification - return self._dml.Delete(DeleteMessage(metadata=Metadata(transactionId=self._tid), **from_kwarg, where=where)) + return self._dml.Delete( + DeleteMessage(metadata=RequestMetadata(transactionId=self._tid), **from_kwarg, where=where)) # Data query @@ -360,7 +365,7 @@ def query(self, schema, entity, projection, where, order=None, limit=None, skip= entity_name = EntityName(schema=schema_name, name=entity) from_kwarg = {'from': from_ if from_ else From(scan=Scan(entity=entity_name))} query = Query(**from_kwarg, projection=projection, where=where, order=order, limit=limit, skip=skip) - responses = self._dql.Query(QueryMessage(metadata=Metadata(transactionId=self._tid), query=query)) + responses = self._dql.Query(QueryMessage(metadata=RequestMetadata(transactionId=self._tid), query=query)) return [r for response in responses for r in self._parse_query_response(response)] @staticmethod @@ -415,7 +420,7 @@ def _insert_helper(self, schema, entity, values): from_kwarg = {'from': From(scan=Scan(entity=entity_name))} elements = [InsertMessage.InsertElement(column=ColumnName(name=column), value=value) for column, value in values.items()] - return InsertMessage(metadata=Metadata(transactionId=self._tid), **from_kwarg, elements=elements) + return InsertMessage(metadata=RequestMetadata(transactionId=self._tid), **from_kwarg, elements=elements) def column_def(name: str, type_: Type, length: int = None, primary: bool = None, nullable: bool = None): diff --git a/tests/test_cottontaildb_client.py b/tests/test_cottontaildb_client.py index a352268..55f7811 100644 --- a/tests/test_cottontaildb_client.py +++ b/tests/test_cottontaildb_client.py @@ -120,11 +120,11 @@ def test_update(self): query_results = self._query_value_with_key(update_key) self.assertEqual(query_results[0][TEST_COLUMN_VALUE], update_value, 'value not correctly updated') - def test_optimize(self): + def test_analyze(self): self._create_schema() self._create_entity() self._batch_insert() - self.client.optimize_entity(TEST_SCHEMA, TEST_ENTITY) + self.client.analyze_entity(TEST_SCHEMA, TEST_ENTITY) def test_create_rebuild_drop_index(self): self._create_schema() From 567494ce579dbaf1bfcb6a61f4eccfb8ee48452b Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 29 Apr 2024 11:39:14 +0200 Subject: [PATCH 2/6] Upgrade and fix tests for proto 0.16.6 --- cottontaildb_client/cottontail_pb2.py | 922 ++++----------------- cottontaildb_client/cottontail_pb2_grpc.py | 284 +++---- cottontaildb_client/cottontaildb_client.py | 22 +- tests/test_cottontaildb_client.py | 40 +- 4 files changed, 344 insertions(+), 924 deletions(-) diff --git a/cottontaildb_client/cottontail_pb2.py b/cottontaildb_client/cottontail_pb2.py index 222d498..bb98003 100644 --- a/cottontaildb_client/cottontail_pb2.py +++ b/cottontaildb_client/cottontail_pb2.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: cottontail.proto +# source: cottontaildb_client/cottontail.proto +# Protobuf Python Version: 4.25.1 """Generated protocol buffer code.""" -from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -16,751 +15,176 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x63ottontail.proto\x12\x1borg.vitrivr.cottontail.grpc\x1a\x1bgoogle/protobuf/empty.proto\"\x1a\n\nSchemaName\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x46unctionName\x12\x0c\n\x04name\x18\x01 \x01(\t\"S\n\nEntityName\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\x12\x0c\n\x04name\x18\x02 \x01(\t\"R\n\tIndexName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\nColumnName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"N\n\x10\x42\x65ginTransaction\x12:\n\x04mode\x18\x01 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\"\xb4\x04\n\x0fRequestMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x0f\n\x07queryId\x18\x02 \x01(\t\x12R\n\x0cparallelHint\x18\n \x01(\x0b\x32<.org.vitrivr.cottontail.grpc.RequestMetadata.ParallelismHint\x12I\n\tindexHint\x18\x0b \x01(\x0b\x32\x36.org.vitrivr.cottontail.grpc.RequestMetadata.IndexHint\x12K\n\npolicyHint\x18\x0c \x01(\x0b\x32\x37.org.vitrivr.cottontail.grpc.RequestMetadata.PolicyHint\x12\x16\n\x0enoOptimiseHint\x18\r \x01(\x08\x1a \n\x0fParallelismHint\x12\r\n\x05limit\x18\x01 \x01(\x05\x1ar\n\tIndexHint\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexTypeH\x00\x12\x12\n\x08\x64isallow\x18\x03 \x01(\x08H\x00\x42\t\n\x07setting\x1a_\n\nPolicyHint\x12\x10\n\x08weightIo\x18\x01 \x01(\x02\x12\x11\n\tweightCpu\x18\x02 \x01(\x02\x12\x14\n\x0cweightMemory\x18\x03 \x01(\x02\x12\x16\n\x0eweightAccuracy\x18\x04 \x01(\x02\"\xc1\x01\n\x10ResponseMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x45\n\x0ftransactionMode\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x14\n\x0cplanDuration\x18\x04 \x01(\x03\x12\x11\n\tplanScore\x18\x05 \x01(\x02\x12\x15\n\rqueryDuration\x18\x06 \x01(\x03\"\x9e\x03\n\x07Literal\x12\x15\n\x0b\x62ooleanData\x18\x01 \x01(\x08H\x00\x12\x11\n\x07intData\x18\x02 \x01(\x05H\x00\x12\x12\n\x08longData\x18\x03 \x01(\x03H\x00\x12\x13\n\tfloatData\x18\x04 \x01(\x02H\x00\x12\x14\n\ndoubleData\x18\x05 \x01(\x01H\x00\x12\x14\n\nstringData\x18\x06 \x01(\tH\x00\x12\x35\n\x08\x64\x61teData\x18\x07 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.DateH\x00\x12?\n\rcomplex32Data\x18\x08 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32H\x00\x12?\n\rcomplex64Data\x18\t \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64H\x00\x12\x39\n\nvectorData\x18\n \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.VectorH\x00\x12\x18\n\x0e\x62yteStringData\x18\x0b \x01(\x0cH\x00\x42\x06\n\x04\x64\x61ta\"\xc2\x01\n\nExpression\x12\x37\n\x07literal\x18\x01 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.LiteralH\x00\x12\x39\n\x06\x63olumn\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnNameH\x00\x12\x39\n\x08\x66unction\x18\x03 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.FunctionH\x00\x42\x05\n\x03\x65xp\"\x7f\n\x08\x46unction\x12\x37\n\x04name\x18\x01 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.FunctionName\x12:\n\targuments\x18\x02 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"J\n\x0b\x45xpressions\x12;\n\nexpression\x18\x01 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xe7\x03\n\x06Vector\x12?\n\x0b\x66loatVector\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.FloatVectorH\x00\x12\x41\n\x0c\x64oubleVector\x18\x02 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.DoubleVectorH\x00\x12;\n\tintVector\x18\x03 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IntVectorH\x00\x12=\n\nlongVector\x18\x04 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.LongVectorH\x00\x12=\n\nboolVector\x18\x05 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.BoolVectorH\x00\x12G\n\x0f\x63omplex32Vector\x18\x06 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex32VectorH\x00\x12G\n\x0f\x63omplex64Vector\x18\x07 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex64VectorH\x00\x42\x0c\n\nvectorData\"\x06\n\x04Null\"\x1d\n\x04\x44\x61te\x12\x15\n\rutc_timestamp\x18\x01 \x01(\x03\",\n\tComplex32\x12\x0c\n\x04real\x18\x01 \x01(\x02\x12\x11\n\timaginary\x18\x02 \x01(\x02\",\n\tComplex64\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"\x1d\n\x0b\x46loatVector\x12\x0e\n\x06vector\x18\x01 \x03(\x02\"\x1e\n\x0c\x44oubleVector\x12\x0e\n\x06vector\x18\x01 \x03(\x01\"\x1b\n\tIntVector\x12\x0e\n\x06vector\x18\x01 \x03(\x05\"\x1c\n\nLongVector\x12\x0e\n\x06vector\x18\x01 \x03(\x03\"\x1c\n\nBoolVector\x12\x0e\n\x06vector\x18\x01 \x03(\x08\"I\n\x0f\x43omplex32Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32\"I\n\x0f\x43omplex64Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64\"\x8e\x01\n\x13\x43reateSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\x8c\x01\n\x11\x44ropSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"S\n\x11ListSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\"\x98\x01\n\x13\x43reateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x41\n\ndefinition\x18\x02 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.EntityDefinition\"\x8c\x01\n\x11\x44ropEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x90\x01\n\x15TruncateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x9e\x01\n\x14\x41nalyzeEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\x8f\x01\n\x14\x45ntityDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x8c\x01\n\x13IndexDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x8c\x01\n\x11ListEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\xe3\x02\n\x12\x43reateIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexType\x12\x11\n\tindexName\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12K\n\x06params\x18\x06 \x03(\x0b\x32;.org.vitrivr.cottontail.grpc.CreateIndexMessage.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x89\x01\n\x10\x44ropIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x9b\x01\n\x13RebuildIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\xc4\x01\n\x10\x43olumnDefinition\x12\x35\n\x04name\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12/\n\x04type\x18\x02 \x01(\x0e\x32!.org.vitrivr.cottontail.grpc.Type\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0f\n\x07primary\x18\x04 \x01(\x08\x12\x10\n\x08nullable\x18\x05 \x01(\x08\x12\x15\n\rautoIncrement\x18\x06 \x01(\x08\"\x8b\x01\n\x10\x45ntityDefinition\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\"\xcb\x02\n\rInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12J\n\x08\x65lements\x18\x03 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.InsertMessage.InsertElement\x1a}\n\rInsertElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xc8\x02\n\x12\x42\x61tchInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12G\n\x07inserts\x18\x04 \x03(\x0b\x32\x36.org.vitrivr.cottontail.grpc.BatchInsertMessage.Insert\x1a>\n\x06Insert\x12\x34\n\x06values\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\x81\x03\n\rUpdateMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12I\n\x07updates\x18\x04 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.UpdateMessage.UpdateElement\x1a\x80\x01\n\rUpdateElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xb3\x01\n\rDeleteMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\"\x81\x01\n\x0cQueryMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x31\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Query\"\xf8\x01\n\x05Query\x12/\n\x04\x66rom\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12;\n\nprojection\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Projection\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12\x31\n\x05order\x18\x04 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Order\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x0c\n\x04skip\x18\x06 \x01(\x04\"\x9d\x02\n\x14QueryResponseMessage\x12?\n\x08metadata\x18\x01 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\x12G\n\x06tuples\x18\x03 \x03(\x0b\x32\x37.org.vitrivr.cottontail.grpc.QueryResponseMessage.Tuple\x1a;\n\x05Tuple\x12\x32\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xb1\x01\n\x04\x46rom\x12\x31\n\x04scan\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.ScanH\x00\x12\x35\n\x06sample\x18\x02 \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.SampleH\x00\x12\x37\n\tsubSelect\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\x06\n\x04\x66rom\"[\n\x04Scan\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05start\x18\x02 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x03 \x01(\x03\"d\n\x06Sample\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04seed\x18\x02 \x01(\x03\x12\x13\n\x0bprobability\x18\x03 \x01(\x02\"\xb6\x03\n\nProjection\x12G\n\x02op\x18\x01 \x01(\x0e\x32;.org.vitrivr.cottontail.grpc.Projection.ProjectionOperation\x12K\n\x08\x65lements\x18\x02 \x03(\x0b\x32\x39.org.vitrivr.cottontail.grpc.Projection.ProjectionElement\x1a\x88\x01\n\x11ProjectionElement\x12\x36\n\x05\x61lias\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12;\n\nexpression\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\x86\x01\n\x13ProjectionOperation\x12\n\n\x06SELECT\x10\x00\x12\x13\n\x0fSELECT_DISTINCT\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\n\n\x06\x45XISTS\x10\x04\x12\x07\n\x03SUM\x10\x05\x12\x07\n\x03MAX\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x08\n\x04MEAN\x10\x08\"\xa6\x01\n\x05Where\x12\x45\n\x06\x61tomic\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12I\n\x08\x63ompound\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x42\x0b\n\tpredicate\"\xdb\x01\n\x16\x41tomicBooleanPredicate\x12\x35\n\x04left\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12@\n\x05right\x18\x02 \x01(\x0b\x32\x31.org.vitrivr.cottontail.grpc.AtomicBooleanOperand\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ComparisonOperator\x12\x0b\n\x03not\x18\x04 \x01(\x08\"\x97\x01\n\x14\x41tomicBooleanOperand\x12?\n\x0b\x65xpressions\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.ExpressionsH\x00\x12\x33\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\t\n\x07operand\"\x86\x03\n\x18\x43ompoundBooleanPredicate\x12\x44\n\x05\x61left\x18\x01 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x00\x12\x46\n\x05\x63left\x18\x02 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x00\x12;\n\x02op\x18\x03 \x01(\x0e\x32/.org.vitrivr.cottontail.grpc.ConnectionOperator\x12\x45\n\x06\x61right\x18\x04 \x01(\x0b\x32\x33.org.vitrivr.cottontail.grpc.AtomicBooleanPredicateH\x01\x12G\n\x06\x63right\x18\x05 \x01(\x0b\x32\x35.org.vitrivr.cottontail.grpc.CompoundBooleanPredicateH\x01\x42\x06\n\x04leftB\x07\n\x05right\"\xfd\x01\n\x05Order\x12@\n\ncomponents\x18\x01 \x03(\x0b\x32,.org.vitrivr.cottontail.grpc.Order.Component\x1a\x85\x01\n\tComponent\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12?\n\tdirection\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.Order.Direction\"*\n\tDirection\x12\r\n\tASCENDING\x10\x00\x12\x0e\n\nDESCENDING\x10\x01*U\n\tIndexType\x12\t\n\x05\x42TREE\x10\x00\x12\x0c\n\x08\x42TREE_UQ\x10\x01\x12\n\n\x06LUCENE\x10\x02\x12\x07\n\x03VAF\x10\x03\x12\x06\n\x02PQ\x10\x04\x12\t\n\x05IVFPQ\x10\x05\x12\x07\n\x03LSH\x10\x06*/\n\x0fTransactionMode\x12\x0e\n\nREAD_WRITE\x10\x00\x12\x0c\n\x08READONLY\x10\x01*\x88\x02\n\x04Type\x12\x0b\n\x07\x42OOLEAN\x10\x00\x12\x08\n\x04\x42YTE\x10\x01\x12\t\n\x05SHORT\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x08\n\x04LONG\x10\x04\x12\t\n\x05\x46LOAT\x10\x05\x12\n\n\x06\x44OUBLE\x10\x06\x12\x08\n\x04\x44\x41TE\x10\x07\x12\n\n\x06STRING\x10\x08\x12\r\n\tCOMPLEX32\x10\t\x12\r\n\tCOMPLEX64\x10\n\x12\x0e\n\nDOUBLE_VEC\x10\x0b\x12\r\n\tFLOAT_VEC\x10\x0c\x12\x0c\n\x08LONG_VEC\x10\r\x12\x0b\n\x07INT_VEC\x10\x0e\x12\x0c\n\x08\x42OOL_VEC\x10\x0f\x12\x11\n\rCOMPLEX32_VEC\x10\x10\x12\x11\n\rCOMPLEX64_VEC\x10\x11\x12\x0e\n\nBYTESTRING\x10\x12*y\n\x12\x43omparisonOperator\x12\t\n\x05\x45QUAL\x10\x00\x12\x0b\n\x07GREATER\x10\x01\x12\x08\n\x04LESS\x10\x02\x12\n\n\x06GEQUAL\x10\x03\x12\n\n\x06LEQUAL\x10\x04\x12\x06\n\x02IN\x10\x05\x12\x0b\n\x07\x42\x45TWEEN\x10\x06\x12\n\n\x06ISNULL\x10\x07\x12\x08\n\x04LIKE\x10\x08*%\n\x12\x43onnectionOperator\x12\x07\n\x03\x41ND\x10\x00\x12\x06\n\x02OR\x10\x01\x32\xe7\x0c\n\x03\x44\x44L\x12r\n\x0bListSchemas\x12..org.vitrivr.cottontail.grpc.ListSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12s\n\x0c\x43reateSchema\x12\x30.org.vitrivr.cottontail.grpc.CreateSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropSchema\x12..org.vitrivr.cottontail.grpc.DropSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cListEntities\x12..org.vitrivr.cottontail.grpc.ListEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12u\n\rEntityDetails\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12x\n\x10\x45ntityStatistics\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cIndexDetails\x12\x30.org.vitrivr.cottontail.grpc.IndexDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0c\x43reateEntity\x12\x30.org.vitrivr.cottontail.grpc.CreateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropEntity\x12..org.vitrivr.cottontail.grpc.DropEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12w\n\x0eTruncateEntity\x12\x32.org.vitrivr.cottontail.grpc.TruncateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12u\n\rAnalyzeEntity\x12\x31.org.vitrivr.cottontail.grpc.AnalyzeEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0b\x43reateIndex\x12/.org.vitrivr.cottontail.grpc.CreateIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12m\n\tDropIndex\x12-.org.vitrivr.cottontail.grpc.DropIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cRebuildIndex\x12\x30.org.vitrivr.cottontail.grpc.RebuildIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\xb3\x03\n\x03\x44ML\x12g\n\x06Insert\x12*.org.vitrivr.cottontail.grpc.InsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0bInsertBatch\x12/.org.vitrivr.cottontail.grpc.BatchInsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06Update\x12*.org.vitrivr.cottontail.grpc.UpdateMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06\x44\x65lete\x12*.org.vitrivr.cottontail.grpc.DeleteMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\x91\x02\n\x03\x44QL\x12i\n\x07\x45xplain\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12g\n\x05Query\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12\x36\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty2\x97\x04\n\x03TXN\x12\x65\n\x05\x42\x65gin\x12-.org.vitrivr.cottontail.grpc.BeginTransaction\x1a-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12N\n\x06\x43ommit\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12P\n\x08Rollback\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12L\n\x04Kill\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12_\n\x10ListTransactions\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12X\n\tListLocks\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x42-\n\x1borg.vitrivr.cottontail.grpcB\x0e\x43ottontailGrpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$cottontaildb_client/cottontail.proto\x12\x1borg.vitrivr.cottontail.grpc\x1a\x1bgoogle/protobuf/empty.proto\"\x1a\n\nSchemaName\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x1c\n\x0c\x46unctionName\x12\x0c\n\x04name\x18\x01 \x01(\t\"S\n\nEntityName\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\x12\x0c\n\x04name\x18\x02 \x01(\t\"R\n\tIndexName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"S\n\nColumnName\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04name\x18\x02 \x01(\t\"N\n\x10\x42\x65ginTransaction\x12:\n\x04mode\x18\x01 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\"\xb4\x04\n\x0fRequestMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x0f\n\x07queryId\x18\x02 \x01(\t\x12R\n\x0cparallelHint\x18\n \x01(\x0b\x32<.org.vitrivr.cottontail.grpc.RequestMetadata.ParallelismHint\x12I\n\tindexHint\x18\x0b \x01(\x0b\x32\x36.org.vitrivr.cottontail.grpc.RequestMetadata.IndexHint\x12K\n\npolicyHint\x18\x0c \x01(\x0b\x32\x37.org.vitrivr.cottontail.grpc.RequestMetadata.PolicyHint\x12\x16\n\x0enoOptimiseHint\x18\r \x01(\x08\x1a \n\x0fParallelismHint\x12\r\n\x05limit\x18\x01 \x01(\x05\x1ar\n\tIndexHint\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x36\n\x04type\x18\x02 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexTypeH\x00\x12\x12\n\x08\x64isallow\x18\x03 \x01(\x08H\x00\x42\t\n\x07setting\x1a_\n\nPolicyHint\x12\x10\n\x08weightIo\x18\x01 \x01(\x02\x12\x11\n\tweightCpu\x18\x02 \x01(\x02\x12\x14\n\x0cweightMemory\x18\x03 \x01(\x02\x12\x16\n\x0eweightAccuracy\x18\x04 \x01(\x02\"\xc1\x01\n\x10ResponseMetadata\x12\x15\n\rtransactionId\x18\x01 \x01(\x03\x12\x45\n\x0ftransactionMode\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.TransactionMode\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x14\n\x0cplanDuration\x18\x04 \x01(\x03\x12\x11\n\tplanScore\x18\x05 \x01(\x02\x12\x15\n\rqueryDuration\x18\x06 \x01(\x03\"\xe9\x03\n\x07Literal\x12\x35\n\x08nullData\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.NullH\x00\x12\x15\n\x0b\x62ooleanData\x18\x02 \x01(\x08H\x00\x12\x11\n\x07intData\x18\x03 \x01(\x05H\x00\x12\x12\n\x08longData\x18\x04 \x01(\x03H\x00\x12\x13\n\tfloatData\x18\x05 \x01(\x02H\x00\x12\x14\n\ndoubleData\x18\x06 \x01(\x01H\x00\x12\x14\n\nstringData\x18\x07 \x01(\tH\x00\x12\x12\n\x08\x64\x61teData\x18\x08 \x01(\x03H\x00\x12\x35\n\x08uuidData\x18\t \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.UuidH\x00\x12?\n\rcomplex32Data\x18\x14 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32H\x00\x12?\n\rcomplex64Data\x18\x15 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64H\x00\x12\x39\n\nvectorData\x18\x1e \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.VectorH\x00\x12\x18\n\x0e\x62yteStringData\x18\x32 \x01(\x0cH\x00\x42\x06\n\x04\x64\x61ta\"D\n\x0bLiteralList\x12\x35\n\x07literal\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xb8\x02\n\nExpression\x12\x37\n\x07literal\x18\x01 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.LiteralH\x00\x12?\n\x0bliteralList\x18\x02 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.LiteralListH\x00\x12\x39\n\x06\x63olumn\x18\x03 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnNameH\x00\x12\x39\n\x08\x66unction\x18\x04 \x01(\x0b\x32%.org.vitrivr.cottontail.grpc.FunctionH\x00\x12\x33\n\x05query\x18\x05 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\x05\n\x03\x65xp\"\x7f\n\x08\x46unction\x12\x37\n\x04name\x18\x01 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.FunctionName\x12:\n\targuments\x18\x02 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"J\n\x0b\x45xpressions\x12;\n\nexpression\x18\x01 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xb0\x04\n\x06Vector\x12\x38\n\x04half\x18\x01 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.FloatVectorH\x00\x12\x39\n\x05\x66loat\x18\x02 \x01(\x0b\x32(.org.vitrivr.cottontail.grpc.FloatVectorH\x00\x12;\n\x06\x64ouble\x18\x03 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.DoubleVectorH\x00\x12\x37\n\x05short\x18\x04 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IntVectorH\x00\x12\x35\n\x03int\x18\x05 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IntVectorH\x00\x12\x37\n\x04long\x18\x06 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.LongVectorH\x00\x12\x37\n\x04\x62ool\x18\x07 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.BoolVectorH\x00\x12\x41\n\tcomplex32\x18\x08 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex32VectorH\x00\x12\x41\n\tcomplex64\x18\t \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.Complex64VectorH\x00\x42\x0c\n\nvectorData\"E\n\x04Null\x12/\n\x04type\x18\x01 \x01(\x0e\x32!.org.vitrivr.cottontail.grpc.Type\x12\x0c\n\x04size\x18\x02 \x01(\x05\"9\n\x04Uuid\x12\x18\n\x10leastSignificant\x18\x01 \x01(\x03\x12\x17\n\x0fmostSignificant\x18\x02 \x01(\x03\",\n\tComplex32\x12\x0c\n\x04real\x18\x01 \x01(\x02\x12\x11\n\timaginary\x18\x02 \x01(\x02\",\n\tComplex64\x12\x0c\n\x04real\x18\x01 \x01(\x01\x12\x11\n\timaginary\x18\x02 \x01(\x01\"\x1d\n\x0b\x46loatVector\x12\x0e\n\x06vector\x18\x01 \x03(\x02\"\x1e\n\x0c\x44oubleVector\x12\x0e\n\x06vector\x18\x01 \x03(\x01\"\x1b\n\tIntVector\x12\x0e\n\x06vector\x18\x01 \x03(\x05\"\x1c\n\nLongVector\x12\x0e\n\x06vector\x18\x01 \x03(\x03\"\x1c\n\nBoolVector\x12\x0e\n\x06vector\x18\x01 \x03(\x08\"I\n\x0f\x43omplex32Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex32\"I\n\x0f\x43omplex64Vector\x12\x36\n\x06vector\x18\x01 \x03(\x0b\x32&.org.vitrivr.cottontail.grpc.Complex64\"\xa0\x01\n\x13\x43reateSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\x12\x10\n\x08mayExist\x18\x03 \x01(\x08\"\x8c\x01\n\x11\x44ropSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"S\n\x11ListSchemaMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\"\xe0\x01\n\x13\x43reateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12>\n\x07\x63olumns\x18\x03 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\x12\x10\n\x08mayExist\x18\x04 \x01(\x08\"\x8c\x01\n\x11\x44ropEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x90\x01\n\x15TruncateEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x9e\x01\n\x14\x41nalyzeEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\x8f\x01\n\x14\x45ntityDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\"\x8c\x01\n\x13IndexDetailsMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x8c\x01\n\x11ListEntityMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06schema\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.SchemaName\"\xe3\x02\n\x12\x43reateIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x37\n\x06\x65ntity\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x34\n\x04type\x18\x03 \x01(\x0e\x32&.org.vitrivr.cottontail.grpc.IndexType\x12\x11\n\tindexName\x18\x04 \x01(\t\x12\x0f\n\x07\x63olumns\x18\x05 \x03(\t\x12K\n\x06params\x18\x06 \x03(\x0b\x32;.org.vitrivr.cottontail.grpc.CreateIndexMessage.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x89\x01\n\x10\x44ropIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\"\x9b\x01\n\x13RebuildIndexMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x35\n\x05index\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.IndexName\x12\r\n\x05\x61sync\x18\x03 \x01(\x08\"\xcf\x02\n\x10\x43olumnDefinition\x12\x35\n\x04name\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12/\n\x04type\x18\x02 \x01(\x0e\x32!.org.vitrivr.cottontail.grpc.Type\x12\x0e\n\x06length\x18\x03 \x01(\r\x12\x0f\n\x07primary\x18\x04 \x01(\x08\x12\x10\n\x08nullable\x18\x05 \x01(\x08\x12\x15\n\rautoIncrement\x18\x06 \x01(\x08\x12N\n\x0b\x63ompression\x18\x07 \x01(\x0e\x32\x39.org.vitrivr.cottontail.grpc.ColumnDefinition.Compression\"9\n\x0b\x43ompression\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x07\n\x03LZ4\x10\x02\x12\n\n\x06SNAPPY\x10\x03\"\x8b\x01\n\x10\x45ntityDefinition\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\"\xcb\x02\n\rInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12J\n\x08\x65lements\x18\x03 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.InsertMessage.InsertElement\x1a}\n\rInsertElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x33\n\x05value\x18\x02 \x01(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xc8\x02\n\x12\x42\x61tchInsertMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x38\n\x07\x63olumns\x18\x03 \x03(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12G\n\x07inserts\x18\x04 \x03(\x0b\x32\x36.org.vitrivr.cottontail.grpc.BatchInsertMessage.Insert\x1a>\n\x06Insert\x12\x34\n\x06values\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\x81\x03\n\rUpdateMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12I\n\x07updates\x18\x04 \x03(\x0b\x32\x38.org.vitrivr.cottontail.grpc.UpdateMessage.UpdateElement\x1a\x80\x01\n\rUpdateElement\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12\x36\n\x05value\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\xb3\x01\n\rDeleteMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12/\n\x04\x66rom\x18\x02 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\"\x81\x01\n\x0cQueryMessage\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32,.org.vitrivr.cottontail.grpc.RequestMetadata\x12\x31\n\x05query\x18\x02 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Query\"\xf8\x01\n\x05Query\x12/\n\x04\x66rom\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.From\x12;\n\nprojection\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Projection\x12\x31\n\x05where\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Where\x12\x31\n\x05order\x18\x04 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.Order\x12\r\n\x05limit\x18\x05 \x01(\x04\x12\x0c\n\x04skip\x18\x06 \x01(\x04\"\x9d\x02\n\x14QueryResponseMessage\x12?\n\x08metadata\x18\x01 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12>\n\x07\x63olumns\x18\x02 \x03(\x0b\x32-.org.vitrivr.cottontail.grpc.ColumnDefinition\x12G\n\x06tuples\x18\x03 \x03(\x0b\x32\x37.org.vitrivr.cottontail.grpc.QueryResponseMessage.Tuple\x1a;\n\x05Tuple\x12\x32\n\x04\x64\x61ta\x18\x01 \x03(\x0b\x32$.org.vitrivr.cottontail.grpc.Literal\"\xad\x01\n\x04\x46rom\x12\x31\n\x04scan\x18\x01 \x01(\x0b\x32!.org.vitrivr.cottontail.grpc.ScanH\x00\x12\x35\n\x06sample\x18\x02 \x01(\x0b\x32#.org.vitrivr.cottontail.grpc.SampleH\x00\x12\x33\n\x05query\x18\x03 \x01(\x0b\x32\".org.vitrivr.cottontail.grpc.QueryH\x00\x42\x06\n\x04\x66rom\"[\n\x04Scan\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\r\n\x05start\x18\x02 \x01(\x03\x12\x0b\n\x03\x65nd\x18\x03 \x01(\x03\"d\n\x06Sample\x12\x37\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.EntityName\x12\x0c\n\x04seed\x18\x02 \x01(\x03\x12\x13\n\x0bprobability\x18\x03 \x01(\x02\"\xb6\x03\n\nProjection\x12G\n\x02op\x18\x01 \x01(\x0e\x32;.org.vitrivr.cottontail.grpc.Projection.ProjectionOperation\x12K\n\x08\x65lements\x18\x02 \x03(\x0b\x32\x39.org.vitrivr.cottontail.grpc.Projection.ProjectionElement\x1a\x88\x01\n\x11ProjectionElement\x12\x36\n\x05\x61lias\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12;\n\nexpression\x18\x02 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"\x86\x01\n\x13ProjectionOperation\x12\n\n\x06SELECT\x10\x00\x12\x13\n\x0fSELECT_DISTINCT\x10\x01\x12\t\n\x05\x43OUNT\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03\x12\n\n\x06\x45XISTS\x10\x04\x12\x07\n\x03SUM\x10\x05\x12\x07\n\x03MAX\x10\x06\x12\x07\n\x03MIN\x10\x07\x12\x08\n\x04MEAN\x10\x08\"B\n\x05Where\x12\x39\n\tpredicate\x18\x01 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Predicate\"\xce\x08\n\tPredicate\x12\x41\n\x07literal\x18\x01 \x01(\x0b\x32..org.vitrivr.cottontail.grpc.Predicate.LiteralH\x00\x12G\n\ncomparison\x18\x02 \x01(\x0b\x32\x31.org.vitrivr.cottontail.grpc.Predicate.ComparisonH\x00\x12?\n\x06isnull\x18\x03 \x01(\x0b\x32-.org.vitrivr.cottontail.grpc.Predicate.IsNullH\x00\x12\x39\n\x03\x61nd\x18\x04 \x01(\x0b\x32*.org.vitrivr.cottontail.grpc.Predicate.AndH\x00\x12\x37\n\x02or\x18\x05 \x01(\x0b\x32).org.vitrivr.cottontail.grpc.Predicate.OrH\x00\x12\x39\n\x03not\x18\x06 \x01(\x0b\x32*.org.vitrivr.cottontail.grpc.Predicate.NotH\x00\x1a\x18\n\x07Literal\x12\r\n\x05value\x18\x01 \x01(\x08\x1a>\n\x06IsNull\x12\x34\n\x03\x65xp\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\x1a\xc6\x02\n\nComparison\x12\x35\n\x04lexp\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\x12L\n\x08operator\x18\x02 \x01(\x0e\x32:.org.vitrivr.cottontail.grpc.Predicate.Comparison.Operator\x12\x35\n\x04rexp\x18\x03 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.Expression\"|\n\x08Operator\x12\t\n\x05\x45QUAL\x10\x00\x12\x0c\n\x08NOTEQUAL\x10\x01\x12\x0b\n\x07GREATER\x10\x02\x12\x08\n\x04LESS\x10\x03\x12\n\n\x06GEQUAL\x10\x04\x12\n\n\x06LEQUAL\x10\x05\x12\x06\n\x02IN\x10\x06\x12\x0b\n\x07\x42\x45TWEEN\x10\x07\x12\x08\n\x04LIKE\x10\x08\x12\t\n\x05MATCH\x10\t\x1am\n\x03\x41nd\x12\x32\n\x02p1\x18\x01 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Predicate\x12\x32\n\x02p2\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Predicate\x1al\n\x02Or\x12\x32\n\x02p1\x18\x01 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Predicate\x12\x32\n\x02p2\x18\x02 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.Predicate\x1a\x38\n\x03Not\x12\x31\n\x01p\x18\x01 \x01(\x0b\x32&.org.vitrivr.cottontail.grpc.PredicateB\x0b\n\tpredicate\"\xfd\x01\n\x05Order\x12@\n\ncomponents\x18\x01 \x03(\x0b\x32,.org.vitrivr.cottontail.grpc.Order.Component\x1a\x85\x01\n\tComponent\x12\x37\n\x06\x63olumn\x18\x01 \x01(\x0b\x32\'.org.vitrivr.cottontail.grpc.ColumnName\x12?\n\tdirection\x18\x02 \x01(\x0e\x32,.org.vitrivr.cottontail.grpc.Order.Direction\"*\n\tDirection\x12\r\n\tASCENDING\x10\x00\x12\x0e\n\nDESCENDING\x10\x01*U\n\tIndexType\x12\t\n\x05\x42TREE\x10\x00\x12\x0c\n\x08\x42TREE_UQ\x10\x01\x12\n\n\x06LUCENE\x10\x02\x12\x07\n\x03VAF\x10\x03\x12\x06\n\x02PQ\x10\x04\x12\t\n\x05IVFPQ\x10\x05\x12\x07\n\x03LSH\x10\x06*/\n\x0fTransactionMode\x12\x0e\n\nREAD_WRITE\x10\x00\x12\x0c\n\x08READONLY\x10\x01*\xd1\x02\n\x04Type\x12\x0b\n\x07\x42OOLEAN\x10\x00\x12\x08\n\x04\x42YTE\x10\x01\x12\t\n\x05SHORT\x10\x02\x12\x0b\n\x07INTEGER\x10\x03\x12\x08\n\x04LONG\x10\x04\x12\t\n\x05\x46LOAT\x10\x05\x12\n\n\x06\x44OUBLE\x10\x06\x12\x08\n\x04\x44\x41TE\x10\x07\x12\n\n\x06STRING\x10\x08\x12\x08\n\x04UUID\x10\t\x12\r\n\tCOMPLEX32\x10\x14\x12\r\n\tCOMPLEX64\x10\x15\x12\x11\n\rDOUBLE_VECTOR\x10\x1e\x12\x10\n\x0c\x46LOAT_VECTOR\x10\x1f\x12\x0f\n\x0bLONG_VECTOR\x10 \x12\x12\n\x0eINTEGER_VECTOR\x10!\x12\x12\n\x0e\x42OOLEAN_VECTOR\x10\"\x12\x14\n\x10\x43OMPLEX32_VECTOR\x10#\x12\x14\n\x10\x43OMPLEX64_VECTOR\x10$\x12\x10\n\x0cSHORT_VECTOR\x10%\x12\x0f\n\x0bHALF_VECTOR\x10&\x12\x0e\n\nBYTESTRING\x10\x32\x32\xe7\x0c\n\x03\x44\x44L\x12r\n\x0bListSchemas\x12..org.vitrivr.cottontail.grpc.ListSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12s\n\x0c\x43reateSchema\x12\x30.org.vitrivr.cottontail.grpc.CreateSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropSchema\x12..org.vitrivr.cottontail.grpc.DropSchemaMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cListEntities\x12..org.vitrivr.cottontail.grpc.ListEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12u\n\rEntityDetails\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12x\n\x10\x45ntityStatistics\x12\x31.org.vitrivr.cottontail.grpc.EntityDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cIndexDetails\x12\x30.org.vitrivr.cottontail.grpc.IndexDetailsMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0c\x43reateEntity\x12\x30.org.vitrivr.cottontail.grpc.CreateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12o\n\nDropEntity\x12..org.vitrivr.cottontail.grpc.DropEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12w\n\x0eTruncateEntity\x12\x32.org.vitrivr.cottontail.grpc.TruncateEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12u\n\rAnalyzeEntity\x12\x31.org.vitrivr.cottontail.grpc.AnalyzeEntityMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0b\x43reateIndex\x12/.org.vitrivr.cottontail.grpc.CreateIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12m\n\tDropIndex\x12-.org.vitrivr.cottontail.grpc.DropIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12s\n\x0cRebuildIndex\x12\x30.org.vitrivr.cottontail.grpc.RebuildIndexMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\xb3\x03\n\x03\x44ML\x12g\n\x06Insert\x12*.org.vitrivr.cottontail.grpc.InsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12q\n\x0bInsertBatch\x12/.org.vitrivr.cottontail.grpc.BatchInsertMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06Update\x12*.org.vitrivr.cottontail.grpc.UpdateMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage\x12g\n\x06\x44\x65lete\x12*.org.vitrivr.cottontail.grpc.DeleteMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage2\x91\x02\n\x03\x44QL\x12i\n\x07\x45xplain\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12g\n\x05Query\x12).org.vitrivr.cottontail.grpc.QueryMessage\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12\x36\n\x04Ping\x12\x16.google.protobuf.Empty\x1a\x16.google.protobuf.Empty2\x97\x04\n\x03TXN\x12\x65\n\x05\x42\x65gin\x12-.org.vitrivr.cottontail.grpc.BeginTransaction\x1a-.org.vitrivr.cottontail.grpc.ResponseMetadata\x12N\n\x06\x43ommit\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12P\n\x08Rollback\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12L\n\x04Kill\x12,.org.vitrivr.cottontail.grpc.RequestMetadata\x1a\x16.google.protobuf.Empty\x12_\n\x10ListTransactions\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x12X\n\tListLocks\x12\x16.google.protobuf.Empty\x1a\x31.org.vitrivr.cottontail.grpc.QueryResponseMessage0\x01\x42-\n\x1borg.vitrivr.cottontail.grpcB\x0e\x43ottontailGrpcb\x06proto3') -_INDEXTYPE = DESCRIPTOR.enum_types_by_name['IndexType'] -IndexType = enum_type_wrapper.EnumTypeWrapper(_INDEXTYPE) -_TRANSACTIONMODE = DESCRIPTOR.enum_types_by_name['TransactionMode'] -TransactionMode = enum_type_wrapper.EnumTypeWrapper(_TRANSACTIONMODE) -_TYPE = DESCRIPTOR.enum_types_by_name['Type'] -Type = enum_type_wrapper.EnumTypeWrapper(_TYPE) -_COMPARISONOPERATOR = DESCRIPTOR.enum_types_by_name['ComparisonOperator'] -ComparisonOperator = enum_type_wrapper.EnumTypeWrapper(_COMPARISONOPERATOR) -_CONNECTIONOPERATOR = DESCRIPTOR.enum_types_by_name['ConnectionOperator'] -ConnectionOperator = enum_type_wrapper.EnumTypeWrapper(_CONNECTIONOPERATOR) -BTREE = 0 -BTREE_UQ = 1 -LUCENE = 2 -VAF = 3 -PQ = 4 -IVFPQ = 5 -LSH = 6 -READ_WRITE = 0 -READONLY = 1 -BOOLEAN = 0 -BYTE = 1 -SHORT = 2 -INTEGER = 3 -LONG = 4 -FLOAT = 5 -DOUBLE = 6 -DATE = 7 -STRING = 8 -COMPLEX32 = 9 -COMPLEX64 = 10 -DOUBLE_VEC = 11 -FLOAT_VEC = 12 -LONG_VEC = 13 -INT_VEC = 14 -BOOL_VEC = 15 -COMPLEX32_VEC = 16 -COMPLEX64_VEC = 17 -BYTESTRING = 18 -EQUAL = 0 -GREATER = 1 -LESS = 2 -GEQUAL = 3 -LEQUAL = 4 -IN = 5 -BETWEEN = 6 -ISNULL = 7 -LIKE = 8 -AND = 0 -OR = 1 - - -_SCHEMANAME = DESCRIPTOR.message_types_by_name['SchemaName'] -_FUNCTIONNAME = DESCRIPTOR.message_types_by_name['FunctionName'] -_ENTITYNAME = DESCRIPTOR.message_types_by_name['EntityName'] -_INDEXNAME = DESCRIPTOR.message_types_by_name['IndexName'] -_COLUMNNAME = DESCRIPTOR.message_types_by_name['ColumnName'] -_BEGINTRANSACTION = DESCRIPTOR.message_types_by_name['BeginTransaction'] -_REQUESTMETADATA = DESCRIPTOR.message_types_by_name['RequestMetadata'] -_REQUESTMETADATA_PARALLELISMHINT = _REQUESTMETADATA.nested_types_by_name['ParallelismHint'] -_REQUESTMETADATA_INDEXHINT = _REQUESTMETADATA.nested_types_by_name['IndexHint'] -_REQUESTMETADATA_POLICYHINT = _REQUESTMETADATA.nested_types_by_name['PolicyHint'] -_RESPONSEMETADATA = DESCRIPTOR.message_types_by_name['ResponseMetadata'] -_LITERAL = DESCRIPTOR.message_types_by_name['Literal'] -_EXPRESSION = DESCRIPTOR.message_types_by_name['Expression'] -_FUNCTION = DESCRIPTOR.message_types_by_name['Function'] -_EXPRESSIONS = DESCRIPTOR.message_types_by_name['Expressions'] -_VECTOR = DESCRIPTOR.message_types_by_name['Vector'] -_NULL = DESCRIPTOR.message_types_by_name['Null'] -_DATE = DESCRIPTOR.message_types_by_name['Date'] -_COMPLEX32 = DESCRIPTOR.message_types_by_name['Complex32'] -_COMPLEX64 = DESCRIPTOR.message_types_by_name['Complex64'] -_FLOATVECTOR = DESCRIPTOR.message_types_by_name['FloatVector'] -_DOUBLEVECTOR = DESCRIPTOR.message_types_by_name['DoubleVector'] -_INTVECTOR = DESCRIPTOR.message_types_by_name['IntVector'] -_LONGVECTOR = DESCRIPTOR.message_types_by_name['LongVector'] -_BOOLVECTOR = DESCRIPTOR.message_types_by_name['BoolVector'] -_COMPLEX32VECTOR = DESCRIPTOR.message_types_by_name['Complex32Vector'] -_COMPLEX64VECTOR = DESCRIPTOR.message_types_by_name['Complex64Vector'] -_CREATESCHEMAMESSAGE = DESCRIPTOR.message_types_by_name['CreateSchemaMessage'] -_DROPSCHEMAMESSAGE = DESCRIPTOR.message_types_by_name['DropSchemaMessage'] -_LISTSCHEMAMESSAGE = DESCRIPTOR.message_types_by_name['ListSchemaMessage'] -_CREATEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['CreateEntityMessage'] -_DROPENTITYMESSAGE = DESCRIPTOR.message_types_by_name['DropEntityMessage'] -_TRUNCATEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['TruncateEntityMessage'] -_ANALYZEENTITYMESSAGE = DESCRIPTOR.message_types_by_name['AnalyzeEntityMessage'] -_ENTITYDETAILSMESSAGE = DESCRIPTOR.message_types_by_name['EntityDetailsMessage'] -_INDEXDETAILSMESSAGE = DESCRIPTOR.message_types_by_name['IndexDetailsMessage'] -_LISTENTITYMESSAGE = DESCRIPTOR.message_types_by_name['ListEntityMessage'] -_CREATEINDEXMESSAGE = DESCRIPTOR.message_types_by_name['CreateIndexMessage'] -_CREATEINDEXMESSAGE_PARAMSENTRY = _CREATEINDEXMESSAGE.nested_types_by_name['ParamsEntry'] -_DROPINDEXMESSAGE = DESCRIPTOR.message_types_by_name['DropIndexMessage'] -_REBUILDINDEXMESSAGE = DESCRIPTOR.message_types_by_name['RebuildIndexMessage'] -_COLUMNDEFINITION = DESCRIPTOR.message_types_by_name['ColumnDefinition'] -_ENTITYDEFINITION = DESCRIPTOR.message_types_by_name['EntityDefinition'] -_INSERTMESSAGE = DESCRIPTOR.message_types_by_name['InsertMessage'] -_INSERTMESSAGE_INSERTELEMENT = _INSERTMESSAGE.nested_types_by_name['InsertElement'] -_BATCHINSERTMESSAGE = DESCRIPTOR.message_types_by_name['BatchInsertMessage'] -_BATCHINSERTMESSAGE_INSERT = _BATCHINSERTMESSAGE.nested_types_by_name['Insert'] -_UPDATEMESSAGE = DESCRIPTOR.message_types_by_name['UpdateMessage'] -_UPDATEMESSAGE_UPDATEELEMENT = _UPDATEMESSAGE.nested_types_by_name['UpdateElement'] -_DELETEMESSAGE = DESCRIPTOR.message_types_by_name['DeleteMessage'] -_QUERYMESSAGE = DESCRIPTOR.message_types_by_name['QueryMessage'] -_QUERY = DESCRIPTOR.message_types_by_name['Query'] -_QUERYRESPONSEMESSAGE = DESCRIPTOR.message_types_by_name['QueryResponseMessage'] -_QUERYRESPONSEMESSAGE_TUPLE = _QUERYRESPONSEMESSAGE.nested_types_by_name['Tuple'] -_FROM = DESCRIPTOR.message_types_by_name['From'] -_SCAN = DESCRIPTOR.message_types_by_name['Scan'] -_SAMPLE = DESCRIPTOR.message_types_by_name['Sample'] -_PROJECTION = DESCRIPTOR.message_types_by_name['Projection'] -_PROJECTION_PROJECTIONELEMENT = _PROJECTION.nested_types_by_name['ProjectionElement'] -_WHERE = DESCRIPTOR.message_types_by_name['Where'] -_ATOMICBOOLEANPREDICATE = DESCRIPTOR.message_types_by_name['AtomicBooleanPredicate'] -_ATOMICBOOLEANOPERAND = DESCRIPTOR.message_types_by_name['AtomicBooleanOperand'] -_COMPOUNDBOOLEANPREDICATE = DESCRIPTOR.message_types_by_name['CompoundBooleanPredicate'] -_ORDER = DESCRIPTOR.message_types_by_name['Order'] -_ORDER_COMPONENT = _ORDER.nested_types_by_name['Component'] -_PROJECTION_PROJECTIONOPERATION = _PROJECTION.enum_types_by_name['ProjectionOperation'] -_ORDER_DIRECTION = _ORDER.enum_types_by_name['Direction'] -SchemaName = _reflection.GeneratedProtocolMessageType('SchemaName', (_message.Message,), { - 'DESCRIPTOR' : _SCHEMANAME, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.SchemaName) - }) -_sym_db.RegisterMessage(SchemaName) - -FunctionName = _reflection.GeneratedProtocolMessageType('FunctionName', (_message.Message,), { - 'DESCRIPTOR' : _FUNCTIONNAME, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.FunctionName) - }) -_sym_db.RegisterMessage(FunctionName) - -EntityName = _reflection.GeneratedProtocolMessageType('EntityName', (_message.Message,), { - 'DESCRIPTOR' : _ENTITYNAME, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.EntityName) - }) -_sym_db.RegisterMessage(EntityName) - -IndexName = _reflection.GeneratedProtocolMessageType('IndexName', (_message.Message,), { - 'DESCRIPTOR' : _INDEXNAME, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.IndexName) - }) -_sym_db.RegisterMessage(IndexName) - -ColumnName = _reflection.GeneratedProtocolMessageType('ColumnName', (_message.Message,), { - 'DESCRIPTOR' : _COLUMNNAME, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ColumnName) - }) -_sym_db.RegisterMessage(ColumnName) - -BeginTransaction = _reflection.GeneratedProtocolMessageType('BeginTransaction', (_message.Message,), { - 'DESCRIPTOR' : _BEGINTRANSACTION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.BeginTransaction) - }) -_sym_db.RegisterMessage(BeginTransaction) - -RequestMetadata = _reflection.GeneratedProtocolMessageType('RequestMetadata', (_message.Message,), { - - 'ParallelismHint' : _reflection.GeneratedProtocolMessageType('ParallelismHint', (_message.Message,), { - 'DESCRIPTOR' : _REQUESTMETADATA_PARALLELISMHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.ParallelismHint) - }) - , - - 'IndexHint' : _reflection.GeneratedProtocolMessageType('IndexHint', (_message.Message,), { - 'DESCRIPTOR' : _REQUESTMETADATA_INDEXHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.IndexHint) - }) - , - - 'PolicyHint' : _reflection.GeneratedProtocolMessageType('PolicyHint', (_message.Message,), { - 'DESCRIPTOR' : _REQUESTMETADATA_POLICYHINT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata.PolicyHint) - }) - , - 'DESCRIPTOR' : _REQUESTMETADATA, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RequestMetadata) - }) -_sym_db.RegisterMessage(RequestMetadata) -_sym_db.RegisterMessage(RequestMetadata.ParallelismHint) -_sym_db.RegisterMessage(RequestMetadata.IndexHint) -_sym_db.RegisterMessage(RequestMetadata.PolicyHint) - -ResponseMetadata = _reflection.GeneratedProtocolMessageType('ResponseMetadata', (_message.Message,), { - 'DESCRIPTOR' : _RESPONSEMETADATA, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ResponseMetadata) - }) -_sym_db.RegisterMessage(ResponseMetadata) - -Literal = _reflection.GeneratedProtocolMessageType('Literal', (_message.Message,), { - 'DESCRIPTOR' : _LITERAL, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Literal) - }) -_sym_db.RegisterMessage(Literal) - -Expression = _reflection.GeneratedProtocolMessageType('Expression', (_message.Message,), { - 'DESCRIPTOR' : _EXPRESSION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Expression) - }) -_sym_db.RegisterMessage(Expression) - -Function = _reflection.GeneratedProtocolMessageType('Function', (_message.Message,), { - 'DESCRIPTOR' : _FUNCTION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Function) - }) -_sym_db.RegisterMessage(Function) - -Expressions = _reflection.GeneratedProtocolMessageType('Expressions', (_message.Message,), { - 'DESCRIPTOR' : _EXPRESSIONS, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Expressions) - }) -_sym_db.RegisterMessage(Expressions) - -Vector = _reflection.GeneratedProtocolMessageType('Vector', (_message.Message,), { - 'DESCRIPTOR' : _VECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Vector) - }) -_sym_db.RegisterMessage(Vector) - -Null = _reflection.GeneratedProtocolMessageType('Null', (_message.Message,), { - 'DESCRIPTOR' : _NULL, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Null) - }) -_sym_db.RegisterMessage(Null) - -Date = _reflection.GeneratedProtocolMessageType('Date', (_message.Message,), { - 'DESCRIPTOR' : _DATE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Date) - }) -_sym_db.RegisterMessage(Date) - -Complex32 = _reflection.GeneratedProtocolMessageType('Complex32', (_message.Message,), { - 'DESCRIPTOR' : _COMPLEX32, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Complex32) - }) -_sym_db.RegisterMessage(Complex32) - -Complex64 = _reflection.GeneratedProtocolMessageType('Complex64', (_message.Message,), { - 'DESCRIPTOR' : _COMPLEX64, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Complex64) - }) -_sym_db.RegisterMessage(Complex64) - -FloatVector = _reflection.GeneratedProtocolMessageType('FloatVector', (_message.Message,), { - 'DESCRIPTOR' : _FLOATVECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.FloatVector) - }) -_sym_db.RegisterMessage(FloatVector) - -DoubleVector = _reflection.GeneratedProtocolMessageType('DoubleVector', (_message.Message,), { - 'DESCRIPTOR' : _DOUBLEVECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.DoubleVector) - }) -_sym_db.RegisterMessage(DoubleVector) - -IntVector = _reflection.GeneratedProtocolMessageType('IntVector', (_message.Message,), { - 'DESCRIPTOR' : _INTVECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.IntVector) - }) -_sym_db.RegisterMessage(IntVector) - -LongVector = _reflection.GeneratedProtocolMessageType('LongVector', (_message.Message,), { - 'DESCRIPTOR' : _LONGVECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.LongVector) - }) -_sym_db.RegisterMessage(LongVector) - -BoolVector = _reflection.GeneratedProtocolMessageType('BoolVector', (_message.Message,), { - 'DESCRIPTOR' : _BOOLVECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.BoolVector) - }) -_sym_db.RegisterMessage(BoolVector) - -Complex32Vector = _reflection.GeneratedProtocolMessageType('Complex32Vector', (_message.Message,), { - 'DESCRIPTOR' : _COMPLEX32VECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Complex32Vector) - }) -_sym_db.RegisterMessage(Complex32Vector) - -Complex64Vector = _reflection.GeneratedProtocolMessageType('Complex64Vector', (_message.Message,), { - 'DESCRIPTOR' : _COMPLEX64VECTOR, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Complex64Vector) - }) -_sym_db.RegisterMessage(Complex64Vector) - -CreateSchemaMessage = _reflection.GeneratedProtocolMessageType('CreateSchemaMessage', (_message.Message,), { - 'DESCRIPTOR' : _CREATESCHEMAMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.CreateSchemaMessage) - }) -_sym_db.RegisterMessage(CreateSchemaMessage) - -DropSchemaMessage = _reflection.GeneratedProtocolMessageType('DropSchemaMessage', (_message.Message,), { - 'DESCRIPTOR' : _DROPSCHEMAMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.DropSchemaMessage) - }) -_sym_db.RegisterMessage(DropSchemaMessage) - -ListSchemaMessage = _reflection.GeneratedProtocolMessageType('ListSchemaMessage', (_message.Message,), { - 'DESCRIPTOR' : _LISTSCHEMAMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ListSchemaMessage) - }) -_sym_db.RegisterMessage(ListSchemaMessage) - -CreateEntityMessage = _reflection.GeneratedProtocolMessageType('CreateEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _CREATEENTITYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.CreateEntityMessage) - }) -_sym_db.RegisterMessage(CreateEntityMessage) - -DropEntityMessage = _reflection.GeneratedProtocolMessageType('DropEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _DROPENTITYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.DropEntityMessage) - }) -_sym_db.RegisterMessage(DropEntityMessage) - -TruncateEntityMessage = _reflection.GeneratedProtocolMessageType('TruncateEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _TRUNCATEENTITYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.TruncateEntityMessage) - }) -_sym_db.RegisterMessage(TruncateEntityMessage) - -AnalyzeEntityMessage = _reflection.GeneratedProtocolMessageType('AnalyzeEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _ANALYZEENTITYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.AnalyzeEntityMessage) - }) -_sym_db.RegisterMessage(AnalyzeEntityMessage) - -EntityDetailsMessage = _reflection.GeneratedProtocolMessageType('EntityDetailsMessage', (_message.Message,), { - 'DESCRIPTOR' : _ENTITYDETAILSMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.EntityDetailsMessage) - }) -_sym_db.RegisterMessage(EntityDetailsMessage) - -IndexDetailsMessage = _reflection.GeneratedProtocolMessageType('IndexDetailsMessage', (_message.Message,), { - 'DESCRIPTOR' : _INDEXDETAILSMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.IndexDetailsMessage) - }) -_sym_db.RegisterMessage(IndexDetailsMessage) - -ListEntityMessage = _reflection.GeneratedProtocolMessageType('ListEntityMessage', (_message.Message,), { - 'DESCRIPTOR' : _LISTENTITYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ListEntityMessage) - }) -_sym_db.RegisterMessage(ListEntityMessage) - -CreateIndexMessage = _reflection.GeneratedProtocolMessageType('CreateIndexMessage', (_message.Message,), { - - 'ParamsEntry' : _reflection.GeneratedProtocolMessageType('ParamsEntry', (_message.Message,), { - 'DESCRIPTOR' : _CREATEINDEXMESSAGE_PARAMSENTRY, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.CreateIndexMessage.ParamsEntry) - }) - , - 'DESCRIPTOR' : _CREATEINDEXMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.CreateIndexMessage) - }) -_sym_db.RegisterMessage(CreateIndexMessage) -_sym_db.RegisterMessage(CreateIndexMessage.ParamsEntry) - -DropIndexMessage = _reflection.GeneratedProtocolMessageType('DropIndexMessage', (_message.Message,), { - 'DESCRIPTOR' : _DROPINDEXMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.DropIndexMessage) - }) -_sym_db.RegisterMessage(DropIndexMessage) - -RebuildIndexMessage = _reflection.GeneratedProtocolMessageType('RebuildIndexMessage', (_message.Message,), { - 'DESCRIPTOR' : _REBUILDINDEXMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.RebuildIndexMessage) - }) -_sym_db.RegisterMessage(RebuildIndexMessage) - -ColumnDefinition = _reflection.GeneratedProtocolMessageType('ColumnDefinition', (_message.Message,), { - 'DESCRIPTOR' : _COLUMNDEFINITION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.ColumnDefinition) - }) -_sym_db.RegisterMessage(ColumnDefinition) - -EntityDefinition = _reflection.GeneratedProtocolMessageType('EntityDefinition', (_message.Message,), { - 'DESCRIPTOR' : _ENTITYDEFINITION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.EntityDefinition) - }) -_sym_db.RegisterMessage(EntityDefinition) - -InsertMessage = _reflection.GeneratedProtocolMessageType('InsertMessage', (_message.Message,), { - - 'InsertElement' : _reflection.GeneratedProtocolMessageType('InsertElement', (_message.Message,), { - 'DESCRIPTOR' : _INSERTMESSAGE_INSERTELEMENT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.InsertMessage.InsertElement) - }) - , - 'DESCRIPTOR' : _INSERTMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.InsertMessage) - }) -_sym_db.RegisterMessage(InsertMessage) -_sym_db.RegisterMessage(InsertMessage.InsertElement) - -BatchInsertMessage = _reflection.GeneratedProtocolMessageType('BatchInsertMessage', (_message.Message,), { - - 'Insert' : _reflection.GeneratedProtocolMessageType('Insert', (_message.Message,), { - 'DESCRIPTOR' : _BATCHINSERTMESSAGE_INSERT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.BatchInsertMessage.Insert) - }) - , - 'DESCRIPTOR' : _BATCHINSERTMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.BatchInsertMessage) - }) -_sym_db.RegisterMessage(BatchInsertMessage) -_sym_db.RegisterMessage(BatchInsertMessage.Insert) - -UpdateMessage = _reflection.GeneratedProtocolMessageType('UpdateMessage', (_message.Message,), { - - 'UpdateElement' : _reflection.GeneratedProtocolMessageType('UpdateElement', (_message.Message,), { - 'DESCRIPTOR' : _UPDATEMESSAGE_UPDATEELEMENT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.UpdateMessage.UpdateElement) - }) - , - 'DESCRIPTOR' : _UPDATEMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.UpdateMessage) - }) -_sym_db.RegisterMessage(UpdateMessage) -_sym_db.RegisterMessage(UpdateMessage.UpdateElement) - -DeleteMessage = _reflection.GeneratedProtocolMessageType('DeleteMessage', (_message.Message,), { - 'DESCRIPTOR' : _DELETEMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.DeleteMessage) - }) -_sym_db.RegisterMessage(DeleteMessage) - -QueryMessage = _reflection.GeneratedProtocolMessageType('QueryMessage', (_message.Message,), { - 'DESCRIPTOR' : _QUERYMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.QueryMessage) - }) -_sym_db.RegisterMessage(QueryMessage) - -Query = _reflection.GeneratedProtocolMessageType('Query', (_message.Message,), { - 'DESCRIPTOR' : _QUERY, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Query) - }) -_sym_db.RegisterMessage(Query) - -QueryResponseMessage = _reflection.GeneratedProtocolMessageType('QueryResponseMessage', (_message.Message,), { - - 'Tuple' : _reflection.GeneratedProtocolMessageType('Tuple', (_message.Message,), { - 'DESCRIPTOR' : _QUERYRESPONSEMESSAGE_TUPLE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.QueryResponseMessage.Tuple) - }) - , - 'DESCRIPTOR' : _QUERYRESPONSEMESSAGE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.QueryResponseMessage) - }) -_sym_db.RegisterMessage(QueryResponseMessage) -_sym_db.RegisterMessage(QueryResponseMessage.Tuple) - -From = _reflection.GeneratedProtocolMessageType('From', (_message.Message,), { - 'DESCRIPTOR' : _FROM, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.From) - }) -_sym_db.RegisterMessage(From) - -Scan = _reflection.GeneratedProtocolMessageType('Scan', (_message.Message,), { - 'DESCRIPTOR' : _SCAN, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Scan) - }) -_sym_db.RegisterMessage(Scan) - -Sample = _reflection.GeneratedProtocolMessageType('Sample', (_message.Message,), { - 'DESCRIPTOR' : _SAMPLE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Sample) - }) -_sym_db.RegisterMessage(Sample) - -Projection = _reflection.GeneratedProtocolMessageType('Projection', (_message.Message,), { - - 'ProjectionElement' : _reflection.GeneratedProtocolMessageType('ProjectionElement', (_message.Message,), { - 'DESCRIPTOR' : _PROJECTION_PROJECTIONELEMENT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Projection.ProjectionElement) - }) - , - 'DESCRIPTOR' : _PROJECTION, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Projection) - }) -_sym_db.RegisterMessage(Projection) -_sym_db.RegisterMessage(Projection.ProjectionElement) - -Where = _reflection.GeneratedProtocolMessageType('Where', (_message.Message,), { - 'DESCRIPTOR' : _WHERE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Where) - }) -_sym_db.RegisterMessage(Where) - -AtomicBooleanPredicate = _reflection.GeneratedProtocolMessageType('AtomicBooleanPredicate', (_message.Message,), { - 'DESCRIPTOR' : _ATOMICBOOLEANPREDICATE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.AtomicBooleanPredicate) - }) -_sym_db.RegisterMessage(AtomicBooleanPredicate) - -AtomicBooleanOperand = _reflection.GeneratedProtocolMessageType('AtomicBooleanOperand', (_message.Message,), { - 'DESCRIPTOR' : _ATOMICBOOLEANOPERAND, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.AtomicBooleanOperand) - }) -_sym_db.RegisterMessage(AtomicBooleanOperand) - -CompoundBooleanPredicate = _reflection.GeneratedProtocolMessageType('CompoundBooleanPredicate', (_message.Message,), { - 'DESCRIPTOR' : _COMPOUNDBOOLEANPREDICATE, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.CompoundBooleanPredicate) - }) -_sym_db.RegisterMessage(CompoundBooleanPredicate) - -Order = _reflection.GeneratedProtocolMessageType('Order', (_message.Message,), { - - 'Component' : _reflection.GeneratedProtocolMessageType('Component', (_message.Message,), { - 'DESCRIPTOR' : _ORDER_COMPONENT, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Order.Component) - }) - , - 'DESCRIPTOR' : _ORDER, - '__module__' : 'cottontail_pb2' - # @@protoc_insertion_point(class_scope:org.vitrivr.cottontail.grpc.Order) - }) -_sym_db.RegisterMessage(Order) -_sym_db.RegisterMessage(Order.Component) - -_DDL = DESCRIPTOR.services_by_name['DDL'] -_DML = DESCRIPTOR.services_by_name['DML'] -_DQL = DESCRIPTOR.services_by_name['DQL'] -_TXN = DESCRIPTOR.services_by_name['TXN'] +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'cottontaildb_client.cottontail_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\033org.vitrivr.cottontail.grpcB\016CottontailGrpc' - _CREATEINDEXMESSAGE_PARAMSENTRY._options = None - _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_options = b'8\001' - _INDEXTYPE._serialized_start=9299 - _INDEXTYPE._serialized_end=9384 - _TRANSACTIONMODE._serialized_start=9386 - _TRANSACTIONMODE._serialized_end=9433 - _TYPE._serialized_start=9436 - _TYPE._serialized_end=9700 - _COMPARISONOPERATOR._serialized_start=9702 - _COMPARISONOPERATOR._serialized_end=9823 - _CONNECTIONOPERATOR._serialized_start=9825 - _CONNECTIONOPERATOR._serialized_end=9862 - _SCHEMANAME._serialized_start=78 - _SCHEMANAME._serialized_end=104 - _FUNCTIONNAME._serialized_start=106 - _FUNCTIONNAME._serialized_end=134 - _ENTITYNAME._serialized_start=136 - _ENTITYNAME._serialized_end=219 - _INDEXNAME._serialized_start=221 - _INDEXNAME._serialized_end=303 - _COLUMNNAME._serialized_start=305 - _COLUMNNAME._serialized_end=388 - _BEGINTRANSACTION._serialized_start=390 - _BEGINTRANSACTION._serialized_end=468 - _REQUESTMETADATA._serialized_start=471 - _REQUESTMETADATA._serialized_end=1035 - _REQUESTMETADATA_PARALLELISMHINT._serialized_start=790 - _REQUESTMETADATA_PARALLELISMHINT._serialized_end=822 - _REQUESTMETADATA_INDEXHINT._serialized_start=824 - _REQUESTMETADATA_INDEXHINT._serialized_end=938 - _REQUESTMETADATA_POLICYHINT._serialized_start=940 - _REQUESTMETADATA_POLICYHINT._serialized_end=1035 - _RESPONSEMETADATA._serialized_start=1038 - _RESPONSEMETADATA._serialized_end=1231 - _LITERAL._serialized_start=1234 - _LITERAL._serialized_end=1648 - _EXPRESSION._serialized_start=1651 - _EXPRESSION._serialized_end=1845 - _FUNCTION._serialized_start=1847 - _FUNCTION._serialized_end=1974 - _EXPRESSIONS._serialized_start=1976 - _EXPRESSIONS._serialized_end=2050 - _VECTOR._serialized_start=2053 - _VECTOR._serialized_end=2540 - _NULL._serialized_start=2542 - _NULL._serialized_end=2548 - _DATE._serialized_start=2550 - _DATE._serialized_end=2579 - _COMPLEX32._serialized_start=2581 - _COMPLEX32._serialized_end=2625 - _COMPLEX64._serialized_start=2627 - _COMPLEX64._serialized_end=2671 - _FLOATVECTOR._serialized_start=2673 - _FLOATVECTOR._serialized_end=2702 - _DOUBLEVECTOR._serialized_start=2704 - _DOUBLEVECTOR._serialized_end=2734 - _INTVECTOR._serialized_start=2736 - _INTVECTOR._serialized_end=2763 - _LONGVECTOR._serialized_start=2765 - _LONGVECTOR._serialized_end=2793 - _BOOLVECTOR._serialized_start=2795 - _BOOLVECTOR._serialized_end=2823 - _COMPLEX32VECTOR._serialized_start=2825 - _COMPLEX32VECTOR._serialized_end=2898 - _COMPLEX64VECTOR._serialized_start=2900 - _COMPLEX64VECTOR._serialized_end=2973 - _CREATESCHEMAMESSAGE._serialized_start=2976 - _CREATESCHEMAMESSAGE._serialized_end=3118 - _DROPSCHEMAMESSAGE._serialized_start=3121 - _DROPSCHEMAMESSAGE._serialized_end=3261 - _LISTSCHEMAMESSAGE._serialized_start=3263 - _LISTSCHEMAMESSAGE._serialized_end=3346 - _CREATEENTITYMESSAGE._serialized_start=3349 - _CREATEENTITYMESSAGE._serialized_end=3501 - _DROPENTITYMESSAGE._serialized_start=3504 - _DROPENTITYMESSAGE._serialized_end=3644 - _TRUNCATEENTITYMESSAGE._serialized_start=3647 - _TRUNCATEENTITYMESSAGE._serialized_end=3791 - _ANALYZEENTITYMESSAGE._serialized_start=3794 - _ANALYZEENTITYMESSAGE._serialized_end=3952 - _ENTITYDETAILSMESSAGE._serialized_start=3955 - _ENTITYDETAILSMESSAGE._serialized_end=4098 - _INDEXDETAILSMESSAGE._serialized_start=4101 - _INDEXDETAILSMESSAGE._serialized_end=4241 - _LISTENTITYMESSAGE._serialized_start=4244 - _LISTENTITYMESSAGE._serialized_end=4384 - _CREATEINDEXMESSAGE._serialized_start=4387 - _CREATEINDEXMESSAGE._serialized_end=4742 - _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_start=4697 - _CREATEINDEXMESSAGE_PARAMSENTRY._serialized_end=4742 - _DROPINDEXMESSAGE._serialized_start=4745 - _DROPINDEXMESSAGE._serialized_end=4882 - _REBUILDINDEXMESSAGE._serialized_start=4885 - _REBUILDINDEXMESSAGE._serialized_end=5040 - _COLUMNDEFINITION._serialized_start=5043 - _COLUMNDEFINITION._serialized_end=5239 - _ENTITYDEFINITION._serialized_start=5242 - _ENTITYDEFINITION._serialized_end=5381 - _INSERTMESSAGE._serialized_start=5384 - _INSERTMESSAGE._serialized_end=5715 - _INSERTMESSAGE_INSERTELEMENT._serialized_start=5590 - _INSERTMESSAGE_INSERTELEMENT._serialized_end=5715 - _BATCHINSERTMESSAGE._serialized_start=5718 - _BATCHINSERTMESSAGE._serialized_end=6046 - _BATCHINSERTMESSAGE_INSERT._serialized_start=5984 - _BATCHINSERTMESSAGE_INSERT._serialized_end=6046 - _UPDATEMESSAGE._serialized_start=6049 - _UPDATEMESSAGE._serialized_end=6434 - _UPDATEMESSAGE_UPDATEELEMENT._serialized_start=6306 - _UPDATEMESSAGE_UPDATEELEMENT._serialized_end=6434 - _DELETEMESSAGE._serialized_start=6437 - _DELETEMESSAGE._serialized_end=6616 - _QUERYMESSAGE._serialized_start=6619 - _QUERYMESSAGE._serialized_end=6748 - _QUERY._serialized_start=6751 - _QUERY._serialized_end=6999 - _QUERYRESPONSEMESSAGE._serialized_start=7002 - _QUERYRESPONSEMESSAGE._serialized_end=7287 - _QUERYRESPONSEMESSAGE_TUPLE._serialized_start=7228 - _QUERYRESPONSEMESSAGE_TUPLE._serialized_end=7287 - _FROM._serialized_start=7290 - _FROM._serialized_end=7467 - _SCAN._serialized_start=7469 - _SCAN._serialized_end=7560 - _SAMPLE._serialized_start=7562 - _SAMPLE._serialized_end=7662 - _PROJECTION._serialized_start=7665 - _PROJECTION._serialized_end=8103 - _PROJECTION_PROJECTIONELEMENT._serialized_start=7830 - _PROJECTION_PROJECTIONELEMENT._serialized_end=7966 - _PROJECTION_PROJECTIONOPERATION._serialized_start=7969 - _PROJECTION_PROJECTIONOPERATION._serialized_end=8103 - _WHERE._serialized_start=8106 - _WHERE._serialized_end=8272 - _ATOMICBOOLEANPREDICATE._serialized_start=8275 - _ATOMICBOOLEANPREDICATE._serialized_end=8494 - _ATOMICBOOLEANOPERAND._serialized_start=8497 - _ATOMICBOOLEANOPERAND._serialized_end=8648 - _COMPOUNDBOOLEANPREDICATE._serialized_start=8651 - _COMPOUNDBOOLEANPREDICATE._serialized_end=9041 - _ORDER._serialized_start=9044 - _ORDER._serialized_end=9297 - _ORDER_COMPONENT._serialized_start=9120 - _ORDER_COMPONENT._serialized_end=9253 - _ORDER_DIRECTION._serialized_start=9255 - _ORDER_DIRECTION._serialized_end=9297 - _DDL._serialized_start=9865 - _DDL._serialized_end=11504 - _DML._serialized_start=11507 - _DML._serialized_end=11942 - _DQL._serialized_start=11945 - _DQL._serialized_end=12218 - _TXN._serialized_start=12221 - _TXN._serialized_end=12756 + _globals['DESCRIPTOR']._options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\033org.vitrivr.cottontail.grpcB\016CottontailGrpc' + _globals['_CREATEINDEXMESSAGE_PARAMSENTRY']._options = None + _globals['_CREATEINDEXMESSAGE_PARAMSENTRY']._serialized_options = b'8\001' + _globals['_INDEXTYPE']._serialized_start=10206 + _globals['_INDEXTYPE']._serialized_end=10291 + _globals['_TRANSACTIONMODE']._serialized_start=10293 + _globals['_TRANSACTIONMODE']._serialized_end=10340 + _globals['_TYPE']._serialized_start=10343 + _globals['_TYPE']._serialized_end=10680 + _globals['_SCHEMANAME']._serialized_start=98 + _globals['_SCHEMANAME']._serialized_end=124 + _globals['_FUNCTIONNAME']._serialized_start=126 + _globals['_FUNCTIONNAME']._serialized_end=154 + _globals['_ENTITYNAME']._serialized_start=156 + _globals['_ENTITYNAME']._serialized_end=239 + _globals['_INDEXNAME']._serialized_start=241 + _globals['_INDEXNAME']._serialized_end=323 + _globals['_COLUMNNAME']._serialized_start=325 + _globals['_COLUMNNAME']._serialized_end=408 + _globals['_BEGINTRANSACTION']._serialized_start=410 + _globals['_BEGINTRANSACTION']._serialized_end=488 + _globals['_REQUESTMETADATA']._serialized_start=491 + _globals['_REQUESTMETADATA']._serialized_end=1055 + _globals['_REQUESTMETADATA_PARALLELISMHINT']._serialized_start=810 + _globals['_REQUESTMETADATA_PARALLELISMHINT']._serialized_end=842 + _globals['_REQUESTMETADATA_INDEXHINT']._serialized_start=844 + _globals['_REQUESTMETADATA_INDEXHINT']._serialized_end=958 + _globals['_REQUESTMETADATA_POLICYHINT']._serialized_start=960 + _globals['_REQUESTMETADATA_POLICYHINT']._serialized_end=1055 + _globals['_RESPONSEMETADATA']._serialized_start=1058 + _globals['_RESPONSEMETADATA']._serialized_end=1251 + _globals['_LITERAL']._serialized_start=1254 + _globals['_LITERAL']._serialized_end=1743 + _globals['_LITERALLIST']._serialized_start=1745 + _globals['_LITERALLIST']._serialized_end=1813 + _globals['_EXPRESSION']._serialized_start=1816 + _globals['_EXPRESSION']._serialized_end=2128 + _globals['_FUNCTION']._serialized_start=2130 + _globals['_FUNCTION']._serialized_end=2257 + _globals['_EXPRESSIONS']._serialized_start=2259 + _globals['_EXPRESSIONS']._serialized_end=2333 + _globals['_VECTOR']._serialized_start=2336 + _globals['_VECTOR']._serialized_end=2896 + _globals['_NULL']._serialized_start=2898 + _globals['_NULL']._serialized_end=2967 + _globals['_UUID']._serialized_start=2969 + _globals['_UUID']._serialized_end=3026 + _globals['_COMPLEX32']._serialized_start=3028 + _globals['_COMPLEX32']._serialized_end=3072 + _globals['_COMPLEX64']._serialized_start=3074 + _globals['_COMPLEX64']._serialized_end=3118 + _globals['_FLOATVECTOR']._serialized_start=3120 + _globals['_FLOATVECTOR']._serialized_end=3149 + _globals['_DOUBLEVECTOR']._serialized_start=3151 + _globals['_DOUBLEVECTOR']._serialized_end=3181 + _globals['_INTVECTOR']._serialized_start=3183 + _globals['_INTVECTOR']._serialized_end=3210 + _globals['_LONGVECTOR']._serialized_start=3212 + _globals['_LONGVECTOR']._serialized_end=3240 + _globals['_BOOLVECTOR']._serialized_start=3242 + _globals['_BOOLVECTOR']._serialized_end=3270 + _globals['_COMPLEX32VECTOR']._serialized_start=3272 + _globals['_COMPLEX32VECTOR']._serialized_end=3345 + _globals['_COMPLEX64VECTOR']._serialized_start=3347 + _globals['_COMPLEX64VECTOR']._serialized_end=3420 + _globals['_CREATESCHEMAMESSAGE']._serialized_start=3423 + _globals['_CREATESCHEMAMESSAGE']._serialized_end=3583 + _globals['_DROPSCHEMAMESSAGE']._serialized_start=3586 + _globals['_DROPSCHEMAMESSAGE']._serialized_end=3726 + _globals['_LISTSCHEMAMESSAGE']._serialized_start=3728 + _globals['_LISTSCHEMAMESSAGE']._serialized_end=3811 + _globals['_CREATEENTITYMESSAGE']._serialized_start=3814 + _globals['_CREATEENTITYMESSAGE']._serialized_end=4038 + _globals['_DROPENTITYMESSAGE']._serialized_start=4041 + _globals['_DROPENTITYMESSAGE']._serialized_end=4181 + _globals['_TRUNCATEENTITYMESSAGE']._serialized_start=4184 + _globals['_TRUNCATEENTITYMESSAGE']._serialized_end=4328 + _globals['_ANALYZEENTITYMESSAGE']._serialized_start=4331 + _globals['_ANALYZEENTITYMESSAGE']._serialized_end=4489 + _globals['_ENTITYDETAILSMESSAGE']._serialized_start=4492 + _globals['_ENTITYDETAILSMESSAGE']._serialized_end=4635 + _globals['_INDEXDETAILSMESSAGE']._serialized_start=4638 + _globals['_INDEXDETAILSMESSAGE']._serialized_end=4778 + _globals['_LISTENTITYMESSAGE']._serialized_start=4781 + _globals['_LISTENTITYMESSAGE']._serialized_end=4921 + _globals['_CREATEINDEXMESSAGE']._serialized_start=4924 + _globals['_CREATEINDEXMESSAGE']._serialized_end=5279 + _globals['_CREATEINDEXMESSAGE_PARAMSENTRY']._serialized_start=5234 + _globals['_CREATEINDEXMESSAGE_PARAMSENTRY']._serialized_end=5279 + _globals['_DROPINDEXMESSAGE']._serialized_start=5282 + _globals['_DROPINDEXMESSAGE']._serialized_end=5419 + _globals['_REBUILDINDEXMESSAGE']._serialized_start=5422 + _globals['_REBUILDINDEXMESSAGE']._serialized_end=5577 + _globals['_COLUMNDEFINITION']._serialized_start=5580 + _globals['_COLUMNDEFINITION']._serialized_end=5915 + _globals['_COLUMNDEFINITION_COMPRESSION']._serialized_start=5858 + _globals['_COLUMNDEFINITION_COMPRESSION']._serialized_end=5915 + _globals['_ENTITYDEFINITION']._serialized_start=5918 + _globals['_ENTITYDEFINITION']._serialized_end=6057 + _globals['_INSERTMESSAGE']._serialized_start=6060 + _globals['_INSERTMESSAGE']._serialized_end=6391 + _globals['_INSERTMESSAGE_INSERTELEMENT']._serialized_start=6266 + _globals['_INSERTMESSAGE_INSERTELEMENT']._serialized_end=6391 + _globals['_BATCHINSERTMESSAGE']._serialized_start=6394 + _globals['_BATCHINSERTMESSAGE']._serialized_end=6722 + _globals['_BATCHINSERTMESSAGE_INSERT']._serialized_start=6660 + _globals['_BATCHINSERTMESSAGE_INSERT']._serialized_end=6722 + _globals['_UPDATEMESSAGE']._serialized_start=6725 + _globals['_UPDATEMESSAGE']._serialized_end=7110 + _globals['_UPDATEMESSAGE_UPDATEELEMENT']._serialized_start=6982 + _globals['_UPDATEMESSAGE_UPDATEELEMENT']._serialized_end=7110 + _globals['_DELETEMESSAGE']._serialized_start=7113 + _globals['_DELETEMESSAGE']._serialized_end=7292 + _globals['_QUERYMESSAGE']._serialized_start=7295 + _globals['_QUERYMESSAGE']._serialized_end=7424 + _globals['_QUERY']._serialized_start=7427 + _globals['_QUERY']._serialized_end=7675 + _globals['_QUERYRESPONSEMESSAGE']._serialized_start=7678 + _globals['_QUERYRESPONSEMESSAGE']._serialized_end=7963 + _globals['_QUERYRESPONSEMESSAGE_TUPLE']._serialized_start=7904 + _globals['_QUERYRESPONSEMESSAGE_TUPLE']._serialized_end=7963 + _globals['_FROM']._serialized_start=7966 + _globals['_FROM']._serialized_end=8139 + _globals['_SCAN']._serialized_start=8141 + _globals['_SCAN']._serialized_end=8232 + _globals['_SAMPLE']._serialized_start=8234 + _globals['_SAMPLE']._serialized_end=8334 + _globals['_PROJECTION']._serialized_start=8337 + _globals['_PROJECTION']._serialized_end=8775 + _globals['_PROJECTION_PROJECTIONELEMENT']._serialized_start=8502 + _globals['_PROJECTION_PROJECTIONELEMENT']._serialized_end=8638 + _globals['_PROJECTION_PROJECTIONOPERATION']._serialized_start=8641 + _globals['_PROJECTION_PROJECTIONOPERATION']._serialized_end=8775 + _globals['_WHERE']._serialized_start=8777 + _globals['_WHERE']._serialized_end=8843 + _globals['_PREDICATE']._serialized_start=8846 + _globals['_PREDICATE']._serialized_end=9948 + _globals['_PREDICATE_LITERAL']._serialized_start=9239 + _globals['_PREDICATE_LITERAL']._serialized_end=9263 + _globals['_PREDICATE_ISNULL']._serialized_start=9265 + _globals['_PREDICATE_ISNULL']._serialized_end=9327 + _globals['_PREDICATE_COMPARISON']._serialized_start=9330 + _globals['_PREDICATE_COMPARISON']._serialized_end=9656 + _globals['_PREDICATE_COMPARISON_OPERATOR']._serialized_start=9532 + _globals['_PREDICATE_COMPARISON_OPERATOR']._serialized_end=9656 + _globals['_PREDICATE_AND']._serialized_start=9658 + _globals['_PREDICATE_AND']._serialized_end=9767 + _globals['_PREDICATE_OR']._serialized_start=9769 + _globals['_PREDICATE_OR']._serialized_end=9877 + _globals['_PREDICATE_NOT']._serialized_start=9879 + _globals['_PREDICATE_NOT']._serialized_end=9935 + _globals['_ORDER']._serialized_start=9951 + _globals['_ORDER']._serialized_end=10204 + _globals['_ORDER_COMPONENT']._serialized_start=10027 + _globals['_ORDER_COMPONENT']._serialized_end=10160 + _globals['_ORDER_DIRECTION']._serialized_start=10162 + _globals['_ORDER_DIRECTION']._serialized_end=10204 + _globals['_DDL']._serialized_start=10683 + _globals['_DDL']._serialized_end=12322 + _globals['_DML']._serialized_start=12325 + _globals['_DML']._serialized_end=12760 + _globals['_DQL']._serialized_start=12763 + _globals['_DQL']._serialized_end=13036 + _globals['_TXN']._serialized_start=13039 + _globals['_TXN']._serialized_end=13574 # @@protoc_insertion_point(module_scope) diff --git a/cottontaildb_client/cottontail_pb2_grpc.py b/cottontaildb_client/cottontail_pb2_grpc.py index 48a02d5..02d0068 100644 --- a/cottontaildb_client/cottontail_pb2_grpc.py +++ b/cottontaildb_client/cottontail_pb2_grpc.py @@ -2,7 +2,7 @@ """Client and server classes corresponding to protobuf-defined services.""" import grpc -from . import cottontail_pb2 as cottontail__pb2 +from cottontaildb_client import cottontail_pb2 as cottontaildb__client_dot_cottontail__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 @@ -17,73 +17,73 @@ def __init__(self, channel): """ self.ListSchemas = channel.unary_stream( '/org.vitrivr.cottontail.grpc.DDL/ListSchemas', - request_serializer=cottontail__pb2.ListSchemaMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.ListSchemaMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.CreateSchema = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/CreateSchema', - request_serializer=cottontail__pb2.CreateSchemaMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.CreateSchemaMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.DropSchema = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/DropSchema', - request_serializer=cottontail__pb2.DropSchemaMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.DropSchemaMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.ListEntities = channel.unary_stream( '/org.vitrivr.cottontail.grpc.DDL/ListEntities', - request_serializer=cottontail__pb2.ListEntityMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.ListEntityMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.EntityDetails = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/EntityDetails', - request_serializer=cottontail__pb2.EntityDetailsMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.EntityStatistics = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/EntityStatistics', - request_serializer=cottontail__pb2.EntityDetailsMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.IndexDetails = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/IndexDetails', - request_serializer=cottontail__pb2.IndexDetailsMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.IndexDetailsMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.CreateEntity = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/CreateEntity', - request_serializer=cottontail__pb2.CreateEntityMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.CreateEntityMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.DropEntity = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/DropEntity', - request_serializer=cottontail__pb2.DropEntityMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.DropEntityMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.TruncateEntity = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/TruncateEntity', - request_serializer=cottontail__pb2.TruncateEntityMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.TruncateEntityMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.AnalyzeEntity = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/AnalyzeEntity', - request_serializer=cottontail__pb2.AnalyzeEntityMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.AnalyzeEntityMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.CreateIndex = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/CreateIndex', - request_serializer=cottontail__pb2.CreateIndexMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.CreateIndexMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.DropIndex = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/DropIndex', - request_serializer=cottontail__pb2.DropIndexMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.DropIndexMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.RebuildIndex = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DDL/RebuildIndex', - request_serializer=cottontail__pb2.RebuildIndexMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.RebuildIndexMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) @@ -193,73 +193,73 @@ def add_DDLServicer_to_server(servicer, server): rpc_method_handlers = { 'ListSchemas': grpc.unary_stream_rpc_method_handler( servicer.ListSchemas, - request_deserializer=cottontail__pb2.ListSchemaMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.ListSchemaMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'CreateSchema': grpc.unary_unary_rpc_method_handler( servicer.CreateSchema, - request_deserializer=cottontail__pb2.CreateSchemaMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.CreateSchemaMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'DropSchema': grpc.unary_unary_rpc_method_handler( servicer.DropSchema, - request_deserializer=cottontail__pb2.DropSchemaMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.DropSchemaMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'ListEntities': grpc.unary_stream_rpc_method_handler( servicer.ListEntities, - request_deserializer=cottontail__pb2.ListEntityMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.ListEntityMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'EntityDetails': grpc.unary_unary_rpc_method_handler( servicer.EntityDetails, - request_deserializer=cottontail__pb2.EntityDetailsMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'EntityStatistics': grpc.unary_unary_rpc_method_handler( servicer.EntityStatistics, - request_deserializer=cottontail__pb2.EntityDetailsMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'IndexDetails': grpc.unary_unary_rpc_method_handler( servicer.IndexDetails, - request_deserializer=cottontail__pb2.IndexDetailsMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.IndexDetailsMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'CreateEntity': grpc.unary_unary_rpc_method_handler( servicer.CreateEntity, - request_deserializer=cottontail__pb2.CreateEntityMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.CreateEntityMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'DropEntity': grpc.unary_unary_rpc_method_handler( servicer.DropEntity, - request_deserializer=cottontail__pb2.DropEntityMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.DropEntityMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'TruncateEntity': grpc.unary_unary_rpc_method_handler( servicer.TruncateEntity, - request_deserializer=cottontail__pb2.TruncateEntityMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.TruncateEntityMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'AnalyzeEntity': grpc.unary_unary_rpc_method_handler( servicer.AnalyzeEntity, - request_deserializer=cottontail__pb2.AnalyzeEntityMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.AnalyzeEntityMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'CreateIndex': grpc.unary_unary_rpc_method_handler( servicer.CreateIndex, - request_deserializer=cottontail__pb2.CreateIndexMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.CreateIndexMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'DropIndex': grpc.unary_unary_rpc_method_handler( servicer.DropIndex, - request_deserializer=cottontail__pb2.DropIndexMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.DropIndexMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'RebuildIndex': grpc.unary_unary_rpc_method_handler( servicer.RebuildIndex, - request_deserializer=cottontail__pb2.RebuildIndexMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.RebuildIndexMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -283,8 +283,8 @@ def ListSchemas(request, timeout=None, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.DDL/ListSchemas', - cottontail__pb2.ListSchemaMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.ListSchemaMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -300,8 +300,8 @@ def CreateSchema(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/CreateSchema', - cottontail__pb2.CreateSchemaMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.CreateSchemaMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -317,8 +317,8 @@ def DropSchema(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/DropSchema', - cottontail__pb2.DropSchemaMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.DropSchemaMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -334,8 +334,8 @@ def ListEntities(request, timeout=None, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.DDL/ListEntities', - cottontail__pb2.ListEntityMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.ListEntityMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -351,8 +351,8 @@ def EntityDetails(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/EntityDetails', - cottontail__pb2.EntityDetailsMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -368,8 +368,8 @@ def EntityStatistics(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/EntityStatistics', - cottontail__pb2.EntityDetailsMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.EntityDetailsMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -385,8 +385,8 @@ def IndexDetails(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/IndexDetails', - cottontail__pb2.IndexDetailsMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.IndexDetailsMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -402,8 +402,8 @@ def CreateEntity(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/CreateEntity', - cottontail__pb2.CreateEntityMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.CreateEntityMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -419,8 +419,8 @@ def DropEntity(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/DropEntity', - cottontail__pb2.DropEntityMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.DropEntityMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -436,8 +436,8 @@ def TruncateEntity(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/TruncateEntity', - cottontail__pb2.TruncateEntityMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.TruncateEntityMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -453,8 +453,8 @@ def AnalyzeEntity(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/AnalyzeEntity', - cottontail__pb2.AnalyzeEntityMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.AnalyzeEntityMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -470,8 +470,8 @@ def CreateIndex(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/CreateIndex', - cottontail__pb2.CreateIndexMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.CreateIndexMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -487,8 +487,8 @@ def DropIndex(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/DropIndex', - cottontail__pb2.DropIndexMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.DropIndexMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -504,8 +504,8 @@ def RebuildIndex(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DDL/RebuildIndex', - cottontail__pb2.RebuildIndexMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.RebuildIndexMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -523,23 +523,23 @@ def __init__(self, channel): """ self.Insert = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DML/Insert', - request_serializer=cottontail__pb2.InsertMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.InsertMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.InsertBatch = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DML/InsertBatch', - request_serializer=cottontail__pb2.BatchInsertMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.BatchInsertMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.Update = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DML/Update', - request_serializer=cottontail__pb2.UpdateMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.UpdateMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.Delete = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DML/Delete', - request_serializer=cottontail__pb2.DeleteMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.DeleteMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) @@ -581,23 +581,23 @@ def add_DMLServicer_to_server(servicer, server): rpc_method_handlers = { 'Insert': grpc.unary_unary_rpc_method_handler( servicer.Insert, - request_deserializer=cottontail__pb2.InsertMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.InsertMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'InsertBatch': grpc.unary_unary_rpc_method_handler( servicer.InsertBatch, - request_deserializer=cottontail__pb2.BatchInsertMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.BatchInsertMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'Update': grpc.unary_unary_rpc_method_handler( servicer.Update, - request_deserializer=cottontail__pb2.UpdateMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.UpdateMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'Delete': grpc.unary_unary_rpc_method_handler( servicer.Delete, - request_deserializer=cottontail__pb2.DeleteMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.DeleteMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -623,8 +623,8 @@ def Insert(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DML/Insert', - cottontail__pb2.InsertMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.InsertMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -640,8 +640,8 @@ def InsertBatch(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DML/InsertBatch', - cottontail__pb2.BatchInsertMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.BatchInsertMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -657,8 +657,8 @@ def Update(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DML/Update', - cottontail__pb2.UpdateMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.UpdateMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -674,8 +674,8 @@ def Delete(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.DML/Delete', - cottontail__pb2.DeleteMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.DeleteMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -693,13 +693,13 @@ def __init__(self, channel): """ self.Explain = channel.unary_stream( '/org.vitrivr.cottontail.grpc.DQL/Explain', - request_serializer=cottontail__pb2.QueryMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.QueryMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.Query = channel.unary_stream( '/org.vitrivr.cottontail.grpc.DQL/Query', - request_serializer=cottontail__pb2.QueryMessage.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.QueryMessage.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.Ping = channel.unary_unary( '/org.vitrivr.cottontail.grpc.DQL/Ping', @@ -739,13 +739,13 @@ def add_DQLServicer_to_server(servicer, server): rpc_method_handlers = { 'Explain': grpc.unary_stream_rpc_method_handler( servicer.Explain, - request_deserializer=cottontail__pb2.QueryMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'Query': grpc.unary_stream_rpc_method_handler( servicer.Query, - request_deserializer=cottontail__pb2.QueryMessage.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryMessage.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'Ping': grpc.unary_unary_rpc_method_handler( servicer.Ping, @@ -776,8 +776,8 @@ def Explain(request, timeout=None, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.DQL/Explain', - cottontail__pb2.QueryMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.QueryMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -793,8 +793,8 @@ def Query(request, timeout=None, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.DQL/Query', - cottontail__pb2.QueryMessage.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.QueryMessage.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -829,33 +829,33 @@ def __init__(self, channel): """ self.Begin = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Begin', - request_serializer=cottontail__pb2.BeginTransaction.SerializeToString, - response_deserializer=cottontail__pb2.ResponseMetadata.FromString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.BeginTransaction.SerializeToString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.ResponseMetadata.FromString, ) self.Commit = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Commit', - request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.Rollback = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Rollback', - request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.Kill = channel.unary_unary( '/org.vitrivr.cottontail.grpc.TXN/Kill', - request_serializer=cottontail__pb2.RequestMetadata.SerializeToString, + request_serializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, ) self.ListTransactions = channel.unary_stream( '/org.vitrivr.cottontail.grpc.TXN/ListTransactions', request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) self.ListLocks = channel.unary_stream( '/org.vitrivr.cottontail.grpc.TXN/ListLocks', request_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - response_deserializer=cottontail__pb2.QueryResponseMessage.FromString, + response_deserializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, ) @@ -911,33 +911,33 @@ def add_TXNServicer_to_server(servicer, server): rpc_method_handlers = { 'Begin': grpc.unary_unary_rpc_method_handler( servicer.Begin, - request_deserializer=cottontail__pb2.BeginTransaction.FromString, - response_serializer=cottontail__pb2.ResponseMetadata.SerializeToString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.BeginTransaction.FromString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.ResponseMetadata.SerializeToString, ), 'Commit': grpc.unary_unary_rpc_method_handler( servicer.Commit, - request_deserializer=cottontail__pb2.RequestMetadata.FromString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'Rollback': grpc.unary_unary_rpc_method_handler( servicer.Rollback, - request_deserializer=cottontail__pb2.RequestMetadata.FromString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'Kill': grpc.unary_unary_rpc_method_handler( servicer.Kill, - request_deserializer=cottontail__pb2.RequestMetadata.FromString, + request_deserializer=cottontaildb__client_dot_cottontail__pb2.RequestMetadata.FromString, response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, ), 'ListTransactions': grpc.unary_stream_rpc_method_handler( servicer.ListTransactions, request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), 'ListLocks': grpc.unary_stream_rpc_method_handler( servicer.ListLocks, request_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, - response_serializer=cottontail__pb2.QueryResponseMessage.SerializeToString, + response_serializer=cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.SerializeToString, ), } generic_handler = grpc.method_handlers_generic_handler( @@ -963,8 +963,8 @@ def Begin(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Begin', - cottontail__pb2.BeginTransaction.SerializeToString, - cottontail__pb2.ResponseMetadata.FromString, + cottontaildb__client_dot_cottontail__pb2.BeginTransaction.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.ResponseMetadata.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -980,7 +980,7 @@ def Commit(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Commit', - cottontail__pb2.RequestMetadata.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -997,7 +997,7 @@ def Rollback(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Rollback', - cottontail__pb2.RequestMetadata.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -1014,7 +1014,7 @@ def Kill(request, timeout=None, metadata=None): return grpc.experimental.unary_unary(request, target, '/org.vitrivr.cottontail.grpc.TXN/Kill', - cottontail__pb2.RequestMetadata.SerializeToString, + cottontaildb__client_dot_cottontail__pb2.RequestMetadata.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -1032,7 +1032,7 @@ def ListTransactions(request, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.TXN/ListTransactions', google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @@ -1049,6 +1049,6 @@ def ListLocks(request, metadata=None): return grpc.experimental.unary_stream(request, target, '/org.vitrivr.cottontail.grpc.TXN/ListLocks', google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, - cottontail__pb2.QueryResponseMessage.FromString, + cottontaildb__client_dot_cottontail__pb2.QueryResponseMessage.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/cottontaildb_client/cottontaildb_client.py b/cottontaildb_client/cottontaildb_client.py index f0d5191..6f72949 100644 --- a/cottontaildb_client/cottontaildb_client.py +++ b/cottontaildb_client/cottontaildb_client.py @@ -1,14 +1,15 @@ from datetime import datetime, timezone +from typing import List import grpc from google.protobuf.empty_pb2 import Empty -from typing import List from .cottontail_pb2 import SchemaName, CreateSchemaMessage, DropSchemaMessage, EntityName, ColumnDefinition, \ - EntityDefinition, CreateEntityMessage, InsertMessage, ColumnName, Scan, From, Type, ListSchemaMessage, \ - ListEntityMessage, EntityDetailsMessage, DropEntityMessage, TruncateEntityMessage, IndexName, IndexType, \ - CreateIndexMessage, DropIndexMessage, RebuildIndexMessage, UpdateMessage, DeleteMessage, Literal, Vector, \ - FloatVector, BatchInsertMessage, RequestMetadata, QueryMessage, Query, AnalyzeEntityMessage + CreateEntityMessage, InsertMessage, ColumnName, Scan, From, Type, ListSchemaMessage, ListEntityMessage, \ + EntityDetailsMessage, DropEntityMessage, TruncateEntityMessage, IndexName, IndexType, CreateIndexMessage, \ + DropIndexMessage, RebuildIndexMessage, UpdateMessage, DeleteMessage, Literal, Vector, FloatVector, \ + BatchInsertMessage, RequestMetadata, QueryMessage, Query, AnalyzeEntityMessage, Expression, FunctionName, Function, \ + Projection, Order from .cottontail_pb2_grpc import DDLStub, DMLStub, TXNStub, DQLStub @@ -120,13 +121,11 @@ def create_entity(self, schema, entity, columns, exist_ok=False): @param exist_ok: if the client should first check if the entity already exists @return: query response if there was an entity create attempt or None if exist_ok and entity already exists """ - if exist_ok and entity in [s.split('.')[-1] for s in self.list_entities(schema)]: - return schema_name = SchemaName(name=schema) entity_name = EntityName(schema=schema_name, name=entity) - entity_def = EntityDefinition(entity=entity_name, columns=columns) response = self._ddl.CreateEntity( - CreateEntityMessage(metadata=RequestMetadata(transactionId=self._tid), definition=entity_def)) + CreateEntityMessage(metadata=RequestMetadata(transactionId=self._tid), entity=entity_name, columns=columns, + mayExist=exist_ok)) return self._parse_query_response(response) def drop_entity(self, schema, entity, not_exist_ok=True): @@ -246,11 +245,12 @@ def get_entity_details(self, schema, entity): name_index = data_names.index('dbo') class_index = data_names.index('class') type_index = data_names.index('type') + rows_index = data_names.index('rows') size_index = data_names.index('l_size') nullable_index = data_names.index('nullable') entity_details = { 'name': entity_data.data[name_index].stringData, - 'rows': entity_data.data[data_names.index('rows')].intData, + 'rows': entity_data.data[rows_index].longData, 'columns': [ { 'name': c.data[name_index].stringData, @@ -503,4 +503,4 @@ def column_def(name: str, type_: Type, length: int = None, primary: bool = None, def float_vector(*elements): - return Literal(vectorData=Vector(floatVector=FloatVector(vector=elements))) + return Literal(vectorData=Vector(float=FloatVector(vector=elements))) diff --git a/tests/test_cottontaildb_client.py b/tests/test_cottontaildb_client.py index 72b7f5c..81a883b 100644 --- a/tests/test_cottontaildb_client.py +++ b/tests/test_cottontaildb_client.py @@ -3,8 +3,8 @@ from grpc import RpcError from cottontaildb_client import CottontailDBClient, column_def, Type, Literal, float_vector -from cottontaildb_client.cottontail_pb2 import Where, AtomicBooleanPredicate, ColumnName, AtomicBooleanOperand, \ - ComparisonOperator, Expressions, Expression, Projection, IndexType, EntityName, SchemaName +from cottontaildb_client.cottontail_pb2 import Where, ColumnName, Expression, Projection, IndexType, EntityName, \ + SchemaName, Predicate DB_HOST = 'localhost' DB_PORT = 1865 @@ -83,7 +83,7 @@ def test_insert(self): self._create_entity() self._insert() details = self.client.get_entity_details(TEST_SCHEMA_STR, TEST_ENTITY_STR) - self.assertEqual(details['rows'], 1, 'unexpected number of rows in entity after insert') + self.assertEqual(1, details['rows'], 'unexpected number of rows in entity after insert') def test_vector_insert(self): self._create_schema() @@ -91,21 +91,20 @@ def test_vector_insert(self): self._insert_vector() details = self.client.get_entity_details(TEST_SCHEMA_STR, TEST_VECTOR_ENTITY_STR) self.assertEqual(details['rows'], 1, 'unexpected number of rows in vector entity after insert') - print('success') def test_batch_insert(self): self._create_schema() self._create_entity() self._batch_insert() details = self.client.get_entity_details(TEST_SCHEMA_STR, TEST_ENTITY_STR) - self.assertEqual(details['rows'], 3, 'unexpected number of rows in entity after batch insert') + self.assertEqual(3, details['rows'], 'unexpected number of rows in entity after batch insert') def test_batch_insert_vectors(self): self._create_schema() self._create_vector_entity() self._batch_insert_vectors() details = self.client.get_entity_details(TEST_SCHEMA_STR, TEST_VECTOR_ENTITY_STR) - self.assertEqual(details['rows'], 3, 'unexpected number of rows in entity after batch insert') + self.assertEqual(3, details['rows'], 'unexpected number of rows in entity after batch insert') def test_query(self): self._create_schema() @@ -133,7 +132,6 @@ def test_query_vectors(self): self.assertEqual(len(results), 3, 'unexpected number of rows returned from query') # test with limit results = self.client.nns(TEST_SCHEMA_STR, TEST_VECTOR_ENTITY_STR, query, vector_col='value', limit=1) - print(results) self.assertEqual(len(results), 1, 'unexpected number of rows returned from query') def test_update(self): @@ -190,8 +188,10 @@ def test_delete(self): self._create_schema() self._create_entity() self._insert() - where = Where(atomic=AtomicBooleanPredicate(left=ColumnName(name=TEST_COLUMN_VALUE), right=AtomicBooleanOperand( - expressions=Expressions(expression=[Expression(literal=Literal(intData=0))])), op=ComparisonOperator.EQUAL)) + where = Where(predicate=Predicate( + comparison=Predicate.Comparison(lexp=Expression(column=ColumnName(name=TEST_COLUMN_VALUE)), + operator=Predicate.Comparison.Operator.EQUAL, + rexp=Expression(literal=Literal(intData=0))))) self.client.delete(TEST_SCHEMA_STR, TEST_ENTITY_STR, where) details = self.client.get_entity_details(TEST_SCHEMA_STR, TEST_ENTITY_STR) self.assertEqual(details['rows'], 0, 'unexpected number of rows in entity after delete') @@ -217,7 +217,7 @@ def _create_entity(self): def _create_vector_entity(self): columns = [ column_def(TEST_COLUMN_ID, Type.STRING, nullable=False), - column_def(TEST_COLUMN_VALUE, Type.FLOAT_VEC, length=3, nullable=False) + column_def(TEST_COLUMN_VALUE, Type.FLOAT_VECTOR, length=3, nullable=False) ] self.client.create_entity(TEST_SCHEMA_STR, TEST_VECTOR_ENTITY_STR, columns) @@ -253,12 +253,10 @@ def _batch_insert_vectors(self): self.client.insert_batch(TEST_SCHEMA_STR, TEST_VECTOR_ENTITY_STR, columns, values) def _update_value_with_key(self, key, value): - where = Where(atomic=AtomicBooleanPredicate( - left=ColumnName(name=TEST_COLUMN_ID), - right=AtomicBooleanOperand( - expressions=Expressions(expression=[Expression(literal=Literal(stringData=key))])), - op=ComparisonOperator.EQUAL - )) + where = Where(predicate=Predicate( + comparison=Predicate.Comparison(lexp=Expression(column=ColumnName(name=TEST_COLUMN_ID)), + operator=Predicate.Comparison.Operator.EQUAL, + rexp=Expression(literal=Literal(stringData=key))))) updates = {TEST_COLUMN_VALUE: Expression(literal=Literal(intData=value))} self.client.update(TEST_SCHEMA_STR, TEST_ENTITY_STR, where, updates) @@ -266,10 +264,8 @@ def _query_value_with_key(self, key): expression = Expression(column=ColumnName(entity=TEST_ENTITY_NAME, name=TEST_COLUMN_VALUE)) projection_element = Projection.ProjectionElement(expression=expression) projection = Projection(op=Projection.ProjectionOperation.SELECT, elements=[projection_element]) - where = Where(atomic=AtomicBooleanPredicate( - left=ColumnName(name=TEST_COLUMN_ID), - right=AtomicBooleanOperand( - expressions=Expressions(expression=[Expression(literal=Literal(stringData=key))])), - op=ComparisonOperator.EQUAL - )) + where = Where(predicate=Predicate( + comparison=Predicate.Comparison(lexp=Expression(column=ColumnName(name=TEST_COLUMN_ID)), + operator=Predicate.Comparison.Operator.EQUAL, + rexp=Expression(literal=Literal(stringData=key))))) return self.client.query(TEST_SCHEMA_STR, TEST_ENTITY_STR, projection, where) From 3fcbdfbe02cff219f68c7e1698aa1909bb917f69 Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 29 Apr 2024 11:39:33 +0200 Subject: [PATCH 3/6] Add missing .pyi file --- cottontaildb_client/cottontail_pb2.pyi | 759 +++++++++++++++++++++++++ 1 file changed, 759 insertions(+) create mode 100644 cottontaildb_client/cottontail_pb2.pyi diff --git a/cottontaildb_client/cottontail_pb2.pyi b/cottontaildb_client/cottontail_pb2.pyi new file mode 100644 index 0000000..2af40c9 --- /dev/null +++ b/cottontaildb_client/cottontail_pb2.pyi @@ -0,0 +1,759 @@ +from google.protobuf import empty_pb2 as _empty_pb2 +from google.protobuf.internal import containers as _containers +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class IndexType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BTREE: _ClassVar[IndexType] + BTREE_UQ: _ClassVar[IndexType] + LUCENE: _ClassVar[IndexType] + VAF: _ClassVar[IndexType] + PQ: _ClassVar[IndexType] + IVFPQ: _ClassVar[IndexType] + LSH: _ClassVar[IndexType] + +class TransactionMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + READ_WRITE: _ClassVar[TransactionMode] + READONLY: _ClassVar[TransactionMode] + +class Type(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + BOOLEAN: _ClassVar[Type] + BYTE: _ClassVar[Type] + SHORT: _ClassVar[Type] + INTEGER: _ClassVar[Type] + LONG: _ClassVar[Type] + FLOAT: _ClassVar[Type] + DOUBLE: _ClassVar[Type] + DATE: _ClassVar[Type] + STRING: _ClassVar[Type] + UUID: _ClassVar[Type] + COMPLEX32: _ClassVar[Type] + COMPLEX64: _ClassVar[Type] + DOUBLE_VECTOR: _ClassVar[Type] + FLOAT_VECTOR: _ClassVar[Type] + LONG_VECTOR: _ClassVar[Type] + INTEGER_VECTOR: _ClassVar[Type] + BOOLEAN_VECTOR: _ClassVar[Type] + COMPLEX32_VECTOR: _ClassVar[Type] + COMPLEX64_VECTOR: _ClassVar[Type] + SHORT_VECTOR: _ClassVar[Type] + HALF_VECTOR: _ClassVar[Type] + BYTESTRING: _ClassVar[Type] +BTREE: IndexType +BTREE_UQ: IndexType +LUCENE: IndexType +VAF: IndexType +PQ: IndexType +IVFPQ: IndexType +LSH: IndexType +READ_WRITE: TransactionMode +READONLY: TransactionMode +BOOLEAN: Type +BYTE: Type +SHORT: Type +INTEGER: Type +LONG: Type +FLOAT: Type +DOUBLE: Type +DATE: Type +STRING: Type +UUID: Type +COMPLEX32: Type +COMPLEX64: Type +DOUBLE_VECTOR: Type +FLOAT_VECTOR: Type +LONG_VECTOR: Type +INTEGER_VECTOR: Type +BOOLEAN_VECTOR: Type +COMPLEX32_VECTOR: Type +COMPLEX64_VECTOR: Type +SHORT_VECTOR: Type +HALF_VECTOR: Type +BYTESTRING: Type + +class SchemaName(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... + +class FunctionName(_message.Message): + __slots__ = ("name",) + NAME_FIELD_NUMBER: _ClassVar[int] + name: str + def __init__(self, name: _Optional[str] = ...) -> None: ... + +class EntityName(_message.Message): + __slots__ = ("schema", "name") + SCHEMA_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + schema: SchemaName + name: str + def __init__(self, schema: _Optional[_Union[SchemaName, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ... + +class IndexName(_message.Message): + __slots__ = ("entity", "name") + ENTITY_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + entity: EntityName + name: str + def __init__(self, entity: _Optional[_Union[EntityName, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ... + +class ColumnName(_message.Message): + __slots__ = ("entity", "name") + ENTITY_FIELD_NUMBER: _ClassVar[int] + NAME_FIELD_NUMBER: _ClassVar[int] + entity: EntityName + name: str + def __init__(self, entity: _Optional[_Union[EntityName, _Mapping]] = ..., name: _Optional[str] = ...) -> None: ... + +class BeginTransaction(_message.Message): + __slots__ = ("mode",) + MODE_FIELD_NUMBER: _ClassVar[int] + mode: TransactionMode + def __init__(self, mode: _Optional[_Union[TransactionMode, str]] = ...) -> None: ... + +class RequestMetadata(_message.Message): + __slots__ = ("transactionId", "queryId", "parallelHint", "indexHint", "policyHint", "noOptimiseHint") + class ParallelismHint(_message.Message): + __slots__ = ("limit",) + LIMIT_FIELD_NUMBER: _ClassVar[int] + limit: int + def __init__(self, limit: _Optional[int] = ...) -> None: ... + class IndexHint(_message.Message): + __slots__ = ("name", "type", "disallow") + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + DISALLOW_FIELD_NUMBER: _ClassVar[int] + name: str + type: IndexType + disallow: bool + def __init__(self, name: _Optional[str] = ..., type: _Optional[_Union[IndexType, str]] = ..., disallow: bool = ...) -> None: ... + class PolicyHint(_message.Message): + __slots__ = ("weightIo", "weightCpu", "weightMemory", "weightAccuracy") + WEIGHTIO_FIELD_NUMBER: _ClassVar[int] + WEIGHTCPU_FIELD_NUMBER: _ClassVar[int] + WEIGHTMEMORY_FIELD_NUMBER: _ClassVar[int] + WEIGHTACCURACY_FIELD_NUMBER: _ClassVar[int] + weightIo: float + weightCpu: float + weightMemory: float + weightAccuracy: float + def __init__(self, weightIo: _Optional[float] = ..., weightCpu: _Optional[float] = ..., weightMemory: _Optional[float] = ..., weightAccuracy: _Optional[float] = ...) -> None: ... + TRANSACTIONID_FIELD_NUMBER: _ClassVar[int] + QUERYID_FIELD_NUMBER: _ClassVar[int] + PARALLELHINT_FIELD_NUMBER: _ClassVar[int] + INDEXHINT_FIELD_NUMBER: _ClassVar[int] + POLICYHINT_FIELD_NUMBER: _ClassVar[int] + NOOPTIMISEHINT_FIELD_NUMBER: _ClassVar[int] + transactionId: int + queryId: str + parallelHint: RequestMetadata.ParallelismHint + indexHint: RequestMetadata.IndexHint + policyHint: RequestMetadata.PolicyHint + noOptimiseHint: bool + def __init__(self, transactionId: _Optional[int] = ..., queryId: _Optional[str] = ..., parallelHint: _Optional[_Union[RequestMetadata.ParallelismHint, _Mapping]] = ..., indexHint: _Optional[_Union[RequestMetadata.IndexHint, _Mapping]] = ..., policyHint: _Optional[_Union[RequestMetadata.PolicyHint, _Mapping]] = ..., noOptimiseHint: bool = ...) -> None: ... + +class ResponseMetadata(_message.Message): + __slots__ = ("transactionId", "transactionMode", "queryId", "planDuration", "planScore", "queryDuration") + TRANSACTIONID_FIELD_NUMBER: _ClassVar[int] + TRANSACTIONMODE_FIELD_NUMBER: _ClassVar[int] + QUERYID_FIELD_NUMBER: _ClassVar[int] + PLANDURATION_FIELD_NUMBER: _ClassVar[int] + PLANSCORE_FIELD_NUMBER: _ClassVar[int] + QUERYDURATION_FIELD_NUMBER: _ClassVar[int] + transactionId: int + transactionMode: TransactionMode + queryId: str + planDuration: int + planScore: float + queryDuration: int + def __init__(self, transactionId: _Optional[int] = ..., transactionMode: _Optional[_Union[TransactionMode, str]] = ..., queryId: _Optional[str] = ..., planDuration: _Optional[int] = ..., planScore: _Optional[float] = ..., queryDuration: _Optional[int] = ...) -> None: ... + +class Literal(_message.Message): + __slots__ = ("nullData", "booleanData", "intData", "longData", "floatData", "doubleData", "stringData", "dateData", "uuidData", "complex32Data", "complex64Data", "vectorData", "byteStringData") + NULLDATA_FIELD_NUMBER: _ClassVar[int] + BOOLEANDATA_FIELD_NUMBER: _ClassVar[int] + INTDATA_FIELD_NUMBER: _ClassVar[int] + LONGDATA_FIELD_NUMBER: _ClassVar[int] + FLOATDATA_FIELD_NUMBER: _ClassVar[int] + DOUBLEDATA_FIELD_NUMBER: _ClassVar[int] + STRINGDATA_FIELD_NUMBER: _ClassVar[int] + DATEDATA_FIELD_NUMBER: _ClassVar[int] + UUIDDATA_FIELD_NUMBER: _ClassVar[int] + COMPLEX32DATA_FIELD_NUMBER: _ClassVar[int] + COMPLEX64DATA_FIELD_NUMBER: _ClassVar[int] + VECTORDATA_FIELD_NUMBER: _ClassVar[int] + BYTESTRINGDATA_FIELD_NUMBER: _ClassVar[int] + nullData: Null + booleanData: bool + intData: int + longData: int + floatData: float + doubleData: float + stringData: str + dateData: int + uuidData: Uuid + complex32Data: Complex32 + complex64Data: Complex64 + vectorData: Vector + byteStringData: bytes + def __init__(self, nullData: _Optional[_Union[Null, _Mapping]] = ..., booleanData: bool = ..., intData: _Optional[int] = ..., longData: _Optional[int] = ..., floatData: _Optional[float] = ..., doubleData: _Optional[float] = ..., stringData: _Optional[str] = ..., dateData: _Optional[int] = ..., uuidData: _Optional[_Union[Uuid, _Mapping]] = ..., complex32Data: _Optional[_Union[Complex32, _Mapping]] = ..., complex64Data: _Optional[_Union[Complex64, _Mapping]] = ..., vectorData: _Optional[_Union[Vector, _Mapping]] = ..., byteStringData: _Optional[bytes] = ...) -> None: ... + +class LiteralList(_message.Message): + __slots__ = ("literal",) + LITERAL_FIELD_NUMBER: _ClassVar[int] + literal: _containers.RepeatedCompositeFieldContainer[Literal] + def __init__(self, literal: _Optional[_Iterable[_Union[Literal, _Mapping]]] = ...) -> None: ... + +class Expression(_message.Message): + __slots__ = ("literal", "literalList", "column", "function", "query") + LITERAL_FIELD_NUMBER: _ClassVar[int] + LITERALLIST_FIELD_NUMBER: _ClassVar[int] + COLUMN_FIELD_NUMBER: _ClassVar[int] + FUNCTION_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + literal: Literal + literalList: LiteralList + column: ColumnName + function: Function + query: Query + def __init__(self, literal: _Optional[_Union[Literal, _Mapping]] = ..., literalList: _Optional[_Union[LiteralList, _Mapping]] = ..., column: _Optional[_Union[ColumnName, _Mapping]] = ..., function: _Optional[_Union[Function, _Mapping]] = ..., query: _Optional[_Union[Query, _Mapping]] = ...) -> None: ... + +class Function(_message.Message): + __slots__ = ("name", "arguments") + NAME_FIELD_NUMBER: _ClassVar[int] + ARGUMENTS_FIELD_NUMBER: _ClassVar[int] + name: FunctionName + arguments: _containers.RepeatedCompositeFieldContainer[Expression] + def __init__(self, name: _Optional[_Union[FunctionName, _Mapping]] = ..., arguments: _Optional[_Iterable[_Union[Expression, _Mapping]]] = ...) -> None: ... + +class Expressions(_message.Message): + __slots__ = ("expression",) + EXPRESSION_FIELD_NUMBER: _ClassVar[int] + expression: _containers.RepeatedCompositeFieldContainer[Expression] + def __init__(self, expression: _Optional[_Iterable[_Union[Expression, _Mapping]]] = ...) -> None: ... + +class Vector(_message.Message): + __slots__ = ("half", "float", "double", "short", "int", "long", "bool", "complex32", "complex64") + HALF_FIELD_NUMBER: _ClassVar[int] + FLOAT_FIELD_NUMBER: _ClassVar[int] + DOUBLE_FIELD_NUMBER: _ClassVar[int] + SHORT_FIELD_NUMBER: _ClassVar[int] + INT_FIELD_NUMBER: _ClassVar[int] + LONG_FIELD_NUMBER: _ClassVar[int] + BOOL_FIELD_NUMBER: _ClassVar[int] + COMPLEX32_FIELD_NUMBER: _ClassVar[int] + COMPLEX64_FIELD_NUMBER: _ClassVar[int] + half: FloatVector + float: FloatVector + double: DoubleVector + short: IntVector + int: IntVector + long: LongVector + bool: BoolVector + complex32: Complex32Vector + complex64: Complex64Vector + def __init__(self, half: _Optional[_Union[FloatVector, _Mapping]] = ..., float: _Optional[_Union[FloatVector, _Mapping]] = ..., double: _Optional[_Union[DoubleVector, _Mapping]] = ..., short: _Optional[_Union[IntVector, _Mapping]] = ..., int: _Optional[_Union[IntVector, _Mapping]] = ..., long: _Optional[_Union[LongVector, _Mapping]] = ..., bool: _Optional[_Union[BoolVector, _Mapping]] = ..., complex32: _Optional[_Union[Complex32Vector, _Mapping]] = ..., complex64: _Optional[_Union[Complex64Vector, _Mapping]] = ...) -> None: ... + +class Null(_message.Message): + __slots__ = ("type", "size") + TYPE_FIELD_NUMBER: _ClassVar[int] + SIZE_FIELD_NUMBER: _ClassVar[int] + type: Type + size: int + def __init__(self, type: _Optional[_Union[Type, str]] = ..., size: _Optional[int] = ...) -> None: ... + +class Uuid(_message.Message): + __slots__ = ("leastSignificant", "mostSignificant") + LEASTSIGNIFICANT_FIELD_NUMBER: _ClassVar[int] + MOSTSIGNIFICANT_FIELD_NUMBER: _ClassVar[int] + leastSignificant: int + mostSignificant: int + def __init__(self, leastSignificant: _Optional[int] = ..., mostSignificant: _Optional[int] = ...) -> None: ... + +class Complex32(_message.Message): + __slots__ = ("real", "imaginary") + REAL_FIELD_NUMBER: _ClassVar[int] + IMAGINARY_FIELD_NUMBER: _ClassVar[int] + real: float + imaginary: float + def __init__(self, real: _Optional[float] = ..., imaginary: _Optional[float] = ...) -> None: ... + +class Complex64(_message.Message): + __slots__ = ("real", "imaginary") + REAL_FIELD_NUMBER: _ClassVar[int] + IMAGINARY_FIELD_NUMBER: _ClassVar[int] + real: float + imaginary: float + def __init__(self, real: _Optional[float] = ..., imaginary: _Optional[float] = ...) -> None: ... + +class FloatVector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, vector: _Optional[_Iterable[float]] = ...) -> None: ... + +class DoubleVector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedScalarFieldContainer[float] + def __init__(self, vector: _Optional[_Iterable[float]] = ...) -> None: ... + +class IntVector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, vector: _Optional[_Iterable[int]] = ...) -> None: ... + +class LongVector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedScalarFieldContainer[int] + def __init__(self, vector: _Optional[_Iterable[int]] = ...) -> None: ... + +class BoolVector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedScalarFieldContainer[bool] + def __init__(self, vector: _Optional[_Iterable[bool]] = ...) -> None: ... + +class Complex32Vector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedCompositeFieldContainer[Complex32] + def __init__(self, vector: _Optional[_Iterable[_Union[Complex32, _Mapping]]] = ...) -> None: ... + +class Complex64Vector(_message.Message): + __slots__ = ("vector",) + VECTOR_FIELD_NUMBER: _ClassVar[int] + vector: _containers.RepeatedCompositeFieldContainer[Complex64] + def __init__(self, vector: _Optional[_Iterable[_Union[Complex64, _Mapping]]] = ...) -> None: ... + +class CreateSchemaMessage(_message.Message): + __slots__ = ("metadata", "schema", "mayExist") + METADATA_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + MAYEXIST_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + schema: SchemaName + mayExist: bool + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., schema: _Optional[_Union[SchemaName, _Mapping]] = ..., mayExist: bool = ...) -> None: ... + +class DropSchemaMessage(_message.Message): + __slots__ = ("metadata", "schema") + METADATA_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + schema: SchemaName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., schema: _Optional[_Union[SchemaName, _Mapping]] = ...) -> None: ... + +class ListSchemaMessage(_message.Message): + __slots__ = ("metadata",) + METADATA_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ...) -> None: ... + +class CreateEntityMessage(_message.Message): + __slots__ = ("metadata", "entity", "columns", "mayExist") + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + COLUMNS_FIELD_NUMBER: _ClassVar[int] + MAYEXIST_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + columns: _containers.RepeatedCompositeFieldContainer[ColumnDefinition] + mayExist: bool + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ..., columns: _Optional[_Iterable[_Union[ColumnDefinition, _Mapping]]] = ..., mayExist: bool = ...) -> None: ... + +class DropEntityMessage(_message.Message): + __slots__ = ("metadata", "entity") + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ...) -> None: ... + +class TruncateEntityMessage(_message.Message): + __slots__ = ("metadata", "entity") + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ...) -> None: ... + +class AnalyzeEntityMessage(_message.Message): + __slots__ = ("metadata", "entity") + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + ASYNC_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ..., **kwargs) -> None: ... + +class EntityDetailsMessage(_message.Message): + __slots__ = ("metadata", "entity") + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ...) -> None: ... + +class IndexDetailsMessage(_message.Message): + __slots__ = ("metadata", "index") + METADATA_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + index: IndexName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., index: _Optional[_Union[IndexName, _Mapping]] = ...) -> None: ... + +class ListEntityMessage(_message.Message): + __slots__ = ("metadata", "schema") + METADATA_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + schema: SchemaName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., schema: _Optional[_Union[SchemaName, _Mapping]] = ...) -> None: ... + +class CreateIndexMessage(_message.Message): + __slots__ = ("metadata", "entity", "type", "indexName", "columns", "params") + class ParamsEntry(_message.Message): + __slots__ = ("key", "value") + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + METADATA_FIELD_NUMBER: _ClassVar[int] + ENTITY_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + INDEXNAME_FIELD_NUMBER: _ClassVar[int] + COLUMNS_FIELD_NUMBER: _ClassVar[int] + PARAMS_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + entity: EntityName + type: IndexType + indexName: str + columns: _containers.RepeatedScalarFieldContainer[str] + params: _containers.ScalarMap[str, str] + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., entity: _Optional[_Union[EntityName, _Mapping]] = ..., type: _Optional[_Union[IndexType, str]] = ..., indexName: _Optional[str] = ..., columns: _Optional[_Iterable[str]] = ..., params: _Optional[_Mapping[str, str]] = ...) -> None: ... + +class DropIndexMessage(_message.Message): + __slots__ = ("metadata", "index") + METADATA_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + index: IndexName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., index: _Optional[_Union[IndexName, _Mapping]] = ...) -> None: ... + +class RebuildIndexMessage(_message.Message): + __slots__ = ("metadata", "index") + METADATA_FIELD_NUMBER: _ClassVar[int] + INDEX_FIELD_NUMBER: _ClassVar[int] + ASYNC_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + index: IndexName + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., index: _Optional[_Union[IndexName, _Mapping]] = ..., **kwargs) -> None: ... + +class ColumnDefinition(_message.Message): + __slots__ = ("name", "type", "length", "primary", "nullable", "autoIncrement", "compression") + class Compression(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DEFAULT: _ClassVar[ColumnDefinition.Compression] + NONE: _ClassVar[ColumnDefinition.Compression] + LZ4: _ClassVar[ColumnDefinition.Compression] + SNAPPY: _ClassVar[ColumnDefinition.Compression] + DEFAULT: ColumnDefinition.Compression + NONE: ColumnDefinition.Compression + LZ4: ColumnDefinition.Compression + SNAPPY: ColumnDefinition.Compression + NAME_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + LENGTH_FIELD_NUMBER: _ClassVar[int] + PRIMARY_FIELD_NUMBER: _ClassVar[int] + NULLABLE_FIELD_NUMBER: _ClassVar[int] + AUTOINCREMENT_FIELD_NUMBER: _ClassVar[int] + COMPRESSION_FIELD_NUMBER: _ClassVar[int] + name: ColumnName + type: Type + length: int + primary: bool + nullable: bool + autoIncrement: bool + compression: ColumnDefinition.Compression + def __init__(self, name: _Optional[_Union[ColumnName, _Mapping]] = ..., type: _Optional[_Union[Type, str]] = ..., length: _Optional[int] = ..., primary: bool = ..., nullable: bool = ..., autoIncrement: bool = ..., compression: _Optional[_Union[ColumnDefinition.Compression, str]] = ...) -> None: ... + +class EntityDefinition(_message.Message): + __slots__ = ("entity", "columns") + ENTITY_FIELD_NUMBER: _ClassVar[int] + COLUMNS_FIELD_NUMBER: _ClassVar[int] + entity: EntityName + columns: _containers.RepeatedCompositeFieldContainer[ColumnDefinition] + def __init__(self, entity: _Optional[_Union[EntityName, _Mapping]] = ..., columns: _Optional[_Iterable[_Union[ColumnDefinition, _Mapping]]] = ...) -> None: ... + +class InsertMessage(_message.Message): + __slots__ = ("metadata", "elements") + class InsertElement(_message.Message): + __slots__ = ("column", "value") + COLUMN_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + column: ColumnName + value: Literal + def __init__(self, column: _Optional[_Union[ColumnName, _Mapping]] = ..., value: _Optional[_Union[Literal, _Mapping]] = ...) -> None: ... + METADATA_FIELD_NUMBER: _ClassVar[int] + FROM_FIELD_NUMBER: _ClassVar[int] + ELEMENTS_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + elements: _containers.RepeatedCompositeFieldContainer[InsertMessage.InsertElement] + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., elements: _Optional[_Iterable[_Union[InsertMessage.InsertElement, _Mapping]]] = ..., **kwargs) -> None: ... + +class BatchInsertMessage(_message.Message): + __slots__ = ("metadata", "columns", "inserts") + class Insert(_message.Message): + __slots__ = ("values",) + VALUES_FIELD_NUMBER: _ClassVar[int] + values: _containers.RepeatedCompositeFieldContainer[Literal] + def __init__(self, values: _Optional[_Iterable[_Union[Literal, _Mapping]]] = ...) -> None: ... + METADATA_FIELD_NUMBER: _ClassVar[int] + FROM_FIELD_NUMBER: _ClassVar[int] + COLUMNS_FIELD_NUMBER: _ClassVar[int] + INSERTS_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + columns: _containers.RepeatedCompositeFieldContainer[ColumnName] + inserts: _containers.RepeatedCompositeFieldContainer[BatchInsertMessage.Insert] + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., columns: _Optional[_Iterable[_Union[ColumnName, _Mapping]]] = ..., inserts: _Optional[_Iterable[_Union[BatchInsertMessage.Insert, _Mapping]]] = ..., **kwargs) -> None: ... + +class UpdateMessage(_message.Message): + __slots__ = ("metadata", "where", "updates") + class UpdateElement(_message.Message): + __slots__ = ("column", "value") + COLUMN_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + column: ColumnName + value: Expression + def __init__(self, column: _Optional[_Union[ColumnName, _Mapping]] = ..., value: _Optional[_Union[Expression, _Mapping]] = ...) -> None: ... + METADATA_FIELD_NUMBER: _ClassVar[int] + FROM_FIELD_NUMBER: _ClassVar[int] + WHERE_FIELD_NUMBER: _ClassVar[int] + UPDATES_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + where: Where + updates: _containers.RepeatedCompositeFieldContainer[UpdateMessage.UpdateElement] + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., where: _Optional[_Union[Where, _Mapping]] = ..., updates: _Optional[_Iterable[_Union[UpdateMessage.UpdateElement, _Mapping]]] = ..., **kwargs) -> None: ... + +class DeleteMessage(_message.Message): + __slots__ = ("metadata", "where") + METADATA_FIELD_NUMBER: _ClassVar[int] + FROM_FIELD_NUMBER: _ClassVar[int] + WHERE_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + where: Where + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., where: _Optional[_Union[Where, _Mapping]] = ..., **kwargs) -> None: ... + +class QueryMessage(_message.Message): + __slots__ = ("metadata", "query") + METADATA_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + metadata: RequestMetadata + query: Query + def __init__(self, metadata: _Optional[_Union[RequestMetadata, _Mapping]] = ..., query: _Optional[_Union[Query, _Mapping]] = ...) -> None: ... + +class Query(_message.Message): + __slots__ = ("projection", "where", "order", "limit", "skip") + FROM_FIELD_NUMBER: _ClassVar[int] + PROJECTION_FIELD_NUMBER: _ClassVar[int] + WHERE_FIELD_NUMBER: _ClassVar[int] + ORDER_FIELD_NUMBER: _ClassVar[int] + LIMIT_FIELD_NUMBER: _ClassVar[int] + SKIP_FIELD_NUMBER: _ClassVar[int] + projection: Projection + where: Where + order: Order + limit: int + skip: int + def __init__(self, projection: _Optional[_Union[Projection, _Mapping]] = ..., where: _Optional[_Union[Where, _Mapping]] = ..., order: _Optional[_Union[Order, _Mapping]] = ..., limit: _Optional[int] = ..., skip: _Optional[int] = ..., **kwargs) -> None: ... + +class QueryResponseMessage(_message.Message): + __slots__ = ("metadata", "columns", "tuples") + class Tuple(_message.Message): + __slots__ = ("data",) + DATA_FIELD_NUMBER: _ClassVar[int] + data: _containers.RepeatedCompositeFieldContainer[Literal] + def __init__(self, data: _Optional[_Iterable[_Union[Literal, _Mapping]]] = ...) -> None: ... + METADATA_FIELD_NUMBER: _ClassVar[int] + COLUMNS_FIELD_NUMBER: _ClassVar[int] + TUPLES_FIELD_NUMBER: _ClassVar[int] + metadata: ResponseMetadata + columns: _containers.RepeatedCompositeFieldContainer[ColumnDefinition] + tuples: _containers.RepeatedCompositeFieldContainer[QueryResponseMessage.Tuple] + def __init__(self, metadata: _Optional[_Union[ResponseMetadata, _Mapping]] = ..., columns: _Optional[_Iterable[_Union[ColumnDefinition, _Mapping]]] = ..., tuples: _Optional[_Iterable[_Union[QueryResponseMessage.Tuple, _Mapping]]] = ...) -> None: ... + +class From(_message.Message): + __slots__ = ("scan", "sample", "query") + SCAN_FIELD_NUMBER: _ClassVar[int] + SAMPLE_FIELD_NUMBER: _ClassVar[int] + QUERY_FIELD_NUMBER: _ClassVar[int] + scan: Scan + sample: Sample + query: Query + def __init__(self, scan: _Optional[_Union[Scan, _Mapping]] = ..., sample: _Optional[_Union[Sample, _Mapping]] = ..., query: _Optional[_Union[Query, _Mapping]] = ...) -> None: ... + +class Scan(_message.Message): + __slots__ = ("entity", "start", "end") + ENTITY_FIELD_NUMBER: _ClassVar[int] + START_FIELD_NUMBER: _ClassVar[int] + END_FIELD_NUMBER: _ClassVar[int] + entity: EntityName + start: int + end: int + def __init__(self, entity: _Optional[_Union[EntityName, _Mapping]] = ..., start: _Optional[int] = ..., end: _Optional[int] = ...) -> None: ... + +class Sample(_message.Message): + __slots__ = ("entity", "seed", "probability") + ENTITY_FIELD_NUMBER: _ClassVar[int] + SEED_FIELD_NUMBER: _ClassVar[int] + PROBABILITY_FIELD_NUMBER: _ClassVar[int] + entity: EntityName + seed: int + probability: float + def __init__(self, entity: _Optional[_Union[EntityName, _Mapping]] = ..., seed: _Optional[int] = ..., probability: _Optional[float] = ...) -> None: ... + +class Projection(_message.Message): + __slots__ = ("op", "elements") + class ProjectionOperation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + SELECT: _ClassVar[Projection.ProjectionOperation] + SELECT_DISTINCT: _ClassVar[Projection.ProjectionOperation] + COUNT: _ClassVar[Projection.ProjectionOperation] + COUNT_DISTINCT: _ClassVar[Projection.ProjectionOperation] + EXISTS: _ClassVar[Projection.ProjectionOperation] + SUM: _ClassVar[Projection.ProjectionOperation] + MAX: _ClassVar[Projection.ProjectionOperation] + MIN: _ClassVar[Projection.ProjectionOperation] + MEAN: _ClassVar[Projection.ProjectionOperation] + SELECT: Projection.ProjectionOperation + SELECT_DISTINCT: Projection.ProjectionOperation + COUNT: Projection.ProjectionOperation + COUNT_DISTINCT: Projection.ProjectionOperation + EXISTS: Projection.ProjectionOperation + SUM: Projection.ProjectionOperation + MAX: Projection.ProjectionOperation + MIN: Projection.ProjectionOperation + MEAN: Projection.ProjectionOperation + class ProjectionElement(_message.Message): + __slots__ = ("alias", "expression") + ALIAS_FIELD_NUMBER: _ClassVar[int] + EXPRESSION_FIELD_NUMBER: _ClassVar[int] + alias: ColumnName + expression: Expression + def __init__(self, alias: _Optional[_Union[ColumnName, _Mapping]] = ..., expression: _Optional[_Union[Expression, _Mapping]] = ...) -> None: ... + OP_FIELD_NUMBER: _ClassVar[int] + ELEMENTS_FIELD_NUMBER: _ClassVar[int] + op: Projection.ProjectionOperation + elements: _containers.RepeatedCompositeFieldContainer[Projection.ProjectionElement] + def __init__(self, op: _Optional[_Union[Projection.ProjectionOperation, str]] = ..., elements: _Optional[_Iterable[_Union[Projection.ProjectionElement, _Mapping]]] = ...) -> None: ... + +class Where(_message.Message): + __slots__ = ("predicate",) + PREDICATE_FIELD_NUMBER: _ClassVar[int] + predicate: Predicate + def __init__(self, predicate: _Optional[_Union[Predicate, _Mapping]] = ...) -> None: ... + +class Predicate(_message.Message): + __slots__ = ("literal", "comparison", "isnull") + class Literal(_message.Message): + __slots__ = ("value",) + VALUE_FIELD_NUMBER: _ClassVar[int] + value: bool + def __init__(self, value: bool = ...) -> None: ... + class IsNull(_message.Message): + __slots__ = ("exp",) + EXP_FIELD_NUMBER: _ClassVar[int] + exp: Expression + def __init__(self, exp: _Optional[_Union[Expression, _Mapping]] = ...) -> None: ... + class Comparison(_message.Message): + __slots__ = ("lexp", "operator", "rexp") + class Operator(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + EQUAL: _ClassVar[Predicate.Comparison.Operator] + NOTEQUAL: _ClassVar[Predicate.Comparison.Operator] + GREATER: _ClassVar[Predicate.Comparison.Operator] + LESS: _ClassVar[Predicate.Comparison.Operator] + GEQUAL: _ClassVar[Predicate.Comparison.Operator] + LEQUAL: _ClassVar[Predicate.Comparison.Operator] + IN: _ClassVar[Predicate.Comparison.Operator] + BETWEEN: _ClassVar[Predicate.Comparison.Operator] + LIKE: _ClassVar[Predicate.Comparison.Operator] + MATCH: _ClassVar[Predicate.Comparison.Operator] + EQUAL: Predicate.Comparison.Operator + NOTEQUAL: Predicate.Comparison.Operator + GREATER: Predicate.Comparison.Operator + LESS: Predicate.Comparison.Operator + GEQUAL: Predicate.Comparison.Operator + LEQUAL: Predicate.Comparison.Operator + IN: Predicate.Comparison.Operator + BETWEEN: Predicate.Comparison.Operator + LIKE: Predicate.Comparison.Operator + MATCH: Predicate.Comparison.Operator + LEXP_FIELD_NUMBER: _ClassVar[int] + OPERATOR_FIELD_NUMBER: _ClassVar[int] + REXP_FIELD_NUMBER: _ClassVar[int] + lexp: Expression + operator: Predicate.Comparison.Operator + rexp: Expression + def __init__(self, lexp: _Optional[_Union[Expression, _Mapping]] = ..., operator: _Optional[_Union[Predicate.Comparison.Operator, str]] = ..., rexp: _Optional[_Union[Expression, _Mapping]] = ...) -> None: ... + class And(_message.Message): + __slots__ = ("p1", "p2") + P1_FIELD_NUMBER: _ClassVar[int] + P2_FIELD_NUMBER: _ClassVar[int] + p1: Predicate + p2: Predicate + def __init__(self, p1: _Optional[_Union[Predicate, _Mapping]] = ..., p2: _Optional[_Union[Predicate, _Mapping]] = ...) -> None: ... + class Or(_message.Message): + __slots__ = ("p1", "p2") + P1_FIELD_NUMBER: _ClassVar[int] + P2_FIELD_NUMBER: _ClassVar[int] + p1: Predicate + p2: Predicate + def __init__(self, p1: _Optional[_Union[Predicate, _Mapping]] = ..., p2: _Optional[_Union[Predicate, _Mapping]] = ...) -> None: ... + class Not(_message.Message): + __slots__ = ("p",) + P_FIELD_NUMBER: _ClassVar[int] + p: Predicate + def __init__(self, p: _Optional[_Union[Predicate, _Mapping]] = ...) -> None: ... + LITERAL_FIELD_NUMBER: _ClassVar[int] + COMPARISON_FIELD_NUMBER: _ClassVar[int] + ISNULL_FIELD_NUMBER: _ClassVar[int] + AND_FIELD_NUMBER: _ClassVar[int] + OR_FIELD_NUMBER: _ClassVar[int] + NOT_FIELD_NUMBER: _ClassVar[int] + literal: Predicate.Literal + comparison: Predicate.Comparison + isnull: Predicate.IsNull + def __init__(self, literal: _Optional[_Union[Predicate.Literal, _Mapping]] = ..., comparison: _Optional[_Union[Predicate.Comparison, _Mapping]] = ..., isnull: _Optional[_Union[Predicate.IsNull, _Mapping]] = ..., **kwargs) -> None: ... + +class Order(_message.Message): + __slots__ = ("components",) + class Direction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + ASCENDING: _ClassVar[Order.Direction] + DESCENDING: _ClassVar[Order.Direction] + ASCENDING: Order.Direction + DESCENDING: Order.Direction + class Component(_message.Message): + __slots__ = ("column", "direction") + COLUMN_FIELD_NUMBER: _ClassVar[int] + DIRECTION_FIELD_NUMBER: _ClassVar[int] + column: ColumnName + direction: Order.Direction + def __init__(self, column: _Optional[_Union[ColumnName, _Mapping]] = ..., direction: _Optional[_Union[Order.Direction, str]] = ...) -> None: ... + COMPONENTS_FIELD_NUMBER: _ClassVar[int] + components: _containers.RepeatedCompositeFieldContainer[Order.Component] + def __init__(self, components: _Optional[_Iterable[_Union[Order.Component, _Mapping]]] = ...) -> None: ... From 7abfbd75497627feef5bcd78d3f5a2a915963af1 Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 29 Apr 2024 11:40:00 +0200 Subject: [PATCH 4/6] Update README with new generation instructions --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index acc6d29..f8d70ab 100644 --- a/README.md +++ b/README.md @@ -46,18 +46,18 @@ with CottontailDBClient('localhost', 1865) as client: ## Developing -To update the gRPC client, regenerate `cottontaildb_pb2.py` and `cottontaildb_pb2_grpc.py` from the proto definitions -file in the [Cottontail DB Proto](https://github.com/vitrivr/cottontaildb-proto) repository. +To update the gRPC client, regenerate `cottontaildb_pb2.py`, `cottontail_pb2.pyi`, and `cottontaildb_pb2_grpc.py` from the proto definitions +file in the [Cottontail DB](https://github.com/vitrivr/cottontaildb) repository. The following is an approximate guide on how to do so from a terminal: ```bash # Get the latest version of the Cottontail DB proto (and download to cottontaildb_client directory) -wget https://github.com/vitrivr/cottontaildb-proto/raw/master/src/main/protobuf/cottontail.proto -P ./cottontaildb_client/ +wget https://github.com/vitrivr/cottontaildb/raw/master/cottontaildb-client/src/main/protobuf/cottontail.proto -P ./cottontaildb_client/ # Install necessary python packages pip install grpcio grpcio-tools # Generate the gRPC client -python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. ./cottontaildb_client/cottontail.proto +python -m grpc_tools.protoc -I. --python_out=. --pyi_out=. --grpc_python_out=. ./cottontaildb_client/cottontail.proto ``` It is important that the path to the `cottontail.proto` file reflects the location of the gRPC Python files, such that From 88a092c7dc65f2dee31996c5e2a4e69760637d6a Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 29 Apr 2024 11:42:13 +0200 Subject: [PATCH 5/6] Update version --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index d6d9031..f250c1c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = cottontaildb-client -version = 0.14.2 +version = 0.16.6 author = Florian Spiess author_email = florian.spiess@unibas.ch description = A Cottontail DB gRPC client. From d31f3784ee2555b9003c11dd945fb27e17f6d9f0 Mon Sep 17 00:00:00 2001 From: Florian Spiess Date: Mon, 29 Apr 2024 11:44:59 +0200 Subject: [PATCH 6/6] Update cottontaildb image version for tests --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 15ff126..a038407 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -20,7 +20,7 @@ jobs: # Setup Cottontail DB service container services: cottontail: - image: vitrivr/cottontaildb:0.15.2 + image: vitrivr/cottontaildb:0.16.6 ports: - 1865:1865 options: -it