From b9936ad024955e22a966ed7405ef8d3e9fcf1c73 Mon Sep 17 00:00:00 2001 From: Kevin Longe <273747162+kvlonge@users.noreply.github.com> Date: Thu, 12 Nov 2026 16:50:35 +0000 Subject: [PATCH] fix(deps): pin SQLClean e6ad5fa2 and SQLQuack 0.8.0 SQLQuack 0.8.0 records exact select-item ranges in its strict parsers: an aliased Snowflake item now has a span, and a DuckDB column's span covers its qualifier. The expression-range cases that were strict xfails for that gap now pass, so the xfail and its reason are removed. SQLClean moves to e6ad5fa2, which links the same SQLQuack release; its formatter output is unchanged. --- Cargo.lock | 66 +++++++++---------- Cargo.toml | 24 +++---- .../test_orchestration_snapshot.py | 5 -- 3 files changed, 45 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ac1f4c0f5..c7bba5398 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4526,7 +4526,7 @@ dependencies = [ [[package]] name = "sqlclean" version = "0.9.0" -source = "git+https://github.com/sqlstack-io/sqlclean.git?rev=6e18af661ce3a6bcc385a38954c86696d722f400#6e18af661ce3a6bcc385a38954c86696d722f400" +source = "git+https://github.com/sqlstack-io/sqlclean.git?rev=e6ad5fa2694960f1913d2a8e125194c530cc8365#e6ad5fa2694960f1913d2a8e125194c530cc8365" dependencies = [ "rayon", "rustc-hash", @@ -4543,8 +4543,8 @@ dependencies = [ [[package]] name = "sqlquack-derive" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "proc-macro2", "quote", @@ -4553,8 +4553,8 @@ dependencies = [ [[package]] name = "sqlquack-diagnostics" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "serde", "serde_json", @@ -4563,8 +4563,8 @@ dependencies = [ [[package]] name = "sqlquack-fingerprint" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sha2 0.10.9", "sqlquack-parse", @@ -4573,8 +4573,8 @@ dependencies = [ [[package]] name = "sqlquack-format" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "serde_json", "sqlquack-parse", @@ -4583,8 +4583,8 @@ dependencies = [ [[package]] name = "sqlquack-lint" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "rayon", "rustc-hash", @@ -4596,8 +4596,8 @@ dependencies = [ [[package]] name = "sqlquack-parse" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "sqlquack-syntax-bigquery", @@ -4609,8 +4609,8 @@ dependencies = [ [[package]] name = "sqlquack-semantics" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "regex", "rustc-hash", @@ -4625,8 +4625,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "serde", "serde_json", @@ -4638,8 +4638,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-bigquery" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4647,8 +4647,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-clickhouse" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4656,8 +4656,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-databricks" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4665,8 +4665,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-duckdb" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4674,8 +4674,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-postgres" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4683,8 +4683,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-snowflake" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "serde", "serde_json", @@ -4696,8 +4696,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-sqlite" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", @@ -4705,8 +4705,8 @@ dependencies = [ [[package]] name = "sqlquack-syntax-sqlserver" -version = "0.6.0" -source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a#8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" +version = "0.8.0" +source = "git+https://github.com/sqlstack-io/sqlquack.git?rev=17088bd7e864837f4bb9e41da247dd05183e4a53#17088bd7e864837f4bb9e41da247dd05183e4a53" dependencies = [ "sqlquack-syntax", "stacker", diff --git a/Cargo.toml b/Cargo.toml index 5ad31f726..a8a4ad16e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -176,22 +176,22 @@ sqlbuild-scopes = { path = "crates/sqlbuild-scopes" } sqlbuild-sqltext = { path = "crates/sqlbuild-sqltext" } sqlbuild-state = { path = "crates/sqlbuild-state" } # SQL lint Rules, quality Rules and the formatter. -sqlclean = { git = "https://github.com/sqlstack-io/sqlclean.git", rev = "6e18af661ce3a6bcc385a38954c86696d722f400" } +sqlclean = { git = "https://github.com/sqlstack-io/sqlclean.git", rev = "e6ad5fa2694960f1913d2a8e125194c530cc8365" } # SQL change fingerprints over SQLQuack's tokenizers. -sqlquack-fingerprint = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a", features = ["bigquery", "databricks", "duckdb", "postgres", "snowflake", "sqlite", "sqlserver"] } +sqlquack-fingerprint = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53", features = ["bigquery", "databricks", "duckdb", "postgres", "snowflake", "sqlite", "sqlserver"] } # Scopes, name resolution, types and lineage for the native analysis route. -sqlquack-semantics = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a", features = ["bigquery", "clickhouse", "databricks", "duckdb", "postgres", "snowflake", "sqlite", "sqlserver"] } +sqlquack-semantics = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53", features = ["bigquery", "clickhouse", "databricks", "duckdb", "postgres", "snowflake", "sqlite", "sqlserver"] } # SQLQuack's Snowflake-family parser and tokenizer, reached as SQLQuack exposes them. -sqlquack-parse = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } +sqlquack-parse = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } # SQLQuack's syntax tree and lossless tokens. -sqlquack-syntax = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-bigquery = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-clickhouse = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-databricks = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-duckdb = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-postgres = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-sqlite = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } -sqlquack-syntax-sqlserver = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "8d28aa4c4b6c3d8c5345ddef3d620fa24e26741a" } +sqlquack-syntax = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-bigquery = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-clickhouse = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-databricks = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-duckdb = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-postgres = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-sqlite = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } +sqlquack-syntax-sqlserver = { git = "https://github.com/sqlstack-io/sqlquack.git", rev = "17088bd7e864837f4bb9e41da247dd05183e4a53" } stacker = "0.1" syn = { version = "2", features = ["full", "visit", "extra-traits"] } subtle = "2" diff --git a/tests/integration/src/sqlbuild/compiler/compiled_project/test_orchestration_snapshot.py b/tests/integration/src/sqlbuild/compiler/compiled_project/test_orchestration_snapshot.py index 33ad1bfd5..91484c00f 100644 --- a/tests/integration/src/sqlbuild/compiler/compiled_project/test_orchestration_snapshot.py +++ b/tests/integration/src/sqlbuild/compiler/compiled_project/test_orchestration_snapshot.py @@ -61,10 +61,6 @@ ) _DUCKSHOP: Path = Path("benchmarks/duckshop/project") -_STRICT_SPANS: str = ( - "SQLQuack's strict parsers do not yet record projection-item spans: Snowflake gives aliased " - "items none, and DuckDB's column span leaves out the qualifier" -) _PRICE_MODELS: dict[str, str] = { "models/stg_prices.sql": ( 'MODEL (description "Staged prices");\n' @@ -494,7 +490,6 @@ def test_given_rewritten_model_sql_when_publishing_then_expression_ranges_slice_ assert published_texts(test_case, tmp_path) == test_case.expected_texts, test_case.description -@pytest.mark.xfail(strict=True, raises=AssertionError, reason=_STRICT_SPANS) @pytest.mark.parametrize( "test_case", [