Skip to content

Vacuum Completely Deleted Row Groups #7794

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

Merged
merged 9 commits into from
Jun 2, 2023

Conversation

Mytherin
Copy link
Collaborator

@Mytherin Mytherin commented Jun 1, 2023

Partially implements #109

This PR implements support for vacuuming fully deleted row groups during the checkpoint process. For row groups that have no valid tuples anymore - we can strip them out entirely during a checkpoint and re-use the space for future operations. There is one limitation which is that we do not vacuum in the presence of indexes yet. Vacuuming in the presence of indexes requires rewriting the row identifiers stored in the index - so for now we simply skip the vacuuming process in this scenario.

In a future PR we also plan to merge row groups that are partially empty due to deletions, so that we can also clean up partial deletions past a certain threshold.

@Mytherin Mytherin merged commit bb7db40 into duckdb:feature Jun 2, 2023
@Mytherin Mytherin deleted the vacuumdeletessimple branch July 5, 2023 03:40
@p1p1bear p1p1bear mentioned this pull request Aug 7, 2025
2 tasks
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