-
Notifications
You must be signed in to change notification settings - Fork 898
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
Refactor tuple forming function for bulk decompression of text columns #6448
Conversation
This commit makes some mechanical changes to the tuple forming function make_next_tuple(), to prepare it for the subsequent introduction of bulk decompression for text columns. It also simplifies the layout of data for the compressed columns to contain less indirections. This is important because tuple forming is a hot function that we try to keep simple.
@konskov, @gayyappan: please review this pull request.
|
/* How to obtain the decompressed datum for individual row. */ | ||
typedef enum | ||
{ | ||
/* For row-by-row decompression. */ | ||
DecompressionIterator *iterator; | ||
|
||
DT_Default = -2, | ||
DT_Iterator = -1, | ||
DT_Invalid = 0, | ||
/* | ||
* For bulk decompression and vectorized filters, mutually exclusive | ||
* with the above. | ||
* Any positive number is also valid for the decompression type. It means | ||
* arrow array of a fixed-size by-value type, with size given by the number. | ||
*/ | ||
ArrowArray *arrow; | ||
} DecompressionType; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will later have two new options for arrow arrays for text columns, with dictionary encoding and without.
/* No variable-width columns support bulk decompression. */ | ||
Assert(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here will be the implementation for text arrow arrays.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #6448 +/- ##
==========================================
- Coverage 87.33% 87.31% -0.03%
==========================================
Files 187 187
Lines 41820 41775 -45
Branches 9313 9289 -24
==========================================
- Hits 36525 36474 -51
- Misses 3623 3627 +4
- Partials 1672 1674 +2 ☔ View full report in Codecov by Sentry. |
This commit makes some mechanical changes to the tuple forming function make_next_tuple(), to prepare it for the subsequent introduction of bulk decompression for text columns. It also simplifies the layout of data for the compressed columns to contain less indirections. This is important because tuple forming is a hot function that we try to keep simple.
Disable-check: force-changelog-file