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

Seal Block interface #19480

Merged
merged 2 commits into from
Oct 22, 2023
Merged

Seal Block interface #19480

merged 2 commits into from
Oct 22, 2023

Conversation

dain
Copy link
Member

@dain dain commented Oct 21, 2023

Description

The synthetic dictionary, rle, and lazy blocks require special handling
in the codebase, and new synthetic blocks cannot reasonable be added
without updating the existing code. This commit blocks direct extensions
of Block, only allowing extensions to ValueBlock.

Major changes:

  • Seal Block interface
  • Mark ValueBlock interface non-sealed
  • Mark all current ValueBlock implementations as final

This is part of Project Hummingbird #14237

Release notes

(X) Release notes are required, with the following suggested text:

# SPI
* Implementations of `Block` must now implement `ValueBlock`. ({issue}`19480`)

The synthetic dictionary, rle, and lazy blocks require special handling
in the codebase, and new synthetic blocks cannot reasonable be added
without updating the existing code. This commit blocks direct extensions
of Block, only allowing extensions to ValueBlock.

Seal Block interface
Mark ValueBlock interface non-sealed
Mark all current ValueBlock implementations as final
@dain dain merged commit 90f3ba1 into trinodb:master Oct 22, 2023
90 checks passed
@dain dain deleted the seal-block branch October 22, 2023 02:36
@github-actions github-actions bot added this to the 431 milestone Oct 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants