-
Notifications
You must be signed in to change notification settings - Fork 752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support Merge-Into V1 #12350
feat: support Merge-Into V1 #12350
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
I need to transform the merge into statement as a select ,build the insert_source as a TableReference firstly. There is a shortcoming that we can't use optimizer for the query_source. Let's resolve it in V2. |
src/query/storages/fuse/src/operations/merge_into/mutator/merge_into_split_mutator.rs
Outdated
Show resolved
Hide resolved
Co-authored-by: Andy Lok <[email protected]>
… into merge_into_feat
linux / sqllogic_standalone_base_parquet failed
|
There are some optimizations advised by @b41sh , I will do it firstly. For now, I use some concat in matched and not matched, there will be many memory copy, and I will use update expr (just use only the one and the same block, no need to split). Thanks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 LGTM
* try to add merge grammer * finish parser stage * finish match_clause and unmatch_clause * finish display for merge_into * finish grammer parser, start bind stage * remove useless codes * add MergeIntoPlan * fix distributed http error * support insert values for match * remove useless codes * revert match_insert * refactor merge_into_stmt, build table_reference * cover match pattern * cover match pattern * stash * try to add merge_into_source_scan * add merge_source_scan * bind join * stash * refactor merge_source * bind clauses * add new plan node * add interpreter and refactor bind * try to add processor * add physical plan * fix columns_set * add update/insert expression * remove unused codes and start to build processor and pipeline * add split operator * build source pipeline * finish pipeline build, continue to work on not-matched and matched processor * forbidden different schema for now * refactor expr and finish event schedule * add util split_by_expr * finish not match insert * fix * refactor merge into pipeline * add mutation logentries * add matched mutation * add setting * set not support computed expr * fix bug * fix col_index bug * fix pipeline bug and add basic tests * fix test * fix typos * fix typos * fix clippy * add more tests * add tests * fix bugs * use enable_experimental_merge_into adviced by BohuTang instead * add info * fix typo * fix ut * fix native failure * remove streamingV2Source, need to support streaming in next pr * rename vars adviced by b41sh * Update src/common/exception/src/exception_code.rs Co-authored-by: Andy Lok <[email protected]> * remove useless comments * fix * unify codes, use bitmap to filter * fix check * unify codes * fix * check duplicate * check duplicate --------- Co-authored-by: Andy Lok <[email protected]> Co-authored-by: dantengsky <[email protected]>
I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
snowflake merge-into
postgres merge-into
Summary about this PR
merge into semantic:
delta-lake implementation survey
feat: support MERGE #10174
This change is
a logic implementation for V1 . V1 is not ready for users, it's just a testing version. we will do more optimizations based on it. Some optimizations in the future:tracking