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

XiaoHongbo-Hope pushed a change to branch release-0.4
in repository https://gitbox.apache.org/repos/asf/paimon-rust.git


    from 0139f7a0 Upgrade paimon-vindex-core to 0.5.0 (#879)
     add d9718da6 [rust] Bound sparse BlobDescriptor range reads (#883)
     add d05cb03a fix: Map precision-zero timestamps to Arrow seconds (#884)
     add f33dee15 fix: make Python record batch reader cancellable (#885)
     add 30c171d3 feat: expand Python native reads with nested projection and 
row kinds (#887)
     add afc8248f perf: optimize scalar index reads and support BTree V2 (#888)
     add eefe3ece feat(python): deserialize cross-language splits (#889)
     add b67e6e8d feat(python): plan chunk-shuffled reads with IndexedSplit 
(#890)
     add a48c01b1 perf(vindex): optimize IVF index build reads (#800)
     add 157406bd feat: support append row-position selection in native scans 
(#893)
     add d6bc0024 Expose combined changelog scans to Python (#894)
     add 07c0fb45 fix(datafusion): hand off the worker before blocking in 
catalog callbacks (#891)
     add db380ca3 refactor(vindex): trim granule planning overhead (#892)
     add 51a8ce9e feat(read): bound data evolution BLOB reads by LIMIT (#896)
     add ded9e59f fix: remove manifest minor compaction (#899)
     add 2f077fc9 feat(read): preserve physical row IDs with data predicates 
(#900)
     add 0179439d feat(read): load BLOB views lazily under LIMIT (#902)
     add 9122eb19 feat(read): avoid unselected managed BLOB payloads under 
LIMIT (#901)
     add 2fa48384 fix(table): reject duplicate ADD and DELETE file entries 
(#904)
     add 1aa6c493 Support PK partial-update and aggregation reads with deletion 
vectors (#905)
     add 4f5e3abd fix(read): stop BLOB predicate reads at LIMIT (#903)
     add c040921b Support BLOB and row-id predicates in Python native reads 
(#906)
     add 7715f5c2 Align native read schema evolution, ROW decoding, and merge 
semantics (#907)
     add b2e53fa5 fix(global-index): stop reading index keys with a comparator 
that can panic (#909)
     add 5013b01e fix(lumina): reproduce Java's table, index, query option 
order (#908)
     add eb6a4f30 fix(lumina): reject non-finite vector elements when building 
an index (#898)
     add 444da2a1 fix(lumina): store the canonical native metric name in index 
metadata (#895)
     add 0601db4c fix(scan): keep the predicate when a partition set cannot 
express it (#886)
     add 2e1087a6 fix(vortex): reject columns the writer cannot convert instead 
of panicking (#878)
     add 14610088 feat(file_index): support range bitmap append writes (#877)
     add 21f60b80 test(file_index): verify Java table read compatibility (#876)
     add 5de0ba34 feat(datafusion): add REST management procedures (#837)
     add aa4efcab perf(datafusion): push down partition-grouped COUNT(*) to 
manifests (#858)
     add ef540b1e fix(commit): align TableCommit validation and retries with 
Java (#913)
     add 3ce22437 feat: Add Java-compatible CommitMessage serialization and 
Python commit API (#912)
     add 5aeb1144 fix(commit): close remaining TableCommit parity gaps (#915)
     add c270543f [python] Preserve external batch commit identity (#916)
     add f73ebe4e feat: Support Java-compatible scan.timestamp time travel 
(#919)
     add 86f0cae8 feat: integrate reader memory reservations with DataFusion 
(#914)
     add 9978b9dc [rust] Account writer memory with ResourceContext (#928)
     add f5ee1c01 [rust] Reduce I/O requests for MAP BLOB descriptor reads 
(#920)
     add af57e751 fix(spec): don't prune files that may hold NaN on NOT(= 
float) (#926)
     add 69b68a91 fix(datafusion): reject unknown arguments for tag and index 
procedures (#917)
     add 544ea703 fix(python): declare read-scan methods in the datafusion type 
stub (#918)
     add 07f11467 fix(variant): emit valid JSON for non-finite floats in 
to_json (#927)
     add 42392f50 fix(arrow): scale INTEGER/BIGINT epoch seconds evolved to 
TIMESTAMP (#924)
     add 944e3893 fix(c): guard predicate AND/OR/NOT against null inputs (#923)
     add 07d33074 build: align ASF configuration with Paimon (#930)
     add 089861ff fix(table): keep PK sequence numbers advancing across 
TableWrite reuse (#925)
     add f5b27f30 feat(c): expose reader memory reservations through 
ResourceContext (#931)
     add bb4f8bb3 feat(c): attach ResourceContext to table writers (#933)
     add aa60a6ac Honor data-file prefix in Python native writes (#932)
     add e16b01c5 Give postpone writers distinct Java-style write IDs (#935)
     add e357a660 [python] Construct native tables from resolved REST responses 
(#922)
     add dd3bc614 feat: support more scalar types in incremental diff (#940)
     add c8e18ccb fix: write value stats for primary-key parquet files (#938)
     add dd6c95ae Support nested and vector values and deletion vectors in 
batch Diff (#944)
     add 0923cbc5 Support BSI indexes and indexed native write paths (#947)
     add 8cbafd4d Support native Format Table append and overwrite writes (#948)
     add b2f1eb3c Support Avro writes, defaults, and custom partition locations 
for native Format Tables (#950)
     add b8073f20 Support Mosaic writes for native Paimon tables (#952)
     add 9746004b Support managed BLOBs in native primary-key Parquet tables 
(#954)
     add b116e665 feat(go): expose shared resource reservations (#949)
     add 78ae3fe0 test(file_index): verify Java range-bitmap table reads (#953)
     add 442dfd55 fix(variant): truncate decimals and floats in variant_get int 
casts (#945)
     add 7cc54602 docs(python-binding): auto incremental mode follows 
changelog-producer (#943)
     add 2148923f feat(datafusion): support the $aggregation_fields system 
table (#937)
     add 9b5245be Align merge engines and all field aggregators with Java (#955)
     add 169db37c Align native table writes and merge ordering with Java (#958)
     add 5a780c4e Support nested ROW data evolution in native table reads and 
writes (#960)
     add b85a380c Extend Format Table support to ORC, CSV, JSON, TEXT and 
Mosaic (#959)
     add 2f513757 Expose core table upsert and native updates to PyPaimon (#961)
     add 50725c84 fix(core): complete native update partition and deletion 
vector paths (#969)
     add 5c87ec53 fix(core): close gaps for PyPaimon native Parquet writers 
(#970)
     add 952f6b81 [core] Complete nested updates and partition-aware temporal 
upserts (#973)
     add b8fbc1c3 [core] Support configured data directories throughout table 
IO (#974)
     add 52b4bb23 [auth] Support local-file DLF token loading (#936)
     add 833edacc [rust] Cache decoded BLOB indexes across readers (#897)
     add 603ecdec [rust] Cache parsed Parquet metadata across readers (#929)
     add fc27163e [core] Honor external data paths across table writers (#981)
     add 73aab79b [core] Honor scan.manifest.parallelism during planning (#988)
     add 91a8b21d [core] Avoid excess manifest range reads with sidecars (#990)
     add 0514f9a1 [core] Align dedicated Blob writes and URI resolution with 
Java (#989)
     add 6267e9c0 [rust] Reuse BTree data blocks across index lookups (#995)
     add c9cf6c82 [python] Add batch numeric extraction for Variant fields 
(#997)
     add 2d0dda18 feat(storage): support Jindo for OSS scan planning (#696)
     add c7735709 feat(catalog): support tag creation with retention (#1000)
     add cd5d36c4 feat(datafusion): add SQL options to SQLContext (#996)
     add 89ec844b [core] Unify the REST User-Agent format (#992)
     add 73ab9c33 [core] Unify the object storage User-Agent format (#991)
     add a2414a9d fix(variant): store shredded timestamps as microseconds (#983)
     add d81476a0 feat(spec): support the Avro deflate codec (#982)
     add 3be82f50 fix(arrow): read CSV boolean columns like Java's CsvParser 
(#980)
     add 519792a5 fix(arrow): convert dictionary and fixed-size-binary Arrow 
types (#978)
     add 297965a5 feat(datafusion): support the $buckets system table (#934)
     add 69118de8 feat(auth): authorize query-auth reads and carry the grant on 
the split (#758)
     add b2642a59 [io] Reduce BLOB footer and index reads with tail prefetch 
(#1010)
     add d57e85a9 [jindo] Fix unsafe fallback after process fork (#999)
     add be6d5094 [core] Align FileType classification and mutability with Java 
(#1013)
     add 0216923f [rust] Parallelize OR global-index planning across files 
(#1011)
     add b9bab593 perf(btree): load null bitmap on demand (#1008)
     add 18fc5797 fix(datafusion): map column-less MERGE INSERT VALUES by 
position (#984)
     add ea07f5c0 fix(datafusion): guard ALTER TABLE DROP PARTITION against 
time travel (#979)
     add fcb8eada fix(rest): preserve column errors through the REST catalog 
round trip (#977)
     add 783a0e3f fix(spec): reject non-primitive primary-key and partition-key 
types (#976)
     add c41ce209 feat(btree): support composite global indexes (#1015)
     add d2462936 [rust] Replace BLOB index entry limit with a memory budget 
(#998)
     add 0a4470e8 Align dynamic bucket writes and HASH index recovery with Java 
(#1016)
     add 66b14a0d Extend native cross-partition and postpone writes (#1017)
     add bede6650 Align postpone retract validation and managed Blob writes 
with Java (#1020)
     add 5a81a6d9 Align MAP writes and Variant shredding factories with Java 
(#1027)
     add 6555d4c3 feat(io): add optional OSS C++ SDK read backend (#1028)
     add ce13e8f9 feat(c,go): list databases and tables through the C and Go 
bindings (#1024)
     add 6342c2a6 feat(datafusion): add CALL sys.rename_tag (#1023)
     add 5c22b080 feat(go): expose string and range predicates through the Go 
binding (#1022)
     add 0c6b5118 perf(table): parallelize compound AND index evaluation (#1012)
     add 4bf77696 [python] Push batched Variant extraction into native reads 
(#1009)
     add 23656594 fix(spec): match Java whitespace for CHAR/VARCHAR partition 
values (#985)
     add 6b0d5c59 fix(arrow): read ragged CSV format-table rows permissively 
(#975)
     add 32331329 fix(spec): reject a non-positive or non-integer bucket number 
(#956)
     add 1707abc8 feat(go): support a read-builder limit hint for split pruning 
(#946)
     add 94872428 feat(datafusion): support the rename_branch procedure (#942)
     add 8c3527be Align row-tracking commit metadata and conflicts with Java 
(#1029)
     add e2872baf Support Java-aligned Paimon branch writes (#1033)
     add d53f64a0 Align inline Blob layouts and updates with Java (#1039)
     add 283f1f93 Drive nested, MAP and VARIANT projections from structured 
read types (#1041)
     add f58be6f2 [core] Write BLOB collections and read packed video files 
(#1044)
     add 3ba159ca [core] Align commit failure cleanup with Java (#1045)
     add 066f8078 [core] Support Java Data Evolution ROW sidecars (#1047)
     add 2457d30c [core] Support row-tracking sequence projections and 
predicates (#1051)
     add 326af03c [python] Discover an optionally packaged OSS C++ bridge 
(#1043)
     add dd230dbc [parquet] Support per-column dictionary encoding options 
(#1034)
     add b262b5f8 [core] Apply primary-key BLOB filters and limits before 
payload resolution (#1053)
     add 174ea898 [core] Support column-subset append writes and upserts (#1054)
     add 8e472c9f feat(table): build and drop full-text global indexes (#963)
     add 303ac287 perf(table): skip redundant BTree not-null queries (#1038)
     add 0452c6ee [core] Support precomputed bucket writes and snapshot 
restoration (#1056)
     add dd25596e [core] Support Java worker sharding in native scans (#1059)
     add ca54d4a4 Preserve supplied fields across key upsert batches (#1061)
     add e51971ef perf(arrow): evaluate integer IN with a bitmap or binary 
search (#1058)
     add 29600d99 perf(arrow): read Variant metadata as a dictionary for field 
extraction (#1057)
     add b560965d fix(arrow): map NULL to false in decimal residual leaf masks 
(#1030)
     add 820f0dc4 feat(predicate): read Java's string temporal and decimal 
literals in REST predicate JSON (#1018)
     add 29727bfe Support BlobConsumer for native append writes (#1063)

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |    4 +-
 .github/workflows/ci.yml                           |   80 +-
 Cargo.lock                                         |   17 +
 benchmarks/tpcds/DEPENDENCIES.rust.tsv             |    1 +
 bindings/c/Cargo.toml                              |    1 +
 bindings/c/DEPENDENCIES.rust.tsv                   |  880 +++---
 bindings/c/src/catalog.rs                          |   81 +-
 bindings/c/src/error.rs                            |   39 +
 bindings/c/src/lib.rs                              |    1 +
 bindings/c/src/resource.rs                         |   89 +
 bindings/c/src/result.rs                           |   12 +
 bindings/c/src/table.rs                            |  137 +-
 bindings/c/src/tests.rs                            |  468 +++
 bindings/c/src/types.rs                            |   68 +
 bindings/c/src/write.rs                            |   67 +
 bindings/go/DEPENDENCIES.rust.tsv                  |  880 +++---
 bindings/go/catalog.go                             |   71 +
 bindings/go/error.go                               |   19 +-
 bindings/go/postpone_fixed_bucket_write.go         |   20 +-
 bindings/go/postpone_fixed_bucket_write_ffi.go     |   12 +
 bindings/go/predicate.go                           |  162 ++
 bindings/go/read_builder.go                        |   69 +
 bindings/go/resource.go                            |  124 +
 bindings/go/tests/catalog_tag_test.go              |   35 +
 bindings/go/tests/paimon_test.go                   |  105 +
 bindings/go/tests/resource_test.go                 |  209 ++
 bindings/go/types.go                               |   77 +
 bindings/go/write.go                               |   20 +-
 bindings/go/write_ffi.go                           |   12 +
 bindings/python/Cargo.toml                         |    1 +
 bindings/python/README.md                          |  108 +-
 .../{Makefile => python/pypaimon_rust/data.pyi}    |   14 +-
 .../python/python/pypaimon_rust/datafusion.pyi     |  233 +-
 bindings/python/src/context.rs                     |  144 +-
 bindings/python/src/error.rs                       |  133 +-
 bindings/python/src/lib.rs                         |    5 +
 bindings/python/src/oss_cpp.rs                     |  153 +
 bindings/python/src/predicate.rs                   |   39 +-
 bindings/python/src/read.rs                        |  342 ++-
 bindings/python/src/schema.rs                      |    4 +
 bindings/python/src/table.rs                       |   63 +-
 bindings/python/src/update_assignment.rs           |  133 +
 bindings/python/src/variant.rs                     |   55 +
 bindings/python/src/write.rs                       | 1393 +++++++--
 bindings/python/tests/test_blob_consumer.py        |  124 +
 bindings/python/tests/test_datafusion.py           |   30 +
 bindings/python/tests/test_read.py                 |  700 ++++-
 bindings/python/tests/test_resolved_table.py       |  122 +
 bindings/python/tests/test_runtime_fork.py         |    5 +
 bindings/python/tests/test_table.py                |   34 +
 bindings/python/tests/test_table_commit.py         |  457 +++
 bindings/python/tests/test_update.py               |  431 +++
 bindings/python/tests/test_variant.py              |   65 +
 bindings/python/tests/test_write.py                |  207 +-
 crates/integration_tests/DEPENDENCIES.rust.tsv     |  808 +++---
 crates/integration_tests/tests/read_tables.rs      |    2 +-
 crates/integrations/datafusion/Cargo.toml          |    2 +-
 crates/integrations/datafusion/README.md           |   14 +
 crates/integrations/datafusion/src/error.rs        |    7 +-
 .../datafusion/src/format_partition_ddl.rs         |   15 +-
 .../datafusion/src/lateral_vector_search.rs        |    4 +
 crates/integrations/datafusion/src/lib.rs          |    2 +
 crates/integrations/datafusion/src/memory.rs       |   66 +
 crates/integrations/datafusion/src/merge_into.rs   |  193 +-
 .../datafusion/src/partition_count_pushdown.rs     |  583 ++++
 .../datafusion/src/physical_plan/audit_log.rs      |    4 +-
 .../datafusion/src/physical_plan/scan.rs           |  161 +-
 .../datafusion/src/physical_plan/sink.rs           |    4 +-
 crates/integrations/datafusion/src/procedures.rs   |  673 ++++-
 crates/integrations/datafusion/src/runtime.rs      |   80 +-
 crates/integrations/datafusion/src/sql_context.rs  |  148 +-
 .../src/system_tables/aggregation_fields.rs        |  133 +
 .../datafusion/src/system_tables/buckets.rs        |  258 ++
 .../datafusion/src/system_tables/mod.rs            |   10 +-
 .../src/system_tables/physical_files_size.rs       |   12 +-
 .../src/system_tables/referenced_files_size.rs     |    7 +-
 crates/integrations/datafusion/src/table/mod.rs    |    7 +-
 crates/integrations/datafusion/src/update.rs       |    6 +-
 .../datafusion/src/variant_functions.rs            |   66 +-
 .../datafusion/src/variant_pushdown.rs             |    8 +-
 crates/integrations/datafusion/tests/blob_tests.rs |   88 +-
 .../tests/catalog_callbacks_on_runtime_workers.rs  |  112 +
 .../datafusion/tests/dynamic_bucket_tables.rs      |   56 +-
 .../tests/format_table_partition_filters.rs        |   51 +
 .../tests/global_index_schema_evolution.rs         |  107 +
 .../tests/partition_conjunct_pushdown.rs           |  136 +
 .../datafusion/tests/partition_count_pushdown.rs   |  956 ++++++
 crates/integrations/datafusion/tests/pk_tables.rs  |   48 +-
 crates/integrations/datafusion/tests/procedures.rs |  309 +-
 .../datafusion/tests/rest_format_partition_sql.rs  |   14 +-
 .../datafusion/tests/rest_format_table_dml.rs      |  205 +-
 .../datafusion/tests/rest_format_table_scan.rs     |  131 +-
 .../datafusion/tests/rest_management_procedures.rs |  847 ++++++
 .../datafusion/tests/sql_context_tests.rs          |   74 +-
 .../integrations/datafusion/tests/system_tables.rs |  214 ++
 .../datafusion/tests/time_travel_schema_tests.rs   |  156 +
 .../datafusion/tests/variant_pushdown.rs           |   42 +-
 crates/paimon-rest-server/DEPENDENCIES.rust.tsv    |  820 +++---
 crates/paimon-rest-server/src/lib.rs               |   24 +-
 crates/paimon-rest-server/tests/e2e.rs             |   77 +
 crates/paimon/Cargo.toml                           |   23 +-
 crates/paimon/DEPENDENCIES.rust.tsv                | 1279 ++++----
 .../tpcds/src/main.rs => crates/paimon/build.rs    |   16 +-
 crates/paimon/src/api/api_request.rs               |   10 +
 crates/paimon/src/api/api_response.rs              |    5 +
 crates/paimon/src/api/auth/dlf_provider.rs         |  395 ++-
 crates/paimon/src/api/auth/factory.rs              |   14 +-
 crates/paimon/src/api/auth/mod.rs                  |    4 +-
 crates/paimon/src/api/mod.rs                       |    1 +
 crates/paimon/src/api/rest_api.rs                  |   60 +-
 crates/paimon/src/api/rest_client.rs               |  165 +-
 crates/paimon/src/api/user_agent.rs                |   90 +
 crates/paimon/src/arrow/filtering.rs               |    6 +-
 crates/paimon/src/arrow/format/avro.rs             |   92 +-
 crates/paimon/src/arrow/format/avro_write.rs       | 1034 +++++++
 crates/paimon/src/arrow/format/blob.rs             | 1747 ++++++++---
 crates/paimon/src/arrow/format/blob/writer.rs      |  751 +++++
 .../src/arrow/format/blob/writer_consumer_tests.rs |  286 ++
 crates/paimon/src/arrow/format/delta_varint.rs     |   97 +
 crates/paimon/src/arrow/format/metadata_cache.rs   |  440 +++
 crates/paimon/src/arrow/format/mod.rs              |  595 +++-
 crates/paimon/src/arrow/format/mosaic.rs           |   11 +-
 crates/paimon/src/arrow/format/mosaic_write.rs     | 1215 ++++++++
 crates/paimon/src/arrow/format/orc.rs              |  527 +++-
 crates/paimon/src/arrow/format/parquet.rs          | 3057 ++++++++++++++++++--
 crates/paimon/src/arrow/format/row.rs              |  456 ++-
 crates/paimon/src/arrow/format/shredding.rs        |  597 ++--
 crates/paimon/src/arrow/format/text.rs             | 1522 ++++++++++
 .../paimon/src/arrow/format/variant_projection.rs  |  297 ++
 crates/paimon/src/arrow/format/video.rs            |  514 ++++
 crates/paimon/src/arrow/format/vortex.rs           |  137 +
 crates/paimon/src/arrow/mod.rs                     |   97 +-
 crates/paimon/src/arrow/nested_evolution.rs        |  560 +++-
 crates/paimon/src/arrow/partition.rs               |   19 +-
 crates/paimon/src/arrow/read_budget.rs             |  199 +-
 crates/paimon/src/arrow/residual.rs                |  428 ++-
 crates/paimon/src/arrow/shredding/map.rs           |  625 +++-
 crates/paimon/src/arrow/shredding/mod.rs           |   35 +-
 crates/paimon/src/arrow/shredding/variant.rs       |  813 +++++-
 crates/paimon/src/arrow/variant.rs                 |  427 +++
 crates/paimon/src/btree/block.rs                   |   50 +-
 crates/paimon/src/btree/composite_key.rs           |  268 ++
 crates/paimon/src/btree/composite_predicate.rs     |  457 +++
 crates/paimon/src/btree/composite_tests.rs         |  664 +++++
 crates/paimon/src/btree/data_block_cache.rs        |  104 +
 crates/paimon/src/btree/footer.rs                  |    7 +
 crates/paimon/src/btree/key_serde.rs               |  289 +-
 crates/paimon/src/btree/meta.rs                    |  104 +-
 crates/paimon/src/btree/mod.rs                     |   17 +-
 crates/paimon/src/btree/posting_list.rs            |  271 ++
 crates/paimon/src/btree/query.rs                   |  141 +-
 crates/paimon/src/btree/reader.rs                  |  275 +-
 crates/paimon/src/btree/tests.rs                   |  931 +++++-
 crates/paimon/src/btree/var_len.rs                 |   56 +
 crates/paimon/src/btree/writer.rs                  |   49 +-
 crates/paimon/src/catalog/filesystem.rs            |  282 +-
 crates/paimon/src/catalog/mod.rs                   |   42 +
 crates/paimon/src/catalog/rest/rest_catalog.rs     |  116 +-
 .../paimon/src/catalog/rest/rest_token_file_io.rs  |   28 +-
 crates/paimon/src/common/options.rs                |   20 +-
 crates/paimon/src/error.rs                         |  177 +-
 crates/paimon/src/file_index/bsi.rs                |  519 ++++
 crates/paimon/src/file_index/bsi/tests.rs          |  498 ++++
 .../paimon/src/file_index/file_indexer_factory.rs  |   47 +-
 crates/paimon/src/file_index/mod.rs                |    2 +
 crates/paimon/src/file_index/range_bitmap.rs       |   60 +-
 .../paimon/src/file_index/range_bitmap/writer.rs   |  255 ++
 .../writer/fixtures/GenerateRangeBitmap.java       |   66 +
 .../range_bitmap/writer/fixtures/README.md         |   39 +
 .../src/file_index/range_bitmap/writer/tests.rs    |  389 +++
 crates/paimon/src/io/cache/file_type.rs            |  160 +-
 crates/paimon/src/io/cache/mod.rs                  |    2 +
 crates/paimon/src/io/file_io.rs                    | 1200 +++++++-
 crates/paimon/src/io/file_io/provider_tests.rs     |   33 +
 crates/paimon/src/io/jindo_ffi.cc                  |   93 +
 crates/paimon/src/io/mod.rs                        |   26 +-
 crates/paimon/src/io/storage.rs                    |  163 +-
 crates/paimon/src/io/storage_azdls.rs              |   22 +-
 crates/paimon/src/io/storage_cos.rs                |   11 +-
 crates/paimon/src/io/storage_gcs.rs                |   11 +-
 crates/paimon/src/io/storage_hdfs.rs               |   42 +-
 crates/paimon/src/io/storage_jindo.rs              | 1795 ++++++++++++
 crates/paimon/src/io/storage_obs.rs                |   11 +-
 crates/paimon/src/io/storage_oss.rs                |   64 +-
 crates/paimon/src/io/storage_oss_cpp.rs            |  780 +++++
 crates/paimon/src/io/storage_oss_cpp_test.rs       |  506 ++++
 crates/paimon/src/io/storage_s3.rs                 |   15 +-
 crates/paimon/src/io/uri_reader.rs                 |  406 +++
 crates/paimon/src/io/user_agent.rs                 |  291 ++
 crates/paimon/src/lib.rs                           |    4 +-
 crates/paimon/src/lumina/mod.rs                    |   84 +-
 crates/paimon/src/lumina/reader.rs                 |  173 +-
 crates/paimon/src/predicate_stats.rs               |   65 +-
 crates/paimon/src/resource/memory.rs               |  150 +
 crates/paimon/src/resource/mod.rs                  |  115 +
 crates/paimon/src/resource/tests.rs                |  163 ++
 crates/paimon/src/spec/aggregation.rs              |  157 +-
 crates/paimon/src/spec/avro/decode_helpers.rs      |    2 +-
 .../src/spec/avro/index_manifest_entry_decode.rs   |  117 +-
 .../paimon/src/spec/avro/manifest_entry_decode.rs  |  354 ++-
 crates/paimon/src/spec/avro/mod.rs                 |   61 +
 crates/paimon/src/spec/avro/ocf.rs                 |   49 +
 crates/paimon/src/spec/binary_row.rs               |   44 +-
 crates/paimon/src/spec/blob_consumer.rs            |   41 +
 crates/paimon/src/spec/core_options.rs             |  795 ++++-
 crates/paimon/src/spec/index_file_meta.rs          |  217 ++
 crates/paimon/src/spec/index_manifest.rs           |   73 +-
 crates/paimon/src/spec/manifest.rs                 |    3 +-
 crates/paimon/src/spec/manifest_file_meta.rs       |   15 +-
 crates/paimon/src/spec/manifest_sidecar.rs         |  149 +-
 crates/paimon/src/spec/map_selected_keys.rs        |  120 +
 crates/paimon/src/spec/map_shredding.rs            |  438 +++
 crates/paimon/src/spec/mod.rs                      |   18 +-
 crates/paimon/src/spec/murmur_hash.rs              |   18 +
 crates/paimon/src/spec/objects_file.rs             |   77 +-
 crates/paimon/src/spec/partial_update.rs           |  206 +-
 crates/paimon/src/spec/partition_utils.rs          |  455 ++-
 crates/paimon/src/spec/predicate.rs                |  271 +-
 crates/paimon/src/spec/read_type.rs                |  238 ++
 crates/paimon/src/spec/schema.rs                   | 1070 ++++++-
 crates/paimon/src/spec/snapshot.rs                 |    8 +
 crates/paimon/src/spec/types.rs                    |   41 +-
 crates/paimon/src/spec/variant_metadata.rs         |  115 +-
 crates/paimon/src/spec/video_frame_descriptor.rs   |  215 ++
 crates/paimon/src/table/aggregator/bitmap.rs       |  139 +
 crates/paimon/src/table/aggregator/bitmap64.rs     |  520 ++++
 crates/paimon/src/table/aggregator/collect.rs      |  440 +++
 crates/paimon/src/table/aggregator/listagg.rs      |  144 +-
 crates/paimon/src/table/aggregator/merge_map.rs    |  567 ++++
 crates/paimon/src/table/aggregator/mod.rs          |  160 +-
 crates/paimon/src/table/aggregator/nested.rs       |  755 +++++
 crates/paimon/src/table/aggregator/numeric.rs      |  472 ++-
 crates/paimon/src/table/aggregator/sketch.rs       |  598 ++++
 crates/paimon/src/table/aggregator/value.rs        |   96 +-
 crates/paimon/src/table/audit_log_table/read.rs    |    8 +-
 .../paimon/src/table/bitmap_global_index_format.rs |   14 +-
 .../paimon/src/table/bitmap_global_index_reader.rs |  109 +-
 .../paimon/src/table/bitmap_global_index_writer.rs |   52 +-
 crates/paimon/src/table/blob_consumer_tests.rs     |  247 ++
 crates/paimon/src/table/blob_resolver.rs           |  251 +-
 crates/paimon/src/table/branch_manager.rs          |   42 +-
 crates/paimon/src/table/branch_write_tests.rs      |  728 +++++
 crates/paimon/src/table/bucket_assigner_cross.rs   |  269 +-
 crates/paimon/src/table/bucket_assigner_dynamic.rs |  770 ++++-
 crates/paimon/src/table/chunk_shuffle.rs           | 1035 +++++++
 crates/paimon/src/table/commit_message.rs          |  320 +-
 crates/paimon/src/table/cow_writer.rs              |    4 +-
 crates/paimon/src/table/data_evolution_fields.rs   |  368 +++
 crates/paimon/src/table/data_evolution_nested.rs   |  786 +++++
 crates/paimon/src/table/data_evolution_reader.rs   | 1308 +++++++--
 .../table/data_evolution_reader/blob_fallback.rs   |   62 +-
 crates/paimon/src/table/data_evolution_writer.rs   | 1542 ++++++++--
 crates/paimon/src/table/data_file_index_writer.rs  |   30 +-
 .../src/table/data_file_index_writer/tests.rs      | 1007 ++++++-
 crates/paimon/src/table/data_file_path_factory.rs  |  101 +
 crates/paimon/src/table/data_file_reader.rs        | 1311 +++++++--
 crates/paimon/src/table/data_file_writer.rs        |  798 ++++-
 .../src/table/dedicated_format_file_writer.rs      |  431 ++-
 crates/paimon/src/table/external_path.rs           |  351 +++
 crates/paimon/src/table/format_partition.rs        |  129 +-
 .../paimon/src/table/format_partition_location.rs  |  544 ++++
 crates/paimon/src/table/format_table_commit.rs     |  633 ++++
 crates/paimon/src/table/format_table_defaults.rs   | 1404 +++++++++
 crates/paimon/src/table/format_table_read.rs       |   29 +-
 crates/paimon/src/table/format_table_scan.rs       |   67 +-
 .../paimon/src/table/format_table_write_tests.rs   | 1842 ++++++++++++
 crates/paimon/src/table/format_table_writer.rs     |  592 ++++
 crates/paimon/src/table/format_write_builder.rs    |   33 +-
 .../src/table/full_text_index_build_builder.rs     |  540 ++++
 .../table/full_text_index_build_builder/tests.rs   |  646 +++++
 .../paimon/src/table/global_index_build_common.rs  |  110 +-
 .../src/table/global_index_build_common/vector.rs  |    4 +-
 .../paimon/src/table/global_index_drop_builder.rs  |  109 +-
 crates/paimon/src/table/global_index_scanner.rs    |   70 +-
 .../src/table/global_index_scanner/all_match.rs    |  115 +
 .../src/table/global_index_scanner/composite.rs    |  227 ++
 .../paimon/src/table/global_index_scanner/entry.rs |    9 +-
 .../src/table/global_index_scanner/evaluator.rs    |  275 +-
 .../src/table/global_index_scanner/reader.rs       |   88 +-
 .../src/table/global_index_scanner/row_ranges.rs   |   39 +-
 .../paimon/src/table/global_index_scanner/tests.rs | 1783 +++++++++++-
 crates/paimon/src/table/global_index_types.rs      |   25 +-
 .../paimon/src/table/goldens/GenerateHllDense.java |   51 +
 .../src/table/goldens/GenerateRoaring64Dense.java  |   22 +-
 .../src/table/goldens/hll_java_compact_aux.bin     |  Bin 0 -> 32856 bytes
 .../paimon/src/table/goldens/hll_java_dense6_a.bin |  Bin 0 -> 3113 bytes
 .../paimon/src/table/goldens/hll_java_dense6_b.bin |  Bin 0 -> 3113 bytes
 .../paimon/src/table/goldens/hll_java_dense8_a.bin |  Bin 0 -> 4136 bytes
 .../paimon/src/table/goldens/hll_java_dense8_b.bin |  Bin 0 -> 4136 bytes
 .../paimon/src/table/goldens/hll_java_dense_a.bin  |  Bin 0 -> 2088 bytes
 .../paimon/src/table/goldens/hll_java_dense_b.bin  |  Bin 0 -> 2092 bytes
 .../src/table/goldens/hll_java_updatable_aux.bin   |  Bin 0 -> 33832 bytes
 .../src/table/goldens/roaring64_java_dense.bin     |  Bin 0 -> 542 bytes
 crates/paimon/src/table/incremental_scan.rs        |   59 +-
 crates/paimon/src/table/index_file_path.rs         |  250 +-
 crates/paimon/src/table/inline_blob.rs             |   68 +
 crates/paimon/src/table/kv_file_reader.rs          |  802 ++++-
 crates/paimon/src/table/kv_file_writer.rs          | 1655 +++++++++--
 .../table/lumina_index_build_builder/extraction.rs |   18 +-
 .../src/table/lumina_index_build_builder/tests.rs  |   52 +
 .../src/table/lumina_index_build_builder/writer.rs |   37 +-
 crates/paimon/src/table/managed_blob_reader.rs     |  962 ++++++
 crates/paimon/src/table/managed_blob_reference.rs  |  287 ++
 .../paimon/src/table/managed_blob_table_tests.rs   | 1549 ++++++++++
 crates/paimon/src/table/managed_blob_writer.rs     |  475 +++
 .../paimon/src/table/map_shredding_write_tests.rs  |  297 ++
 crates/paimon/src/table/mod.rs                     |  288 +-
 .../paimon/src/table/mosaic_table_write_tests.rs   |  962 ++++++
 crates/paimon/src/table/partition_filter.rs        |  414 ++-
 crates/paimon/src/table/partition_row_count.rs     | 1573 ++++++++++
 crates/paimon/src/table/pk_vector_scan.rs          |   61 +-
 crates/paimon/src/table/postpone_bucket_plan.rs    |   52 +-
 crates/paimon/src/table/postpone_file_writer.rs    |  336 ++-
 .../src/table/postpone_fixed_bucket_router.rs      |    8 +
 .../src/table/postpone_fixed_bucket_write.rs       |  353 ++-
 .../table/postpone_fixed_bucket_write_builder.rs   |   47 +-
 crates/paimon/src/table/postpone_retract.rs        |  141 +
 crates/paimon/src/table/query_auth.rs              |  561 ++++
 crates/paimon/src/table/read_builder.rs            |  275 +-
 .../paimon/src/table/read_limit.rs                 |   31 +-
 crates/paimon/src/table/referenced_files.rs        |  170 +-
 crates/paimon/src/table/rest_env.rs                |  244 +-
 crates/paimon/src/table/row_position_selection.rs  |  394 ++-
 crates/paimon/src/table/row_sidecar.rs             |  248 ++
 crates/paimon/src/table/snapshot_commit.rs         |   42 +-
 crates/paimon/src/table/snapshot_manager.rs        |   11 +-
 crates/paimon/src/table/sort_merge.rs              |  829 +++++-
 .../src/table/sorted_global_index_build_builder.rs |   40 +-
 .../extraction.rs                                  |  120 +-
 .../sorted_global_index_build_builder/planning.rs  |    4 +-
 .../sorted_global_index_build_builder/tests.rs     | 1132 +++++++-
 .../validation.rs                                  |    1 +
 .../sorted_global_index_build_builder/writer.rs    |   44 +-
 .../src/table/sorted_global_index_options.rs       |   32 +
 crates/paimon/src/table/source.rs                  |  102 +-
 crates/paimon/src/table/stats_filter.rs            |    9 +-
 crates/paimon/src/table/table_commit.rs            | 1799 ++++++++----
 .../paimon/src/table/table_commit/abort_tests.rs   |  121 +
 .../paimon/src/table/table_commit/parity_tests.rs  |  663 +++++
 .../src/table/table_commit/recovery_tests.rs       |  629 ++++
 .../paimon/src/table/table_commit/row_tracking.rs  |  141 +
 .../src/table/table_commit/row_tracking_tests.rs   |  565 ++++
 crates/paimon/src/table/table_read.rs              | 1151 +++++++-
 crates/paimon/src/table/table_scan.rs              | 1060 ++++++-
 crates/paimon/src/table/table_update.rs            |  225 +-
 crates/paimon/src/table/table_update_by_row_id.rs  |  125 +
 crates/paimon/src/table/table_update_predicate.rs  |  222 ++
 crates/paimon/src/table/table_upsert.rs            |  430 +++
 crates/paimon/src/table/table_write.rs             | 1398 ++++++---
 crates/paimon/src/table/table_write_precomputed.rs |  102 +
 crates/paimon/src/table/tag_manager.rs             |  297 +-
 crates/paimon/src/table/time_travel.rs             |  125 +
 crates/paimon/src/table/update_assignment.rs       |  160 +
 crates/paimon/src/table/update_input.rs            | 2595 +++++++++++++++++
 crates/paimon/src/table/upsert_key_matcher.rs      |  309 ++
 .../paimon/src/table/vindex_index_build_builder.rs |    3 +
 .../table/vindex_index_build_builder/extraction.rs |  108 +-
 .../table/vindex_index_build_builder/pipeline.rs   | 1662 +++++++++++
 .../src/table/vindex_index_build_builder/tests.rs  |  379 ++-
 .../src/table/vindex_index_build_builder/timing.rs |    8 +-
 .../src/table/vindex_index_build_builder/writer.rs |  149 +-
 crates/paimon/src/table/write_batch_normalize.rs   |  508 ++++
 crates/paimon/src/table/write_builder.rs           |  161 +-
 crates/paimon/src/variant.rs                       |  431 ++-
 crates/paimon/src/variant/inference.rs             |  632 ++++
 crates/paimon/src/variant/numeric.rs               |  367 +++
 crates/paimon/src/vindex/mod.rs                    |   74 +
 crates/paimon/testdata/btree/GenerateBTreeV2.java  |   68 +
 .../testdata/btree/GenerateCompositeBTree.java     |   96 +
 crates/paimon/testdata/btree/README.md             |   79 +
 .../testdata/btree/btree_composite_java_scalar.key |  Bin 0 -> 52 bytes
 .../testdata/btree/btree_composite_v1_java_lz4.bin |  Bin 0 -> 873 bytes
 .../btree/btree_composite_v1_java_lz4.meta         |  Bin 0 -> 23 bytes
 .../btree/btree_composite_v1_java_none.bin         |  Bin 0 -> 1144 bytes
 .../btree/btree_composite_v1_java_none.meta        |  Bin 0 -> 23 bytes
 .../testdata/btree/btree_composite_v2_java_lz4.bin |  Bin 0 -> 799 bytes
 .../btree/btree_composite_v2_java_lz4.meta         |  Bin 0 -> 23 bytes
 .../btree/btree_composite_v2_java_none.bin         |  Bin 0 -> 1249 bytes
 .../btree/btree_composite_v2_java_none.meta        |  Bin 0 -> 23 bytes
 crates/paimon/testdata/btree/btree_v2_java_lz4.bin |  Bin 0 -> 419 bytes
 .../paimon/testdata/btree/btree_v2_java_none.bin   |  Bin 0 -> 8562 bytes
 crates/paimon/testdata/file_index/README.md        |   41 +
 ...-c6f0f8ca-a74f-42ce-af35-fc4f4ef2d003-0.parquet |  Bin 0 -> 564 bytes
 ...anifest-982c31e0-7caa-4462-a270-3b130005e913-0} |  Bin 2187 -> 2273 bytes
 ...st-list-9d29ca76-96e0-424d-8ccf-28d75ee5b70e-0} |  Bin 1110 -> 1158 bytes
 ...st-list-9d29ca76-96e0-424d-8ccf-28d75ee5b70e-1} |  Bin 1110 -> 1263 bytes
 .../default.db/bitmap_embedded/schema/schema-0     |   25 +
 .../default.db/bitmap_embedded}/snapshot/EARLIEST  |    0
 .../default.db/bitmap_embedded}/snapshot/LATEST    |    0
 .../default.db/bitmap_embedded/snapshot/snapshot-1 |   18 +
 ...-d9e65532-1aa9-4878-bb30-24862120212c-0.parquet |  Bin 0 -> 564 bytes
 ...532-1aa9-4878-bb30-24862120212c-0.parquet.index |  Bin 0 -> 130 bytes
 ...anifest-392c52de-fdae-4262-81fb-4049e95c37de-0} |  Bin 2187 -> 2211 bytes
 ...st-list-973ebadd-00a4-4672-a3b1-81e48cc9ec83-0} |  Bin 1110 -> 1158 bytes
 ...st-list-973ebadd-00a4-4672-a3b1-81e48cc9ec83-1} |  Bin 1110 -> 1263 bytes
 .../default.db/bitmap_sidecar/schema/schema-0      |   25 +
 .../default.db/bitmap_sidecar}/snapshot/EARLIEST   |    0
 .../default.db/bitmap_sidecar}/snapshot/LATEST     |    0
 .../default.db/bitmap_sidecar/snapshot/snapshot-1  |   18 +
 ...-9ce3b83d-6c45-4dc1-a34e-819b5fb2e331-0.parquet |  Bin 0 -> 564 bytes
 ...anifest-8dd937f3-747e-4f87-a296-489d11ef050c-0} |  Bin 2187 -> 2255 bytes
 ...st-list-ac933951-c2f2-4af6-b3d4-d20e80e79189-0} |  Bin 1110 -> 1158 bytes
 ...st-list-ac933951-c2f2-4af6-b3d4-d20e80e79189-1} |  Bin 1110 -> 1263 bytes
 .../bloom_filter_embedded/schema/schema-0          |   27 +
 .../bloom_filter_embedded}/snapshot/EARLIEST       |    0
 .../bloom_filter_embedded}/snapshot/LATEST         |    0
 .../bloom_filter_embedded/snapshot/snapshot-1      |   18 +
 ...-2e01926c-6cd0-4dd5-b576-80ddf6e55632-0.parquet |  Bin 0 -> 564 bytes
 ...26c-6cd0-4dd5-b576-80ddf6e55632-0.parquet.index |  Bin 0 -> 78 bytes
 ...anifest-214eaa6e-a8e8-4903-a41a-3fa04732e5e4-0} |  Bin 2187 -> 2212 bytes
 ...st-list-baa54195-a358-4f0b-9ca9-51503661a534-0} |  Bin 1110 -> 1158 bytes
 ...st-list-baa54195-a358-4f0b-9ca9-51503661a534-1} |  Bin 1110 -> 1260 bytes
 .../bloom_filter_sidecar/schema/schema-0           |   27 +
 .../bloom_filter_sidecar}/snapshot/EARLIEST        |    0
 .../bloom_filter_sidecar}/snapshot/LATEST          |    0
 .../bloom_filter_sidecar/snapshot/snapshot-1       |   18 +
 ...-791a54a7-4d19-43c3-8752-31cd6073433a-0.parquet |  Bin 0 -> 565 bytes
 ...anifest-155640a3-e50d-4be7-ba72-de0afe2a8fec-0} |  Bin 2187 -> 2302 bytes
 ...st-list-ecab87c6-de6d-44d0-a6ae-3705321d971d-0} |  Bin 1110 -> 1158 bytes
 ...st-list-ecab87c6-de6d-44d0-a6ae-3705321d971d-1} |  Bin 1110 -> 1263 bytes
 .../range_bitmap_embedded/schema/schema-0          |   25 +
 .../range_bitmap_embedded}/snapshot/EARLIEST       |    0
 .../range_bitmap_embedded}/snapshot/LATEST         |    0
 .../range_bitmap_embedded/snapshot/snapshot-1      |   18 +
 ...-9db69c4d-d10c-4f94-aed9-c16cd7fbe1e1-0.parquet |  Bin 0 -> 565 bytes
 ...c4d-d10c-4f94-aed9-c16cd7fbe1e1-0.parquet.index |  Bin 0 -> 191 bytes
 ...anifest-e1c11d52-6e22-4d10-b62a-833b60216bf2-0} |  Bin 2187 -> 2211 bytes
 ...st-list-107ca82a-e4a8-4a88-8439-b15d770f0474-0} |  Bin 1110 -> 1158 bytes
 ...st-list-107ca82a-e4a8-4a88-8439-b15d770f0474-1} |  Bin 1110 -> 1263 bytes
 .../range_bitmap_sidecar/schema/schema-0           |   25 +
 .../range_bitmap_sidecar}/snapshot/EARLIEST        |    0
 .../range_bitmap_sidecar}/snapshot/LATEST          |    0
 .../range_bitmap_sidecar/snapshot/snapshot-1       |   18 +
 .../JavaFileIndexTableFixtureGeneratorTest.java    |  114 +
 crates/paimon/testdata/file_index/regenerate.sh    |   64 +
 .../testdata/video/video-frame-descriptor-v1.hex   |    8 +-
 .../paimon/testdata/video/video-v1.hex             |    8 +-
 crates/paimon/tests/audit_log_table_test.rs        |   31 +
 .../tests/binary_partition_native_write_test.rs    |  128 +
 crates/paimon/tests/blob_collection_write_test.rs  |  270 ++
 crates/paimon/tests/blob_http_error_test.rs        |  133 +
 crates/paimon/tests/cross_partition_write_test.rs  |  323 +++
 .../tests/data_evolution_row_sidecar_test.rs       |  797 +++++
 .../tests/data_evolution_system_columns_test.rs    |  599 ++++
 crates/paimon/tests/data_file_directory_test.rs    |  470 +++
 crates/paimon/tests/dedicated_blob_write_test.rs   |  556 ++++
 crates/paimon/tests/dynamic_bucket_write_test.rs   |  287 ++
 crates/paimon/tests/external_data_write_test.rs    |  383 +++
 .../paimon/tests/file_index_java_fixture_test.rs   |  312 ++
 crates/paimon/tests/incremental_batch_scan_test.rs |  218 ++
 .../paimon/tests/incremental_diff_extended_test.rs |  804 +++++
 crates/paimon/tests/mock_server.rs                 |  190 +-
 .../tests/nested_native_write_compat_test.rs       |  239 ++
 .../paimon/tests/parquet_write_page_index_test.rs  |  122 +
 ...pk_partial_update_sequence_group_parity_test.rs |  357 +++
 .../paimon/tests/pk_user_sequence_parity_test.rs   |  426 +++
 crates/paimon/tests/pk_value_stats_test.rs         |  123 +
 crates/paimon/tests/pk_write_reuse_seq_test.rs     |   82 +
 crates/paimon/tests/postpone_native_write_test.rs  |  297 ++
 .../paimon/tests/precomputed_bucket_write_test.rs  |  731 +++++
 crates/paimon/tests/reader_resources_test.rs       |  332 +++
 crates/paimon/tests/rest_api_test.rs               |   33 +
 crates/paimon/tests/rest_catalog_test.rs           |  738 ++++-
 crates/paimon/tests/rowkind_field_test.rs          |  796 +++++
 crates/paimon/tests/scan_planning_parity_test.rs   |   64 +-
 crates/paimon/tests/table_partial_write_test.rs    |  344 +++
 crates/paimon/tests/table_update_nested_test.rs    |  439 +++
 crates/paimon/tests/table_update_paths_test.rs     |  563 ++++
 crates/paimon/tests/table_update_test.rs           | 2141 ++++++++++++++
 crates/paimon/tests/target_file_row_num_test.rs    |  184 ++
 crates/paimon/tests/writer_resources_test.rs       |  359 +++
 docs/src/c-binding.md                              |   76 +
 docs/src/getting-started.md                        |   97 +-
 docs/src/go-binding.md                             |   25 +
 docs/src/python-binding.md                         |   63 +-
 docs/src/releases.md                               |    5 +
 docs/src/sql.md                                    |  227 +-
 integrations/oss-cpp/CMakeLists.txt                |   25 +
 integrations/oss-cpp/README.md                     |   85 +
 integrations/oss-cpp/bridge.cc                     |  190 ++
 integrations/oss-cpp/bridge.h                      |   65 +
 scripts/validate_asf_yaml.py                       |    1 +
 482 files changed, 116275 insertions(+), 9166 deletions(-)
 create mode 100644 bindings/c/src/resource.rs
 create mode 100644 bindings/go/resource.go
 create mode 100644 bindings/go/tests/resource_test.go
 copy bindings/python/{Makefile => python/pypaimon_rust/data.pyi} (75%)
 create mode 100644 bindings/python/src/oss_cpp.rs
 create mode 100644 bindings/python/src/update_assignment.rs
 create mode 100644 bindings/python/src/variant.rs
 create mode 100644 bindings/python/tests/test_blob_consumer.py
 create mode 100644 bindings/python/tests/test_table_commit.py
 create mode 100644 bindings/python/tests/test_update.py
 create mode 100644 bindings/python/tests/test_variant.py
 create mode 100644 crates/integrations/datafusion/src/memory.rs
 create mode 100644 
crates/integrations/datafusion/src/partition_count_pushdown.rs
 create mode 100644 
crates/integrations/datafusion/src/system_tables/aggregation_fields.rs
 create mode 100644 crates/integrations/datafusion/src/system_tables/buckets.rs
 create mode 100644 
crates/integrations/datafusion/tests/catalog_callbacks_on_runtime_workers.rs
 create mode 100644 
crates/integrations/datafusion/tests/global_index_schema_evolution.rs
 create mode 100644 
crates/integrations/datafusion/tests/partition_conjunct_pushdown.rs
 create mode 100644 
crates/integrations/datafusion/tests/partition_count_pushdown.rs
 create mode 100644 
crates/integrations/datafusion/tests/rest_management_procedures.rs
 copy benchmarks/tpcds/src/main.rs => crates/paimon/build.rs (70%)
 create mode 100644 crates/paimon/src/api/user_agent.rs
 create mode 100644 crates/paimon/src/arrow/format/avro_write.rs
 create mode 100644 crates/paimon/src/arrow/format/blob/writer.rs
 create mode 100644 crates/paimon/src/arrow/format/blob/writer_consumer_tests.rs
 create mode 100644 crates/paimon/src/arrow/format/delta_varint.rs
 create mode 100644 crates/paimon/src/arrow/format/metadata_cache.rs
 create mode 100644 crates/paimon/src/arrow/format/mosaic_write.rs
 create mode 100644 crates/paimon/src/arrow/format/text.rs
 create mode 100644 crates/paimon/src/arrow/format/variant_projection.rs
 create mode 100644 crates/paimon/src/arrow/format/video.rs
 create mode 100644 crates/paimon/src/arrow/variant.rs
 create mode 100644 crates/paimon/src/btree/composite_key.rs
 create mode 100644 crates/paimon/src/btree/composite_predicate.rs
 create mode 100644 crates/paimon/src/btree/composite_tests.rs
 create mode 100644 crates/paimon/src/btree/data_block_cache.rs
 create mode 100644 crates/paimon/src/btree/posting_list.rs
 create mode 100644 crates/paimon/src/file_index/bsi.rs
 create mode 100644 crates/paimon/src/file_index/bsi/tests.rs
 create mode 100644 crates/paimon/src/file_index/range_bitmap/writer.rs
 create mode 100644 
crates/paimon/src/file_index/range_bitmap/writer/fixtures/GenerateRangeBitmap.java
 create mode 100644 
crates/paimon/src/file_index/range_bitmap/writer/fixtures/README.md
 create mode 100644 crates/paimon/src/file_index/range_bitmap/writer/tests.rs
 create mode 100644 crates/paimon/src/io/jindo_ffi.cc
 create mode 100644 crates/paimon/src/io/storage_jindo.rs
 create mode 100644 crates/paimon/src/io/storage_oss_cpp.rs
 create mode 100644 crates/paimon/src/io/storage_oss_cpp_test.rs
 create mode 100644 crates/paimon/src/io/uri_reader.rs
 create mode 100644 crates/paimon/src/io/user_agent.rs
 create mode 100644 crates/paimon/src/resource/memory.rs
 create mode 100644 crates/paimon/src/resource/mod.rs
 create mode 100644 crates/paimon/src/resource/tests.rs
 create mode 100644 crates/paimon/src/spec/blob_consumer.rs
 create mode 100644 crates/paimon/src/spec/map_selected_keys.rs
 create mode 100644 crates/paimon/src/spec/map_shredding.rs
 create mode 100644 crates/paimon/src/spec/read_type.rs
 create mode 100644 crates/paimon/src/spec/video_frame_descriptor.rs
 create mode 100644 crates/paimon/src/table/aggregator/bitmap.rs
 create mode 100644 crates/paimon/src/table/aggregator/bitmap64.rs
 create mode 100644 crates/paimon/src/table/aggregator/collect.rs
 create mode 100644 crates/paimon/src/table/aggregator/merge_map.rs
 create mode 100644 crates/paimon/src/table/aggregator/nested.rs
 create mode 100644 crates/paimon/src/table/aggregator/sketch.rs
 create mode 100644 crates/paimon/src/table/blob_consumer_tests.rs
 create mode 100644 crates/paimon/src/table/branch_write_tests.rs
 create mode 100644 crates/paimon/src/table/chunk_shuffle.rs
 create mode 100644 crates/paimon/src/table/data_evolution_fields.rs
 create mode 100644 crates/paimon/src/table/data_evolution_nested.rs
 create mode 100644 crates/paimon/src/table/data_file_path_factory.rs
 create mode 100644 crates/paimon/src/table/external_path.rs
 create mode 100644 crates/paimon/src/table/format_partition_location.rs
 create mode 100644 crates/paimon/src/table/format_table_commit.rs
 create mode 100644 crates/paimon/src/table/format_table_defaults.rs
 create mode 100644 crates/paimon/src/table/format_table_write_tests.rs
 create mode 100644 crates/paimon/src/table/format_table_writer.rs
 create mode 100644 crates/paimon/src/table/full_text_index_build_builder.rs
 create mode 100644 
crates/paimon/src/table/full_text_index_build_builder/tests.rs
 create mode 100644 crates/paimon/src/table/global_index_scanner/all_match.rs
 create mode 100644 crates/paimon/src/table/global_index_scanner/composite.rs
 create mode 100644 crates/paimon/src/table/goldens/GenerateHllDense.java
 copy copyright.txt => 
crates/paimon/src/table/goldens/GenerateRoaring64Dense.java (53%)
 create mode 100644 crates/paimon/src/table/goldens/hll_java_compact_aux.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense6_a.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense6_b.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense8_a.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense8_b.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense_a.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_dense_b.bin
 create mode 100644 crates/paimon/src/table/goldens/hll_java_updatable_aux.bin
 create mode 100644 crates/paimon/src/table/goldens/roaring64_java_dense.bin
 create mode 100644 crates/paimon/src/table/inline_blob.rs
 create mode 100644 crates/paimon/src/table/managed_blob_reader.rs
 create mode 100644 crates/paimon/src/table/managed_blob_reference.rs
 create mode 100644 crates/paimon/src/table/managed_blob_table_tests.rs
 create mode 100644 crates/paimon/src/table/managed_blob_writer.rs
 create mode 100644 crates/paimon/src/table/map_shredding_write_tests.rs
 create mode 100644 crates/paimon/src/table/mosaic_table_write_tests.rs
 create mode 100644 crates/paimon/src/table/partition_row_count.rs
 create mode 100644 crates/paimon/src/table/postpone_retract.rs
 create mode 100644 crates/paimon/src/table/query_auth.rs
 copy bindings/python/src/tag.rs => crates/paimon/src/table/read_limit.rs (62%)
 create mode 100644 crates/paimon/src/table/row_sidecar.rs
 create mode 100644 crates/paimon/src/table/table_commit/abort_tests.rs
 create mode 100644 crates/paimon/src/table/table_commit/parity_tests.rs
 create mode 100644 crates/paimon/src/table/table_commit/recovery_tests.rs
 create mode 100644 crates/paimon/src/table/table_commit/row_tracking.rs
 create mode 100644 crates/paimon/src/table/table_commit/row_tracking_tests.rs
 create mode 100644 crates/paimon/src/table/table_update_by_row_id.rs
 create mode 100644 crates/paimon/src/table/table_update_predicate.rs
 create mode 100644 crates/paimon/src/table/table_upsert.rs
 create mode 100644 crates/paimon/src/table/table_write_precomputed.rs
 create mode 100644 crates/paimon/src/table/update_assignment.rs
 create mode 100644 crates/paimon/src/table/update_input.rs
 create mode 100644 crates/paimon/src/table/upsert_key_matcher.rs
 create mode 100644 
crates/paimon/src/table/vindex_index_build_builder/pipeline.rs
 create mode 100644 crates/paimon/src/table/write_batch_normalize.rs
 create mode 100644 crates/paimon/src/variant/inference.rs
 create mode 100644 crates/paimon/src/variant/numeric.rs
 create mode 100644 crates/paimon/testdata/btree/GenerateBTreeV2.java
 create mode 100644 crates/paimon/testdata/btree/GenerateCompositeBTree.java
 create mode 100644 crates/paimon/testdata/btree/README.md
 create mode 100644 crates/paimon/testdata/btree/btree_composite_java_scalar.key
 create mode 100644 crates/paimon/testdata/btree/btree_composite_v1_java_lz4.bin
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v1_java_lz4.meta
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v1_java_none.bin
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v1_java_none.meta
 create mode 100644 crates/paimon/testdata/btree/btree_composite_v2_java_lz4.bin
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v2_java_lz4.meta
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v2_java_none.bin
 create mode 100644 
crates/paimon/testdata/btree/btree_composite_v2_java_none.meta
 create mode 100644 crates/paimon/testdata/btree/btree_v2_java_lz4.bin
 create mode 100644 crates/paimon/testdata/btree/btree_v2_java_none.bin
 create mode 100644 crates/paimon/testdata/file_index/README.md
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_embedded/bucket-0/data-c6f0f8ca-a74f-42ce-af35-fc4f4ef2d003-0.parquet
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/bitmap_embedded/manifest/manifest-982c31e0-7caa-4462-a270-3b130005e913-0}
 (87%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bitmap_embedded/manifest/manifest-list-9d29ca76-96e0-424d-8ccf-28d75ee5b70e-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bitmap_embedded/manifest/manifest-list-9d29ca76-96e0-424d-8ccf-28d75ee5b70e-1}
 (70%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_embedded/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/bitmap_embedded}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/bitmap_embedded}/snapshot/LATEST 
(100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_embedded/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_sidecar/bucket-0/data-d9e65532-1aa9-4878-bb30-24862120212c-0.parquet
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_sidecar/bucket-0/data-d9e65532-1aa9-4878-bb30-24862120212c-0.parquet.index
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/bitmap_sidecar/manifest/manifest-392c52de-fdae-4262-81fb-4049e95c37de-0}
 (89%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bitmap_sidecar/manifest/manifest-list-973ebadd-00a4-4672-a3b1-81e48cc9ec83-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bitmap_sidecar/manifest/manifest-list-973ebadd-00a4-4672-a3b1-81e48cc9ec83-1}
 (70%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_sidecar/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/bitmap_sidecar}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/bitmap_sidecar}/snapshot/LATEST 
(100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bitmap_sidecar/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_embedded/bucket-0/data-9ce3b83d-6c45-4dc1-a34e-819b5fb2e331-0.parquet
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/bloom_filter_embedded/manifest/manifest-8dd937f3-747e-4f87-a296-489d11ef050c-0}
 (87%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bloom_filter_embedded/manifest/manifest-list-ac933951-c2f2-4af6-b3d4-d20e80e79189-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bloom_filter_embedded/manifest/manifest-list-ac933951-c2f2-4af6-b3d4-d20e80e79189-1}
 (70%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_embedded/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/bloom_filter_embedded}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/bloom_filter_embedded}/snapshot/LATEST
 (100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_embedded/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_sidecar/bucket-0/data-2e01926c-6cd0-4dd5-b576-80ddf6e55632-0.parquet
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_sidecar/bucket-0/data-2e01926c-6cd0-4dd5-b576-80ddf6e55632-0.parquet.index
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/bloom_filter_sidecar/manifest/manifest-214eaa6e-a8e8-4903-a41a-3fa04732e5e4-0}
 (89%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bloom_filter_sidecar/manifest/manifest-list-baa54195-a358-4f0b-9ca9-51503661a534-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/bloom_filter_sidecar/manifest/manifest-list-baa54195-a358-4f0b-9ca9-51503661a534-1}
 (71%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_sidecar/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/bloom_filter_sidecar}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/bloom_filter_sidecar}/snapshot/LATEST
 (100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/bloom_filter_sidecar/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_embedded/bucket-0/data-791a54a7-4d19-43c3-8752-31cd6073433a-0.parquet
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/range_bitmap_embedded/manifest/manifest-155640a3-e50d-4be7-ba72-de0afe2a8fec-0}
 (86%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/range_bitmap_embedded/manifest/manifest-list-ecab87c6-de6d-44d0-a6ae-3705321d971d-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/range_bitmap_embedded/manifest/manifest-list-ecab87c6-de6d-44d0-a6ae-3705321d971d-1}
 (70%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_embedded/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/range_bitmap_embedded}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/range_bitmap_embedded}/snapshot/LATEST
 (100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_embedded/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_sidecar/bucket-0/data-9db69c4d-d10c-4f94-aed9-c16cd7fbe1e1-0.parquet
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_sidecar/bucket-0/data-9db69c4d-d10c-4f94-aed9-c16cd7fbe1e1-0.parquet.index
 copy 
crates/paimon/testdata/{pkvector_split/table/manifest/manifest-003ae88e-3c2b-43af-8704-4f5a5e532a0b-0
 => 
file_index/default.db/range_bitmap_sidecar/manifest/manifest-e1c11d52-6e22-4d10-b62a-833b60216bf2-0}
 (89%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/range_bitmap_sidecar/manifest/manifest-list-107ca82a-e4a8-4a88-8439-b15d770f0474-0}
 (77%)
 copy 
crates/paimon/testdata/{pkvector/pk_vector_ivf_flat/manifest/manifest-list-f5034e53-2d6f-40ae-9665-8778726154b4-2
 => 
file_index/default.db/range_bitmap_sidecar/manifest/manifest-list-107ca82a-e4a8-4a88-8439-b15d770f0474-1}
 (70%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_sidecar/schema/schema-0
 copy crates/paimon/testdata/{pkvector/pk_vector_ivf_flat => 
file_index/default.db/range_bitmap_sidecar}/snapshot/EARLIEST (100%)
 copy {bindings/go/tests/testdata/map_blob_table => 
crates/paimon/testdata/file_index/default.db/range_bitmap_sidecar}/snapshot/LATEST
 (100%)
 create mode 100644 
crates/paimon/testdata/file_index/default.db/range_bitmap_sidecar/snapshot/snapshot-1
 create mode 100644 
crates/paimon/testdata/file_index/java/JavaFileIndexTableFixtureGeneratorTest.java
 create mode 100755 crates/paimon/testdata/file_index/regenerate.sh
 copy .gitignore => crates/paimon/testdata/video/video-frame-descriptor-v1.hex 
(83%)
 copy .gitignore => crates/paimon/testdata/video/video-v1.hex (78%)
 create mode 100644 crates/paimon/tests/binary_partition_native_write_test.rs
 create mode 100644 crates/paimon/tests/blob_collection_write_test.rs
 create mode 100644 crates/paimon/tests/blob_http_error_test.rs
 create mode 100644 crates/paimon/tests/cross_partition_write_test.rs
 create mode 100644 crates/paimon/tests/data_evolution_row_sidecar_test.rs
 create mode 100644 crates/paimon/tests/data_evolution_system_columns_test.rs
 create mode 100644 crates/paimon/tests/data_file_directory_test.rs
 create mode 100644 crates/paimon/tests/dedicated_blob_write_test.rs
 create mode 100644 crates/paimon/tests/dynamic_bucket_write_test.rs
 create mode 100644 crates/paimon/tests/external_data_write_test.rs
 create mode 100644 crates/paimon/tests/file_index_java_fixture_test.rs
 create mode 100644 crates/paimon/tests/incremental_diff_extended_test.rs
 create mode 100644 crates/paimon/tests/nested_native_write_compat_test.rs
 create mode 100644 crates/paimon/tests/parquet_write_page_index_test.rs
 create mode 100644 
crates/paimon/tests/pk_partial_update_sequence_group_parity_test.rs
 create mode 100644 crates/paimon/tests/pk_user_sequence_parity_test.rs
 create mode 100644 crates/paimon/tests/pk_value_stats_test.rs
 create mode 100644 crates/paimon/tests/pk_write_reuse_seq_test.rs
 create mode 100644 crates/paimon/tests/postpone_native_write_test.rs
 create mode 100644 crates/paimon/tests/precomputed_bucket_write_test.rs
 create mode 100644 crates/paimon/tests/reader_resources_test.rs
 create mode 100644 crates/paimon/tests/table_partial_write_test.rs
 create mode 100644 crates/paimon/tests/table_update_nested_test.rs
 create mode 100644 crates/paimon/tests/table_update_paths_test.rs
 create mode 100644 crates/paimon/tests/table_update_test.rs
 create mode 100644 crates/paimon/tests/target_file_row_num_test.rs
 create mode 100644 crates/paimon/tests/writer_resources_test.rs
 create mode 100644 integrations/oss-cpp/CMakeLists.txt
 create mode 100644 integrations/oss-cpp/README.md
 create mode 100644 integrations/oss-cpp/bridge.cc
 create mode 100644 integrations/oss-cpp/bridge.h

Reply via email to