with index get column dep. removed
This commit is contained in:
@@ -126,10 +126,9 @@ message ColumnDefinition {
|
||||
// s ≤ p and p ≥ 1.
|
||||
string field_type = 2;
|
||||
|
||||
// Once initially stored, this column can never be changed.
|
||||
bool immutable = 3;
|
||||
reserved 3;
|
||||
|
||||
// MONEY rounding applied before an immutable value is initially stored.
|
||||
// MONEY rounding applied before a value is stored.
|
||||
MoneyRounding rounding = 4;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ service TableScript {
|
||||
// - Validates math operations: prohibits using certain data types in math
|
||||
// - Enforces link constraints for structured table access:
|
||||
// • Allowed always: self-references (same table)
|
||||
// • Structured access via steel_get_column / steel_get_column_with_index
|
||||
// • 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)
|
||||
// - Detects and rejects circular dependencies across all scripts in the schema
|
||||
@@ -67,8 +67,6 @@ message PostTableScriptRequest {
|
||||
// Referencing data:
|
||||
// - Structured table/column access (enforces link constraints):
|
||||
// (steel_get_column "table_name" "column_name")
|
||||
// (steel_get_column_with_index "table_name" index "column_name")
|
||||
// • index must be a non-negative integer literal
|
||||
// • self-references are allowed without links
|
||||
// • other tables require an explicit link from the source table
|
||||
// (table_definition_links) or the request fails
|
||||
@@ -87,13 +85,17 @@ message PostTableScriptRequest {
|
||||
// BIGINT, TEXT, BOOLEAN, DATE, TIMESTAMPTZ
|
||||
//
|
||||
// Dependency tracking and cycles:
|
||||
// - Dependencies are extracted from steel_get_column(_with_index), get-var,
|
||||
// - Dependencies are extracted from steel_get_column, get-var,
|
||||
// and steel_query_sql and stored in script_dependencies with context
|
||||
// - Cycles across tables are rejected (self-dependency is allowed)
|
||||
string script = 3;
|
||||
|
||||
// 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.
|
||||
@@ -128,12 +130,12 @@ message StoredTableScript {
|
||||
string script = 4;
|
||||
string description = 5;
|
||||
repeated ScriptDependency dependencies = 6;
|
||||
bool recompute_on_dependency_change = 7;
|
||||
}
|
||||
|
||||
message ScriptDependency {
|
||||
string target_table = 1;
|
||||
string dependency_type = 2;
|
||||
string column = 3;
|
||||
int64 index = 4;
|
||||
string query_fragment = 5;
|
||||
string query_fragment = 4;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user