featurebase/internal/internal.proto
Ben Johnson 7a91cbdd6d Add timestamps to import/sort.
The HTTP API, client, and `pilosactl` have been updated to allow
for a timestamp formatted using the pilosa date format of
`YYYY-MM-DDTHH:MM`.
2016-12-20 10:36:33 -07:00

101 lines
1.5 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;
int64 Timestamp = 5;
string Quantum = 6;
bool Remote = 7;
}
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;
}