Skip to content

fix(deps): pin SQLQuack 0.5.1 and SQLClean 0.8.3 - #1410

Merged
kvlonge merged 1 commit into
mainfrom
fix/pin-sqlquack-0-5-1
Nov 11, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/pin-sqlquack-0-5-1

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Why

SQLQuack 0.5.1 binds LAG/LEAD with one or two arguments on DuckDB, comma-joined LATERAL subqueries that read an earlier FROM item, and lambdas over aggregates in grouped queries. Released SQLBuild 0.210.0 rejects all three (B102, B004, B230). It also types DuckDB JSON casts, to_json and AT TIME ZONE.

Changes

  • All 11 SQLQuack pins move to v0.5.1 (e1a583eb); SQLClean moves to 0.8.3 (be41ae20); cargo tree -d --depth 0 lists no sqlquack-* or sqlclean duplicate.
  • Six Python-oracle goldens are re-recorded: 127 digest lines only. Restoring the merged set-operation columns' old transform kinds reproduces every old digest (107 expression→direct, 60 expression→cast, 16 direct→cast).
  • DuckShop edge cases: LAG/LEAD with one to three arguments, a comma-joined LATERAL over a nested derived table, and untyped and typed FILTER lambdas over ARRAY_AGG in a grouped query, with unit tests. Expectations captured on Snowflake (RUNBOOK step 7) match the hand-derived values; the tests pass there.
  • The DuckDB-only shapes (UNNEST in a comma LATERAL, lambda e:, JSON and AT TIME ZONE contract types) are E2E cases in test_dialect_syntax.py; DuckShop is a Snowflake project.

BEGIN_COMMIT_OVERRIDE
fix(compile): LAG and LEAD with one or two arguments on DuckDB, comma-joined LATERAL subqueries that read an earlier FROM item, and lambdas in grouped queries compile again
fix(compile): DuckDB JSON casts, to_json and AT TIME ZONE outputs prove their JSON and TIMESTAMP contract types
fix(lineage): a column merged by a set operation takes its strongest branch's transform kind
END_COMMIT_OVERRIDE

Verification

  • 0.210.0 fails every new case; this branch passes them. DuckShop compiles with 0 errors and 0 warnings.
  • Lineage, analysis, format, rules, lint and DuckShop tests: 1,662 passed. No format or lint golden changed.
  • Compiler differential with CI's coverage gates: 391 projects as expected.
  • make check-ci passes.

SQLQuack 0.5.1 binds LAG and LEAD with one or two arguments on DuckDB,
comma-joined LATERAL subqueries that read an earlier FROM item, and
lambdas over aggregates in grouped queries, all of which 0.210.0
rejects. It types DuckDB JSON casts, to_json and AT TIME ZONE outputs,
so they prove JSON and TIMESTAMP contract types, and gives a column
merged by a set operation its strongest branch's transform kind.

SQLClean 0.8.3 is built on the same SQLQuack release, so the lockfile
holds one copy of each SQLQuack crate.

Six Python-oracle goldens are re-recorded: 127 digest lines only.
Restoring the merged set-operation columns' old transform kinds in the
new canonical views reproduces every old digest.

DuckShop's edge-case area gains LAG and LEAD with one to three
arguments, a comma-joined LATERAL over a nested derived table, and
untyped and typed FILTER lambdas over ARRAY_AGG in a grouped query. Their
expectations are derived by hand and cross-checked in DuckDB, because
the Snowflake capture could not run. The DuckDB-only shapes are E2E
cases in test_dialect_syntax.py.
@kvlonge kvlonge added the full-verify Run the full Verify matrix on this pull request label Nov 11, 2026
@kvlonge
kvlonge enabled auto-merge (squash) November 11, 2026 05:30
@kvlonge
kvlonge merged commit c9bf628 into main Nov 11, 2026
51 of 72 checks passed
@kvlonge
kvlonge deleted the fix/pin-sqlquack-0-5-1 branch November 11, 2026 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

full-verify Run the full Verify matrix on this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant