we are all at v0.7.5 welcome to bulk post, tui-pages support for canvas crate, moved validation-core crate
This commit is contained in:
@@ -23,6 +23,17 @@ service TablesData {
|
||||
// - If the physical table is missing but the definition exists, returns INTERNAL
|
||||
rpc PostTableData(PostTableDataRequest) returns (PostTableDataResponse);
|
||||
|
||||
// Insert multiple rows by applying PostTableData behavior to each row.
|
||||
//
|
||||
// Behavior:
|
||||
// - Accepts 1..10,000 rows in one gRPC request
|
||||
// - Processes rows in request order
|
||||
// - Each row is inserted through the same validation, script execution,
|
||||
// typed binding, database insert, and indexing path as PostTableData
|
||||
// - Stops at the first failing row and returns that row's gRPC error code
|
||||
// with row index context; rows inserted before the failure remain inserted
|
||||
rpc PostTableDataBulk(PostTableDataBulkRequest) returns (PostTableDataBulkResponse);
|
||||
|
||||
// Update existing row data with strict type binding and script validation.
|
||||
//
|
||||
// Behavior:
|
||||
@@ -124,6 +135,36 @@ message PostTableDataResponse {
|
||||
int64 inserted_id = 3;
|
||||
}
|
||||
|
||||
// One row in a bulk insert request.
|
||||
message PostTableDataBulkRow {
|
||||
// Required. Same data payload as PostTableDataRequest.data.
|
||||
map<string, google.protobuf.Value> data = 1;
|
||||
}
|
||||
|
||||
// Bulk insert request.
|
||||
message PostTableDataBulkRequest {
|
||||
// Required. Profile (PostgreSQL schema) name that owns the table.
|
||||
string profile_name = 1;
|
||||
|
||||
// Required. Logical table (definition) name within the profile.
|
||||
string table_name = 2;
|
||||
|
||||
// Required. Rows to insert. Must contain at least 1 and at most 10,000 rows.
|
||||
repeated PostTableDataBulkRow rows = 3;
|
||||
}
|
||||
|
||||
// Bulk insert response.
|
||||
message PostTableDataBulkResponse {
|
||||
// True if all rows were inserted successfully.
|
||||
bool success = 1;
|
||||
|
||||
// Human-readable message.
|
||||
string message = 2;
|
||||
|
||||
// Per-row responses from the underlying PostTableData logic, in request order.
|
||||
repeated PostTableDataResponse responses = 3;
|
||||
}
|
||||
|
||||
// Update an existing row.
|
||||
message PutTableDataRequest {
|
||||
// Required. Profile (schema) name.
|
||||
|
||||
Reference in New Issue
Block a user