lance-format / lance-format/lance
Epic: Finish off merge insert functionality
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
We have some basic merge insert functionality in lance today. Other databases have more sophisticated capabilities. Perhaps the most extensive and well documented is the "merge into" from SQL server. This issue will keep track of the various things that aren't yet implemented in our version.
- #2610
- Allow update columns to be projection statements
This will allow for things like `when_matched().update({"count": "source.count + target.count"}) - Allow updates to be applied to "when not matched by source" rows
This allows for updating target rows that don't match anything in the source (today we can just delete them) - https://github.com/lancedb/lance/issues/1983
- https://github.com/lancedb/lance/issues/2621
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing merge insert functionality and the linked issues #1983 and #2621. Determine how update projections such as source.count + target.count and updates to when-not-matched-by-source rows should fit the current API; the epic is done when the remaining checklist items are implemented and covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100