mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
281 lines
5.1 KiB
Protocol Buffer
281 lines
5.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package pb;
|
|
|
|
message Row {
|
|
repeated uint64 Columns = 1;
|
|
repeated string Keys = 3;
|
|
bytes Roaring = 4;
|
|
string Index = 5;
|
|
string Field = 6;
|
|
}
|
|
|
|
message RowMatrix {
|
|
repeated Row Rows = 1;
|
|
}
|
|
|
|
message SignedRow {
|
|
Row Pos = 1;
|
|
Row Neg = 2;
|
|
}
|
|
|
|
message RowIdentifiers {
|
|
repeated uint64 Rows = 1;
|
|
repeated string Keys = 2;
|
|
}
|
|
|
|
message IDList {
|
|
repeated uint64 IDs = 1;
|
|
}
|
|
|
|
message ExtractedIDColumn {
|
|
uint64 ID = 1;
|
|
repeated IDList Vals = 2;
|
|
}
|
|
message ExtractedIDMatrixSorted{
|
|
ExtractedIDMatrix ExtractedIDMatrix =1;
|
|
repeated RowKV RowKVs=2;
|
|
}
|
|
message RowKV{
|
|
uint64 RowID =1;
|
|
ExtractedTableValue Value =2;
|
|
}
|
|
message ExtractedIDMatrix {
|
|
repeated string Fields = 1;
|
|
repeated ExtractedIDColumn Columns = 2;
|
|
}
|
|
|
|
message KeyList {
|
|
repeated string Keys = 1;
|
|
}
|
|
|
|
message ExtractedTableValue {
|
|
oneof Value {
|
|
IDList IDs = 1;
|
|
KeyList Keys = 2;
|
|
int64 BSIValue = 3;
|
|
uint64 MutexID = 4;
|
|
string MutexKey = 5;
|
|
bool Bool = 6;
|
|
}
|
|
}
|
|
|
|
message ExtractedTableColumn {
|
|
oneof KeyOrID {
|
|
string Key = 1;
|
|
uint64 ID = 2;
|
|
}
|
|
repeated ExtractedTableValue Values = 3;
|
|
}
|
|
|
|
message ExtractedTableField {
|
|
string Name = 1;
|
|
string Type = 2;
|
|
}
|
|
|
|
message ExtractedTable {
|
|
repeated ExtractedTableField Fields = 1;
|
|
repeated ExtractedTableColumn Columns = 2;
|
|
}
|
|
|
|
message Pair {
|
|
uint64 ID = 1;
|
|
string Key = 3;
|
|
uint64 Count = 2;
|
|
}
|
|
|
|
message PairField {
|
|
Pair Pair = 1;
|
|
string Field = 2;
|
|
}
|
|
|
|
message PairsField {
|
|
repeated Pair Pairs = 1;
|
|
string Field = 2;
|
|
}
|
|
|
|
message Int64 {
|
|
int64 Value = 1;
|
|
}
|
|
|
|
message FieldRow {
|
|
string Field = 1;
|
|
uint64 RowID = 2;
|
|
string RowKey = 3;
|
|
Int64 Value = 4;
|
|
}
|
|
|
|
message GroupCount{
|
|
repeated FieldRow Group = 1;
|
|
uint64 Count = 2;
|
|
int64 Agg = 3;
|
|
Decimal DecimalAgg = 4;
|
|
}
|
|
|
|
message ValCount {
|
|
int64 Val = 1;
|
|
int64 Count = 2;
|
|
double FloatVal = 3;
|
|
Decimal DecimalVal = 4;
|
|
string TimestampVal = 5;
|
|
}
|
|
|
|
message Decimal {
|
|
int64 Value = 1;
|
|
int64 Scale = 2;
|
|
bool NewVersion = 3;
|
|
bytes ValAbs = 4;
|
|
bool ValNeg = 5;
|
|
}
|
|
|
|
message DistinctTimestamp {
|
|
repeated string Values = 1;
|
|
string Name = 2;
|
|
}
|
|
|
|
|
|
message QueryRequest {
|
|
string Query = 1;
|
|
repeated uint64 Shards = 2;
|
|
bool Remote = 5;
|
|
repeated Row EmbeddedData = 8;
|
|
bool PreTranslated = 9;
|
|
int64 MaxMemory = 10;
|
|
}
|
|
|
|
message QueryResponse {
|
|
string Err = 1;
|
|
repeated QueryResult Results = 2;
|
|
}
|
|
|
|
message QueryResult {
|
|
uint32 Type = 6;
|
|
Row Row = 1;
|
|
uint64 N = 2;
|
|
repeated Pair Pairs = 3;
|
|
bool Changed = 4;
|
|
ValCount ValCount = 5;
|
|
repeated uint64 RowIDs = 7;
|
|
// In the past, GroupCounts was a []GroupCount which did not indicate
|
|
// whether it had an aggregate, or which aggregate it had. We've
|
|
// updated this, but we keep this here so that messages using the old
|
|
// format can get a best-effort treatment rather than causing panics.
|
|
// Later this can almost certainly go away, but leave a comment warning
|
|
// people that 8 is Spoken For if you do that, please.
|
|
repeated GroupCount OldGroupCounts = 8;
|
|
RowIdentifiers RowIdentifiers = 9;
|
|
SignedRow SignedRow = 10;
|
|
PairsField PairsField = 11;
|
|
PairField PairField = 12;
|
|
ExtractedIDMatrix ExtractedIDMatrix = 13;
|
|
ExtractedTable ExtractedTable = 14;
|
|
RowMatrix RowMatrix = 15;
|
|
GroupCounts GroupCounts = 16;
|
|
DistinctTimestamp DistinctTimestamp = 17;
|
|
DataFrame DataFrame = 18;
|
|
ArrowTable ArrowTable = 19;
|
|
ExtractedIDMatrixSorted ExtractedIDMatrixSorted = 20;
|
|
}
|
|
|
|
message ImportRequest {
|
|
string Index = 1;
|
|
|
|
string Field = 2;
|
|
uint64 Shard = 3;
|
|
repeated uint64 RowIDs = 4;
|
|
repeated uint64 ColumnIDs = 5;
|
|
repeated string RowKeys = 7;
|
|
repeated string ColumnKeys = 8;
|
|
repeated int64 Timestamps = 6;
|
|
int64 IndexCreatedAt = 9;
|
|
int64 FieldCreatedAt = 10;
|
|
bool Clear = 11;
|
|
}
|
|
|
|
message ImportValueRequest {
|
|
string Index = 1;
|
|
string Field = 2;
|
|
uint64 Shard = 3;
|
|
repeated uint64 ColumnIDs = 5;
|
|
repeated string ColumnKeys = 7;
|
|
repeated int64 Values = 6;
|
|
repeated double FloatValues = 8;
|
|
repeated string StringValues = 9;
|
|
int64 IndexCreatedAt = 10;
|
|
int64 FieldCreatedAt = 11;
|
|
bool Clear = 12;
|
|
}
|
|
|
|
message AtomicRecord {
|
|
string Index = 1;
|
|
uint64 Shard = 2;
|
|
repeated ImportValueRequest Ivr = 3;
|
|
repeated ImportRequest Ir = 4;
|
|
}
|
|
|
|
message AtomicImportResponse {
|
|
string Error = 1;
|
|
}
|
|
|
|
message TranslateKeysRequest {
|
|
string Index = 1;
|
|
string Field = 2;
|
|
repeated string Keys = 3;
|
|
bool NotWritable = 4;
|
|
}
|
|
|
|
message TranslateKeysResponse {
|
|
repeated uint64 IDs = 3;
|
|
}
|
|
|
|
message TranslateIDsRequest {
|
|
string Index = 1;
|
|
string Field = 2;
|
|
repeated uint64 IDs = 3;
|
|
}
|
|
|
|
message TranslateIDsResponse {
|
|
repeated string Keys = 3;
|
|
}
|
|
|
|
message ImportRoaringRequestView {
|
|
string Name = 1;
|
|
bytes Data = 2;
|
|
}
|
|
|
|
message ImportRoaringRequest {
|
|
bool Clear = 1;
|
|
repeated ImportRoaringRequestView views = 2;
|
|
string Action = 3;
|
|
uint64 Block = 4;
|
|
int64 IndexCreatedAt = 5;
|
|
int64 FieldCreatedAt = 6;
|
|
bool UpdateExistence = 7;
|
|
}
|
|
|
|
message RoaringUpdate {
|
|
string Field = 1;
|
|
string View = 2;
|
|
bytes Clear = 3;
|
|
bytes Set = 4;
|
|
bool ClearRecords = 5;
|
|
}
|
|
|
|
message ImportRoaringShardRequest {
|
|
bool Remote = 1;
|
|
repeated RoaringUpdate Views = 2;
|
|
}
|
|
|
|
|
|
message GroupCounts{
|
|
string Aggregate = 1;
|
|
repeated GroupCount Groups = 2;
|
|
}
|
|
|
|
message DataFrame{
|
|
bytes Data =1;
|
|
}
|
|
message ArrowTable{
|
|
bytes Data =1;
|
|
}
|
|
|