Skip to content
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

Conditional Deletes #11985

Open
1 of 3 tasks
qianyongyu opened this issue Jan 17, 2025 · 1 comment
Open
1 of 3 tasks

Conditional Deletes #11985

qianyongyu opened this issue Jan 17, 2025 · 1 comment
Labels
improvement PR that improves existing functionality

Comments

@qianyongyu
Copy link

Feature Request / Improvement

Iceberg merge-on-read (MOR) supports both positional deletes and equality deletes. I'm curious what prevents the equality delete from becoming a more generic 'conditional delete'? If we don't want to go crazy with the expressiveness of the conditions, something simple like keyA = "X", keyB <"Y", keyC > "Z" will still solve a lot of tricky problems.

As a concrete example, I'm trying to find a solution for a change-data-capture problem where each mutation event has a key and a sequencer. Whenever I write a new event to the table, it would be nice to wipe out previous events with the same key but older sequencers. A conditional delete seems like the only solution to avoid reading all the previous files.

Query engine

None

Willingness to contribute

  • I can contribute this improvement/feature independently
  • I would be willing to contribute this improvement/feature with guidance from the Iceberg community
  • I cannot contribute this improvement/feature at this time
@qianyongyu qianyongyu added the improvement PR that improves existing functionality label Jan 17, 2025
@pvary
Copy link
Contributor

pvary commented Jan 21, 2025

@qianyongyu: The community thinks that even equality deletes are often pushing too big of the burden to the readers. See: [DISCUSS] - Deprecate Equality Deletes-Apache Mail Archives and considering deprecating them. I think adding even more features there would be problematic.

OTOH when we start thinking about alternative solutions your input could be valuable.

Thanks,
Peter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement PR that improves existing functionality
Projects
None yet
Development

No branches or pull requests

2 participants