Commit 52cb122
committed
parquet: introduce a row-group frontier for push decoding
Move the cross-row-group scan state into a dedicated `RowGroupFrontier`.
The frontier now owns the queued row groups, the tail `RowSelection`,
the running `RowBudget`, and the conservative "has predicates" flag.
Reduce `RowGroupReaderBuilder` to current-row-group work only by
threading a budget snapshot into `next_row_group` and returning a typed
`RowGroupBuildResult`.
This also folds in the selection-frontier cleanup so queued selection
state is consumed in one place instead of through ad hoc split/clone
logic.
Signed-off-by: Hippolyte Barraud <hippolyte.barraud@datadoghq.com>1 parent 1dd51f2 commit 52cb122
3 files changed
Lines changed: 316 additions & 103 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
184 | 187 | | |
185 | 188 | | |
186 | 189 | | |
| |||
191 | 194 | | |
192 | 195 | | |
193 | 196 | | |
194 | | - | |
195 | | - | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| |||
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
| 208 | + | |
| 209 | + | |
207 | 210 | | |
208 | 211 | | |
209 | 212 | | |
| |||
1402 | 1405 | | |
1403 | 1406 | | |
1404 | 1407 | | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
| 1414 | + | |
| 1415 | + | |
| 1416 | + | |
| 1417 | + | |
| 1418 | + | |
| 1419 | + | |
| 1420 | + | |
| 1421 | + | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
| 1429 | + | |
1405 | 1430 | | |
1406 | 1431 | | |
1407 | 1432 | | |
| |||
0 commit comments