removing recomputation

This commit is contained in:
Priec
2026-07-29 19:38:41 +02:00
parent a5992379db
commit 7da9b6fe1e
17 changed files with 13 additions and 66 deletions

View File

@@ -157,10 +157,6 @@ 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)]"

View File

@@ -197,9 +197,7 @@ 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;
reserved 5;
}
// Response after table creation (success + DDL preview).

View File

@@ -167,8 +167,7 @@ message StoredTableScript {
string description = 5;
// Complete allowlist of data inputs that may be exposed to this script.
repeated ScriptDependency dependencies = 6;
// Whether changes to dependency rows trigger authoritative server propagation.
bool recompute_on_dependency_change = 7;
reserved 7;
}
message ScriptDependency {

View File

@@ -75,7 +75,7 @@ message TableColumn {
// 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;
reserved 5;
// True when the server created this as a companion of another logical column.
bool generated = 6;

View File

@@ -137,8 +137,7 @@ message PostTableDataResponse {
// The id of the inserted row.
int64 inserted_id = 3;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 4;
reserved 4;
// Revision committed for the inserted row.
int64 row_revision = 5;
@@ -213,19 +212,12 @@ message PutTableDataResponse {
// The id of the updated row.
int64 updated_id = 3;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 4;
reserved 4;
// Revision committed for the updated row.
int64 row_revision = 5;
}
message RecomputedRow {
string table_name = 1;
int64 row_id = 2;
int64 row_revision = 3;
}
// Soft-delete a single row.
message DeleteTableDataRequest {
// Required. Profile (schema) name.
@@ -246,8 +238,7 @@ message DeleteTableDataResponse {
// True if a row was marked deleted (id existed and was not already deleted).
bool success = 1;
// Rows whose stored script values changed through dependency propagation.
repeated RecomputedRow recomputed_rows = 2;
reserved 2;
}
// Fetch a single non-deleted row by id.

Binary file not shown.

View File

@@ -166,11 +166,6 @@ 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)]

View File

@@ -108,9 +108,6 @@ pub struct StoredTableScript {
/// Complete allowlist of data inputs that may be exposed to this script.
#[prost(message, repeated, tag = "6")]
pub dependencies: ::prost::alloc::vec::Vec<ScriptDependency>,
/// Whether changes to dependency rows trigger authoritative server propagation.
#[prost(bool, tag = "7")]
pub recompute_on_dependency_change: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ScriptDependency {

View File

@@ -55,10 +55,6 @@ 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,
/// True when the server created this as a companion of another logical column.
#[prost(bool, tag = "6")]
pub generated: bool,

View File

@@ -48,7 +48,7 @@ pub struct PostTableDataRequest {
>,
}
/// Insert response.
#[derive(Clone, PartialEq, ::prost::Message)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PostTableDataResponse {
/// True if the insert succeeded.
#[prost(bool, tag = "1")]
@@ -59,9 +59,6 @@ pub struct PostTableDataResponse {
/// The id of the inserted row.
#[prost(int64, tag = "3")]
pub inserted_id: i64,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "4")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
/// Revision committed for the inserted row.
#[prost(int64, tag = "5")]
pub row_revision: i64,
@@ -135,7 +132,7 @@ pub struct PutTableDataRequest {
pub expected_revision: i64,
}
/// Update response.
#[derive(Clone, PartialEq, ::prost::Message)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PutTableDataResponse {
/// True if the update succeeded (or no-op on empty data).
#[prost(bool, tag = "1")]
@@ -146,22 +143,10 @@ pub struct PutTableDataResponse {
/// The id of the updated row.
#[prost(int64, tag = "3")]
pub updated_id: i64,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "4")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
/// Revision committed for the updated row.
#[prost(int64, tag = "5")]
pub row_revision: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RecomputedRow {
#[prost(string, tag = "1")]
pub table_name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub row_id: i64,
#[prost(int64, tag = "3")]
pub row_revision: i64,
}
/// Soft-delete a single row.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteTableDataRequest {
@@ -179,14 +164,11 @@ pub struct DeleteTableDataRequest {
pub expected_revision: i64,
}
/// Soft-delete response.
#[derive(Clone, PartialEq, ::prost::Message)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteTableDataResponse {
/// True if a row was marked deleted (id existed and was not already deleted).
#[prost(bool, tag = "1")]
pub success: bool,
/// Rows whose stored script values changed through dependency propagation.
#[prost(message, repeated, tag = "2")]
pub recomputed_rows: ::prost::alloc::vec::Vec<RecomputedRow>,
}
/// Fetch a single non-deleted row by id.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]