Skip to content

Parse the remaining security_admin SHOW, DROP, DESCRIBE and ALTER forms - #81

Merged
kvlonge merged 2 commits into
mainfrom
fix/security-admin-opaque-b
Nov 5, 2026
Merged

kvlonge merged 2 commits into
mainfrom
fix/security-admin-opaque-b

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Parser batch for the remaining security_admin gaps (lane C's D133 slice).

  • SHOW: AUTHENTICATION, INGRESS, PASSWORD and SESSION POLICIES take ON ACCOUNT | ON USER <name> after LIKE. IN no longer follows LIMIT or FROM. Container names are optional where Snowflake allows it (APPLICATION, DATABASE, SCHEMA, ORGANIZATION PROFILE, FAILOVER GROUP, SERVICE, CLASS). A statement-ending LIMIT after IN or ON ACCOUNT is read as the account's name. Also SHOW CALLER GRANTS, USER FUNCTIONS and USER PROCEDURES, and the clause-less OPENFLOW DATA PLANE INTEGRATIONS.
  • DROP and DESCRIBE: organization, profile, application role, database role and snapshot policy kinds, with a trailing kind word read as the name.
  • ALTER: ORGANIZATION RENAME, ROW ACCESS, PRIVACY and PROJECTION POLICY, SECRET and RESOURCE MONITOR are now typed. INTEGRATION REFRESH takes exactly one key.

D94 gate on f93bd77 (base main d539bbe): make check-merge RECORDER=0 exit 0. Coverage diff: forms +25 / −0, obligations +218 / −0 (ddl +9/+30, security_admin +16/+188). Receipt scan: 224 cases newly rejected, none of which Snowflake parsed. Receipt harness over 54,040 receipted cases: 156 fixed, 0 broken.

- SHOW AUTHENTICATION, INGRESS, PASSWORD and SESSION POLICIES take ON ACCOUNT or ON USER after LIKE; IN no longer follows LIMIT or FROM.
- IN APPLICATION, IN DATABASE, IN SCHEMA and IN ORGANIZATION PROFILE may omit the name where Snowflake reads it so; APPLICATION ROLES and DATABASE ROLES accept a bare name.
- SHOW CALLER GRANTS reads ON as SHOW GRANTS does and TO ROLE, DATABASE ROLE, DATABASE or a name; USER FUNCTIONS and USER PROCEDURES are Snowflake SHOW kinds.
- OPENFLOW DATA PLANE INTEGRATIONS takes no clauses.
- After IN ACCOUNT or ON ACCOUNT, a LIMIT that ends the statement is the account's name, as Snowflake reads it; DATABASES and SHARES IN FAILOVER GROUP, ROLES and ENDPOINTS IN SERVICE, and ROLES, FUNCTIONS and PROCEDURES IN CLASS may omit the name.
- DROP and DESCRIBE gain the organization, profile, application role and snapshot policy kinds, and read a trailing kind word as the name when the shorter kind exists.
- ALTER ORGANIZATION <name> RENAME TO is typed; ALTER ROW ACCESS, PRIVACY and PROJECTION POLICY are typed, and their incomplete kinds are rejected.

Against main abd037f, 138 receipted cases now match Snowflake (ddl 30, security_admin 108) and none regress.
- ALTER SECRET is a resource kind with one SET action; its name follows
  the object-name rules, so a string, a bare reserved word or a missing
  SET is rejected as Snowflake rejects them.
- ALTER RESOURCE MONITOR reads `[ SET <property> ... ] [ TRIGGERS ON <n>
  PERCENT DO <action> ... ]`, both optional, with CREATE's property and
  trigger items; an incomplete ALTER RESOURCE is rejected.
- ALTER [ SECURITY ] INTEGRATION ... REFRESH names exactly one key:
  Snowflake rejects a bare REFRESH and SAML2_SNOWFLAKE_PRIVATE_KEY with
  METADATA_URL (recorded errno 1003).

Against main abd037f, with the previous commit, 156 receipted cases now
match Snowflake (ddl 30, security_admin 126) and none regress.

kvlonge commented Nov 5, 2026

Copy link
Copy Markdown
Contributor Author

D94 gate on f93bd77, which was main's tip d539bbe plus this branch when the gate started (D144 slot):

  • make check-merge RECORDER=0: exit 0, every Rust suite passed.
  • Coverage diff (checker at d539bbe vs at f93bd77, catalogue ba6b946+49fa3df4, evidence 4ed0d81): forms completed +25 / −0, obligations satisfied +218 / −0. 0 lost.
  • Receipt scan: 224 cases newly rejected, 0 of which Snowflake parsed.

@kvlonge
kvlonge merged commit f93bd77 into main Nov 5, 2026
1 check passed
kvlonge added a commit that referenced this pull request Nov 5, 2026
25 newly agreeing security_admin and ddl forms read and approved;
2,365 of 3,351 verified. No regression against abd037f.
@kvlonge
kvlonge deleted the fix/security-admin-opaque-b branch November 9, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant