Commit 3b9883f
Rewrite ParquetOpener to use push-based ParquetPushDecoder
Replace the async pull-based ParquetRecordBatchStreamBuilder with
arrow-rs's SansIO ParquetPushDecoder for reading Parquet files.
The caller now controls IO explicitly via DecodeResult::NeedsData,
pushing byte ranges to the decoder and receiving decoded batches.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 5a86142 commit 3b9883f
File tree
2,168 files changed
+342630
-87405
lines changed- .devcontainer
- .github
- ISSUE_TEMPLATE
- actions
- setup-builder
- setup-macos-aarch64-builder
- setup-macos-builder
- setup-rust-runtime
- workflows
- labeler
- benchmarks
- queries
- clickbench
- extended
- queries
- sorted_data
- src
- bin
- imdb
- tpcds
- tpch
- util
- ci/scripts
- utils
- datafusion-cli
- examples
- src
- object_storage
- tests
- snapshots
- datafusion-examples
- data
- csv
- examples
- builtin_functions
- custom_data_source
- data_io
- dataframe
- execution_monitoring
- external_dependency
- ffi
- ffi_example_table_provider
- src
- ffi_module_interface
- src
- ffi_module_loader
- src
- flight
- proto
- query_planning
- relation_planner
- sql_ops
- udf
- src
- bin
- utils
- datasets
- example_metadata
- datafusion
- catalog-listing
- src
- catalog
- src
- memory
- common-runtime
- src
- common
- benches
- src
- display
- file_options
- scalar
- types
- utils
- core
- benches
- data_utils
- src
- bin
- dataframe
- datasource
- file_format
- listing
- physical_plan
- execution
- context
- test_util
- test
- tests
- catalog_listing
- catalog
- custom_sources_cases
- dataframe
- datasource
- data
- empty_files/some_empty_with_header
- partitioned_table_arrow_stream
- part=123
- part=456
- recursive_cte
- execution
- expr_api
- fifo
- fuzz_cases
- aggregation_fuzzer
- equivalence
- integration_tests
- macro_hygiene
- memory_limit
- memory_limit_validation
- optimizer
- parquet
- physical_optimizer
- filter_pushdown
- sql
- aggregates
- tpc-ds
- tracing
- user_defined
- datasource-arrow
- src
- tests/data
- datasource-avro
- src
- avro_to_arrow
- datasource-csv
- src
- datasource-json
- src
- datasource-parquet
- benches
- src
- tests
- datasource
- benches
- src
- write
- doc
- src
- execution
- src
- cache
- memory_pool
- expr-common
- src
- type_coercion
- binary/tests
- expr
- src
- expr_rewriter
- logical_plan
- test
- type_coercion
- ffi
- src
- config
- execution
- expr
- physical_expr
- proto
- session
- tests
- udaf
- udf
- udwf
- tests
- utils
- functions-aggregate-common
- benches
- src
- aggregate
- avg_distinct
- count_distinct
- groups_accumulator
- sum_distinct
- functions-aggregate
- benches
- src
- min_max
- functions-nested
- benches
- src
- functions-table
- src
- functions-window-common
- src
- functions-window
- benches
- src
- functions
- benches
- src
- core
- crypto
- datetime
- encoding
- math
- regex
- string
- unicode
- macros
- src
- optimizer
- benches
- src
- analyzer
- optimize_projections
- simplify_expressions
- test
- tests
- physical-expr-adapter
- src
- physical-expr-common
- src
- metrics
- physical-expr
- benches
- src
- equivalence
- properties
- expressions
- binary
- case/literal_lookup_table
- intervals
- simplifier
- statistics
- utils
- window
- physical-optimizer
- src
- enforce_sorting
- physical-plan
- benches
- src
- aggregates
- group_values
- multi_group_by
- single_group_by
- order
- topk
- coalesce
- joins
- hash_join
- piecewise_merge_join
- sort_merge_join
- metrics
- repartition
- sorts
- spill
- test
- topk
- windows
- proto-common
- gen
- proto
- src
- from_proto
- generated
- to_proto
- proto
- gen
- proto
- src
- bytes
- generated
- logical_plan
- physical_plan
- tests
- cases
- testdata
- pruning
- src
- session
- src
- spark
- benches
- src
- function
- aggregate
- array
- bitmap
- bitwise
- collection
- conditional
- datetime
- hash
- json
- map
- math
- string
- url
- sqllogictest
- bin
- data
- regenerate
- src
- engines
- datafusion_engine
- datafusion_substrait_roundtrip_engine
- postgres_engine
- test_files
- datetime
- pg_compat
- regexp
- spark
- aggregate
- array
- bitmap
- bitwise
- collection
- conditional
- csv
- datetime
- hash
- json
- map
- math
- misc
- predicate
- string
- struct
- url
- xml
- string
- tpch/plans
- sql
- examples
- src
- expr
- relation
- unparser
- tests
- cases
- common
- substrait
- src
- logical_plan
- consumer
- expr
- rel
- producer
- expr
- rel
- physical_plan
- tests
- cases
- testdata/test_plans
- aggregate_groupings
- wasmtest
- datafusion-wasm-app
- src
- dev
- changelog
- depcheck
- src
- release
- docs
- scripts
- source
- _static
- images
- _templates
- contributor-guide
- architecture
- gsoc
- library-user-guide
- functions
- upgrading
- user-guide
- cli
- sql
- test-utils
- src
- array_gen
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
2,168 files changed
+342630
-87405
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
53 | 68 | | |
54 | 69 | | |
55 | 70 | | |
| 71 | + | |
56 | 72 | | |
57 | 73 | | |
58 | 74 | | |
59 | 75 | | |
60 | 76 | | |
| 77 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
12 | 10 | | |
13 | | - | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
48 | 50 | | |
49 | 51 | | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | 23 | | |
28 | 24 | | |
29 | 25 | | |
| |||
32 | 28 | | |
33 | 29 | | |
34 | 30 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | 31 | | |
40 | 32 | | |
41 | 33 | | |
42 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
47 | 65 | | |
48 | 66 | | |
49 | 67 | | |
50 | | - | |
| 68 | + | |
51 | 69 | | |
52 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
29 | | - | |
30 | | - | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
41 | | - | |
| 43 | + | |
42 | 44 | | |
43 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
44 | 48 | | |
45 | | - | |
46 | | - | |
47 | | - | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
0 commit comments