This is an automated email from the ASF dual-hosted git repository.

dependabot[bot] pushed a change to branch dependabot/cargo/pyo3-0.27
in repository https://gitbox.apache.org/repos/asf/hudi-rs.git


    omit 7e66fb59 build(deps): update pyo3 requirement from 0.26 to 0.27
     add 0cc771c0 feat: support column stats pruning (#516)
     add bcc2f965 build(deps-dev): bump ruff from 0.14.1 to 0.14.13 in /python 
(#526)
     add 2722b789 build(deps): update strum requirement from 0.27 to 0.28 (#533)
     add 96709a21 build(deps): bump actions/upload-artifact from 6 to 7 (#531)
     add c32e9299 build(deps): upgrade datafusion to 52, require python 3.10 
(#535)
     add 4df94b95 build(deps): bump actions/download-artifact from 7 to 8 (#532)
     add 29188adf test: add v9 test tables and test cases (#536)
     add 957dddce perf: setup tpch benchmark infra (#538)
     add 441decb3 fix: avoid dashmap deadlock for correlated queries (#539)
     add c3bacb0a build(deps): bump docker/setup-buildx-action from 3 to 4 
(#540)
     add 39ffac78 build(deps): update strum_macros requirement from 0.27 to 
0.28 (#541)
     add 22ad102c build(deps): update zip requirement from 4 to 8 (#545)
     add 673066fa fix: make timestamp keygen work for partition pruning (#462)
     add d053242f ci: pin third-party actions to Apache-approved SHAs (#550)
     add f2441da1 build(deps-dev): bump datafusion from 52.0.0 to 52.3.0 in 
/python (#544)
     add 41e1ba60 chore: add pre-commit hooks for code formatting and linting 
(#103)
     add 9f6505b7 ci: run rust-tests on windows (#92)
     add 99fb1dc4 feat: modernize Table API with async-only design (#537)
     add 6266daae build(deps): bump actions/checkout from 5 to 6 (#568)
     add 1c3ced3e build(deps): bump codecov/codecov-action from 5 to 6 (#567)
     add ae097181 feat: support IN and NOT IN operators in partition filter 
(#566)
     add bb978dc7 ci: remove write perm and fix vulnerability (#572)
     add 279eacac test(core): expand v9 sample-table coverage in core tests 
(#578)
     add 57ef2e95 fix: order partition schema by config and error on missing 
fields (#581)
     add fdfc7789 perf: improve datafusion integration (#548)
     add 2a64624a refactor: consolidate file metadata population for snapshot 
and incremental queries (#586)
     add b735bf9d docs: update release guide (#287)
     add 41f313c8 build(deps-dev): bump pytest from 8.4.2 to 9.0.3 in /python 
(#577)
     add 29d850f5 build(deps-dev): bump mypy from 1.19.1 to 1.20.2 in /python 
(#584)
     add d80ee0b7 build(deps-dev): bump ruff from 0.14.13 to 0.15.12 in /python 
(#585)
     add cf81439e feat: export `HudiTableConfig` and `HudiReadConfig` as python 
enums (#433)
     add 40f4cd62 docs: add AGENTS.md as canonical AI coding agent guide (#591)
     add de2982ae feat: unify Hudi read APIs around ReadOptions and add Python 
bindings (#587)
     add dcef1484 docs: deduplicate AI agent guidance with sub-directory 
AGENTS.md (#594)
     add d5925e4b feat(core): enrich FileSlice with stats and streamline config 
flow (#592)
     add 05a2ae6e build: upgrade rust dev toolchain to 1.94 (#595)
     add f62c998a feat(core): add general config alias support with ordering 
fields as primary config (#598)
     add a5c918d7 refactor(core): move parquet io into base file reader (#599)
     add 150570a2 feat(core): add lance base file format support (#596)
     add 0910ca7d feat(datafusion): support Lance scan and broaden MOR snapshot 
e2e coverage (#608)
     add 5ad7c4a1 ci: use action refs the ASF allowlist accepts (#674)
     add f32b0eee fix: stop .gitignore from swallowing test fixtures (#676)
     add 9b09398d feat(core): select the file group reader by version, 
defaulting to 2 (#677)
     add 75b188ef feat(core): serve merge-on-read reads with file group reader 
version 2 (#660)
     add c7e3f033 test(core): cover event-time ordering losing in the gold 
corpus (#680)
     add 3fd4e88d fix(core): gate the log-block scan on instant state (#678)
     add b77f5ce5 fix(core): fold partial updates in both ordering directions 
(#679)
     add 53a403c8 chore: let consumers opt out of the merge map's on-disk tier 
(#681)
     add e8ff14a1 perf(core): copy an HFile record rather than its whole block 
per record (#697)
     add 3f41255b perf(core): bound the merge chunk rather than moving the 
merge off the executor (#689)
     add 874d9430 build(deps): bump actions/cache from 5 to 6 (#635)
     add fa43124e build(deps): bump actions/checkout from 6 to 7 (#632)
     add 5e8db0ee build(deps-dev): bump pytest from 9.0.3 to 9.1.1 in /python 
(#634)
     add 4be2496b build(deps): bump codecov/codecov-action from 6 to 7 (#628)
     add 04a3853a fix(core): keep the custom merger's own columns in the 
required schema (#704)
     add ef475f7e Read every metadata partition's log blocks, not just the 
files partition (#692)
     add 71538f24 feat(core): read the metadata table as Arrow, and expose 
hudi-rs over a C ABI for JVM callers (#700)
     add b0f89adf feat(reader): merge-aware pushdown gate, row-group pruning, 
and read-volume counters (#708)
     add 1a7fe4e7 build(deps-dev): bump ruff from 0.15.12 to 0.15.18 in /python 
(#633)
     add 038edd63 build(deps): bump astral-sh/setup-uv from 8.3.2 to 10.0.1 
(#626)
     add d2c91ab3 feat(core): serve Hudi metadata tables through reader v2, 
sharded and memory-bounded (#706)
     add f04c58f1 build(deps-dev): bump coverage from 7.10.7 to 7.16.0 in 
/python (#625)
     add eac90708 build(deps): bump docker/setup-buildx-action from 4.2.0 to 
4.3.0 (#617)
     add d1cc66b1 build(deps): update pyo3 requirement from 0.26 to 0.29

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (7e66fb59)
            \
             N -- N -- N   refs/heads/dependabot/cargo/pyo3-0.27 (d1cc66b1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 demo/.env => .dockerignore                         |    8 +-
 .github/copilot-instructions.md                    |  150 +-
 .github/dependabot.yml                             |   10 +
 .github/instructions/code-review.instructions.md   |  126 +-
 .github/instructions/python.instructions.md        |  114 +-
 .github/instructions/rust.instructions.md          |  213 +-
 .../workflows/{pr.yml => asf-allowlist-check.yml}  |   33 +-
 .github/workflows/ci.yml                           |  136 +-
 .github/workflows/code.yml                         |   11 +-
 .github/workflows/pr.yml                           |   11 +-
 .github/workflows/release.yml                      |   29 +-
 .gitignore                                         |   11 +
 .licenserc.yaml                                    |    5 +
 .pre-commit-config.yaml                            |   60 +
 AGENTS.md                                          |  140 +
 CLAUDE.md                                          |    1 +
 CONTRIBUTING.md                                    |   27 +-
 Cargo.toml                                         |   39 +-
 Makefile                                           |   53 +-
 README.md                                          |  223 +-
 {crates/test => benchmark/filegroup}/Cargo.toml    |   39 +-
 benchmark/filegroup/README.md                      |  158 +
 benchmark/filegroup/compare.py                     |  136 +
 benchmark/filegroup/src/gen.rs                     |  404 +
 benchmark/filegroup/src/host.rs                    |   73 +
 benchmark/filegroup/src/main.rs                    |  765 ++
 benchmark/filegroup/src/rusage.rs                  |   96 +
 benchmark/filegroup/tests/fg_gen_timeline.rs       |  113 +
 {crates/test => benchmark/tpch}/Cargo.toml         |   36 +-
 benchmark/tpch/README.md                           |  121 +
 .../labeler.yml => benchmark/tpch/config/sf1.yaml  |   51 +-
 .../.gitignore => benchmark/tpch/config/sf10.yaml  |  104 +-
 .../tpch/config/sf100.yaml                         |   51 +-
 benchmark/tpch/config/tables.yaml                  |   53 +
 benchmark/tpch/infra/gcp/bootstrap.sh              |   64 +
 benchmark/tpch/infra/gcp/sync.sh                   |   49 +
 benchmark/tpch/infra/spark/bench.py                |  126 +
 .../tpch/infra/spark/hudi-defaults.conf            |    7 +-
 .../tpch/infra/spark/log4j2.properties             |   27 +-
 .../tpch/infra/spark/spark-defaults.conf           |   32 +-
 benchmark/tpch/queries/q1.sql                      |   23 +
 benchmark/tpch/queries/q10.sql                     |   33 +
 benchmark/tpch/queries/q11.sql                     |   29 +
 benchmark/tpch/queries/q12.sql                     |   30 +
 benchmark/tpch/queries/q13.sql                     |   22 +
 benchmark/tpch/queries/q14.sql                     |   15 +
 benchmark/tpch/queries/q15.sql                     |   33 +
 benchmark/tpch/queries/q16.sql                     |   32 +
 benchmark/tpch/queries/q17.sql                     |   19 +
 benchmark/tpch/queries/q18.sql                     |   34 +
 benchmark/tpch/queries/q19.sql                     |   37 +
 benchmark/tpch/queries/q2.sql                      |   45 +
 benchmark/tpch/queries/q20.sql                     |   39 +
 benchmark/tpch/queries/q21.sql                     |   41 +
 benchmark/tpch/queries/q22.sql                     |   39 +
 benchmark/tpch/queries/q3.sql                      |   24 +
 benchmark/tpch/queries/q4.sql                      |   23 +
 benchmark/tpch/queries/q5.sql                      |   26 +
 benchmark/tpch/queries/q6.sql                      |   11 +
 benchmark/tpch/queries/q7.sql                      |   41 +
 benchmark/tpch/queries/q8.sql                      |   39 +
 benchmark/tpch/queries/q9.sql                      |   34 +
 benchmark/tpch/run.sh                              |  390 +
 benchmark/tpch/src/config.rs                       |  260 +
 benchmark/tpch/src/datagen.rs                      |  192 +
 benchmark/tpch/src/main.rs                         | 1272 +++
 cpp/AGENTS.md                                      |    5 +
 cpp/CLAUDE.md                                      |    1 +
 cpp/Cargo.toml                                     |    1 +
 cpp/src/lib.rs                                     |  110 +-
 crates/AGENTS.md                                   |   65 +
 crates/CLAUDE.md                                   |    1 +
 crates/core/Cargo.toml                             |   42 +
 crates/core/schemas/HoodieDeleteRecord.avsc        |   24 +-
 crates/core/schemas/HoodieDeleteRecordList.avsc    |  129 +-
 .../core/src/avro_to_arrow/arrow_array_reader.rs   |  932 ---
 crates/core/src/avro_to_arrow/mod.rs               |    1 -
 crates/core/src/avro_to_arrow/schema.rs            |  111 +-
 crates/core/src/config/internal.rs                 |   30 +-
 crates/core/src/config/mod.rs                      |  124 +-
 crates/core/src/config/plan.rs                     |  139 +
 crates/core/src/config/read.rs                     |  454 +-
 crates/core/src/config/read_options.rs             |  466 ++
 crates/core/src/config/table.rs                    |  288 +-
 crates/core/src/error.rs                           |    4 +
 crates/core/src/expr/filter.rs                     |  688 +-
 crates/core/src/expr/mod.rs                        |   22 +-
 crates/core/src/file_group/admission.rs            |  222 +
 crates/core/src/file_group/base_file/hfile.rs      | 2045 +++++
 crates/core/src/file_group/base_file/lance.rs      |  756 ++
 .../file_group/{base_file.rs => base_file/mod.rs}  |   22 +-
 crates/core/src/file_group/base_file/parquet.rs    |  799 ++
 crates/core/src/file_group/base_file/reader.rs     |  364 +
 crates/core/src/file_group/builder.rs              |  819 +-
 crates/core/src/file_group/file_slice.rs           |  235 +-
 crates/core/src/file_group/log_file/avro.rs        |  512 +-
 crates/core/src/file_group/log_file/content.rs     | 1091 ++-
 crates/core/src/file_group/log_file/log_block.rs   |  142 +
 .../core/src/file_group/log_file/memory_bench.rs   |  205 +
 crates/core/src/file_group/log_file/mod.rs         |   22 +-
 crates/core/src/file_group/log_file/reader.rs      | 1235 ++-
 crates/core/src/file_group/log_file/scanner.rs     |   24 +-
 crates/core/src/file_group/mod.rs                  |  229 +-
 crates/core/src/file_group/reader.rs               | 2899 +++++--
 crates/core/src/file_group/reader_v2/adapter.rs    |  298 +
 .../src/file_group/reader_v2/buffer/key_based.rs   | 8254 ++++++++++++++++++++
 .../core/src/file_group/reader_v2/buffer/loader.rs |  525 ++
 crates/core/src/file_group/reader_v2/buffer/mod.rs |  306 +
 .../file_group/reader_v2/buffer/position_based.rs  | 1499 ++++
 .../file_group/reader_v2/buffer/record_buffer.rs   |  553 ++
 .../reader_v2/buffer/record_positions.rs           |  225 +
 .../file_group/reader_v2/buffer/row_extraction.rs  |  722 ++
 .../file_group/reader_v2/buffer/spillable_map.rs   | 2619 +++++++
 .../src/file_group/reader_v2/buffered_record.rs    |  637 ++
 .../reader_v2/buffered_record_converter.rs         |   45 +
 .../src/file_group/reader_v2/delete_context.rs     |  342 +
 crates/core/src/file_group/reader_v2/engine.rs     | 2592 ++++++
 crates/core/src/file_group/reader_v2/gaps.rs       |  252 +
 crates/core/src/file_group/reader_v2/harness.rs    | 1017 +++
 .../core/src/file_group/reader_v2/harness_tests.rs | 2300 ++++++
 .../core/src/file_group/reader_v2/input_split.rs   |  247 +
 .../core/src/file_group/reader_v2/iterator_mode.rs |   97 +
 .../src/file_group/reader_v2/log_record_reader.rs  | 2384 ++++++
 .../src/file_group/reader_v2/memory_limit_tests.rs |  296 +
 .../src/file_group/reader_v2/merge_cpu_bench.rs    |  355 +
 .../src/file_group/reader_v2/merge_iterator.rs     | 1484 ++++
 .../reader_v2/merged_log_record_reader.rs          |  709 ++
 .../src/file_group/reader_v2/metadata_merger.rs    | 1186 +++
 crates/core/src/file_group/reader_v2/mod.rs        |   93 +
 .../src/file_group/reader_v2/output_converter.rs   |  449 ++
 crates/core/src/file_group/reader_v2/profiling.rs  |   66 +
 crates/core/src/file_group/reader_v2/read_stats.rs |  107 +
 .../src/file_group/reader_v2/reader_context.rs     |  425 +
 .../src/file_group/reader_v2/reader_parameters.rs  |   42 +
 .../src/file_group/reader_v2/record_context.rs     | 2756 +++++++
 .../core/src/file_group/reader_v2/record_merger.rs |  850 ++
 crates/core/src/file_group/reader_v2/resolver.rs   | 1053 +++
 crates/core/src/file_group/reader_v2/row_serde.rs  |  254 +
 .../src/file_group/reader_v2/schema_handler.rs     | 1512 ++++
 .../src/file_group/reader_v2/update_processor.rs   |  193 +
 crates/core/src/file_group/record_batches.rs       |   46 +-
 crates/core/src/hfile/key.rs                       |  139 +-
 crates/core/src/hfile/mod.rs                       |    1 +
 crates/core/src/hfile/reader.rs                    | 1225 ++-
 crates/core/src/hfile/record_key.rs                |  166 +
 crates/core/src/keygen/mod.rs                      |   63 +
 crates/core/src/keygen/timestamp_based.rs          | 1071 +++
 crates/core/src/lib.rs                             |    7 +-
 crates/core/src/merge/ordering.rs                  |    8 +-
 crates/core/src/merge/record_merger.rs             |   76 +-
 crates/core/src/metadata/commit.rs                 |  137 +
 crates/core/src/metadata/merger.rs                 |   30 +-
 crates/core/src/metadata/mod.rs                    |    1 +
 crates/core/src/metadata/rollback.rs               |  446 ++
 crates/core/src/metadata/table/mod.rs              | 1250 ++-
 crates/core/src/metadata/table/reader.rs           |  282 +
 crates/core/src/metadata/table/records.rs          |   18 +-
 crates/core/src/metadata/table/routing.rs          |  271 +
 crates/core/src/metadata/table/test_support.rs     |   93 +
 crates/core/src/metadata/table/v2_reader.rs        |  817 ++
 crates/core/src/schema/avro_schema_utils.rs        |  493 ++
 crates/core/src/schema/batch_evolution.rs          | 1259 +++
 crates/core/src/schema/delete.rs                   |  246 +-
 crates/core/src/schema/extended_promotion.rs       |  665 ++
 crates/core/src/schema/mod.rs                      |   79 +
 crates/core/src/schema/parquet_list_norm.rs        |  319 +
 crates/core/src/schema/resolver.rs                 |  186 +-
 crates/core/src/statistics/estimator.rs            |  194 +
 crates/core/src/statistics/mod.rs                  |  546 ++
 crates/core/src/storage/counting.rs                |  132 +
 crates/core/src/storage/error.rs                   |    6 +
 crates/core/src/storage/file_metadata.rs           |   14 +-
 crates/core/src/storage/mod.rs                     |  399 +-
 crates/core/src/storage/reader.rs                  |  633 +-
 crates/core/src/table/builder.rs                   |  114 +-
 crates/core/src/table/file_pruner.rs               |  629 ++
 crates/core/src/table/fs_view.rs                   |  998 ++-
 crates/core/src/table/listing.rs                   |  127 +-
 crates/core/src/table/mod.rs                       | 3223 ++++++--
 crates/core/src/table/partition.rs                 |  383 +-
 crates/core/src/table/read_options.rs              |  215 -
 crates/core/src/table/validation.rs                |   63 +-
 crates/core/src/timeline/builder.rs                |   21 +-
 crates/core/src/timeline/completion_time.rs        |   18 +-
 crates/core/src/timeline/instant.rs                |  145 +-
 crates/core/src/timeline/loader.rs                 |  251 +
 crates/core/src/timeline/mod.rs                    |  303 +-
 crates/core/src/timeline/selector.rs               |  413 +-
 crates/core/src/timeline/util.rs                   |    6 +-
 crates/core/src/timeline/view.rs                   |  186 +-
 crates/core/src/util/arrow.rs                      |   68 +-
 crates/core/src/util/concurrency.rs                |  119 +
 crates/core/src/util/mod.rs                        |    1 +
 .../data/i3/legacy_2level_repeated_map.parquet     |  Bin 0 -> 13270 bytes
 .../core/tests/data/i3/modern_3level_map.parquet   |  Bin 0 -> 10608 bytes
 crates/core/tests/data/metadata_slices/README.md   |   50 +
 .../data/metadata_slices/allpartitions-dot.hfile   |  Bin 0 -> 12530 bytes
 .../tests/data/metadata_slices/files-live.hfile    |  Bin 0 -> 12567 bytes
 .../data/metadata_slices/files-multiblock.hfile    |  Bin 0 -> 18277 bytes
 .../data/metadata_slices/files-tombstone.hfile     |  Bin 0 -> 12566 bytes
 .../data/metadata_slices/metadata-record.avsc      |    1 +
 .../data/metadata_slices/nonpartitioned-base.hfile |  Bin 0 -> 12505 bytes
 .../data/metadata_slices/nonpartitioned-log.hfile  |  Bin 0 -> 12505 bytes
 crates/core/tests/gold_parity_tests.rs             | 1019 +++
 crates/core/tests/reader_concurrency_tests.rs      |  347 +
 crates/core/tests/statistics_tests.rs              |  958 +++
 crates/core/tests/table_read_tests.rs              | 3060 +++++++-
 crates/datafusion/Cargo.toml                       |   16 +-
 crates/datafusion/src/hudi_exec.rs                 |  758 ++
 crates/datafusion/src/lib.rs                       | 1351 +++-
 crates/datafusion/src/util/expr.rs                 |  246 +-
 crates/datafusion/tests/plan_tests.rs              |  810 ++
 crates/datafusion/tests/query_tests.rs             |  513 ++
 crates/datafusion/tests/read_tests.rs              |  404 -
 crates/hudi/Cargo.toml                             |   15 +-
 crates/{hudi => jvm-ffi}/Cargo.toml                |   23 +-
 crates/jvm-ffi/src/lib.rs                          |  471 ++
 crates/test/Cargo.toml                             |   25 +-
 crates/test/README.md                              |   14 +
 .../test/data/avro_schemas/HoodieInstantInfo.avsc  |   15 +
 .../data/avro_schemas/HoodieRestoreMetadata.avsc   |   32 +
 .../data/avro_schemas/HoodieRollbackMetadata.avsc  |   54 +
 .../test/data/avro_schemas/HoodieRollbackPlan.avsc |   59 +
 ...0-000000000001-0_20250101000000000.log.1_0-2-2} |  Bin 5087 -> 6142 bytes
 .../.hoodie/hoodie.properties                      |   11 +
 crates/test/data/hfile_base_file_table/README.md   |   47 +
 ...0-000000000001-0_0-1-1_20250101000000000.hfile} |  Bin 5087 -> 5504 bytes
 ...ilters-0000-0_20260830093352285.log.1_0-109-277 |  Bin 0 -> 109550 bytes
 .../data/metadata_bloom_filters_slice/README.md    |   33 +
 ...filters-0000-0_0-51-131_20260830093346422.hfile |  Bin 0 -> 157752 bytes
 .../data/metadata_bloom_filters_slice/generate.sql |   47 +
 .../test/data/metadata_multi_block_hfile/README.md |   29 +
 .../data/metadata_multi_block_hfile/generate.sql   |   43 +
 ...-index-0009-0_10-71-248_20260830075534042.hfile |  Bin 0 -> 563453 bytes
 ...00-000000000000-0_20250101000000000.log.1_0-2-0 |  Bin 0 -> 5875 bytes
 .../.hoodie/20250101000000000.commit               |    7 +
 .../data/mor_log_inserts/.hoodie/hoodie.properties |   10 +
 crates/test/data/mor_log_inserts/README.md         |   34 +
 ...-000000000000-0_0-1-0_20250101000000000.parquet |  Bin 0 -> 276041 bytes
 .../quickstart_trips_table/cow/v9_trips_lance.sql  |   79 +
 .../quickstart_trips_table/cow/v9_trips_lance.zip  |  Bin 0 -> 162006 bytes
 .../mor/avro/gold_options.scala                    |  280 +
 .../mor/avro/table_all_data_types.zip              |  Bin 0 -> 47647 bytes
 .../mor/avro/table_column_projection.zip           |  Bin 0 -> 43480 bytes
 .../mor/avro/table_corrupt_tail_block.zip          |  Bin 0 -> 27775 bytes
 .../mor/avro/table_delete_ord_decimal.zip          |  Bin 0 -> 24327 bytes
 .../mor/avro/table_delete_ord_double.zip           |  Bin 0 -> 24010 bytes
 .../mor/avro/table_delete_ord_int.zip              |  Bin 0 -> 23482 bytes
 .../mor/avro/table_delete_ord_long.zip             |  Bin 0 -> 23890 bytes
 .../mor/avro/table_delete_ord_string.zip           |  Bin 0 -> 23739 bytes
 .../mor/avro/table_delete_ord_timestamp.zip        |  Bin 0 -> 24480 bytes
 .../mor/avro/table_duplicate_keys.scala            |  111 +
 .../mor/avro/table_duplicate_keys.zip              |  Bin 0 -> 17609 bytes
 .../mor/avro/table_event_time_stale.sql            |   69 +
 .../mor/avro/table_event_time_stale.zip            |  Bin 0 -> 37278 bytes
 .../mor/avro/table_evo_add_col.zip                 |  Bin 0 -> 125693 bytes
 .../mor/avro/table_evo_promotion.zip               |  Bin 0 -> 114020 bytes
 .../mor/avro/table_hfile_log_block.zip             |  Bin 0 -> 10865 bytes
 .../mor/avro/table_log_compaction.zip              |  Bin 0 -> 30229 bytes
 .../mor/avro/table_log_only.zip                    |  Bin 0 -> 23937 bytes
 .../mor/avro/table_null_containers.zip             |  Bin 0 -> 38514 bytes
 .../mor/avro/table_parquet_log_block.zip           |  Bin 0 -> 32213 bytes
 .../mor/avro/table_partial_update.zip              |  Bin 0 -> 24790 bytes
 .../mor/avro/table_partial_update_event_time.sql   |   74 +
 .../mor/avro/table_partial_update_event_time.zip   |  Bin 0 -> 16147 bytes
 .../mor/avro/table_uncommitted_log.sql             |   78 +
 .../mor/avro/table_uncommitted_log_v6.zip          |  Bin 0 -> 24847 bytes
 .../mor/avro/table_uncommitted_log_v9.zip          |  Bin 0 -> 30414 bytes
 .../mor/avro/v6_trips_8i1u.zip                     |  Bin 28861 -> 43668 bytes
 .../mor/avro/v6_trips_8i3d.zip                     |  Bin 28516 -> 42817 bytes
 .../mor/avro/v8_mor_boundary_windows.gold.scala    |   52 +
 .../mor/avro/v8_mor_boundary_windows.sql           |   48 +
 .../mor/avro/v8_mor_boundary_windows.zip           |  Bin 0 -> 37974 bytes
 .../mor/avro/v8_trips_8i3u1d.zip                   |  Bin 468520 -> 458184 
bytes
 .../mor/avro/v9_mor_8i4u_commit_time.zip           |  Bin 0 -> 38584 bytes
 .../avro/v9_mor_compacted_incremental.gold.scala   |   70 +
 .../mor/avro/v9_mor_compacted_incremental.sql      |   72 +
 .../mor/avro/v9_mor_compacted_incremental.zip      |  Bin 0 -> 43318 bytes
 .../mor/avro/v9_mor_nonpart_3commits.zip           |  Bin 0 -> 28475 bytes
 .../mor/avro/v9_trips_lance.sql                    |   95 +
 .../mor/avro/v9_trips_lance.zip                    |  Bin 0 -> 241819 bytes
 .../cow/v6_complexkeygen_hivestyle.zip             |  Bin 42914 -> 41900 bytes
 crates/test/data/sample_table/cow/v6_empty.zip     |  Bin 2258 -> 2371 bytes
 .../data/sample_table/cow/v6_nonpartitioned.zip    |  Bin 24851 -> 25426 bytes
 .../v6_simplekeygen_hivestyle_no_metafields.zip    |  Bin 17950 -> 19260 bytes
 .../cow/v6_simplekeygen_nonhivestyle.zip           |  Bin 38375 -> 37976 bytes
 ...v6_simplekeygen_nonhivestyle_overwritetable.zip |  Bin 36037 -> 37460 bytes
 .../cow/v6_timebasedkeygen_nonhivestyle.zip        |  Bin 49127 -> 47642 bytes
 .../cow/v8_complexkeygen_hivestyle.zip             |  Bin 43000 -> 42629 bytes
 crates/test/data/sample_table/cow/v8_empty.zip     |  Bin 6066 -> 5277 bytes
 .../data/sample_table/cow/v8_nonpartitioned.zip    |  Bin 26699 -> 27451 bytes
 .../v8_simplekeygen_hivestyle_no_metafields.zip    |  Bin 28076 -> 27855 bytes
 .../cow/v8_simplekeygen_nonhivestyle.zip           |  Bin 40168 -> 40070 bytes
 ...v8_simplekeygen_nonhivestyle_overwritetable.sql |   96 -
 ...v8_simplekeygen_nonhivestyle_overwritetable.zip |  Bin 51842 -> 0 bytes
 .../cow/v8_timebasedkeygen_nonhivestyle.sql        |   92 -
 .../cow/v8_timebasedkeygen_nonhivestyle.zip        |  Bin 50805 -> 0 bytes
 .../sample_table/cow/v9_lance_nonpartitioned.sql   |   72 +
 .../sample_table/cow/v9_lance_nonpartitioned.zip   |  Bin 0 -> 142525 bytes
 .../sample_table/cow/v9_lance_txns_nonpart.sql     |  146 +
 .../sample_table/cow/v9_lance_txns_nonpart.zip     |  Bin 0 -> 289546 bytes
 .../data/sample_table/cow/v9_lance_txns_simple.sql |  147 +
 .../data/sample_table/cow/v9_lance_txns_simple.zip |  Bin 0 -> 295789 bytes
 .../cow/v9_timebasedkeygen_epochmillis.sql         |  101 +
 .../cow/v9_timebasedkeygen_epochmillis.zip         |  Bin 0 -> 198528 bytes
 .../cow/v9_timebasedkeygen_nonhivestyle.sql        |   98 +
 .../cow/v9_timebasedkeygen_nonhivestyle.zip        |  Bin 0 -> 189598 bytes
 .../cow/v9_timebasedkeygen_unixtimestamp.sql       |  101 +
 .../cow/v9_timebasedkeygen_unixtimestamp.zip       |  Bin 0 -> 203649 bytes
 .../data/sample_table/cow/v9_txns_complex_meta.sql |  182 +
 .../data/sample_table/cow/v9_txns_complex_meta.zip |  Bin 0 -> 699782 bytes
 .../sample_table/cow/v9_txns_complex_nometa.sql    |  171 +
 .../sample_table/cow/v9_txns_complex_nometa.zip    |  Bin 0 -> 106426 bytes
 .../data/sample_table/cow/v9_txns_nonpart_meta.sql |  160 +
 .../data/sample_table/cow/v9_txns_nonpart_meta.zip |  Bin 0 -> 554519 bytes
 .../sample_table/cow/v9_txns_nonpart_nometa.sql    |  149 +
 .../sample_table/cow/v9_txns_nonpart_nometa.zip    |  Bin 0 -> 81444 bytes
 .../data/sample_table/cow/v9_txns_simple_meta.sql  |  181 +
 .../data/sample_table/cow/v9_txns_simple_meta.zip  |  Bin 0 -> 699930 bytes
 .../sample_table/cow/v9_txns_simple_nometa.sql     |  170 +
 .../sample_table/cow/v9_txns_simple_nometa.zip     |  Bin 0 -> 104005 bytes
 .../sample_table/cow/v9_txns_simple_overwrite.sql  |   95 +
 .../sample_table/cow/v9_txns_simple_overwrite.zip  |  Bin 0 -> 211956 bytes
 .../mor/avro/v9_lance_nonhivestyle.sql             |   85 +
 .../mor/avro/v9_lance_nonhivestyle.zip             |  Bin 0 -> 193254 bytes
 .../mor/avro/v9_nonpartitioned_rollback.sql        |   92 +
 .../mor/avro/v9_nonpartitioned_rollback.zip        |  Bin 0 -> 98943 bytes
 .../mor/avro/v9_timebasedkeygen_nonhivestyle.sql   |  117 +
 .../mor/avro/v9_timebasedkeygen_nonhivestyle.zip   |  Bin 0 -> 238618 bytes
 .../sample_table/mor/avro/v9_txns_complex_meta.sql |  190 +
 .../sample_table/mor/avro/v9_txns_complex_meta.zip |  Bin 0 -> 718435 bytes
 .../mor/avro/v9_txns_complex_nometa.sql            |  179 +
 .../mor/avro/v9_txns_complex_nometa.zip            |  Bin 0 -> 100299 bytes
 .../sample_table/mor/avro/v9_txns_nonpart_meta.sql |  169 +
 .../sample_table/mor/avro/v9_txns_nonpart_meta.zip |  Bin 0 -> 559644 bytes
 .../mor/avro/v9_txns_nonpart_nometa.sql            |  158 +
 .../mor/avro/v9_txns_nonpart_nometa.zip            |  Bin 0 -> 68432 bytes
 .../sample_table/mor/avro/v9_txns_simple_meta.sql  |  193 +
 .../sample_table/mor/avro/v9_txns_simple_meta.zip  |  Bin 0 -> 721073 bytes
 .../mor/avro/v9_txns_simple_nometa.sql             |  179 +
 .../mor/avro/v9_txns_simple_nometa.zip             |  Bin 0 -> 98103 bytes
 .../mor/avro/v9_txns_simple_overwrite.sql          |  104 +
 .../mor/avro/v9_txns_simple_overwrite.zip          |  Bin 0 -> 211978 bytes
 .../mor/parquet/v6_complexkeygen_hivestyle.zip     |  Bin 42137 -> 41107 bytes
 .../data/sample_table/mor/parquet/v6_empty.zip     |  Bin 5885 -> 5062 bytes
 .../sample_table/mor/parquet/v6_nonpartitioned.zip |  Bin 28459 -> 28935 bytes
 .../mor/parquet/v6_nonpartitioned_rollback.zip     |  Bin 32598 -> 32214 bytes
 .../v6_simplekeygen_hivestyle_no_metafields.zip    |  Bin 28077 -> 27470 bytes
 .../mor/parquet/v6_simplekeygen_nonhivestyle.zip   |  Bin 37571 -> 37180 bytes
 ...v6_simplekeygen_nonhivestyle_overwritetable.zip |  Bin 48409 -> 46787 bytes
 .../mor/avro/v8_nonpartitioned.sql                 |   75 -
 .../mor/avro/v8_nonpartitioned.zip                 |  Bin 378274 -> 0 bytes
 crates/test/src/gold.rs                            |  575 ++
 crates/test/src/gold_options.rs                    |  373 +
 crates/test/src/lib.rs                             |  809 +-
 crates/test/src/util.rs                            |   13 +
 crates/test/src/v9_verification.rs                 |  212 +
 demo/apps/datafusion/Cargo.toml                    |    4 +-
 demo/apps/hudi-file-group-api/cpp/main.cpp         |    3 +-
 demo/apps/hudi-table-api/python/src/main.py        |    2 +-
 demo/apps/hudi-table-api/rust/Cargo.toml           |    4 +-
 demo/apps/hudi-table-api/rust/src/main.rs          |    4 +-
 demo/infra/runner/Dockerfile                       |    4 +-
 docs/reader-spec.md                                |  347 +
 python/.gitignore                                  |    2 +
 python/AGENTS.md                                   |   66 +
 python/CLAUDE.md                                   |    1 +
 python/Cargo.toml                                  |    7 +-
 python/hudi/__init__.py                            |   10 +
 python/hudi/_config.py                             |   61 +
 python/hudi/_internal.pyi                          |  312 +-
 python/hudi/table/builder.py                       |   22 +-
 python/pyproject.toml                              |   22 +-
 python/src/datafusion_internal.rs                  |   56 +-
 python/src/internal.rs                             |  739 +-
 python/src/lib.rs                                  |   20 +-
 python/src/testing_internal.rs                     |   66 +
 python/tests/conftest.py                           |   23 +-
 python/tests/table/0.x_cow_partitioned.zip         |  Bin 46757 -> 0 bytes
 python/tests/test_config_enums.py                  |   75 +
 python/tests/test_datafusion_read.py               |   72 +-
 python/tests/test_file_group_read.py               |   77 +-
 python/tests/test_streaming_read.py                |  167 +
 python/tests/test_table_builder.py                 |  128 +-
 python/tests/test_table_incremental_read.py        |  135 +-
 python/tests/test_table_misc.py                    |  162 +
 python/tests/test_table_read.py                    |  300 +-
 release/README.md                                  |  232 +-
 rust-toolchain.toml                                |    2 +-
 389 files changed, 90079 insertions(+), 7351 deletions(-)
 copy demo/.env => .dockerignore (92%)
 copy .github/workflows/{pr.yml => asf-allowlist-check.yml} (63%)
 create mode 100644 .pre-commit-config.yaml
 create mode 100644 AGENTS.md
 create mode 120000 CLAUDE.md
 copy {crates/test => benchmark/filegroup}/Cargo.toml (64%)
 create mode 100644 benchmark/filegroup/README.md
 create mode 100644 benchmark/filegroup/compare.py
 create mode 100644 benchmark/filegroup/src/gen.rs
 create mode 100644 benchmark/filegroup/src/host.rs
 create mode 100644 benchmark/filegroup/src/main.rs
 create mode 100644 benchmark/filegroup/src/rusage.rs
 create mode 100644 benchmark/filegroup/tests/fg_gen_timeline.rs
 copy {crates/test => benchmark/tpch}/Cargo.toml (66%)
 create mode 100644 benchmark/tpch/README.md
 copy .github/labeler.yml => benchmark/tpch/config/sf1.yaml (50%)
 copy python/.gitignore => benchmark/tpch/config/sf10.yaml (51%)
 copy .github/labeler.yml => benchmark/tpch/config/sf100.yaml (50%)
 create mode 100644 benchmark/tpch/config/tables.yaml
 create mode 100755 benchmark/tpch/infra/gcp/bootstrap.sh
 create mode 100755 benchmark/tpch/infra/gcp/sync.sh
 create mode 100644 benchmark/tpch/infra/spark/bench.py
 copy demo/.env => benchmark/tpch/infra/spark/hudi-defaults.conf (83%)
 copy .gitignore => benchmark/tpch/infra/spark/log4j2.properties (73%)
 copy .github/ISSUE_TEMPLATE/2-feature-request.yml => 
benchmark/tpch/infra/spark/spark-defaults.conf (50%)
 create mode 100644 benchmark/tpch/queries/q1.sql
 create mode 100644 benchmark/tpch/queries/q10.sql
 create mode 100644 benchmark/tpch/queries/q11.sql
 create mode 100644 benchmark/tpch/queries/q12.sql
 create mode 100644 benchmark/tpch/queries/q13.sql
 create mode 100644 benchmark/tpch/queries/q14.sql
 create mode 100644 benchmark/tpch/queries/q15.sql
 create mode 100644 benchmark/tpch/queries/q16.sql
 create mode 100644 benchmark/tpch/queries/q17.sql
 create mode 100644 benchmark/tpch/queries/q18.sql
 create mode 100644 benchmark/tpch/queries/q19.sql
 create mode 100644 benchmark/tpch/queries/q2.sql
 create mode 100644 benchmark/tpch/queries/q20.sql
 create mode 100644 benchmark/tpch/queries/q21.sql
 create mode 100644 benchmark/tpch/queries/q22.sql
 create mode 100644 benchmark/tpch/queries/q3.sql
 create mode 100644 benchmark/tpch/queries/q4.sql
 create mode 100644 benchmark/tpch/queries/q5.sql
 create mode 100644 benchmark/tpch/queries/q6.sql
 create mode 100644 benchmark/tpch/queries/q7.sql
 create mode 100644 benchmark/tpch/queries/q8.sql
 create mode 100644 benchmark/tpch/queries/q9.sql
 create mode 100755 benchmark/tpch/run.sh
 create mode 100644 benchmark/tpch/src/config.rs
 create mode 100644 benchmark/tpch/src/datagen.rs
 create mode 100644 benchmark/tpch/src/main.rs
 create mode 100644 cpp/AGENTS.md
 create mode 120000 cpp/CLAUDE.md
 create mode 100644 crates/AGENTS.md
 create mode 120000 crates/CLAUDE.md
 delete mode 100644 crates/core/src/avro_to_arrow/arrow_array_reader.rs
 create mode 100644 crates/core/src/config/plan.rs
 create mode 100644 crates/core/src/config/read_options.rs
 create mode 100644 crates/core/src/file_group/admission.rs
 create mode 100644 crates/core/src/file_group/base_file/hfile.rs
 create mode 100644 crates/core/src/file_group/base_file/lance.rs
 rename crates/core/src/file_group/{base_file.rs => base_file/mod.rs} (89%)
 create mode 100644 crates/core/src/file_group/base_file/parquet.rs
 create mode 100644 crates/core/src/file_group/base_file/reader.rs
 create mode 100644 crates/core/src/file_group/log_file/memory_bench.rs
 create mode 100644 crates/core/src/file_group/reader_v2/adapter.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffer/key_based.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffer/loader.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffer/mod.rs
 create mode 100644 
crates/core/src/file_group/reader_v2/buffer/position_based.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffer/record_buffer.rs
 create mode 100644 
crates/core/src/file_group/reader_v2/buffer/record_positions.rs
 create mode 100644 
crates/core/src/file_group/reader_v2/buffer/row_extraction.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffer/spillable_map.rs
 create mode 100644 crates/core/src/file_group/reader_v2/buffered_record.rs
 create mode 100644 
crates/core/src/file_group/reader_v2/buffered_record_converter.rs
 create mode 100644 crates/core/src/file_group/reader_v2/delete_context.rs
 create mode 100644 crates/core/src/file_group/reader_v2/engine.rs
 create mode 100644 crates/core/src/file_group/reader_v2/gaps.rs
 create mode 100644 crates/core/src/file_group/reader_v2/harness.rs
 create mode 100644 crates/core/src/file_group/reader_v2/harness_tests.rs
 create mode 100644 crates/core/src/file_group/reader_v2/input_split.rs
 create mode 100644 crates/core/src/file_group/reader_v2/iterator_mode.rs
 create mode 100644 crates/core/src/file_group/reader_v2/log_record_reader.rs
 create mode 100644 crates/core/src/file_group/reader_v2/memory_limit_tests.rs
 create mode 100644 crates/core/src/file_group/reader_v2/merge_cpu_bench.rs
 create mode 100644 crates/core/src/file_group/reader_v2/merge_iterator.rs
 create mode 100644 
crates/core/src/file_group/reader_v2/merged_log_record_reader.rs
 create mode 100644 crates/core/src/file_group/reader_v2/metadata_merger.rs
 create mode 100644 crates/core/src/file_group/reader_v2/mod.rs
 create mode 100644 crates/core/src/file_group/reader_v2/output_converter.rs
 create mode 100644 crates/core/src/file_group/reader_v2/profiling.rs
 create mode 100644 crates/core/src/file_group/reader_v2/read_stats.rs
 create mode 100644 crates/core/src/file_group/reader_v2/reader_context.rs
 create mode 100644 crates/core/src/file_group/reader_v2/reader_parameters.rs
 create mode 100644 crates/core/src/file_group/reader_v2/record_context.rs
 create mode 100644 crates/core/src/file_group/reader_v2/record_merger.rs
 create mode 100644 crates/core/src/file_group/reader_v2/resolver.rs
 create mode 100644 crates/core/src/file_group/reader_v2/row_serde.rs
 create mode 100644 crates/core/src/file_group/reader_v2/schema_handler.rs
 create mode 100644 crates/core/src/file_group/reader_v2/update_processor.rs
 create mode 100644 crates/core/src/hfile/record_key.rs
 create mode 100644 crates/core/src/keygen/mod.rs
 create mode 100644 crates/core/src/keygen/timestamp_based.rs
 create mode 100644 crates/core/src/metadata/rollback.rs
 create mode 100644 crates/core/src/metadata/table/reader.rs
 create mode 100644 crates/core/src/metadata/table/routing.rs
 create mode 100644 crates/core/src/metadata/table/test_support.rs
 create mode 100644 crates/core/src/metadata/table/v2_reader.rs
 create mode 100644 crates/core/src/schema/avro_schema_utils.rs
 create mode 100644 crates/core/src/schema/batch_evolution.rs
 create mode 100644 crates/core/src/schema/extended_promotion.rs
 create mode 100644 crates/core/src/schema/parquet_list_norm.rs
 create mode 100644 crates/core/src/statistics/estimator.rs
 create mode 100644 crates/core/src/statistics/mod.rs
 create mode 100644 crates/core/src/storage/counting.rs
 create mode 100644 crates/core/src/table/file_pruner.rs
 delete mode 100644 crates/core/src/table/read_options.rs
 create mode 100644 crates/core/src/util/concurrency.rs
 create mode 100644 crates/core/tests/data/i3/legacy_2level_repeated_map.parquet
 create mode 100644 crates/core/tests/data/i3/modern_3level_map.parquet
 create mode 100644 crates/core/tests/data/metadata_slices/README.md
 create mode 100644 
crates/core/tests/data/metadata_slices/allpartitions-dot.hfile
 create mode 100644 crates/core/tests/data/metadata_slices/files-live.hfile
 create mode 100644 
crates/core/tests/data/metadata_slices/files-multiblock.hfile
 create mode 100644 crates/core/tests/data/metadata_slices/files-tombstone.hfile
 create mode 100644 crates/core/tests/data/metadata_slices/metadata-record.avsc
 create mode 100644 
crates/core/tests/data/metadata_slices/nonpartitioned-base.hfile
 create mode 100644 
crates/core/tests/data/metadata_slices/nonpartitioned-log.hfile
 create mode 100644 crates/core/tests/gold_parity_tests.rs
 create mode 100644 crates/core/tests/reader_concurrency_tests.rs
 create mode 100644 crates/core/tests/statistics_tests.rs
 create mode 100644 crates/datafusion/src/hudi_exec.rs
 create mode 100644 crates/datafusion/tests/plan_tests.rs
 create mode 100644 crates/datafusion/tests/query_tests.rs
 delete mode 100644 crates/datafusion/tests/read_tests.rs
 copy crates/{hudi => jvm-ffi}/Cargo.toml (68%)
 create mode 100644 crates/jvm-ffi/src/lib.rs
 create mode 100644 crates/test/data/avro_schemas/HoodieInstantInfo.avsc
 create mode 100644 crates/test/data/avro_schemas/HoodieRestoreMetadata.avsc
 create mode 100644 crates/test/data/avro_schemas/HoodieRollbackMetadata.avsc
 create mode 100644 crates/test/data/avro_schemas/HoodieRollbackPlan.avsc
 copy crates/{core/tests/data/hfile/hudi_1_0_hbase_2_4_9_no_entry.hfile => 
test/data/hfile_base_file_table/.f0000000-0000-0000-0000-000000000001-0_20250101000000000.log.1_0-2-2}
 (64%)
 create mode 100644 
crates/test/data/hfile_base_file_table/.hoodie/hoodie.properties
 create mode 100644 crates/test/data/hfile_base_file_table/README.md
 copy crates/{core/tests/data/hfile/hudi_1_0_hbase_2_4_9_no_entry.hfile => 
test/data/hfile_base_file_table/f0000000-0000-0000-0000-000000000001-0_0-1-1_20250101000000000.hfile}
 (72%)
 create mode 100644 
crates/test/data/metadata_bloom_filters_slice/.bloom-filters-0000-0_20260830093352285.log.1_0-109-277
 create mode 100644 crates/test/data/metadata_bloom_filters_slice/README.md
 create mode 100644 
crates/test/data/metadata_bloom_filters_slice/bloom-filters-0000-0_0-51-131_20260830093346422.hfile
 create mode 100644 crates/test/data/metadata_bloom_filters_slice/generate.sql
 create mode 100644 crates/test/data/metadata_multi_block_hfile/README.md
 create mode 100644 crates/test/data/metadata_multi_block_hfile/generate.sql
 create mode 100644 
crates/test/data/metadata_multi_block_hfile/record-index-0009-0_10-71-248_20260830075534042.hfile
 create mode 100644 
crates/test/data/mor_log_inserts/.f00000000-0000-0000-0000-000000000000-0_20250101000000000.log.1_0-2-0
 create mode 100644 
crates/test/data/mor_log_inserts/.hoodie/20250101000000000.commit
 create mode 100644 crates/test/data/mor_log_inserts/.hoodie/hoodie.properties
 create mode 100644 crates/test/data/mor_log_inserts/README.md
 create mode 100644 
crates/test/data/mor_log_inserts/f00000000-0000-0000-0000-000000000000-0_0-1-0_20250101000000000.parquet
 create mode 100644 
crates/test/data/quickstart_trips_table/cow/v9_trips_lance.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/cow/v9_trips_lance.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/gold_options.scala
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_all_data_types.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_column_projection.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_corrupt_tail_block.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_decimal.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_double.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_int.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_long.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_string.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_delete_ord_timestamp.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_duplicate_keys.scala
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_duplicate_keys.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_event_time_stale.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_event_time_stale.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_evo_add_col.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_evo_promotion.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_hfile_log_block.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_log_compaction.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_log_only.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_null_containers.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_parquet_log_block.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_partial_update.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_partial_update_event_time.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_partial_update_event_time.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_uncommitted_log.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_uncommitted_log_v6.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/table_uncommitted_log_v9.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v8_mor_boundary_windows.gold.scala
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v8_mor_boundary_windows.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v8_mor_boundary_windows.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_mor_8i4u_commit_time.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_mor_compacted_incremental.gold.scala
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_mor_compacted_incremental.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_mor_compacted_incremental.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_mor_nonpart_3commits.zip
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_trips_lance.sql
 create mode 100644 
crates/test/data/quickstart_trips_table/mor/avro/v9_trips_lance.zip
 delete mode 100644 
crates/test/data/sample_table/cow/v8_simplekeygen_nonhivestyle_overwritetable.sql
 delete mode 100644 
crates/test/data/sample_table/cow/v8_simplekeygen_nonhivestyle_overwritetable.zip
 delete mode 100644 
crates/test/data/sample_table/cow/v8_timebasedkeygen_nonhivestyle.sql
 delete mode 100644 
crates/test/data/sample_table/cow/v8_timebasedkeygen_nonhivestyle.zip
 create mode 100644 
crates/test/data/sample_table/cow/v9_lance_nonpartitioned.sql
 create mode 100644 
crates/test/data/sample_table/cow/v9_lance_nonpartitioned.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_lance_txns_nonpart.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_lance_txns_nonpart.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_lance_txns_simple.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_lance_txns_simple.zip
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_epochmillis.sql
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_epochmillis.zip
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_nonhivestyle.sql
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_nonhivestyle.zip
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_unixtimestamp.sql
 create mode 100644 
crates/test/data/sample_table/cow/v9_timebasedkeygen_unixtimestamp.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_complex_meta.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_complex_meta.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_complex_nometa.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_complex_nometa.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_nonpart_meta.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_nonpart_meta.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_nonpart_nometa.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_nonpart_nometa.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_simple_meta.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_simple_meta.zip
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_simple_nometa.sql
 create mode 100644 crates/test/data/sample_table/cow/v9_txns_simple_nometa.zip
 create mode 100644 
crates/test/data/sample_table/cow/v9_txns_simple_overwrite.sql
 create mode 100644 
crates/test/data/sample_table/cow/v9_txns_simple_overwrite.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_lance_nonhivestyle.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_lance_nonhivestyle.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_nonpartitioned_rollback.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_nonpartitioned_rollback.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_timebasedkeygen_nonhivestyle.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_timebasedkeygen_nonhivestyle.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_complex_meta.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_complex_meta.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_complex_nometa.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_complex_nometa.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_nonpart_meta.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_nonpart_meta.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_nonpart_nometa.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_nonpart_nometa.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_meta.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_meta.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_nometa.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_nometa.zip
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_overwrite.sql
 create mode 100644 
crates/test/data/sample_table/mor/avro/v9_txns_simple_overwrite.zip
 delete mode 100644 
crates/test/data/sample_table_use_mdt_basic_schema/mor/avro/v8_nonpartitioned.sql
 delete mode 100644 
crates/test/data/sample_table_use_mdt_basic_schema/mor/avro/v8_nonpartitioned.zip
 create mode 100644 crates/test/src/gold.rs
 create mode 100644 crates/test/src/gold_options.rs
 create mode 100644 crates/test/src/v9_verification.rs
 create mode 100644 docs/reader-spec.md
 create mode 100644 python/AGENTS.md
 create mode 120000 python/CLAUDE.md
 create mode 100644 python/hudi/_config.py
 create mode 100644 python/src/testing_internal.rs
 delete mode 100644 python/tests/table/0.x_cow_partitioned.zip
 create mode 100644 python/tests/test_config_enums.py
 create mode 100644 python/tests/test_streaming_read.py
 create mode 100644 python/tests/test_table_misc.py

Reply via email to