diff --git a/Cargo.lock b/Cargo.lock index a7ddfb0..e9703fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5951,6 +5951,7 @@ dependencies = [ "tracing-subscriber", "tui-canvas-validation-core 0.8.2", "unicode-width 0.2.2", + "url", "uuid", "validator", ] diff --git a/client b/client index 4023272..cf925ae 160000 --- a/client +++ b/client @@ -1 +1 @@ -Subproject commit 4023272451240ebf6c8b5c3157181a69332cd727 +Subproject commit cf925ae05b44c9588067de5375a5204687fbf042 diff --git a/common/proto/table_script.proto b/common/proto/table_script.proto index ea25295..0c00dfe 100644 --- a/common/proto/table_script.proto +++ b/common/proto/table_script.proto @@ -26,7 +26,7 @@ service TableScript { // • Allowed always: self-references (same table) // • Structured access via steel_get_column // requires an explicit link in table_definition_links - // • Raw SQL access via steel_query_sql is permitted (still validated) + // - 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) // - Transforms the script to decimal-safe operations (steel_decimal) @@ -70,10 +70,7 @@ message PostTableScriptRequest { // • self-references are allowed without links // • other tables require an explicit link from the source table // (table_definition_links) or the request fails - // - Raw SQL access (no link required, but still validated): - // (steel_query_sql "SELECT ...") - // • Basic checks disallow operations that imply prohibited types, - // e.g., EXTRACT(…), DATE_PART(…), ::DATE, ::TIMESTAMPTZ, ::BIGINT, CAST(…) + // - Raw SQL access is not supported; steel_query_sql is rejected // - Self variable access in transformed scripts: // (get-var "column_name") is treated as referencing the current table // @@ -85,8 +82,8 @@ message PostTableScriptRequest { // BIGINT, TEXT, BOOLEAN, DATE, TIMESTAMPTZ // // Dependency tracking and cycles: - // - Dependencies are extracted from steel_get_column, get-var, - // and steel_query_sql and stored in script_dependencies with context + // - Dependencies are extracted from steel_get_column and get-var and stored + // in script_dependencies with context // - Cycles across tables are rejected (self-dependency is allowed) string script = 3; @@ -105,7 +102,6 @@ message TableScriptResponse { // Human-readable warnings concatenated into a single string. Possible messages: // - Warning if the script references itself (may affect first population) - // - Count of raw SQL queries present // - Info about number of structured linked-table accesses // - Warning if many dependencies may affect performance string warnings = 2; @@ -137,5 +133,6 @@ message ScriptDependency { string target_table = 1; string dependency_type = 2; string column = 3; + // Deprecated legacy field. Raw SQL dependencies are no longer produced. string query_fragment = 4; } diff --git a/common/src/proto/descriptor.bin b/common/src/proto/descriptor.bin index 474be61..4699519 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_script.rs b/common/src/proto/komp_ac.table_script.rs index 3887c2b..c32c084 100644 --- a/common/src/proto/komp_ac.table_script.rs +++ b/common/src/proto/komp_ac.table_script.rs @@ -29,10 +29,7 @@ pub struct PostTableScriptRequest { /// • self-references are allowed without links /// • other tables require an explicit link from the source table /// (table_definition_links) or the request fails - /// * Raw SQL access (no link required, but still validated): - /// (steel_query_sql "SELECT ...") - /// • Basic checks disallow operations that imply prohibited types, - /// e.g., EXTRACT(…), DATE_PART(…), ::DATE, ::TIMESTAMPTZ, ::BIGINT, CAST(…) + /// * Raw SQL access is not supported; steel_query_sql is rejected /// * Self variable access in transformed scripts: /// (get-var "column_name") is treated as referencing the current table /// @@ -46,8 +43,8 @@ pub struct PostTableScriptRequest { /// /// Dependency tracking and cycles: /// - /// * Dependencies are extracted from steel_get_column, get-var, - /// and steel_query_sql and stored in script_dependencies with context + /// * Dependencies are extracted from steel_get_column and get-var and stored + /// in script_dependencies with context /// * Cycles across tables are rejected (self-dependency is allowed) #[prost(string, tag = "3")] pub script: ::prost::alloc::string::String, @@ -69,7 +66,6 @@ pub struct TableScriptResponse { /// Human-readable warnings concatenated into a single string. Possible messages: /// /// * Warning if the script references itself (may affect first population) - /// * Count of raw SQL queries present /// * Info about number of structured linked-table accesses /// * Warning if many dependencies may affect performance #[prost(string, tag = "2")] @@ -114,6 +110,7 @@ pub struct ScriptDependency { pub dependency_type: ::prost::alloc::string::String, #[prost(string, tag = "3")] pub column: ::prost::alloc::string::String, + /// Deprecated legacy field. Raw SQL dependencies are no longer produced. #[prost(string, tag = "4")] pub query_fragment: ::prost::alloc::string::String, } @@ -233,7 +230,7 @@ pub mod table_script_client { /// • Allowed always: self-references (same table) /// • Structured access via steel_get_column /// requires an explicit link in table_definition_links - /// • Raw SQL access via steel_query_sql is permitted (still validated) + /// * 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) /// * Transforms the script to decimal-safe operations (steel_decimal) @@ -332,7 +329,7 @@ pub mod table_script_server { /// • Allowed always: self-references (same table) /// • Structured access via steel_get_column /// requires an explicit link in table_definition_links - /// • Raw SQL access via steel_query_sql is permitted (still validated) + /// * 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) /// * Transforms the script to decimal-safe operations (steel_decimal) diff --git a/server b/server index c233f4f..32ec7b1 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit c233f4ff2816806fd55358df1af60b6b82f52b3b +Subproject commit 32ec7b1bd74c7a3eb4f6e244292d44d68893ce75