Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
0eca505
fix(format): indent a call's arguments under a line comment before th…
kvlonge Nov 15, 2026
b71cef6
fix(snowflake): give a dynamic table's secondary roles their own prop…
kvlonge Nov 15, 2026
8de80a8
fix(snowflake): keep a procedure's RETURNS TABLE columns as fields wi…
kvlonge Nov 15, 2026
055c6cf
fix(snowflake): keep an anonymous procedure's options as properties
kvlonge Nov 15, 2026
8fc3b3e
fix(snowflake): set a constraint's options on their typed fields
kvlonge Nov 15, 2026
18e1826
fix(snowflake): keep a table's policy, tag and column actions structured
kvlonge Nov 15, 2026
1c9d245
fix(snowflake): read a MODIFY ( ... ) column list as typed column act…
kvlonge Nov 15, 2026
f49946c
fix(syntax-cases): write a Snowflake keyword with a lower-case part i…
kvlonge Nov 15, 2026
0ec3a70
fix(receipts): classify 3 more reviewed post-parse Snowflake errnos a…
kvlonge Nov 15, 2026
ca04f7f
chore(syntax-limits): give each DEFINE FILE FORMAT option a valid cas…
kvlonge Nov 15, 2026
e0cc3e5
fix(syntax-cases): write an option of a branch that is one group of o…
kvlonge Nov 15, 2026
320b07b
fix(format): keep a call's argument indent after a comment between ar…
kvlonge Nov 15, 2026
2b4925a
chore(syntax-coverage): pin the evidence with batch 34 and the re-run…
kvlonge Nov 15, 2026
82c64bb
chore(syntax-coverage): pin the evidence with batch 36 and the withdr…
kvlonge Nov 15, 2026
89f5308
fix(snowflake): refuse nameless ALTER SET and UNSET that Snowflake re…
kvlonge Nov 15, 2026
18cf356
chore(syntax-coverage): point the held DEFINE WAREHOUSE x86 constrain…
kvlonge Nov 15, 2026
d928422
chore(syntax-coverage): record the train's reviews and re-record the …
kvlonge Nov 15, 2026
52bc8c5
refactor: meet the comment, comparison and statement-budget rules in …
kvlonge Nov 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
750 changes: 697 additions & 53 deletions coverage/syntax/baseline.json

Large diffs are not rendered by default.

90 changes: 90 additions & 0 deletions coverage/syntax/limits.toml
Original file line number Diff line number Diff line change
Expand Up @@ -92882,3 +92882,93 @@ anchor = "doc.sql.alter-task / Syntax"
sql = "ALTER TASK IF EXISTS v1 SET WAREHOUSE = 'm' SCHEDULE = '1 MINUTES' CONFIG = 'm' OVERLAP_POLICY = NO_OVERLAP USER_TASK_TIMEOUT_MS = 1 SUSPEND_TASK_AFTER_NUM_FAILURES = 1 ERROR_INTEGRATION = i1 SUCCESS_INTEGRATION = i1 LOG_LEVEL = 'm' COMMENT = 'm' TASK_AUTO_RETRY_ATTEMPTS = 1 USER_TASK_MINIMUM_TRIGGER_INTERVAL_IN_SECONDS = 1 TARGET_COMPLETION_INTERVAL = '1 MINUTES' SERVERLESS_TASK_MIN_STATEMENT_SIZE = 'XSMALL' SERVERLESS_TASK_MAX_STATEMENT_SIZE = 'XSMALL' EXECUTE AS USER v1 ;"
expect = "observe"
context = "raw"

# DEFINE FILE FORMAT options whose only valid case was the refused DEFINE TEMP case with every option.

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "option_present"
target = "[ FILE_EXTENSION = '<string>' ]"
note = "FILE_EXTENSION on its own, without the TEMP the refused case with every option writes"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = CSV FILE_EXTENSION = 'm' ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "operand_type_class"
target = "'<string>' in [ FILE_EXTENSION = '<string>' ]"
note = "a valid string for FILE_EXTENSION on its own"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = CSV FILE_EXTENSION = 'm' ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "option_present"
target = "[ SKIP_HEADER = <integer> ]"
note = "SKIP_HEADER on its own, without the TEMP the refused case with every option writes"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = CSV SKIP_HEADER = 1 ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "operand_type_class"
target = "<integer> in [ SKIP_HEADER = <integer> ]"
note = "a valid integer for SKIP_HEADER on its own"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = CSV SKIP_HEADER = 1 ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "option_present"
target = "[ COMMENT = '<string_literal>' ]"
note = "COMMENT on its own, without the TEMP the refused case with every option writes"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 COMMENT = 'm' ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "operand_type_class"
target = "'<string_literal>' in [ COMMENT = '<string_literal>' ]"
note = "a valid string literal for COMMENT on its own"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 COMMENT = 'm' ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "option_present"
target = "[ FILE_EXTENSION = '<string>' ] #2"
note = "JSON's FILE_EXTENSION on its own, without the TEMP the refused case with every option writes"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = JSON FILE_EXTENSION = 'm' ;"
expect = "observe"
documented = true
context = "raw"

