fix custom column labels being lost on read-only module tables

This commit is contained in:
Priec
2026-09-10 21:12:30 +02:00
parent 0774f49f9c
commit 315cbe0c9c
6 changed files with 141 additions and 3 deletions

View File

@@ -88,6 +88,9 @@ service TableDefinition {
// is rejected while an active row has no value for the column.
rpc SetColumnRequired(SetColumnRequiredRequest) returns (SetColumnRequiredResponse);
// Clear selected profile overrides and apply the current module defaults atomically.
rpc ResetModuleDefaults(ResetModuleDefaultsRequest) returns (ResetModuleDefaultsResponse);
// Replaces the optional user-visible aliases for a fixed-option column.
// Stored values remain stable machine values and scripts never depend on labels.
rpc SetColumnOptionAliases(SetColumnOptionAliasesRequest) returns (SetColumnOptionAliasesResponse);
@@ -674,6 +677,24 @@ enum CatalogFeature {
CATALOG_FEATURE_REPLACE_DEFINITION = 12;
CATALOG_FEATURE_INDEXES = 13;
CATALOG_FEATURE_DELETE_TABLE = 14;
CATALOG_FEATURE_RESET_MODULE_DEFAULTS = 15;
}
message ResetModuleDefaultsRequest {
string profile_name = 1;
string table_name = 2;
// Stable column IDs, not aliases. Only these label overrides are cleared.
repeated int64 column_alias_ids = 3;
// Only these required-setting overrides are cleared.
repeated int64 column_required_ids = 4;
bool reset_row_display_columns = 5;
int64 expected_row_version = 6;
}
message ResetModuleDefaultsResponse {
bool success = 1;
// Reload table details to obtain the effective settings after the reset.
int64 row_version = 2;
}
// Server-owned behavior for one logical column returned in table details.