Repository navigation
feat(convert): run FULL JOIN USING after a JOIN without ON left to right - #191
Merged
Merged
Conversation
…ot_submitted entries Pins evidence d3db2e7f, which adds the receipts for replication that is not enabled for the account and the JOIN without ON results. 101 security_admin not_submitted entries now list a case with a receipt, so they are removed; marks and the baseline are regenerated.
Snowflake binds a later FULL JOIN ... USING to the whole join so far, as it does a later ON: after a join without ON, the recorded cases return the left-to-right row count, not the nested one. The conversion no longer refuses that shape. RIGHT JOIN with USING and RIGHT JOIN without ON stay refused. The recorded cases are in the pinned evidence, and the translation results baseline gains their two statements, and the SQL size baseline the one that now converts.
0.6.0 ships it, but Release Please could not update the release pull request while it was queued, so its line was missing.
kvlonge
force-pushed
the
feat/convert-full-join-using-after-cross-join
branch
from
November 12, 2026 04:10
33498ae to
8de4ed4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
sqlquack convertrefused a FULL JOIN ... USING that follows a JOIN without ON, because nobody had recorded how Snowflake binds it. The recorded cases now show that Snowflake binds it to the whole join so far, the same as a later ON. So the conversion can run it left to right, and the refusal only blocks valid SQL.Changes
Satisfied obligations in the syntax baseline:
None are lost.
Verification
syntax-coverage snapshot: 3,479 forms, 0 problems.make verify-recorded: 12,258 cases, 0 failed; 230 of 230 equivalences and rules verified;make sql-sizespasses.make check-cipasses.