From 4c2860b03db5b2c090d46acc4555ce3360520490 Mon Sep 17 00:00:00 2001 From: Priec Date: Wed, 29 Jul 2026 22:45:11 +0200 Subject: [PATCH] script graph is legacy and deprecacy now, moving it out but keeping it cos it can be genuinely useful --- common/proto/table_script.proto | 10 +++++----- common/src/proto/descriptor.bin | Bin 134035 -> 134037 bytes common/src/proto/komp_ac.table_script.rs | 16 ++++++++-------- server | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/common/proto/table_script.proto b/common/proto/table_script.proto index 19a25e5..0f72a3b 100644 --- a/common/proto/table_script.proto +++ b/common/proto/table_script.proto @@ -11,7 +11,7 @@ package komp_ac.table_script; // - Validates column/type usage inside math expressions // - Validates referenced tables/columns against the schema // - Enforces link constraints for structured access (see notes below) -// - Analyzes dependencies and prevents cycles across the schema +// - Analyzes and records dependencies across the schema // - Transforms the script to decimal-safe math (steel_decimal) // - Upserts into table_scripts and records dependencies in script_dependencies // - Hydrates external column and aggregate inputs requested by the client @@ -37,8 +37,8 @@ service TableScript { // • Structured access via steel_get_column // requires an explicit link in table_definition_links // - Rejects raw SQL access; steel_query_sql is not part of the supported DSL - // - Detects and rejects circular dependencies across all scripts in the schema - // (self-references are allowed and not treated as cycles) + // - Records dependencies for hydration and future graph analysis; circular + // graphs are allowed because scripts do not recursively trigger each other // - Transforms the script to decimal-safe operations (steel_decimal) // - UPSERTS into table_scripts on (table_definitions_id, target_column) // and saves a normalized dependency list into script_dependencies @@ -118,10 +118,10 @@ message PostTableScriptRequest { // - Columns of the following types CANNOT be used inside math expressions: // BIGINT, TEXT, BOOLEAN, DATE, TIMESTAMPTZ // - // Dependency tracking and cycles: + // Dependency tracking: // - Dependencies are extracted from steel_get_column calls and stored // in script_dependencies with context - // - Cycles across tables are rejected (self-dependency is allowed) + // - Circular graphs are retained as metadata and do not block this request string script = 3; // Optional. Free-text description stored alongside the script (no functional effect). diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 2b1d18707dd4446bff592e7280e06d303de73f80..92d12c847bd6e75ffd4cce788410623f5c0b1a34 100644 GIT binary patch delta 360 zcmZXOu}T9$6h(I?o477wAd1CSuNDif?Ic!4f&pup%)Dd=*PZxgRt+c$!PZ7(u}tF^ zC<``Lf?#JSmVSYM;6_sjc8~im_nhlIxXFWyd$!tSufsNQPG1b7mIw*~et#B3SrbWOj!{7urN}ITm81u* zbTW_{H&M*U>LW~s3*boi`$&L7#$a5Gl;5`5axvaze>xwI6)w^%8_Ig+V delta 359 zcmY+9%}T>S6oqrANsLh}1Xo$eEUhT$1GtgwtP}*@N;0!jw!R zl*sgBt>SoQW|nexk;R<;_hq~g`Z3F>U_33gD9x!HqF#r19{ZHib%EJni{k*frm0~# z){5c^6BCgal1h%Ttapv)YCaU5>b?gXYIX!qi|w~%-?lA6g4PXL4d?3k1jf#iQP*uy mR38ak@0yXu4U~-g`e4$U6576D`KvIZse!LiI_eI=nf(H5F?cZm diff --git a/common/src/proto/komp_ac.table_script.rs b/common/src/proto/komp_ac.table_script.rs index c2136d6..ef72417 100644 --- a/common/src/proto/komp_ac.table_script.rs +++ b/common/src/proto/komp_ac.table_script.rs @@ -47,11 +47,11 @@ pub struct PostTableScriptRequest { /// * Columns of the following types CANNOT be used inside math expressions: /// BIGINT, TEXT, BOOLEAN, DATE, TIMESTAMPTZ /// - /// Dependency tracking and cycles: + /// Dependency tracking: /// /// * Dependencies are extracted from steel_get_column calls and stored /// in script_dependencies with context - /// * Cycles across tables are rejected (self-dependency is allowed) + /// * Circular graphs are retained as metadata and do not block this request #[prost(string, tag = "3")] pub script: ::prost::alloc::string::String, /// Optional. Free-text description stored alongside the script (no functional effect). @@ -229,7 +229,7 @@ pub mod table_script_client { /// * Validates column/type usage inside math expressions /// * Validates referenced tables/columns against the schema /// * Enforces link constraints for structured access (see notes below) - /// * Analyzes dependencies and prevents cycles across the schema + /// * Analyzes and records dependencies across the schema /// * Transforms the script to decimal-safe math (steel_decimal) /// * Upserts into table_scripts and records dependencies in script_dependencies /// * Hydrates external column and aggregate inputs requested by the client @@ -335,8 +335,8 @@ pub mod table_script_client { /// • Structured access via steel_get_column /// requires an explicit link in table_definition_links /// * Rejects raw SQL access; steel_query_sql is not part of the supported DSL - /// * Detects and rejects circular dependencies across all scripts in the schema - /// (self-references are allowed and not treated as cycles) + /// * Records dependencies for hydration and future graph analysis; circular + /// graphs are allowed because scripts do not recursively trigger each other /// * Transforms the script to decimal-safe operations (steel_decimal) /// * UPSERTS into table_scripts on (table_definitions_id, target_column) /// and saves a normalized dependency list into script_dependencies @@ -482,8 +482,8 @@ pub mod table_script_server { /// • Structured access via steel_get_column /// requires an explicit link in table_definition_links /// * Rejects raw SQL access; steel_query_sql is not part of the supported DSL - /// * Detects and rejects circular dependencies across all scripts in the schema - /// (self-references are allowed and not treated as cycles) + /// * Records dependencies for hydration and future graph analysis; circular + /// graphs are allowed because scripts do not recursively trigger each other /// * Transforms the script to decimal-safe operations (steel_decimal) /// * UPSERTS into table_scripts on (table_definitions_id, target_column) /// and saves a normalized dependency list into script_dependencies @@ -546,7 +546,7 @@ pub mod table_script_server { /// * Validates column/type usage inside math expressions /// * Validates referenced tables/columns against the schema /// * Enforces link constraints for structured access (see notes below) - /// * Analyzes dependencies and prevents cycles across the schema + /// * Analyzes and records dependencies across the schema /// * Transforms the script to decimal-safe math (steel_decimal) /// * Upserts into table_scripts and records dependencies in script_dependencies /// * Hydrates external column and aggregate inputs requested by the client diff --git a/server b/server index 49e661f..6e1211f 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 49e661f9b8503be8b8260dc4142d23ab47f31480 +Subproject commit 6e1211f722708f10a321a7139768b1565c1f8fb2