diff --git a/client b/client index 949b8c78..443d7b9a 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 949b8c784d40e8889fb08b44dc591786412236fd +Subproject commit 443d7b9ab9113dacf1de73b457b53dd759e5b63d diff --git a/common/proto/table_definition.proto b/common/proto/table_definition.proto index 4ce00d78..3cd4b0a6 100644 --- a/common/proto/table_definition.proto +++ b/common/proto/table_definition.proto @@ -193,6 +193,9 @@ message ColumnDefinition { // Canonical uppercase ISO-4217 currency code. Required for MONEY and forbidden // for every other field type. string currency = 5; + + // When true, the server rejects omitted or explicitly null values. + bool required = 6; } // Response after table creation (success + DDL preview). diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 0bd23bba..ef79f907 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_definition.rs b/common/src/proto/komp_ac.table_definition.rs index 7c2078a2..257ebf27 100644 --- a/common/src/proto/komp_ac.table_definition.rs +++ b/common/src/proto/komp_ac.table_definition.rs @@ -158,6 +158,9 @@ pub struct ColumnDefinition { /// for every other field type. #[prost(string, tag = "5")] pub currency: ::prost::alloc::string::String, + /// When true, the server rejects omitted or explicitly null values. + #[prost(bool, tag = "6")] + pub required: bool, } /// Response after table creation (success + DDL preview). #[derive(serde::Serialize, serde::Deserialize)] diff --git a/server b/server index 4fe6da6a..f0945096 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 4fe6da6ac72f37cd082607e2c9c9489d48bfa4ed +Subproject commit f09450969170f8a098b38dff6c07d57ddf27b17e diff --git a/web/src/schema/mod.rs b/web/src/schema/mod.rs index 776f3900..ccdd598a 100644 --- a/web/src/schema/mod.rs +++ b/web/src/schema/mod.rs @@ -731,6 +731,7 @@ pub(crate) fn proto_columns(columns: &[ColumnDefinition]) -> Vec