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

pack struct with all fixed width fields #3173

Open
broccoliSpicy opened this issue Nov 25, 2024 · 0 comments
Open

pack struct with all fixed width fields #3173

broccoliSpicy opened this issue Nov 25, 2024 · 0 comments

Comments

@broccoliSpicy
Copy link
Contributor

broccoliSpicy commented Nov 25, 2024

I wang to create a new page layout for packed struct with all fixed width fields rather than using the current miniblock page layout

reasons:
the decode scheduling logic are different
the 8188 chunk bytes limitation in miniblock layout
why do we still need definition levels in packed struct encoding?

new layout design:
just zip all values.
one byte nulls for number of fields < 8
two bytes nulls for number of fields < 16

broccoliSpicy added a commit that referenced this issue Dec 10, 2024
This PR tries to add packed struct encoding.

During encoding, it packs a struct with fixed width fields, producing a
row oriented `FixedWidthDataBlock`, then use `ValueCompressor` to
compressor to a `MiniBlock Layout`.

during decoding, it first uses `ValueDecompressor` to get the
row-oriented `FixedWidthDataBlock`, then construct a `StructDataBlock`
for output.

#3173 #2601
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

No branches or pull requests

1 participant