Skip to content

Commit 97db46c

Browse files
committed
coverage(syntax): triage imports 84-86, d118c holds, cortex UNSET reading
- D113 triage of imports 84-86 (evidence a1c9e0f; runs sa-20, sa-21 and sa-24). The join found 8 contradictions, all security_admin negatives that Snowflake parses. They become undocumented-acceptance rows (observe): - CREATE DATA MOVEMENT POLICY ENFORCE_RULES/ALERT_RULES ( 'v1' ): errno 2003 x2. - CREATE EXTERNAL ACCESS INTEGRATION with string rule, integration and secret names: runtime 509009 x3. - CREATE FEATURE POLICY BLOCKED_OBJECT_TYPES_FOR_CREATION ( 'INT' ): errno 1422. - CREATE [ OR ALTER ] DATABASE ROLE ; accepted x2. Snowflake reads these as CREATE DATABASE named ROLE. Lane A's per-case restore dropped that database. security_admin: reject->observe 8, with 128 observed stages updated. - d118c holds (lane A, packet d118-3296ca13): 42 not_submitted entries. - 32 cite alter-function.set kb29b5415441d and alter-procedure.set k65020488034f (credential or integration). - show-services o067 is the workload_type row renumbered by 3296ca1, still held in ux-08. - 9 are SYSTEM$SEND_EMAIL, SYSTEM$SEND_SNOWFLAKE_NOTIFICATION and SYSTEM$WAIT_FOR_SERVICES rows (out of account, or acting on services). The total is now 5,082: ddl 4,399, security_admin 603, functions 40, utility 40. - The two call-with.table-language-sql-as rows of d118c (k5fb30861c6ab, k65b59ea8cc0f) are added to held.jsonl, so they run in a run database, as the D113b rows do. - alter-cortex-search.unset: a reading makes PRIMARY KEY required (auditor, after #45). `UNSET ;` alone was a rejected positive, and its identifier rows were built on it. The join finds 0 contradictions in functions, utility, security_admin and ddl. Rebuilt with, for functions, utility, security_admin and ddl: uv run python -m scripts.build_syntax_obligations <family> uv run python -m scripts.build_syntax_cases --receipts <evidence a1c9e0f>/coverage/syntax/receipts --setups <evidence a1c9e0f>/coverage/syntax/receipts [--held coverage/syntax/held.jsonl for functions, utility] <family> Checked with main a2c64d6's checker on this catalogue plus evidence a1c9e0f: valid, 3476 forms, 48474 receipts.
1 parent 3296ca1 commit 97db46c

9 files changed

Lines changed: 873 additions & 224 deletions

File tree

‎coverage/syntax/cases/ddl.jsonl‎

Lines changed: 16 additions & 13 deletions
Large diffs are not rendered by default.

‎coverage/syntax/cases/security_admin.jsonl‎

Lines changed: 136 additions & 136 deletions
Large diffs are not rendered by default.

