multiclient setup2

This commit is contained in:
Priec
2026-07-17 01:14:00 +02:00
parent 8b27b8b172
commit 4aed5d3022
12 changed files with 20 additions and 16 deletions

View File

@@ -57,7 +57,7 @@ message PostTableDefinitionRequest {
// Table name to create inside the target profile.
// Must be lowercase, alphanumeric with underscores,
// start with a letter, and be <= 63 chars.
// Forbidden names: "id", "deleted", "created_at", or ending in "_id".
// Forbidden names: "id", "deleted", "created_at", "row_revision", or ending in "_id".
string table_name = 1;
// List of links (foreign keys) to existing tables in the same profile.
@@ -69,7 +69,7 @@ message PostTableDefinitionRequest {
// List of column names to be indexed (must match existing user-defined columns).
// Indexes can target only user-defined columns; system columns ("id", "deleted",
// "created_at") and automatically generated foreign key ("*_id") columns already
// "created_at", "row_revision") and automatically generated foreign key ("*_id") columns already
// have indexes. Requests trying to index those columns are rejected.
repeated string indexes = 4;
@@ -114,7 +114,7 @@ enum MoneyRounding {
message ColumnDefinition {
// Column name that follows the same validation rules as table_name.
// Must be lowercase, start with a letter, no uppercase characters,
// and cannot be "id", "deleted", "created_at", or end with "_id".
// and cannot be "id", "deleted", "created_at", "row_revision", or end with "_id".
string name = 1;
// Logical column type. Supported values (case-insensitive):

View File

@@ -56,7 +56,7 @@ message PostTableScriptRequest {
// Required. The target column in the target table that this script computes.
// Must be an existing user-defined column in that table (not a system column).
// System columns are reserved: "id", "deleted", "created_at".
// System columns are reserved: "id", "deleted", "created_at", "row_revision".
// The column's data type must NOT be one of the prohibited target types:
// BIGINT, DATE, TIMESTAMPTZ
// Note: BOOLEAN targets are allowed (values are converted to Steel #true/#false).

View File

@@ -45,7 +45,7 @@ message GetTableStructureResponse {
// Response with the ordered list of columns (by ordinal position) for one table.
message TableStructureResponse {
// Columns of the physical table, including system columns (id, deleted,
// created_at), user-defined columns, and any foreign-key columns such as
// created_at, row_revision), user-defined columns, and any foreign-key columns such as
// "<linked_table>_id". May be empty if the physical table is missing.
repeated TableColumn columns = 1;
}

View File

@@ -61,7 +61,7 @@ service TablesData {
// Behavior:
// - Validates profile and table definition
// - Returns all columns as strings (COALESCE(col::TEXT, '') AS col)
// including: id, deleted, all user-defined columns, and FK columns
// including: id, deleted, row_revision, all user-defined columns, and FK columns
// named "<linked_table>_id" for each table link
// - Fails with NOT_FOUND if record does not exist or is soft-deleted
// - If the physical table is missing but the definition exists, returns INTERNAL
@@ -210,6 +210,7 @@ message PutTableDataResponse {
message RecomputedRow {
string table_name = 1;
int64 row_id = 2;
int64 row_revision = 3;
}
// Soft-delete a single row.