diff --git a/client b/client index 1d7d88e4..d8cbdbfc 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 1d7d88e4c6640c3172afd45be18a1f1cea51c584 +Subproject commit d8cbdbfcf180bd769265c82b458658691271a1b4 diff --git a/common/proto/table_structure.proto b/common/proto/table_structure.proto index df653545..d2da235f 100644 --- a/common/proto/table_structure.proto +++ b/common/proto/table_structure.proto @@ -84,4 +84,7 @@ message TableColumn { // Logical source column name, empty for ordinary and system columns. string generated_from = 8; + + // True when clients may offer this column in an alias rename picker. + bool renameable = 9; } diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 358dde94..2505535c 100644 Binary files a/common/src/proto/descriptor.bin and b/common/src/proto/descriptor.bin differ diff --git a/common/src/proto/komp_ac.table_structure.rs b/common/src/proto/komp_ac.table_structure.rs index 6f49055c..8bd1e790 100644 --- a/common/src/proto/komp_ac.table_structure.rs +++ b/common/src/proto/komp_ac.table_structure.rs @@ -67,6 +67,9 @@ pub struct TableColumn { /// Logical source column name, empty for ordinary and system columns. #[prost(string, tag = "8")] pub generated_from: ::prost::alloc::string::String, + /// True when clients may offer this column in an alias rename picker. + #[prost(bool, tag = "9")] + pub renameable: bool, } /// Generated client implementations. pub mod table_structure_service_client { diff --git a/server b/server index da8681a1..94bf8fb2 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit da8681a1c2df5c254ee9f6f1dc2c1f944e171185 +Subproject commit 94bf8fb25b8c8b556abb903c7ea15c5eae515b1d diff --git a/web/src/pages/admin/table_definition/loader.rs b/web/src/pages/admin/table_definition/loader.rs index 61cacc26..ebe3ba37 100644 --- a/web/src/pages/admin/table_definition/loader.rs +++ b/web/src/pages/admin/table_definition/loader.rs @@ -177,6 +177,9 @@ pub(crate) async fn load_page( generated_from: behavior .map(|behavior| behavior.generated_from.clone()) .unwrap_or_default(), + // Renaming changes shared table metadata, so an + // incomplete server capability response does + // not grant permission by omission. renameable: behavior.is_some_and(|behavior| behavior.renameable), } })