-
Notifications
You must be signed in to change notification settings - Fork 685
feat(api): implement upsert() using MERGE INTO
#11624
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
Open
deepyaman
wants to merge
27
commits into
ibis-project:main
Choose a base branch
from
deepyaman:feat/api/backend-upsert
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 25 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
23b1e1a
feat(api): implement `upsert()` using `MERGE INTO`
deepyaman 14454d1
fix(oracle): attempt to support `MERGE` on backend
deepyaman 8f3c7e2
fix(api): ensure DuckDB still works in "hacky" way
deepyaman 80d2a9c
fix(mssql): attempt to support `MERGE` for backend
deepyaman aceca22
chore(oracle): remove hack, fixed in SQLGlot 27.16
deepyaman b452f59
chore(mssql): only add semicolon for MERGE queries
deepyaman be61603
fix(trino): make SQL generation work (but not run)
deepyaman 71984eb
test(pyspark): specify expected failures for merge
deepyaman 7098a8d
test(pyspark): don't importorskip for all backends
deepyaman a655828
refactor(backends): make qualifying cols an option
deepyaman 93d3a0e
test(backends): xfail where MERGE INTO unsupported
deepyaman e864a7c
refactor(api): move duplicated logic into function
deepyaman 130a8bb
test(api): add upsert from more complex expression
deepyaman 39bc47d
chore(api): don't qualify `MERGE` target col names
deepyaman b3c37dc
test(api): expect failure using MSSQL and ORDER BY
deepyaman 7f5001f
refactor(api): combine marks as `NO_MERGE_SUPPORT`
deepyaman 61c9caf
test(api): check upsert from memtable with schemas
deepyaman a61e06a
test(api): check additional input schema scenarios
deepyaman 672711c
test(api): add expected errs and fix memtable exec
deepyaman 886feed
test(api): don't use poorly-supported unsigned int
deepyaman 223291e
chore(api): don't reimport pandas in test fixtures
deepyaman c66f0ee
chore(mssql): always append semicolon to statement
deepyaman 856b4d6
Merge branch 'main' into feat/api/backend-upsert
deepyaman 7d65486
Merge branch 'main' into feat/api/backend-upsert
deepyaman 9624f44
Merge branch 'main' into feat/api/backend-upsert
deepyaman 2ec6b05
test(api): replace xfail in test body with a param
deepyaman 47af4fb
Merge branch 'main' into feat/api/backend-upsert
deepyaman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.