-
Notifications
You must be signed in to change notification settings - Fork 848
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
Modularize batch queue in transparent decompression #6363
Conversation
@@ -0,0 +1,79 @@ | |||
/* |
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.
Contents moved from exec.h
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #6363 +/- ##
===========================================
- Coverage 86.92% 59.44% -27.49%
===========================================
Files 250 251 +1
Lines 58155 50844 -7311
Branches 12970 12847 -123
===========================================
- Hits 50550 30222 -20328
- Misses 5205 16134 +10929
- Partials 2400 4488 +2088 ☔ View full report in Codecov by Sentry. |
1de7a82
to
b29c5f8
Compare
2520c25
to
36881f6
Compare
36881f6
to
98a0e08
Compare
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.
Looks good now, let's also run tsbench for it to double-check.
tsbench looks good, there are even some speedups, although not sure why |
98a0e08
to
ae44237
Compare
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.
Mostly nits and some things I wonder if we need, but nothing that should block merging.
fd3565e
to
7b852d6
Compare
The batch queue implementation, which is part of transparent decompression, is refactored to be its own self-contained module. Previously, the batch queue functionality consisted of functions that operated on the DecompressChunkState node instead of its own distinct object. The two batch queue types, heap and fifo, are now modularized in their separate source files with a common interface exposed in `batch_queue.h`. The state related to the two batch queue implementations is moved from DecompressChunkState into the respective modules depending on type. For example, the heap state and related initialization code is moved to the heap-based batch queue. The DecompressContext is also moved to its own header file so that other modules need not include everything related to DecompressChunkState.
Rename DecompressChunkColumnDescription to CompressionColumnDescription to reflect that this type is decoupled from DecompressChunkState.
7b852d6
to
6d40139
Compare
The batch queue implementation, which is part of transparent decompression, is refactored to be its own self-contained module. Previously, the batch queue functionality consisted of functions that operated on the DecompressChunkState node instead of its own distinct object.
The two batch queue types, heap and fifo, are now modularized in their separate source files with a common interface exposed in
batch_queue.h
. The state related to the two batch queue implementations is moved from DecompressChunkState into the respective modules depending on type. For example, the heap state and related initialization code is moved to the heap-based batch queue.The DecompressContext is also moved to its own header file so that other modules need not include everything related to DecompressChunkState.
In a separate commit, the DecompressChunkColumnDescription is renamed to CompressionColumnDescription to reflect that this type is decoupled from DecompressChunkState.
Disable-check: force-changelog-file
Disable-check: commit-count