‎coverage/syntax/cases/utility.jsonl‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,8 +446,8 @@
446446
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k3c3c74cf484f","expect":"reject","obligations":["sf.utility.call-with.table-language-sql-as.o103"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( ) RETURNS INT LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' , v1 ( SELECT 1 ) CALL v1 ( ) ;","sql_sha256":"3c3c74cf484fb72ab2d30df0062d590a17b0a754bae11aff0171f017a37f42a8"}
447447
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k51ff771e10bf","expect":"reject","obligations":["sf.utility.call-with.table-language-sql-as.o073"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( ) RETURNS INT LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' v1 ( ) ;","sql_sha256":"51ff771e10bf27c92cc38b968b0186882dfdcd9949e2fc2ad514b3c7c4800dba"}
448448
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k5b6a414f0fd1","expect":"accept","obligations":["sf.utility.call-with.table-language-sql-as.o076"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH \"SELECT\" AS PROCEDURE ( ) RETURNS INT LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' CALL v1 ( ) ;","sql_sha256":"5b6a414f0fd103a974aa858eb495cb46237b6d72ca9dc29a2add475f70420d41"}
449-
{"capture":"execute","case_id":"sf.utility.call-with.table-language-sql-as.k5fb30861c6ab","expect":"accept","obligations":["sf.utility.call-with.table-language-sql-as.o013","sf.utility.call-with.table-language-sql-as.o019","sf.utility.call-with.table-language-sql-as.o022","sf.utility.call-with.table-language-sql-as.o025"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"WITH v1 AS PROCEDURE ( v1 INT , v1 INT ) RETURNS TABLE ( v1 INT , v1 INT ) LANGUAGE SQL CALLED ON NULL INPUT AS 'BEGIN RETURN 1 ; END' , v1 ( v1 ) AS ( SELECT 1 ) CALL v1 ( v1 => v1 , v1 => v1 ) INTO :v1 ;","sql_sha256":"5fb30861c6ab492fed27b247ac37ecb82cf6e1b287ec355490c59d19291c6e78"}
450-
{"capture":"execute","case_id":"sf.utility.call-with.table-language-sql-as.k65b59ea8cc0f","expect":"accept","obligations":["sf.utility.call-with.table-language-sql-as.o029","sf.utility.call-with.table-language-sql-as.o043","sf.utility.call-with.table-language-sql-as.o046","sf.utility.call-with.table-language-sql-as.o051","sf.utility.call-with.table-language-sql-as.o053","sf.utility.call-with.table-language-sql-as.o056","sf.utility.call-with.table-language-sql-as.o074","sf.utility.call-with.table-language-sql-as.o085","sf.utility.call-with.table-language-sql-as.o088","sf.utility.call-with.table-language-sql-as.o091","sf.utility.call-with.table-language-sql-as.o093","sf.utility.call-with.table-language-sql-as.o095","sf.utility.call-with.table-language-sql-as.o098","sf.utility.call-with.table-language-sql-as.o101"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":[],"setup_sha256":"4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945","sql":"WITH v1 AS PROCEDURE ( v1 INT , v1 INT ) RETURNS INT LANGUAGE SQL CALLED ON NULL INPUT AS 'BEGIN RETURN 1 ; END' , v1 ( v1 ) AS ( SELECT 1 ) CALL v1 ( v1 => v1 , v1 => v1 ) INTO :v1 ;","sql_sha256":"65b59ea8cc0f69ae36ce81077d2fca37bc58aba59baec3a22e48432e55467183"}
449+
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k5fb30861c6ab","expect":"accept","obligations":["sf.utility.call-with.table-language-sql-as.o013","sf.utility.call-with.table-language-sql-as.o019","sf.utility.call-with.table-language-sql-as.o022","sf.utility.call-with.table-language-sql-as.o025"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( v1 INT , v1 INT ) RETURNS TABLE ( v1 INT , v1 INT ) LANGUAGE SQL CALLED ON NULL INPUT AS 'BEGIN RETURN 1 ; END' , v1 ( v1 ) AS ( SELECT 1 ) CALL v1 ( v1 => v1 , v1 => v1 ) INTO :v1 ;","sql_sha256":"5fb30861c6ab492fed27b247ac37ecb82cf6e1b287ec355490c59d19291c6e78"}
450+
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k65b59ea8cc0f","expect":"accept","obligations":["sf.utility.call-with.table-language-sql-as.o029","sf.utility.call-with.table-language-sql-as.o043","sf.utility.call-with.table-language-sql-as.o046","sf.utility.call-with.table-language-sql-as.o051","sf.utility.call-with.table-language-sql-as.o053","sf.utility.call-with.table-language-sql-as.o056","sf.utility.call-with.table-language-sql-as.o074","sf.utility.call-with.table-language-sql-as.o085","sf.utility.call-with.table-language-sql-as.o088","sf.utility.call-with.table-language-sql-as.o091","sf.utility.call-with.table-language-sql-as.o093","sf.utility.call-with.table-language-sql-as.o095","sf.utility.call-with.table-language-sql-as.o098","sf.utility.call-with.table-language-sql-as.o101"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( v1 INT , v1 INT ) RETURNS INT LANGUAGE SQL CALLED ON NULL INPUT AS 'BEGIN RETURN 1 ; END' , v1 ( v1 ) AS ( SELECT 1 ) CALL v1 ( v1 => v1 , v1 => v1 ) INTO :v1 ;","sql_sha256":"65b59ea8cc0f69ae36ce81077d2fca37bc58aba59baec3a22e48432e55467183"}
451451
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k6f4c6729207a","expect":"reject","obligations":["sf.utility.call-with.table-language-sql-as.o004"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH 'v1' AS PROCEDURE ( ) RETURNS INT LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' CALL v1 ( ) ;","sql_sha256":"6f4c6729207ae714a189c6ec3067aebf388dbf0af7124b04ccdc0f01ccc35202"}
452452
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k739baab9c2c3","expect":"reject","obligations":["sf.utility.call-with.table-language-sql-as.o062"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( ) RETURNS LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' CALL v1 ( ) ;","sql_sha256":"739baab9c2c3c18f0fecef97d0e1ad0b2f23704596bcacbc6d6e16a54b548f32"}
453453
{"capture":"execute_ddl_in_run_database","case_id":"sf.utility.call-with.table-language-sql-as.k7a2e684acea0","expect":"reject","obligations":["sf.utility.call-with.table-language-sql-as.o084"],"session":{"ABORT_DETACHED_QUERY":true,"STATEMENT_QUEUED_TIMEOUT_IN_SECONDS":30,"STATEMENT_TIMEOUT_IN_SECONDS":30,"TIMEZONE":"UTC","USE_CACHED_RESULT":false},"session_sha256":"c2b87f85a8229ee648b5f718b90d87093a916ed0842c86f29bfccd5c4484ad7d","setup":["CREATE DATABASE <run_database> COMMENT = 'sqlquack d103 sweep <run_nonce>'","CREATE SCHEMA <run_database>.CASES","USE SCHEMA <run_database>.CASES","CREATE SCHEMA <run_database>.<case_schema>","USE SCHEMA <run_database>.<case_schema>"],"setup_sha256":"dce8638abaea401ada5d04d08af1c767fcef7652712fad7cf7cb87ccf6d3b60f","sql":"WITH v1 AS PROCEDURE ( ) RETURNS INT LANGUAGE SQL AS 'BEGIN RETURN 1 ; END' , v1 ( SELECT ) AS ( SELECT 1 ) CALL v1 ( ) ;","sql_sha256":"7a2e684acea076141beba6c93951fc9befe4dfaa9218a959283b1a716b9694fb"}

