auto recomputation fields are now available
This commit is contained in:
@@ -157,6 +157,10 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
".komp_ac.table_definition.ColumnDefinition",
|
||||
"#[derive(serde::Serialize, serde::Deserialize)]",
|
||||
)
|
||||
.field_attribute(
|
||||
".komp_ac.table_definition.ColumnDefinition.recompute_on_dependency_change",
|
||||
"#[serde(default)]",
|
||||
)
|
||||
.type_attribute(
|
||||
".komp_ac.table_definition.TableLink",
|
||||
"#[derive(serde::Serialize, serde::Deserialize)]"
|
||||
|
||||
@@ -130,6 +130,10 @@ message ColumnDefinition {
|
||||
|
||||
// MONEY rounding applied before a value is stored.
|
||||
MoneyRounding rounding = 4;
|
||||
|
||||
// When true, the submitted script result is validated normally and the
|
||||
// stored value is also refreshed when one of its dependencies later changes.
|
||||
bool recompute_on_dependency_change = 5;
|
||||
}
|
||||
|
||||
// Response after table creation (success + DDL preview).
|
||||
|
||||
@@ -90,9 +90,6 @@ message PostTableScriptRequest {
|
||||
// Optional. Free-text description stored alongside the script (no functional effect).
|
||||
string description = 4;
|
||||
|
||||
// When true, changing any referenced field recomputes the target column.
|
||||
// When false, the script only validates direct writes to its own table.
|
||||
bool recompute_on_dependency_change = 5;
|
||||
}
|
||||
|
||||
// Response after creating or updating a script.
|
||||
|
||||
@@ -71,4 +71,8 @@ message TableColumn {
|
||||
// True if the column is part of the table's PRIMARY KEY.
|
||||
// Typically true for the "id" column created by the system.
|
||||
bool is_primary_key = 4;
|
||||
|
||||
// True for a user-defined column whose logic should be recomputed whenever
|
||||
// one of its dependencies changes. False for system and foreign-key columns.
|
||||
bool recompute_on_dependency_change = 5;
|
||||
}
|
||||
|
||||
Binary file not shown.
@@ -91,6 +91,11 @@ pub struct ColumnDefinition {
|
||||
/// MONEY rounding applied before a value is stored.
|
||||
#[prost(enumeration = "MoneyRounding", tag = "4")]
|
||||
pub rounding: i32,
|
||||
/// When true, the submitted script result is validated normally and the
|
||||
/// stored value is also refreshed when one of its dependencies later changes.
|
||||
#[prost(bool, tag = "5")]
|
||||
#[serde(default)]
|
||||
pub recompute_on_dependency_change: bool,
|
||||
}
|
||||
/// Response after table creation (success + DDL preview).
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
|
||||
@@ -51,10 +51,6 @@ pub struct PostTableScriptRequest {
|
||||
/// Optional. Free-text description stored alongside the script (no functional effect).
|
||||
#[prost(string, tag = "4")]
|
||||
pub description: ::prost::alloc::string::String,
|
||||
/// When true, changing any referenced field recomputes the target column.
|
||||
/// When false, the script only validates direct writes to its own table.
|
||||
#[prost(bool, tag = "5")]
|
||||
pub recompute_on_dependency_change: bool,
|
||||
}
|
||||
/// Response after creating or updating a script.
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
|
||||
@@ -54,6 +54,10 @@ pub struct TableColumn {
|
||||
/// Typically true for the "id" column created by the system.
|
||||
#[prost(bool, tag = "4")]
|
||||
pub is_primary_key: bool,
|
||||
/// True for a user-defined column whose logic should be recomputed whenever
|
||||
/// one of its dependencies changes. False for system and foreign-key columns.
|
||||
#[prost(bool, tag = "5")]
|
||||
pub recompute_on_dependency_change: bool,
|
||||
}
|
||||
/// Generated client implementations.
|
||||
pub mod table_structure_service_client {
|
||||
|
||||
Reference in New Issue
Block a user