0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2025-06-14 00:42:57 +00:00
Files
libsql/libsql-server/sqld/proto/proxy.proto

97 lines
1.5 KiB
Protocol Buffer
Raw Normal View History

2022-12-12 12:18:24 +01:00
syntax = "proto3";
package proxy;
2023-01-13 13:45:33 +01:00
message Queries {
2023-01-28 12:43:23 +02:00
repeated Query queries = 1;
2023-01-13 13:45:33 +01:00
// Uuid
2023-02-08 11:52:44 +01:00
string clientId = 2;
2023-01-13 13:45:33 +01:00
}
2022-12-12 12:18:24 +01:00
2023-01-28 12:43:23 +02:00
message Query {
string stmt = 1;
oneof Params {
Positional positional = 2;
Named named = 3;
}
}
message Positional {
repeated Value values = 1;
}
message Named {
repeated string names = 1;
repeated Value values = 2;
}
2022-12-12 12:18:24 +01:00
message QueryResult {
2023-01-13 13:45:33 +01:00
oneof row_result {
Error error = 1;
ResultRows row = 2;
2022-12-12 12:18:24 +01:00
}
}
message Error {
enum ErrorCode {
SQLError = 0;
TxBusy = 1;
TxTimeout = 2;
Internal = 3;
}
ErrorCode code = 1;
string message = 2;
}
2023-01-28 12:43:23 +02:00
2022-12-12 12:18:24 +01:00
message ResultRows {
repeated Column column_descriptions = 1;
repeated Row rows = 2;
2023-02-17 12:40:16 +01:00
uint64 affected_row_count = 3;
2022-12-12 12:18:24 +01:00
}
message Value {
2023-01-28 12:43:23 +02:00
/// bincode encoded Value
2022-12-12 12:18:24 +01:00
bytes data = 1;
}
message Row {
repeated Value values = 1;
}
enum Type {
Integer = 0;
2022-12-21 12:37:42 +01:00
Blob = 1;
Real = 2;
Text = 3;
2022-12-12 12:18:24 +01:00
Null = 4;
Unknown = 5;
2022-12-21 12:37:42 +01:00
Numeric = 6;
2022-12-12 12:18:24 +01:00
}
message Column {
string name = 1;
optional Type ty = 2;
}
message DisconnectMessage {
bytes clientId = 1;
}
message Ack {}
2023-01-13 13:45:33 +01:00
message ExecuteResults {
repeated QueryResult results = 1;
enum State {
Init = 0;
Invalid = 1;
Txn = 2;
}
/// State after executing the queries
State state = 2;
}
2022-12-12 12:18:24 +01:00
service Proxy {
2023-01-13 13:45:33 +01:00
rpc Execute(Queries) returns (ExecuteResults) {}
2022-12-12 12:18:24 +01:00
rpc Disconnect(DisconnectMessage) returns (Ack) {}
}