featurebase/internal/internal.proto
2017-02-08 16:04:19 +03:00

100 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package internal;
message DB {
string TimeQuantum = 1;
}
message Frame {
string TimeQuantum = 1;
}
message Bitmap {
repeated uint64 Bits = 1;
repeated Attr Attrs = 2;
}
message Pair {
uint64 Key = 1;
uint64 Count = 2;
}
message Bit {
uint64 BitmapID = 1;
uint64 ProfileID = 2;
int64 Timestamp = 3;
}
message Profile {
uint64 ID = 1;
repeated Attr Attrs = 2;
}
message Attr {
string Key = 1;
uint64 Type = 2;
string StringValue = 3;
uint64 UintValue = 4;
bool BoolValue = 5;
}
message AttrMap {
repeated Attr Attrs = 1;
}
message QueryRequest {
string DB = 1;
string Query = 2;
repeated uint64 Slices = 3;
bool Profiles = 4;
string Quantum = 5;
bool Remote = 6;
}
message QueryResponse {
string Err = 1;
repeated QueryResult Results = 2;
repeated Profile Profiles = 3;
}
message QueryResult {
Bitmap Bitmap = 1;
uint64 N = 2;
repeated Pair Pairs = 3;
bool Changed = 4;
}
message ImportRequest {
string DB = 1;
string Frame = 2;
uint64 Slice = 3;
repeated uint64 BitmapIDs = 4;
repeated uint64 ProfileIDs = 5;
repeated int64 Timestamps = 6;
}
message ImportResponse {
string Err = 1;
}
message BlockDataRequest {
string DB = 1;
string Frame = 2;
uint64 Slice = 3;
uint64 Block = 4;
}
message BlockDataResponse {
repeated uint64 BitmapIDs = 1;
repeated uint64 ProfileIDs = 2;
}
message Cache {
repeated uint64 BitmapIDs = 1;
}
message MaxSlicesResponse {
map<string, uint64> MaxSlices = 1;
}