‎coverage/syntax/held.jsonl‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,3 +399,5 @@
399399
{"case_id": "sf.utility.execute-immediate.immediate.syntax.kdb533353cc4a", "family": "utility", "reason": "D113b: held by the family guard (not a utility statement); runs in a run database"}
400400
{"case_id": "sf.utility.execute-immediate.immediate.syntax.kfe17a835df26", "family": "utility", "reason": "D113b: held by the family guard (not a utility statement); runs in a run database"}
401401
{"case_id": "sf.dml.remove.ke01f0b97d3cb", "family": "dml", "reason": "D113b: held by the family guard (REMOVE from the user stage); runs in a run database"}
402+
{"case_id": "sf.utility.call-with.table-language-sql-as.k5fb30861c6ab", "family": "utility", "reason": "D118c: held by the family guard (CALL WITH a procedure body is not inert); runs in a run database"}
403+
{"case_id": "sf.utility.call-with.table-language-sql-as.k65b59ea8cc0f", "family": "utility", "reason": "D118c: held by the family guard (CALL WITH a procedure body is not inert); runs in a run database"}

‎coverage/syntax/limits.toml‎

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64616,3 +64616,147 @@ anchor = "doc.sql.undrop-snapshot / Syntax"
6461664616
sql = "UNDROP SNAPSHOT ( 'q1' ) ;"
6461764617
expect = "reject"
6461864618
context = "raw"
64619+
64620+
[[reading]]
64621+
form = "sf.ddl.alter-cortex-search.unset"
64622+
grammar_sha256 = "779e5a3b70ca01dbbd4c6ac6c1881c4b52172bb4e6faff5fe91f75570ab56b16"
64623+
grammar = ["ALTER CORTEX SEARCH SERVICE [ IF EXISTS ] <name> UNSET PRIMARY KEY"]
64624+
reason = "UNSET \"unsets one or more specified properties\" and PRIMARY KEY is the only one this production lists (UNSET ATTRIBUTES is its own production), so it is required"
64625+
64626+
# D113 security_admin receipt triage (imports 84-86): remaining contradictions observed, each reason names its category and receipt.
64627+
64628+
[[suppress]]
64629+
form = "sf.security_admin.create-data-movement-policy"
64630+
kind = "negative_neighbour"
64631+
target = "<rule_name> in [ ENFORCE_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]"
64632+
note = "a string literal in place of <rule_name>"
64633+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 2003 SQLSTATE 02000, phase semantic_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64634+
64635+
[[limit]]
64636+
form = "sf.security_admin.create-data-movement-policy"
64637+
kind = "negative_neighbour"
64638+
target = "<rule_name> in [ ENFORCE_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]"
64639+
note = "a string literal in place of <rule_name>, observed"
64640+
anchor = "doc.sql.create-data-movement-policy / Syntax"
64641+
sql = "CREATE DATA MOVEMENT POLICY v1 ENFORCE_RULES = ( 'v1' ) ;"
64642+
expect = "observe"
64643+
context = "raw"
64644+
64645+
[[suppress]]
64646+
form = "sf.security_admin.create-data-movement-policy"
64647+
kind = "negative_neighbour"
64648+
target = "<rule_name> in [ ALERT_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]"
64649+
note = "a string literal in place of <rule_name>"
64650+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 2003 SQLSTATE 02000, phase semantic_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64651+
64652+
[[limit]]
64653+
form = "sf.security_admin.create-data-movement-policy"
64654+
kind = "negative_neighbour"
64655+
target = "<rule_name> in [ ALERT_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]"
64656+
note = "a string literal in place of <rule_name>, observed"
64657+
anchor = "doc.sql.create-data-movement-policy / Syntax"
64658+
sql = "CREATE DATA MOVEMENT POLICY v1 ALERT_RULES = ( 'v1' ) ;"
64659+
expect = "observe"
64660+
context = "raw"
64661+
64662+
[[suppress]]
64663+
form = "sf.security_admin.create-database-role.create-database-role"
64664+
kind = "required_operand_missing"
64665+
target = "<name>"
64666+
note = "omit <name>"
64667+
reason = "D113 [undocumented acceptance]: Snowflake accepts this SQL (phase accepted, import-20261104-85), though the page requires the omitted part; observed (D110)"
64668+
64669+
[[limit]]
64670+
form = "sf.security_admin.create-database-role.create-database-role"
64671+
kind = "required_operand_missing"
64672+
target = "<name>"
64673+
note = "omit <name>, observed"
64674+
anchor = "doc.sql.create-database-role / Syntax"
64675+
sql = "CREATE DATABASE ROLE ;"
64676+
expect = "observe"
64677+
context = "raw"
64678+
64679+
[[suppress]]
64680+
form = "sf.security_admin.create-database-role.create-or-alter-database"
64681+
kind = "required_operand_missing"
64682+
target = "<name>"
64683+
note = "omit <name>"
64684+
reason = "D113 [undocumented acceptance]: Snowflake accepts this SQL (phase accepted, import-20261104-85), though the page requires the omitted part; observed (D110)"
64685+
64686+
[[limit]]
64687+
form = "sf.security_admin.create-database-role.create-or-alter-database"
64688+
kind = "required_operand_missing"
64689+
target = "<name>"
64690+
note = "omit <name>, observed"
64691+
anchor = "doc.sql.create-database-role / Variant syntax / CREATE OR ALTER DATABASE ROLE"
64692+
sql = "CREATE OR ALTER DATABASE ROLE ;"
64693+
expect = "observe"
64694+
context = "raw"
64695+
64696+
[[suppress]]
64697+
form = "sf.security_admin.create-external-access-integration"
64698+
kind = "negative_neighbour"
64699+
target = "<integration_name_1> in [ ALLOWED_API_AUTHENTICATION_INTEGRATIONS = { ( <integration_name_1> [ , <integration_name_2> ,…"
64700+
note = "a string literal in place of <integration_name_1>"
64701+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 509009 SQLSTATE 0A000, phase runtime_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64702+
64703+
[[limit]]
64704+
form = "sf.security_admin.create-external-access-integration"
64705+
kind = "negative_neighbour"
64706+
target = "<integration_name_1> in [ ALLOWED_API_AUTHENTICATION_INTEGRATIONS = { ( <integration_name_1> [ , <integration_name_2> ,…"
64707+
note = "a string literal in place of <integration_name_1>, observed"
64708+
anchor = "doc.sql.create-external-access-integration / Syntax"
64709+
sql = "CREATE EXTERNAL ACCESS INTEGRATION v1 ALLOWED_NETWORK_RULES = ( v1 ) ALLOWED_API_AUTHENTICATION_INTEGRATIONS = ( 'v1' ) ENABLED = TRUE ;"
64710+
expect = "observe"
64711+
context = "raw"
64712+
64713+
[[suppress]]
64714+
form = "sf.security_admin.create-external-access-integration"
64715+
kind = "negative_neighbour"
64716+
target = "<secret_name_1> in [ ALLOWED_AUTHENTICATION_SECRETS = { ( <secret_name_1> [ , <secret_name_2> , ... ] ) | all | none } ]"
64717+
note = "a string literal in place of <secret_name_1>"
64718+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 509009 SQLSTATE 0A000, phase runtime_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64719+
64720+
[[limit]]
64721+
form = "sf.security_admin.create-external-access-integration"
64722+
kind = "negative_neighbour"
64723+
target = "<secret_name_1> in [ ALLOWED_AUTHENTICATION_SECRETS = { ( <secret_name_1> [ , <secret_name_2> , ... ] ) | all | none } ]"
64724+
note = "a string literal in place of <secret_name_1>, observed"
64725+
anchor = "doc.sql.create-external-access-integration / Syntax"
64726+
sql = "CREATE EXTERNAL ACCESS INTEGRATION v1 ALLOWED_NETWORK_RULES = ( v1 ) ALLOWED_AUTHENTICATION_SECRETS = ( 'v1' ) ENABLED = TRUE ;"
64727+
expect = "observe"
64728+
context = "raw"
64729+
64730+
[[suppress]]
64731+
form = "sf.security_admin.create-external-access-integration"
64732+
kind = "negative_neighbour"
64733+
target = "<rule_name_1>"
64734+
note = "a string literal in place of <rule_name_1>"
64735+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 509009 SQLSTATE 0A000, phase runtime_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64736+
64737+
[[limit]]
64738+
form = "sf.security_admin.create-external-access-integration"
64739+
kind = "negative_neighbour"
64740+
target = "<rule_name_1>"
64741+
note = "a string literal in place of <rule_name_1>, observed"
64742+
anchor = "doc.sql.create-external-access-integration / Syntax"
64743+
sql = "CREATE EXTERNAL ACCESS INTEGRATION v1 ALLOWED_NETWORK_RULES = ( 'v1' ) ENABLED = TRUE ;"
64744+
expect = "observe"
64745+
context = "raw"
64746+
64747+
[[suppress]]
64748+
form = "sf.security_admin.create-feature-policy"
64749+
kind = "negative_neighbour"
64750+
target = "<type> in [ BLOCKED_OBJECT_TYPES_FOR_CREATION = ( <type> [ , ... ] ) ]"
64751+
note = "a string literal in place of <type>"
64752+
reason = "D113 [undocumented acceptance]: Snowflake parses this SQL and fails it later (errno 1422 SQLSTATE 22023, phase semantic_error, import-20261104-85), so it is not a syntax error; observed (D97 settle rule)"
64753+
64754+
[[limit]]
64755+
form = "sf.security_admin.create-feature-policy"
64756+
kind = "negative_neighbour"
64757+
target = "<type> in [ BLOCKED_OBJECT_TYPES_FOR_CREATION = ( <type> [ , ... ] ) ]"
64758+
note = "a string literal in place of <type>, observed"
64759+
anchor = "doc.sql.create-feature-policy / Syntax"
64760+
sql = "CREATE FEATURE POLICY v1 BLOCKED_OBJECT_TYPES_FOR_CREATION = ( 'INT' ) ;"
64761+
expect = "observe"
64762+
context = "raw"

0 commit comments

Comments
 (0)