Skip to content

Support Snowflake MERGE ALL BY NAME - #25

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
snowflake-merge-all-by-name
Sep 12, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
snowflake-merge-all-by-name

Conversation

@osipovartem

Copy link
Copy Markdown

Summary

  • add dedicated AST variants for Snowflake MERGE ... UPDATE ALL BY NAME and INSERT ALL BY NAME
  • preserve explicit UPDATE SET assignments as a typed MergeUpdateKind::Set
  • retain spans, formatting, serde/visitor support, and existing BigQuery/common parser coverage
  • add Snowflake parse and display round-trip coverage

Why

Snowflake maps ALL BY NAME by column name rather than ordinal position. Representing it as a dedicated AST kind prevents downstream planners from confusing it with wildcard or empty-assignment semantics.

Validation

  • cargo +1.95.0 test --all-targets
  • cargo +1.95.0 check --all-targets
  • cargo +1.95.0 fmt --all -- --check

@osipovartem
osipovartem merged commit ff0378d into embucket-sync-df55.0.0 Sep 12, 2026
19 checks passed
@osipovartem
osipovartem deleted the snowflake-merge-all-by-name branch September 12, 2026 21:11
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