This is an automated email from the ASF dual-hosted git repository.
yuzelin pushed a change to branch release-1.4
in repository https://gitbox.apache.org/repos/asf/paimon.git
from f509a8fe15 [spark] Fix view resolution for CTE and ORDER BY ordinal
(#7552)
new f2c41f14d7 [flink] Support dropping primary keys for empty tables in
Flink (#7566)
new 861252a702 [python] Fix REST signature mismatch by encoding query
param values (#7568)
new 97813f617c [core] Fix that latestSnapshotOfUser might list snapshot
directory to find the earliest (#7572)
new 500c9c9219 [python] Fix token cache isolation by adding user identity
to cache key (#7571)
new 2aecba09e6 [arrow] Reuse length array to avoid allocate array memory
repeatedly (#7573)
new c1974391d2 [python] Fix update_by_row_id conflict when file rolling
splits (#7574)
new 7ce5d01bce [core] Extract Parquet stats from in-memory footer instead
of re-reading file (#7489)
new de76b56763 [api] Fix locale-sensitive date formatting in
DLFOpenApiSigner (#7577)
new e87c30c4e1 [python] Fix rolling stack overflow by replacing recursion
with iteration (#7578)
new 07eac94c18 [spark] Fix view query failure with VARCHAR/CHAR column
types (#7585)
new 227d631200 [core] Fix partial-update sequence-group delete mismatch
under projected reads (#7586)
new daa619b019 [hotfix] Fix incorrect integer comparison prevent
misjudgment in chain table. (#7591)
new da948fa1cd [python] Fix BlockHandle varlen decoding in
SstFileIterator.read_batch (#7597)
new c25ddfa415 [core] Fix TagAutoCreation.forceCreatingSnapshot to use
SINK_PROCESS_TIME_ZONE (#7600)
new 06f3a6d172 [python] Fix stats evolution index mapping to use field ID
instead of field name (#7593)
new 32b886a324 [docs] Add Spark SQL example for fast_forward in
manage-branches (#7604)
new 8fb5b3e3bd [flink] fix de-merge-into runtimeContext may throw
NoSuchMethod error (#7607)
new b60d1bac4d [python] Add file_source assertion in row-tracking commit
to fail fast on missing file_source (#7610)
new 14b0816b6c [spark] Fix RowTrackingTable reading by add _ROW_ID
existing check before adding _ROW_ID (#7606)
new 3579ba1663 [core] Add hashCode to AbstractFileStoreTable for
consistency with equals (#7616)
new d3589fa11b [flink] fix compatibility issues of StreamExecutionEnv
(#7615)
new a352fcfc2c [core] When scan.primary-branch is set, allow primary
branch to be an append only table (#7614)
new c258aea8e9 [core] Fix blob read failure after alter table and
compaction (#7618)
new f27a002af4 [python] Fix duplicate _ROW_ID when file exceeds read batch
size (#7626)
new 1fe4cf22ae [python] Add conflict detection in shard update (#7630)
The 25 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
docs/content/maintenance/manage-branches.md | 11 +
.../apache/paimon/rest/auth/DLFOpenApiSigner.java | 3 +-
.../org/apache/paimon/schema/SchemaChange.java | 27 +++
.../paimon/rest/auth/DLFRequestSignerTest.java | 41 ++++
.../paimon/arrow/writer/ArrowFieldWriters.java | 39 ++--
.../org/apache/paimon/format/FormatWriter.java | 17 ++
.../apache/paimon/format/SimpleStatsExtractor.java | 20 ++
.../org/apache/paimon/io/SimpleStatsProducer.java | 18 ++
.../org/apache/paimon/io/SingleFileWriter.java | 11 +
.../paimon/io/StatsCollectingSingleFileWriter.java | 2 +-
.../compact/PartialUpdateMergeFunction.java | 9 +-
.../paimon/operation/DataEvolutionSplitRead.java | 8 +-
.../org/apache/paimon/schema/SchemaManager.java | 26 ++-
.../paimon/table/AbstractFileStoreTable.java | 5 +
.../apache/paimon/table/ChainGroupReadTable.java | 2 +-
.../paimon/table/FallbackReadFileStoreTable.java | 24 --
.../org/apache/paimon/tag/TagAutoCreation.java | 19 +-
.../org/apache/paimon/utils/SnapshotManager.java | 28 +--
.../test/java/org/apache/paimon/JavaPyE2ETest.java | 149 ++++++++++++
.../org/apache/paimon/append/BlobTableTest.java | 239 +++++++++++++++++++
.../compact/PartialUpdateMergeFunctionTest.java | 40 ++++
.../paimon/operation/DataEvolutionReadTest.java | 44 ++++
.../apache/paimon/schema/SchemaManagerTest.java | 45 ++++
.../paimon/table/AppendOnlySimpleTableTest.java | 27 +++
.../paimon/table/PrimaryKeySimpleTableTest.java | 27 +++
.../org/apache/paimon/tag/TagAutoManagerTest.java | 45 ++++
.../apache/paimon/utils/SnapshotManagerTest.java | 4 +-
.../java/org/apache/paimon/flink/FlinkCatalog.java | 38 ++-
.../flink/action/RemoveUnexistingFilesAction.java | 4 +-
.../paimon/flink/btree/BTreeIndexTopoBuilder.java | 6 +-
.../dataevolution/MergeIntoUpdateChecker.java | 3 +-
.../flink/globalindex/GenericIndexTopoBuilder.java | 7 +-
.../org/apache/paimon/flink/BranchSqlITCase.java | 42 ++++
.../apache/paimon/flink/SchemaChangeITCase.java | 24 ++
.../utils/StreamExecutionEnvironmentUtils.java} | 27 ++-
.../utils/StreamExecutionEnvironmentUtils.java} | 26 ++-
.../parquet/ParquetSimpleStatsExtractor.java | 26 +++
.../apache/paimon/format/parquet/ParquetUtil.java | 45 ++--
.../format/parquet/writer/ParquetBulkWriter.java | 13 ++
.../format/parquet/ParquetInMemoryStatsTest.java | 213 +++++++++++++++++
paimon-python/dev/run_mixed_tests.sh | 81 ++++++-
paimon-python/pypaimon/api/typedef.py | 17 +-
.../pypaimon/catalog/rest/rest_token_file_io.py | 76 +++++-
.../pypaimon/globalindex/btree/sst_file_reader.py | 33 ++-
.../pypaimon/manifest/simple_stats_evolutions.py | 10 +-
paimon-python/pypaimon/read/plan.py | 5 +-
.../pypaimon/read/reader/data_file_batch_reader.py | 1 +
paimon-python/pypaimon/read/reader/field_bunch.py | 9 +-
.../pypaimon/read/scanner/file_scanner.py | 23 +-
.../pypaimon/read/streaming_table_scan.py | 2 +-
paimon-python/pypaimon/read/table_scan.py | 12 +-
paimon-python/pypaimon/schema/schema_manager.py | 13 ++
paimon-python/pypaimon/tests/binary_row_test.py | 8 +-
paimon-python/pypaimon/tests/blob_table_test.py | 25 ++
.../pypaimon/tests/data_evolution_test.py | 41 ++++
.../pypaimon/tests/e2e/java_py_read_write_test.py | 75 ++++++
.../tests/manifest/simple_stats_evolutions_test.py | 156 +++++++++++++
.../pypaimon/tests/reader_append_only_test.py | 45 ++++
.../pypaimon/tests/rest/dlf_signer_test.py | 7 +
.../pypaimon/tests/rest/rest_token_file_io_test.py | 254 ++++++++++++++-------
.../pypaimon/tests/sst_file_iterator_test.py | 221 ++++++++++++++++++
paimon-python/pypaimon/tests/table_update_test.py | 67 ++++++
.../pypaimon/tests/write/table_write_test.py | 35 +++
.../pypaimon/write/commit/commit_scanner.py | 4 +-
paimon-python/pypaimon/write/file_store_commit.py | 5 +-
paimon-python/pypaimon/write/file_store_write.py | 5 +
paimon-python/pypaimon/write/table_update.py | 6 +-
.../pypaimon/write/table_update_by_row_id.py | 8 +-
paimon-python/pypaimon/write/writer/data_writer.py | 22 +-
.../paimon/spark/PaimonBaseScanBuilder.scala | 5 +-
.../catalyst/analysis/PaimonViewResolver.scala | 9 +-
.../org/apache/paimon/spark/read/BaseScan.scala | 5 +-
.../paimon/spark/sql/PaimonViewTestBase.scala | 48 ++++
.../paimon/spark/sql/RowTrackingTestBase.scala | 17 ++
74 files changed, 2457 insertions(+), 297 deletions(-)
copy
paimon-flink/{paimon-flink-common/src/test/java/org/apache/paimon/flink/utils/JavaTypeInfoTest.java
=>
paimon-flink1-common/src/main/java/org/apache/paimon/flink/utils/StreamExecutionEnvironmentUtils.java}
(50%)
copy
paimon-flink/{paimon-flink-common/src/test/java/org/apache/paimon/flink/utils/JavaTypeInfoTest.java
=>
paimon-flink2-common/src/main/java/org/apache/paimon/flink/utils/StreamExecutionEnvironmentUtils.java}
(52%)
create mode 100644
paimon-format/src/test/java/org/apache/paimon/format/parquet/ParquetInMemoryStatsTest.java
create mode 100644
paimon-python/pypaimon/tests/manifest/simple_stats_evolutions_test.py
create mode 100644 paimon-python/pypaimon/tests/sst_file_iterator_test.py