mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-09-07 09:05:55 +00:00
- introduce Query Context (Qcx) for managing database-per-shard. - replaces the MultiTx, so mtx.go is retired and removed. - introduces the HolderConfig struct and all Holders now have a path from birth. - rbf speedups on bitwise writes - badgerdb is removed due to unresolvable write conflicts. fixes #703 #676
130 lines
2.4 KiB
Protocol Buffer
130 lines
2.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
package pilosa;
|
|
|
|
import "public.proto";
|
|
|
|
message VDS {
|
|
string name = 1;
|
|
}
|
|
|
|
message GetVDSsRequest {
|
|
}
|
|
|
|
message GetVDSsResponse {
|
|
repeated VDS vdss = 1;
|
|
}
|
|
|
|
message GetVDSRequest {
|
|
string name = 1;
|
|
}
|
|
|
|
message GetVDSResponse {
|
|
VDS vds = 1;
|
|
}
|
|
|
|
message PostVDSRequest {
|
|
string name = 1;
|
|
bool keys = 2;
|
|
bool trackExistence = 3;
|
|
}
|
|
|
|
message PostVDSResponse {
|
|
}
|
|
|
|
message DeleteVDSRequest {
|
|
string name = 1;
|
|
}
|
|
|
|
message DeleteVDSResponse {
|
|
}
|
|
|
|
message QueryPQLRequest {
|
|
string index = 1;
|
|
string pql = 2;
|
|
}
|
|
|
|
message QuerySQLRequest {
|
|
string sql = 1;
|
|
}
|
|
|
|
message StatusError{
|
|
uint32 Code = 1;
|
|
string Message = 2;
|
|
}
|
|
|
|
message RowResponse{
|
|
repeated ColumnInfo headers = 1;
|
|
repeated ColumnResponse columns = 2;
|
|
StatusError StatusError = 3;
|
|
}
|
|
|
|
message Row {
|
|
repeated ColumnResponse columns = 1;
|
|
}
|
|
|
|
message TableResponse{
|
|
repeated ColumnInfo headers = 1;
|
|
repeated Row rows = 2;
|
|
StatusError StatusError = 3;
|
|
}
|
|
|
|
message ColumnInfo {
|
|
string name = 1;
|
|
string datatype = 2;
|
|
}
|
|
|
|
message ColumnResponse{
|
|
oneof columnVal {
|
|
string stringVal = 1;
|
|
uint64 uint64Val = 2;
|
|
int64 int64Val = 3;
|
|
bool boolVal = 4;
|
|
bytes blobVal = 5;
|
|
Uint64Array uint64ArrayVal = 6;
|
|
StringArray stringArrayVal = 7;
|
|
double float64Val = 8;
|
|
Decimal decimalVal = 9;
|
|
}
|
|
}
|
|
|
|
message Decimal {
|
|
int64 value = 1;
|
|
int64 scale = 2;
|
|
}
|
|
|
|
message InspectRequest {
|
|
string index = 1;
|
|
IdsOrKeys columns = 2;
|
|
repeated string filterFields = 3;
|
|
uint64 limit = 4;
|
|
uint64 offset = 5;
|
|
string query = 6;
|
|
}
|
|
|
|
message Uint64Array {
|
|
repeated uint64 vals = 1;
|
|
}
|
|
|
|
message StringArray {
|
|
repeated string vals = 1;
|
|
}
|
|
|
|
message IdsOrKeys {
|
|
oneof type {
|
|
Uint64Array ids = 1;
|
|
StringArray keys = 2;
|
|
}
|
|
}
|
|
|
|
service Pilosa {
|
|
rpc GetVDSs(GetVDSsRequest) returns (GetVDSsResponse) {};
|
|
rpc GetVDS(GetVDSRequest) returns (GetVDSResponse) {};
|
|
rpc PostVDS(PostVDSRequest) returns (PostVDSResponse) {};
|
|
rpc DeleteVDS(DeleteVDSRequest) returns (DeleteVDSResponse) {};
|
|
rpc QuerySQL(QuerySQLRequest) returns (stream RowResponse) {};
|
|
rpc QuerySQLUnary(QuerySQLRequest) returns (TableResponse) {};
|
|
rpc QueryPQL(QueryPQLRequest) returns (stream RowResponse) {};
|
|
rpc QueryPQLUnary(QueryPQLRequest) returns (TableResponse) {};
|
|
rpc Inspect(InspectRequest) returns (stream RowResponse) {};
|
|
rpc ImportAtomicRecord(stream AtomicRecord) returns (AtomicImportResponse) {};
|
|
}
|