Skip to content

Seal Block interface#19480

Merged
dain merged 2 commits intotrinodb:masterfrom
dain:seal-block
Oct 22, 2023
Merged

Seal Block interface#19480
dain merged 2 commits intotrinodb:masterfrom
dain:seal-block

Conversation

@dain
Copy link
Copy Markdown
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
@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