Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
fa4230e
feat(syntax): parse Snowflake external tables into structured nodes
kvlonge Nov 11, 2026
96c0fb4
feat(syntax): build Snowflake tables with policies as structured nodes
kvlonge Nov 11, 2026
1f6c848
feat(syntax): build Snowflake dynamic iceberg and interactive tables …
kvlonge Nov 11, 2026
d9de8c9
feat(syntax): check Snowflake event, event routing and online feature…
kvlonge Nov 11, 2026
77b29be
feat(syntax): check Snowflake iceberg and dynamic tables against thei…
kvlonge Nov 11, 2026
3e13ff4
feat(syntax): check Snowflake DCM table definitions against the table…
kvlonge Nov 11, 2026
708c74c
feat(syntax): accept Snowflake's scoped and volatile temporary tables
kvlonge Nov 11, 2026
cf8da2c
feat(syntax): build Snowflake table and view governance actions as nodes
kvlonge Nov 11, 2026
c291424
feat(syntax): parse Snowflake iceberg partition evolution
kvlonge Nov 11, 2026
ec8b63a
feat(syntax): read Snowflake ALTER TABLE ADD with the table grammar
kvlonge Nov 11, 2026
0499934
feat(syntax): parse Snowflake's key and unnamed constraint drops and …
kvlonge Nov 11, 2026
87c4373
feat(syntax): check Snowflake table search optimization targets
kvlonge Nov 11, 2026
97c9c72
feat(syntax): parse Snowflake iceberg column type and write default a…
kvlonge Nov 11, 2026
ba64962
feat(syntax): parse Snowflake table reclustering and iceberg refresh
kvlonge Nov 11, 2026
dc4653e
feat(syntax): read several Snowflake table properties after one SET
kvlonge Nov 11, 2026
1e130f5
fix(syntax): refuse misplaced Snowflake table actions
kvlonge Nov 11, 2026
008d9fa
feat(syntax): check Snowflake hybrid table indexes
kvlonge Nov 11, 2026
a80ca84
fix(syntax): read every secondary role of a Snowflake dynamic table
kvlonge Nov 11, 2026
46de9fc
fix(syntax): require a value for every Snowflake session setting
kvlonge Nov 11, 2026
1b9ee57
fix(syntax): parse Snowflake timestamp conversions with no arguments
kvlonge Nov 11, 2026
c1503f6
chore(syntax): re-record the Snowflake syntax baselines for the table…
kvlonge Nov 11, 2026
c6282cd
fix(syntax): keep the source range of Snowflake table column names
kvlonge Nov 11, 2026
a2cae54
chore(syntax): pin the Snowflake DDL, utility, security and class rec…
kvlonge Nov 11, 2026
2cd945a
feat(syntax): check Snowflake streams against their grammar
kvlonge Nov 11, 2026
15a3b71
feat(syntax): build Snowflake semantic views as nodes
kvlonge Nov 11, 2026
181204f
feat(syntax): check Snowflake views and materialized views against th…
kvlonge Nov 11, 2026
a3c3c0e
chore(syntax): pin the Snowflake DDL and security definition receipts
kvlonge Nov 11, 2026
5cc36f5
feat(syntax): check Snowflake ALTER VIEW properties against their gra…
kvlonge Nov 11, 2026
243f925
fix(syntax): read every Snowflake stream option on every source
kvlonge Nov 11, 2026
1d40042
fix(syntax): read a Snowflake view's column list after its properties
kvlonge Nov 11, 2026
ac5cab7
chore(syntax): re-record the Snowflake syntax baselines for the view …
kvlonge Nov 11, 2026
e2ee445
chore: count only shipped code in GitHub's language statistics
kvlonge Nov 11, 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
10 changes: 10 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# GitHub's language statistics count the code SQLQuack ships. Test suites, development scripts
# and development-only tools are marked as documentation so the statistics leave them out.
/tests/** linguist-documentation
/scripts/** linguist-documentation
/crates/**/tests/** linguist-documentation
/crates/**/tests.rs linguist-documentation
/tools/** linguist-documentation
/fuzz/** linguist-documentation
/recorder/** linguist-documentation
/website/scripts/** linguist-documentation
13,316 changes: 11,362 additions & 1,954 deletions coverage/syntax/baseline.json

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions coverage/syntax/corpus-verdicts.json
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,7 @@
"refused": [
166,
270,
291,
294,
297,
300,
Expand Down Expand Up @@ -358,6 +359,8 @@
467,
468,
471,
482,
483,
492,
493,
501,
Expand All @@ -379,6 +382,7 @@
623,
624,
625,
626,
627,
629,
630,
Expand Down Expand Up @@ -564,6 +568,12 @@
1144,
1145,
1186,
1187,
1188,
1189,
1190,
1191,
1192,
1193,
1194,
1195,
Expand Down Expand Up @@ -5536,6 +5546,7 @@
566,
614,
615,
616,
624,
625,
626,
Expand All @@ -5544,8 +5555,11 @@
645,
646,
708,
755,
756,
783,
784,
797,
807,
820,
821,
Expand Down Expand Up @@ -6079,6 +6093,7 @@
3513,
3514,
3518,
3564,
3604,
3747,
3751,
Expand Down
9 changes: 9 additions & 0 deletions coverage/syntax/marks/classes.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,22 @@
{"case_id":"sf.classes.anomaly-insights.methods.set-monitor-notification-emails.kdbce8f4bbea7","mark":"settled accept","obligations":["sf.classes.anomaly-insights.methods.set-monitor-notification-emails.o010"],"sql_sha256":"dbce8f4bbea770e41e7ea1c1d7068b1d546ae73d62d915177d10380f6a66eee9"}
{"case_id":"sf.classes.anomaly-insights.methods.set-org-notification-emails.k6798eddd367f","mark":"settled accept","obligations":["sf.classes.anomaly-insights.methods.set-org-notification-emails.o007"],"sql_sha256":"6798eddd367f7a17ca1868038203b9abcd250ad313710ce329287ae27cef6d2e"}
{"case_id":"sf.classes.anomaly-insights.methods.update-monitor-config.k5c86aa65019f","mark":"settled accept","obligations":["sf.classes.anomaly-insights.methods.update-monitor-config.o012"],"sql_sha256":"5c86aa65019f492a9a4459f50d824b25a5440417afb0eb4713695460e8b20ebf"}
{"case_id":"sf.classes.budget.commands.alter-budget.set-comment.kaca99a4387af","mark":"settled accept","obligations":["sf.classes.budget.commands.alter-budget.set-comment.o009"],"sql_sha256":"aca99a4387af28b88cda78ad3a4f7f12e84e6d1f9bda4800951afb6dac245031"}
{"case_id":"sf.classes.budget.commands.alter-budget.set-tag.k9bd2621be951","mark":"settled accept","obligations":["sf.classes.budget.commands.alter-budget.set-tag.o012"],"sql_sha256":"9bd2621be95162ad0062c7504777bb7021d3ef34f542098b3fc448709c0f357e"}
{"case_id":"sf.classes.budget.commands.alter-budget.unset-comment.k0e10f3e2c967","mark":"settled reject","obligations":["sf.classes.budget.commands.alter-budget.unset-comment.o012"],"sql_sha256":"0e10f3e2c96776167bd79a4a83368432cf172fbd90c0d067b154bb5b5bf41b71"}
{"case_id":"sf.classes.budget.commands.create-budget.ka20a3f01ed31","mark":"settled accept","obligations":["sf.classes.budget.commands.create-budget.o015"],"sql_sha256":"a20a3f01ed318365abe6401bd8b3673492d0c9bae61ed282af91354e6dda5ee4"}
{"case_id":"sf.classes.budget.commands.show-budget.kc05b4d2bce5d","mark":"settled reject","obligations":["sf.classes.budget.commands.show-budget.o031"],"sql_sha256":"c05b4d2bce5d0bac927076bbe8e299472809fbc26deb1bbd4330a7f2be902d19"}
{"case_id":"sf.classes.budget.commands.show-budget.kde576a2debe6","mark":"settled accept","obligations":["sf.classes.budget.commands.show-budget.o041"],"sql_sha256":"de576a2debe69b3aceaf68c7388d9d5bf083945fd9a294430edf4401b4ca5ace"}
{"case_id":"sf.classes.budget.methods.set-email-notifications.k63bb65d6e4f9","mark":"settled reject","obligations":["sf.classes.budget.methods.set-email-notifications.o016"],"sql_sha256":"63bb65d6e4f9c5948d72405fc415c96d7ed994c75961a1a720d3f83083fe8081"}
{"case_id":"sf.classes.classification-profile.commands.show-classification-profile.kf2ec7c5dfc03","mark":"settled accept","obligations":["sf.classes.classification-profile.commands.show-classification-profile.o030"],"sql_sha256":"f2ec7c5dfc034a698e6ec295513b4af7fdc8ac6b0cdbf8eca73c6e3b9a95f867"}
{"case_id":"sf.classes.classification-profile.methods.describe.ke3b4c5082645","mark":"settled accept","obligations":["sf.classes.classification-profile.methods.describe.o010"],"sql_sha256":"e3b4c508264506d8364a8ba7e1d81ab44ac40f65acef459d34e7bf575cc5d10e"}
{"case_id":"sf.classes.classification.commands.alter-classification.rename-to.k9d8e791cc5b6","mark":"settled accept","obligations":["sf.classes.classification.commands.alter-classification.rename-to.o009"],"sql_sha256":"9d8e791cc5b6cc70ad59b6f3d27ea6e015305fe0ab56bd3ca00fe770e0423345"}
{"case_id":"sf.classes.classification.commands.alter-classification.set-comment.kbd6837cffdda","mark":"settled accept","obligations":["sf.classes.classification.commands.alter-classification.set-comment.o009"],"sql_sha256":"bd6837cffdda8a3ed577522fa5c0f5fa31e112f75315ceb36e145520b09758ee"}
{"case_id":"sf.classes.classification.commands.alter-classification.set-tag.k7c8379a1e42f","mark":"settled accept","obligations":["sf.classes.classification.commands.alter-classification.set-tag.o012"],"sql_sha256":"7c8379a1e42fb976770dab835b0307e572e1e805bec1db06ab9e629fcc196fd4"}
{"case_id":"sf.classes.classification.commands.alter-classification.unset-comment.k890af4c2bb0c","mark":"settled reject","obligations":["sf.classes.classification.commands.alter-classification.unset-comment.o012"],"sql_sha256":"890af4c2bb0c16a59a7acd52d0b3e474a5b501de80ecc9c96fd745b70730b33a"}
{"case_id":"sf.classes.classification.commands.show-classification.k0898c874746b","mark":"settled accept","obligations":["sf.classes.classification.commands.show-classification.o032"],"sql_sha256":"0898c874746b27ecaf71d4a81254370fb9ebb63d9e5a8ff8d667c65882f37269"}
{"case_id":"sf.classes.custom-classifier.commands.show-custom-classifiers.k17b638449d03","mark":"settled accept","obligations":["sf.classes.custom-classifier.commands.show-custom-classifiers.o032"],"sql_sha256":"17b638449d03b8666159c1ab44637ef9f8962e4b442bcde6add8528255e13824"}
{"case_id":"sf.classes.custom-classifier.methods.list.k47bd3252e9ba","mark":"settled accept","obligations":["sf.classes.custom-classifier.methods.list.o007"],"sql_sha256":"47bd3252e9ba0c7b64b0cfef417b4fbc91e9bd8bf09a02b90721eb66a30c1b2f"}
{"case_id":"sf.classes.forecast.commands.show-forecast.k65d91d78b0f7","mark":"settled accept","obligations":["sf.classes.forecast.commands.show-forecast.o032"],"sql_sha256":"65d91d78b0f7277f824b2df85c22e88057ff4a0776677b4a8202735544dfd03f"}
{"case_id":"sf.classes.top-insights.commands.create-top-insights.k7a9646b997cb","mark":"settled accept","obligations":["sf.classes.top-insights.commands.create-top-insights.o025"],"sql_sha256":"7a9646b997cbc15a37095f6c1855100157e388f6dcd61101e0d8ef9c544a5d1e"}
{"case_id":"sf.classes.top-insights.commands.show-top-insights.ka7e896085944","mark":"settled accept","obligations":["sf.classes.top-insights.commands.show-top-insights.o032"],"sql_sha256":"a7e896085944372abb22fc2876806b766951b7cd621ae7c26a1a6ef32e1fe73c"}
Loading
Loading