[[limit]]
form = "sf.ddl.create-file-format.define-file-format"
kind = "operand_type_class"
target = "'<string>' in [ FILE_EXTENSION = '<string>' ] #2"
note = "a valid string for JSON's FILE_EXTENSION on its own"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
sql = "DEFINE FILE FORMAT d1.s1.v1 TYPE = JSON FILE_EXTENSION = 'm' ;"
expect = "observe"
documented = true
context = "raw"
85 changes: 80 additions & 5 deletions coverage/syntax/marks/ddl.jsonl

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions coverage/syntax/marks/security_admin.jsonl

Large diffs are not rendered by default.

232 changes: 64 additions & 168 deletions coverage/syntax/obligations/ddl.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109586,48 +109586,6 @@ kind = "alternative"
required = true
target = "{ STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 |… → MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o130"
kind = "operand_type_class"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o131"
kind = "negative_neighbour"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_1X_x86"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o132"
kind = "operand_type_class"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o133"
kind = "negative_neighbour"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_16X_x86"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o134"
kind = "operand_type_class"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o135"
kind = "negative_neighbour"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.alter-warehouse.set.o055"
kind = "option_present"
Expand Down Expand Up @@ -162816,6 +162774,70 @@ target = "[ , '<string>' ... ] #3"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "the list continued at least once, observed"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o525"
kind = "option_present"
required = true
target = "[ FILE_EXTENSION = '<string>' ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "FILE_EXTENSION on its own, without the TEMP the refused case with every option writes"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o526"
kind = "operand_type_class"
required = true
target = "'<string>' in [ FILE_EXTENSION = '<string>' ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "a valid string for FILE_EXTENSION on its own"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o527"
kind = "option_present"
required = true
target = "[ SKIP_HEADER = <integer> ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "SKIP_HEADER on its own, without the TEMP the refused case with every option writes"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o528"
kind = "operand_type_class"
required = true
target = "<integer> in [ SKIP_HEADER = <integer> ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "a valid integer for SKIP_HEADER on its own"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o529"
kind = "option_present"
required = true
target = "[ COMMENT = '<string_literal>' ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "COMMENT on its own, without the TEMP the refused case with every option writes"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o530"
kind = "operand_type_class"
required = true
target = "'<string_literal>' in [ COMMENT = '<string_literal>' ]"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "a valid string literal for COMMENT on its own"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o531"
kind = "option_present"
required = true
target = "[ FILE_EXTENSION = '<string>' ] #2"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "JSON's FILE_EXTENSION on its own, without the TEMP the refused case with every option writes"

[[obligation]]
id = "sf.ddl.create-file-format.define-file-format.o532"
kind = "operand_type_class"
required = true
target = "'<string>' in [ FILE_EXTENSION = '<string>' ] #2"
anchor = "doc.sql.create-file-format / DEFINE FILE FORMAT"
note = "a valid string for JSON's FILE_EXTENSION on its own"

[[obligation]]
id = "sf.ddl.create-function-spcs.function-returns-service-endpoint.o001"
kind = "positive"
Expand Down Expand Up @@ -290382,48 +290404,6 @@ kind = "alternative"
required = true
target = "{ STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 | MEMORY_64X |… → MEMORY_64X"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o127"
kind = "operand_type_class"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o128"
kind = "negative_neighbour"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_1X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o129"
kind = "operand_type_class"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o130"
kind = "negative_neighbour"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_16X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o131"
kind = "operand_type_class"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o132"
kind = "negative_neighbour"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-or-alter-warehouse.o043"
kind = "option_present"
Expand Down Expand Up @@ -291229,48 +291209,6 @@ kind = "alternative"
required = true
target = "{ STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 |… → MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o161"
kind = "operand_type_class"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o162"
kind = "negative_neighbour"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_1X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o163"
kind = "operand_type_class"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o164"
kind = "negative_neighbour"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_16X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o165"
kind = "operand_type_class"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o166"
kind = "negative_neighbour"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.create-warehouse.o077"
kind = "option_present"
Expand Down Expand Up @@ -292213,48 +292151,6 @@ kind = "alternative"
required = true
target = "{ STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X | MEMORY_16X_x86 |… → MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o122"
kind = "operand_type_class"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o123"
kind = "negative_neighbour"
required = true
target = "MEMORY_1X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_1X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o124"
kind = "operand_type_class"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o125"
kind = "negative_neighbour"
required = true
target = "MEMORY_16X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_16X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o126"
kind = "operand_type_class"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a valid word"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o127"
kind = "negative_neighbour"
required = true
target = "MEMORY_64X_x86 in [ RESOURCE_CONSTRAINT = { STANDARD_GEN_1 | STANDARD_GEN_2 | MEMORY_1X | MEMORY_1X_x86 | MEMORY_16X |…"
note = "a string literal in place of MEMORY_64X_x86"

[[obligation]]
id = "sf.ddl.create-warehouse.define-warehouse.o043"
kind = "option_present"
Expand Down
Loading
Loading