This is an automated email from the ASF dual-hosted git repository.
morningman pushed a change to branch branch-catalog-spi
in repository https://gitbox.apache.org/repos/asf/doris.git
discard 09f86f05b35 [feature](plugin) replace the always-true connector
apiVersion() with a manifest-carried API version gate for all four plugin
families (#66211)
omit 688c8b7025e [refactor](catalog) fe-core: delete the unreachable
metastore property cluster and the dead storage/AWS-credential surface (#66210)
omit f504fe0d694 [fix](iceberg) persist a CREATE TABLE COMMENT clause
instead of dropping it
omit 5917cfcabf0 [fix](docker) make the thirdparty hive/iceberg stacks
start on macOS
omit d9e1a157da9 [test](iceberg) assert the nested-DDL refusal message this
branch actually emits
omit d2141dd70bc [fix](catalog) position-map a plugin system table against
its own pin, not latest
omit 31ae926565c [test](iceberg) assert gateway/dedicated parity instead of
an absolute nested-DDL capability
omit de87be4cbeb [fix](catalog) bind a plugin system table's schema at its
own pin, not at latest
omit 53f1d3ad321 [fix](paimon) read an @options tag pin's schemaId from the
tag, not the snapshot file
omit 3468d905eb3 [test](catalog) port #65870 partition-evolution coverage
into fe-connector-iceberg
omit d719c9beb07 [refactor](catalog) port #65984 paimon query-level
@options into fe-connector-paimon
omit 9a62834d2e2 [chore](ci) waive the unpatchable jackson-mapper-asl
advisories in dependency review
omit 37f6087e2ba [chore](license) satisfy the ASF header check on this
branch
omit 02e13272188 [fix](ci) hand the license-check file list over as a file,
not an env var
omit ceecd637c40 [fix](build) keep CONTAINER_UID assignment literal so
pipeline sed still matches
omit 76fd68e7cd0 [chore](handoff) record the 2026-07-27c rebase onto
e7b7f1d1359 (upstream #66004 storage facade)
omit d34b81fd6a3 [fix](catalog) reconcile the connector SPI with upstream
#66004's fe-filesystem storage facade
omit 19416004599 [fix](build) Support Iceberg Docker stacks on Apple Silicon
omit f67a4462aa0 [refactor](catalog) connector public interface cleanup: no
common-module edit to add a connector, dead-surface deletion, 11 correctness
fixes (#66135)
omit 83cfbcd4d6a [fix](catalog) port #65955's paimon table-option
passthrough + jni.* rename to the connector
omit 96a96fb6bf1 [chore](handoff) record the 2026-07-27 rebase onto
5b3ac63f8b4
omit a71c2a62b11 [fix](catalog) port #66008's paimon-cpp removal to the
paimon connector scan path
omit 148d52db2d1 [fix](iceberg) dedupe partition columns so a
multi-transform spec cannot crash partition pruning
omit cf63fe107dd [opt](catalog) fe-connector: unify the connector cache
foundation, memoize per-statement hot paths, fix iceberg case-insensitive
column DDL (#66029)
omit bbbc9b40037 [test](nereids) rebase-adapt PullUpJoinFromUnionAllTest to
the connector-migrated Hudi scan path
omit eae5a1067d6 [test](paimon) align stale schema-evolution matrix tests
to shipped behavior
omit 068042ea8d6 [fix](paimon) read a branch's independent schema via its
own schema dir on the scan path
omit 23d8a52470b [fix](iceberg) scan same-table multi-version references
against each reference's pinned snapshot schema
omit d77e4a8235e [refactor](catalog) drop generic-S3 minio.* folding
superseded by upstream #65834's dedicated fe-filesystem-minio
omit 49578e40319 [fix](be) fail the query instead of aborting BE on a
missing projected column
omit 126d2496edc [fix](paimon) read latest schema in getColumnHandles so a
renamed column is not dropped
omit 2d940932ca4 [fix](catalog) preserve nested STRUCT field comment on
omitted COMMENT in complex MODIFY (build 1004182)
omit 1604b80b367 [fix](catalog) catalog-SPI abstraction-mismatch review:
paimon time-travel crash, partition/schema fidelity, SPI convergence &
dead-code cleanup (#65970)
omit 741c446fff2 [feat](catalog) port upstream #65329 iceberg nested column
schema change to the connector SPI (Tier 2)
omit b3004bcce2d [fix](catalog) reconcile upstream #65329 iceberg nested
column schema change with connector SPI (Tier 1: compile + flat DDL routing)
omit 642f601d855 [fix](catalog) port #65904 paimon special-char partition
names into fe-connector
omit 028c51ad829 [fix](catalog) bundle fastutil-core into BE
java-extensions that eager-load ConcurrentLong2LongHashMap
omit 9f1d69d0026 [fix](catalog) migrate rebased-in
PhysicalStorageLayerAggregateTest to PluginDrivenExternalTable
omit bf436f57309 [refactor](catalog) extract fe-trino-connector-common so
fe-common no longer depends on Trino
omit 3b4d7d8951f [refactor](catalog) fe-core: strip residual
iceberg/hive/hudi deps & dead code, delegate DDL validation to connectors,
remove hudi_meta TVF (#65893)
omit 0136e6706f4 [fix](catalog) port #65784 authoritative iceberg name
mapping to the connector scan path
omit c78b7fa67c4 [fix](catalog) port #65782 collect_column_stats sink flag
+ write-metrics tests to the iceberg connector
omit c03c7ac7c23 [perf](catalog) two-level cross-query cache for external
partition derived views (#65829)
omit 32bf865e3cc [perf](catalog) fe-connector-iceberg hot-path caching +
fe-core per-statement metadata funnel, with session=user cache isolation
omit 1dc5848ffb1 [fix](catalog) port #65676 iceberg deletion-vector
metadata validation to the connector scan path
omit 9b304b73a20 [fix](catalog) port #65548 external COUNT(*)/COUNT(col)
semantics to the connector scan path
omit c0e4640e25a [fix](catalog) iceberg system-table scan: restore #65262
positional JNI read + order-preserving projection
omit f37a75cea5f [fix](catalog) restore jfs hive-write hadoop config +
iceberg system-table scan projection
omit 15f4e4f01df [feat](catalog) fe-connector-iceberg: port #64966 REST 401
re-auth to the connector
omit c7a6c97a648 [refactor](catalog) drop
ReauthenticatingRestSessionCatalog test orphaned by master rebase
omit 8de7aab795a [refactor](catalog) fe-core: remove 6 dead datasource
classes orphaned by the SPI migration (#65740)
omit 5deb4780383 [refactor](catalog) fe-core: remove dead
ExternalMetadataOps layer, deprecated LakeSoul catalog, and odbc/statistics
stubs (#65736)
omit 35405a1fef3 [refactor](catalog) fe-core: remove dead Trino-ported
DirectoryListercache cluster (#65734)
omit 572a61c7b69 [refactor](catalog) fe-connector: replace fat
hive-catalog-shade with a slim HMS metastore-client shade (#65721)
omit 658de09a796 [refactor](catalog) Catalog spi 11 hive (#65473)
omit 636b37acf9b [doc](catalog) HANDOFF: $position_deletes port done; e2e
is the only remaining flip gate
omit abbd4d8d923 [feat](catalog) P6.6: support the iceberg
$position_deletes system table on the connector SPI
omit 7df0ae512b6 [doc](catalog) HANDOFF: point next step at the
$position_deletes port design (T0 evidence in)
omit 9f8c0ce089d [doc](catalog) P6.6 $position_deletes connector port:
research notes + design (T0 evidence in, ready to implement)
omit 93040749e38 [doc](catalog) HANDOFF: rebase to upstream 30a44d61a8a +
register $position_deletes connector gap as flip blocker
omit 225374eea57 [fix](build) fix parallel -T shade race in
fe-connector-paimon-hive-shade
omit ecb27144602 [fix](catalog) reconcile upstream #65365 with connector
SPI after rebase to 4f48ccfaa7d
omit 00d5f273e4f [doc](catalog) P6.6-C6 #63068 HANDOFF: record
cache-leakage data-flow test + Task 0 retained-base verify
omit f674e18ff4f [feat](catalog) P6.6-C6 #63068 FE: re-migrate
ExternalDatabaseSessionContextTest (cross-user cache-leakage data-flow)
omit ddc43476c1e [doc](catalog) P6.6-C6 #63068 OIDC session migration:
design + research notes + HANDOFF (Tasks 0-7 DONE)
omit b755908b2b1 [feat](catalog) P6.6-C6 #63068 iceberg: per-user REST
session routing (metadata + scan/write/procedure)
omit 1154b937e67 [feat](catalog) P6.6-C6 #63068 FE: capability-gated
credential injection + per-user cache bypass
omit 8b4cfb6792c [feat](catalog) P6.6-C6 #63068 SPI: neutral
delegated-credential DTO + user-session capability
omit 720006d8f02 [fix](catalog) tier3 #65094: preserve external-table
top-level column-name case on the read path
omit d7653740dfc [fix](catalog) port upstream #65332/#65094 datasource
fixes into SPI connectors
omit f9555903614 [fix](catalog) P4 maxcompute: drop dangling legacy
MaxComputeExternalTableTest after rebase
omit 67d5e772256 [fix](catalog) jdbc: keep driver classloaders alive per
URL to stop Metaspace leak
omit e73ae7f4c8c [refactor](catalog) P6 iceberg: migrate to catalog SPI +
cutover + remove legacy fe-core subsystem (#64688)
omit 7ca1968facc [refactor](catalog) P3b: consolidate kerberos
authentication into fe-kerberos (#64655)
omit 1edaecbd7b5 [refactor](catalog) P5 paimon: remove legacy subsystem
from fe-core + make fe-core paimon-SDK-free (T29) (#64653)
omit 4830fc81457 [refactor](catalog) P5 paimon: migrate to catalog SPI +
cutover (#64446) (#64446)
omit c64d5f56301 update P5 handoff and fix compile issue
omit 331dbf5acc5 [refactor](connector) P4 maxcompute: remove legacy
subsystem from fe-core + make fe-core odps-free (T07-T09) (#64300)
omit 69d4d5d7cdc [feat](connector) P3 hudi connector hardening + test
baseline + dispatch design (hybrid, T02-T08) (#64143)
omit 07623a8ff0b [feat](connector) P2 migrate trino-connector to catalog
SPI (T01-T13) (#64096)
omit f632ceb30cd [P1-T03-T05] route plugin-driven scans first in nereids
translator (#63641)
omit bed5196f716 [feat](connector) P0 SPI baseline + DDL/Partition + import
gate (T03-T27) (#63582)
omit ae7161d6a64 [doc](connector) add project tracking system for catalog
SPI migration
add 7488bc7a19e [fix](ccr) Disallow Row Binlog on MOW tables with cluster
keys (#66093)
add 362581596ec [fix](regression) Initialize OceanBase test data
explicitly (#66141)
add 422a703f6a5 [fix](fe) Preserve analytic window row offsets (#65679)
add 0d9ffb05f35 [fix](fe) Snapshot RF partition metadata during planning
(#65919)
add d90b22cb858 [fix](load) correct quorum participants for incremental
streams (#66016)
add 2215dc476a1 [fix](cast) Handle DST fallback in timestamp cast
monotonicity (#65903)
add 5557eca5b15 [chore](build) Update ASF GitHub collaborators (#66165)
add 3bdb43830fc [Feature](variant) Add native ColumnVariantV2 execution
(#65561)
add 8e3c5bb3fe6 [fix](variant) Recognize nullable array elements as
NestedGroup types (#66196)
add 70b65af3960 [chore](build) Update ASF GitHub collaborators (#66201)
add 810c253cff3 [fix](lazy topn) Preserve required slots in TopN lazy
materialization (#65530)
add 87124245bd8 [improvement](parquet) Load dictionary pages lazily
(#66000)
add aa95d10dc7d [opt](expr) Improve scalar function auto-vectorization
(#65908)
add 31da4c64087 [improvement](file reader) Limit dictionary filter
blocking to refere⦠(#66110)
add c7e635238f4 [chore](recycler) Disable
`enable_mark_delete_rowset_before_recycle` and
`enable_abort_txn_and_job_for_delete_rowset_before_recycle` for recycler
(#66150)
add 9b37703b86e [fix](cloud) Prevent urgent load from preempting schema
change lock (#66082)
add 14562172191 [fix](cloud) Skip BE rowset promotion for incomplete lazy
commits (#66092)
add 204a1f059b6 [fix](parquet) Apply predicates directly in V2 reader
(#66200)
add 8305fe71867 [fix](iceberg) Enforce external write correctness (#66112)
add e70b8a895b3 [doc](connector) add project tracking system for catalog
SPI migration
add 790c4767697 [feat](connector) P0 SPI baseline + DDL/Partition + import
gate (T03-T27) (#63582)
add 095482ab17b [P1-T03-T05] route plugin-driven scans first in nereids
translator (#63641)
add 66a03ee9352 [feat](connector) P2 migrate trino-connector to catalog
SPI (T01-T13) (#64096)
add 92dfc9f97d3 [feat](connector) P3 hudi connector hardening + test
baseline + dispatch design (hybrid, T02-T08) (#64143)
add caf979497b7 [refactor](connector) P4 maxcompute: remove legacy
subsystem from fe-core + make fe-core odps-free (T07-T09) (#64300)
add c89e2a66c68 update P5 handoff and fix compile issue
add c549d74bd4c [refactor](catalog) P5 paimon: migrate to catalog SPI +
cutover (#64446) (#64446)
add bc24f170754 [refactor](catalog) P5 paimon: remove legacy subsystem
from fe-core + make fe-core paimon-SDK-free (T29) (#64653)
add 00182f5fe42 [refactor](catalog) P3b: consolidate kerberos
authentication into fe-kerberos (#64655)
add 72f7f3a6d9d [refactor](catalog) P6 iceberg: migrate to catalog SPI +
cutover + remove legacy fe-core subsystem (#64688)
add a23b819d3f8 [fix](catalog) jdbc: keep driver classloaders alive per
URL to stop Metaspace leak
add 70dedb98b4a [fix](catalog) P4 maxcompute: drop dangling legacy
MaxComputeExternalTableTest after rebase
add 3c867c9b751 [fix](catalog) port upstream #65332/#65094 datasource
fixes into SPI connectors
add a02f0d77173 [fix](catalog) tier3 #65094: preserve external-table
top-level column-name case on the read path
add f4b901e723f [feat](catalog) P6.6-C6 #63068 SPI: neutral
delegated-credential DTO + user-session capability
add a9d6dd6a850 [feat](catalog) P6.6-C6 #63068 FE: capability-gated
credential injection + per-user cache bypass
add 73194b56456 [feat](catalog) P6.6-C6 #63068 iceberg: per-user REST
session routing (metadata + scan/write/procedure)
add b5bb4ae472f [doc](catalog) P6.6-C6 #63068 OIDC session migration:
design + research notes + HANDOFF (Tasks 0-7 DONE)
add 66cd0145f80 [feat](catalog) P6.6-C6 #63068 FE: re-migrate
ExternalDatabaseSessionContextTest (cross-user cache-leakage data-flow)
add 626952704b2 [doc](catalog) P6.6-C6 #63068 HANDOFF: record
cache-leakage data-flow test + Task 0 retained-base verify
add cab432a309b [fix](catalog) reconcile upstream #65365 with connector
SPI after rebase to 4f48ccfaa7d
add 60a3cec07ab [fix](build) fix parallel -T shade race in
fe-connector-paimon-hive-shade
add 54015b28690 [doc](catalog) HANDOFF: rebase to upstream 30a44d61a8a +
register $position_deletes connector gap as flip blocker
add 30d288fb54d [doc](catalog) P6.6 $position_deletes connector port:
research notes + design (T0 evidence in, ready to implement)
add 66ee7696dc2 [doc](catalog) HANDOFF: point next step at the
$position_deletes port design (T0 evidence in)
add e34214a344c [feat](catalog) P6.6: support the iceberg
$position_deletes system table on the connector SPI
add fbf50a09c52 [doc](catalog) HANDOFF: $position_deletes port done; e2e
is the only remaining flip gate
add e6ff95e90bc [refactor](catalog) Catalog spi 11 hive (#65473)
add d2cc1171b47 [refactor](catalog) fe-connector: replace fat
hive-catalog-shade with a slim HMS metastore-client shade (#65721)
add bba393b4a8e [refactor](catalog) fe-core: remove dead Trino-ported
DirectoryListercache cluster (#65734)
add 1afe69a6980 [refactor](catalog) fe-core: remove dead
ExternalMetadataOps layer, deprecated LakeSoul catalog, and odbc/statistics
stubs (#65736)
add c513d2acba0 [refactor](catalog) fe-core: remove 6 dead datasource
classes orphaned by the SPI migration (#65740)
add 34ada8f0a52 [refactor](catalog) drop
ReauthenticatingRestSessionCatalog test orphaned by master rebase
add 731c2932d80 [feat](catalog) fe-connector-iceberg: port #64966 REST 401
re-auth to the connector
add 6df9e918b00 [fix](catalog) restore jfs hive-write hadoop config +
iceberg system-table scan projection
add ba87851d68b [fix](catalog) iceberg system-table scan: restore #65262
positional JNI read + order-preserving projection
add b7c8aef9c7b [fix](catalog) port #65548 external COUNT(*)/COUNT(col)
semantics to the connector scan path
add 3b3eb932c9f [fix](catalog) port #65676 iceberg deletion-vector
metadata validation to the connector scan path
add bd6adec0bd2 [perf](catalog) fe-connector-iceberg hot-path caching +
fe-core per-statement metadata funnel, with session=user cache isolation
add 5df944d09a0 [perf](catalog) two-level cross-query cache for external
partition derived views (#65829)
add ab2139c87ce [fix](catalog) port #65782 collect_column_stats sink flag
+ write-metrics tests to the iceberg connector
add 9e113cf0d82 [fix](catalog) port #65784 authoritative iceberg name
mapping to the connector scan path
add c11dac754b0 [refactor](catalog) fe-core: strip residual
iceberg/hive/hudi deps & dead code, delegate DDL validation to connectors,
remove hudi_meta TVF (#65893)
add 097ef392c1d [refactor](catalog) extract fe-trino-connector-common so
fe-common no longer depends on Trino
add 1c46dfc179e [fix](catalog) migrate rebased-in
PhysicalStorageLayerAggregateTest to PluginDrivenExternalTable
add 9a273760e89 [fix](catalog) bundle fastutil-core into BE
java-extensions that eager-load ConcurrentLong2LongHashMap
add d6d3223adaf [fix](catalog) port #65904 paimon special-char partition
names into fe-connector
add 75701a80672 [fix](catalog) reconcile upstream #65329 iceberg nested
column schema change with connector SPI (Tier 1: compile + flat DDL routing)
add 2328e50951e [feat](catalog) port upstream #65329 iceberg nested column
schema change to the connector SPI (Tier 2)
add 35f739744d7 [fix](catalog) catalog-SPI abstraction-mismatch review:
paimon time-travel crash, partition/schema fidelity, SPI convergence &
dead-code cleanup (#65970)
add b11fcf51162 [fix](catalog) preserve nested STRUCT field comment on
omitted COMMENT in complex MODIFY (build 1004182)
add e60d367b6fb [fix](paimon) read latest schema in getColumnHandles so a
renamed column is not dropped
add 6fb0cb53424 [fix](be) fail the query instead of aborting BE on a
missing projected column
add 1905446eb26 [refactor](catalog) drop generic-S3 minio.* folding
superseded by upstream #65834's dedicated fe-filesystem-minio
add 4fbf40ea6df [fix](iceberg) scan same-table multi-version references
against each reference's pinned snapshot schema
add 02dfaf0f5f2 [fix](paimon) read a branch's independent schema via its
own schema dir on the scan path
add a780e47e3ae [test](paimon) align stale schema-evolution matrix tests
to shipped behavior
add 3185e4f5754 [test](nereids) rebase-adapt PullUpJoinFromUnionAllTest to
the connector-migrated Hudi scan path
add 300bfc91cf9 [opt](catalog) fe-connector: unify the connector cache
foundation, memoize per-statement hot paths, fix iceberg case-insensitive
column DDL (#66029)
add 5def7742c73 [fix](iceberg) dedupe partition columns so a
multi-transform spec cannot crash partition pruning
add 8c8b3329291 [fix](catalog) port #66008's paimon-cpp removal to the
paimon connector scan path
add 0d88c8ac805 [chore](handoff) record the 2026-07-27 rebase onto
5b3ac63f8b4
add ef5afa5e36e [fix](catalog) port #65955's paimon table-option
passthrough + jni.* rename to the connector
add ffc15f003e6 [refactor](catalog) connector public interface cleanup: no
common-module edit to add a connector, dead-surface deletion, 11 correctness
fixes (#66135)
add 3e965be94b4 [fix](build) Support Iceberg Docker stacks on Apple Silicon
add 91ba58dca8b [fix](catalog) reconcile the connector SPI with upstream
#66004's fe-filesystem storage facade
add 2e0678fb1b6 [chore](handoff) record the 2026-07-27c rebase onto
e7b7f1d1359 (upstream #66004 storage facade)
add bbae82c5aa2 [fix](build) keep CONTAINER_UID assignment literal so
pipeline sed still matches
add f2de7f46e6d [fix](ci) hand the license-check file list over as a file,
not an env var
add 2a7c2aff582 [chore](license) satisfy the ASF header check on this
branch
add c030af740ad [chore](ci) waive the unpatchable jackson-mapper-asl
advisories in dependency review
add ca348e6e353 [refactor](catalog) port #65984 paimon query-level
@options into fe-connector-paimon
add 07f7073f4d3 [test](catalog) port #65870 partition-evolution coverage
into fe-connector-iceberg
add dcfcc2a1d75 [fix](paimon) read an @options tag pin's schemaId from the
tag, not the snapshot file
add 4ce9d76d805 [fix](catalog) bind a plugin system table's schema at its
own pin, not at latest
add 635cea20617 [test](iceberg) assert gateway/dedicated parity instead of
an absolute nested-DDL capability
add 719e40ec5f0 [fix](catalog) position-map a plugin system table against
its own pin, not latest
add 0af41ff5639 [test](iceberg) assert the nested-DDL refusal message this
branch actually emits
add b09e84562e9 [fix](docker) make the thirdparty hive/iceberg stacks
start on macOS
add 46e2e21a905 [fix](iceberg) persist a CREATE TABLE COMMENT clause
instead of dropping it
add d23be037c44 [refactor](catalog) fe-core: delete the unreachable
metastore property cluster and the dead storage/AWS-credential surface (#66210)
add 5da0bc9110e [feature](plugin) replace the always-true connector
apiVersion() with a manifest-carried API version gate for all four plugin
families (#66211)
add 8876656911f [fix](catalog) port #66112's iceberg SQL MERGE cardinality
enforcement onto the connector SPI
add 728f7bbb9c3 [fix](catalog) port #66112's CTAS atomicity + IF NOT
EXISTS cache refresh onto the plugin bridge
add f672e789674 [chore](handoff) record the 2026-07-29b rebase onto
8305fe71867 (upstream #66112)
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 (09f86f05b35)
\
N -- N -- N refs/heads/branch-catalog-spi (f672e789674)
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:
be/src/agent/be_exec_version_manager.cpp | 4 +-
be/src/agent/be_exec_version_manager.h | 1 +
be/src/cloud/cloud_meta_mgr.cpp | 3 +
be/src/core/column/column_variant.cpp | 3 +
.../core/column/variant_v2/column_variant_v2.cpp | 1392 ++++++++++
be/src/core/column/variant_v2/column_variant_v2.h | 274 ++
.../variant_v2/column_variant_v2_read_view.cpp | 102 +
.../variant_v2/column_variant_v2_typed_column.cpp | 51 +-
.../variant_v2/column_variant_v2_typed_column.h | 156 ++
be/src/core/data_type/data_type_factory.cpp | 38 +-
be/src/core/data_type/data_type_variant_v2.cpp | 101 +
be/src/core/data_type/data_type_variant_v2.h | 63 +
.../data_type_serde/data_type_datetimev2_serde.cpp | 65 +-
.../data_type_serde/data_type_datetimev2_serde.h | 5 +
.../data_type_serde/data_type_datev2_serde.cpp | 55 +-
.../core/data_type_serde/data_type_datev2_serde.h | 5 +
.../data_type_serde/data_type_decimal_serde.cpp | 94 +-
.../core/data_type_serde/data_type_decimal_serde.h | 27 +-
.../data_type_serde/data_type_nullable_serde.cpp | 20 +
.../data_type_serde/data_type_nullable_serde.h | 2 +
.../data_type_serde/data_type_number_serde.cpp | 85 +-
.../core/data_type_serde/data_type_number_serde.h | 28 +
be/src/core/data_type_serde/data_type_serde.cpp | 11 +
be/src/core/data_type_serde/data_type_serde.h | 14 +
.../core/data_type_serde/data_type_time_serde.cpp | 57 +
be/src/core/data_type_serde/data_type_time_serde.h | 5 +
.../data_type_timestamptz_serde.cpp | 64 +-
.../data_type_serde/data_type_timestamptz_serde.h | 5 +
.../data_type_serde/data_type_variant_v2_serde.cpp | 592 ++++
.../data_type_serde/data_type_variant_v2_serde.h | 73 +
.../core/data_type_serde/parquet_decode_source.h | 13 +
.../core/value/variant/variant_batch_builder.cpp | 1780 ++++++++++++
be/src/core/value/variant/variant_batch_builder.h | 265 ++
be/src/core/value/variant/variant_canonical.cpp | 1168 ++++++++
be/src/core/value/variant/variant_canonical.h | 168 ++
be/src/core/value/variant/variant_field.cpp | 389 +++
be/src/core/value/variant/variant_field.h | 78 +
be/src/core/value/variant/variant_metadata.cpp | 172 ++
.../src/core/value/variant/variant_metadata.h | 59 +-
.../core/value/variant/variant_parquet_encoding.h | 123 +
be/src/core/value/variant/variant_scalar.cpp | 353 +++
be/src/core/value/variant/variant_scalar.h | 73 +
be/src/core/value/variant/variant_value.cpp | 482 ++++
be/src/core/value/variant/variant_value.h | 79 +
be/src/exec/common/hash_table/hash_key_type.h | 7 +-
be/src/exec/sink/load_stream_stub.h | 2 +
be/src/exec/sink/viceberg_delete_sink.cpp | 53 +-
be/src/exec/sink/viceberg_delete_sink.h | 8 +
be/src/exec/sink/viceberg_merge_sink.cpp | 142 +-
be/src/exec/sink/viceberg_merge_sink.h | 7 +
.../sink/writer/iceberg/partition_transformers.h | 5 +-
.../writer/iceberg/viceberg_delete_file_writer.h | 2 +
.../writer/iceberg/viceberg_partition_writer.cpp | 30 +-
.../writer/iceberg/viceberg_partition_writer.h | 9 +-
.../sink/writer/iceberg/viceberg_table_writer.cpp | 33 +-
.../sink/writer/iceberg/viceberg_table_writer.h | 12 +
be/src/exec/sink/writer/vtablet_writer_v2.cpp | 24 +-
be/src/exprs/aggregate/aggregate_function_uniq.cpp | 16 +
be/src/exprs/aggregate/aggregate_function_uniq.h | 92 +
be/src/exprs/bloom_filter_func.h | 23 +
be/src/exprs/create_predicate_function.h | 1 +
be/src/exprs/function/cast/function_cast.cpp | 45 +-
.../cast/variant_v2/cast_array_to_variant.cpp | 235 ++
.../cast/variant_v2/cast_variant_to_array.cpp | 153 +
.../cast/variant_v2/cast_variant_to_jsonb.cpp | 106 +
.../cast/variant_v2/cast_variant_to_scalar.cpp | 520 ++++
.../cast/variant_v2/cast_variant_to_string.cpp | 246 ++
.../function/cast/variant_v2/cast_variant_v2.cpp | 205 ++
.../function/cast/variant_v2/cast_variant_v2.h | 30 +-
.../cast/variant_v2/cast_variant_v2_internal.h | 77 +
be/src/exprs/function/function_bit.cpp | 6 +-
be/src/exprs/function/function_bit_shift.cpp | 6 +-
.../function/function_math_unary_alway_nullable.h | 8 +-
be/src/exprs/function/function_variant_element.cpp | 94 +-
.../exprs/function/function_variant_element_v2.cpp | 365 +++
.../exprs/function/function_variant_element_v2.h | 95 +
be/src/exprs/function/function_variant_parse.cpp | 194 ++
be/src/exprs/function/function_variant_type.cpp | 18 +-
be/src/exprs/function/function_width_bucket.cpp | 20 +-
.../exprs/function/parse/variant_jsonb_parse.cpp | 558 ++++
be/src/exprs/function/parse/variant_jsonb_parse.h | 69 +
.../exprs/function/parse/variant_string_parse.cpp | 497 ++++
be/src/exprs/function/parse/variant_string_parse.h | 404 +++
be/src/exprs/function/simple_function_factory.h | 2 +
be/src/exprs/hybrid_set.h | 31 +
be/src/exprs/runtime_filter_expr.cpp | 34 +
be/src/exprs/runtime_filter_expr.h | 6 +
be/src/exprs/table_function/vexplode_v2.cpp | 80 +-
be/src/exprs/table_function/vexplode_v2.h | 3 +
be/src/exprs/vbloom_predicate.cpp | 20 +
be/src/exprs/vbloom_predicate.h | 5 +
be/src/exprs/vcase_expr.h | 16 +-
be/src/exprs/vcompound_pred.h | 103 +
be/src/exprs/vcondition_expr.cpp | 1 +
be/src/exprs/vdirect_in_predicate.h | 29 +
be/src/exprs/vectorized_fn_call.cpp | 180 +-
be/src/exprs/vectorized_fn_call.h | 9 +
be/src/exprs/vexpr.h | 52 +-
be/src/exprs/vin_predicate.cpp | 112 +
be/src/exprs/vin_predicate.h | 13 +
be/src/exprs/vtopn_pred.cpp | 276 ++
be/src/exprs/vtopn_pred.h | 56 +-
be/src/format/orc/vorc_reader.cpp | 25 +-
be/src/format/orc/vorc_reader.h | 3 +-
.../parquet/vparquet_column_chunk_reader.cpp | 31 +-
.../format/parquet/vparquet_column_chunk_reader.h | 19 +-
be/src/format/parquet/vparquet_column_reader.cpp | 14 +-
be/src/format/parquet/vparquet_column_reader.h | 1 -
be/src/format/parquet/vparquet_group_reader.cpp | 26 +-
be/src/format/parquet/vparquet_group_reader.h | 3 +
be/src/format_v2/parquet/parquet_profile.cpp | 16 +
be/src/format_v2/parquet/parquet_profile.h | 11 +
be/src/format_v2/parquet/parquet_scan.cpp | 169 +-
be/src/format_v2/parquet/reader/column_reader.cpp | 22 +-
be/src/format_v2/parquet/reader/column_reader.h | 14 +-
.../format_v2/parquet/reader/direct_predicate.h | 36 +-
.../parquet/reader/native/column_chunk_reader.cpp | 293 +-
.../parquet/reader/native/column_chunk_reader.h | 51 +-
.../parquet/reader/native/column_reader.cpp | 161 +-
.../parquet/reader/native/column_reader.h | 13 +-
.../parquet/reader/native_column_reader.cpp | 113 +-
.../parquet/reader/native_column_reader.h | 10 +-
be/test/core/column/column_variant_test.cpp | 8 +
be/test/core/column/column_variant_v2_test.cpp | 2912 ++++++++++++++++++++
.../data_type_serde_parquet_test.cpp | 137 +
...type_variant_v2_serde_binary_roundtrip_test.cpp | 526 ++++
.../data_type_variant_v2_serde_input_test.cpp | 310 +++
.../data_type_variant_v2_serde_jsonb_test.cpp | 246 ++
.../data_type_variant_v2_serde_output_test.cpp | 382 +++
be/test/exec/sink/viceberg_merge_sink_test.cpp | 275 +-
be/test/exec/sink/vtablet_writer_v2_test.cpp | 28 +
.../writer/iceberg/partition_transformers_test.cpp | 26 +
be/test/exec/sort/merge_sorter_state.cpp | 24 +-
.../aggregate_function_uniq_variant_test.cpp | 272 ++
.../cast/cast_variant_v2_benchmark_test.cpp | 227 ++
.../function/cast/cast_variant_v2_from_test.cpp | 522 ++++
.../function/cast/cast_variant_v2_to_test.cpp | 317 +++
.../function_variant_element_v2_encoded_test.cpp | 239 ++
.../function_variant_element_v2_string_test.cpp | 50 +
.../exprs/function/function_variant_parse_test.cpp | 387 +++
.../test/exprs/variant_v2_execution_test.cpp | 34 +-
be/test/format/orc/orc_reader_test.cpp | 121 +-
.../parquet/parquet_column_chunk_reader_test.cpp | 488 ++++
be/test/format/parquet/parquet_expr_test.cpp | 184 ++
be/test/format/parquet/parquet_page_cache_test.cpp | 41 +-
be/test/format/parquet/parquet_reader_test.cpp | 21 +
be/test/format_v2/parquet/native_decoder_test.cpp | 48 +-
be/test/format_v2/parquet/parquet_scan_test.cpp | 1354 ++++++++-
be/test/runtime/runtime_predicate_test.cpp | 229 +-
.../variant/testdata/ParquetVariantGolden.java | 1229 +++++++++
.../testdata/doris_java_verified_vectors.tsv | 66 +
.../util/variant/testdata/parquet_java_vectors.tsv | 86 +
.../util/variant/variant_batch_builder_test.cpp | 1941 +++++++++++++
be/test/util/variant/variant_canonical_test.cpp | 910 ++++++
be/test/util/variant/variant_field_test.cpp | 580 ++++
.../util/variant/variant_golden_vector_test.cpp | 753 +++++
be/test/util/variant/variant_jsonb_parse_test.cpp | 998 +++++++
be/test/util/variant/variant_string_parse_test.cpp | 697 +++++
be/test/util/variant/variant_test_utils.cpp | 329 +++
be/test/util/variant/variant_test_utils.h | 49 +
be/test/util/variant/variant_value_test.cpp | 488 ++++
cloud/src/common/config.h | 4 +-
cloud/src/meta-service/meta_service.cpp | 8 +-
cloud/src/meta-service/meta_service_txn.cpp | 6 +
cloud/test/meta_service_job_test.cpp | 30 +
cloud/test/meta_service_test.cpp | 118 +-
cloud/test/recycler_test.cpp | 5 -
cloud/test/txn_lazy_commit_test.cpp | 111 +
.../docker-compose/oceanbase/oceanbase.yaml.tpl | 29 +-
.../main/java/org/apache/doris/common/Config.java | 2 +-
.../connector/api/handle/ConnectorWriteHandle.java | 16 +
.../iceberg/IcebergWritePlanProvider.java | 8 +-
.../iceberg/IcebergWritePlanProviderTest.java | 44 +
.../connector/paimon/PaimonConnectorMetadata.java | 18 +-
.../paimon/PaimonConnectorMetadataDdlTest.java | 37 +-
.../org/apache/doris/analysis/AnalyticWindow.java | 6 +-
.../doris/catalog/BuiltinScalarFunctions.java | 4 +
.../java/org/apache/doris/catalog/Database.java | 20 +
.../transaction/CloudGlobalTransactionMgr.java | 6 +
.../apache/doris/datasource/InternalCatalog.java | 18 +-
.../plugin/PluginDrivenExternalCatalog.java | 22 +
.../nereids/analyzer/UnboundTableSinkCreator.java | 20 +
.../glue/translator/PhysicalPlanTranslator.java | 12 +-
.../glue/translator/RuntimeFilterTranslator.java | 25 +-
.../post/materialize/LazyMaterializeTopN.java | 26 +-
.../post/materialize/LazySlotPruning.java | 12 +-
.../nereids/properties/RequestPropertyDeriver.java | 5 +-
.../nereids/rules/analysis/CheckAfterRewrite.java | 5 +-
.../nereids/rules/analysis/ExpressionAnalyzer.java | 7 +
.../rules/analysis/WindowFunctionChecker.java | 38 +-
.../nereids/rules/expression/check/CheckCast.java | 5 +-
...rgeSinkToPhysicalExternalRowLevelMergeSink.java | 1 +
.../doris/nereids/trees/expressions/Cast.java | 60 +-
.../doris/nereids/trees/expressions/TryCast.java | 6 +
.../functions/ExplicitlyCastableSignature.java | 5 +
.../trees/expressions/functions/agg/Count.java | 13 +-
.../functions/agg/MultiDistinctCount.java | 2 +-
.../expressions/functions/scalar/ElementAt.java | 22 +-
.../functions/scalar/ParseToVariant.java | 76 +
.../functions/scalar/TryParseToVariant.java | 76 +
.../trees/expressions/functions/window/Lag.java | 5 +
.../trees/expressions/functions/window/Lead.java | 5 +
.../functions/window/WindowFunction.java | 22 +
.../doris/nereids/trees/plans/algebra/Window.java | 2 +-
.../trees/plans/commands/CreateTableCommand.java | 35 +-
.../commands/ExternalRowLevelMergePlanBuilder.java | 1 +
.../ExternalRowLevelUpdatePlanBuilder.java | 1 +
.../trees/plans/commands/info/CreateTableInfo.java | 10 +
.../logical/LogicalExternalRowLevelMergeSink.java | 29 +-
.../PhysicalExternalRowLevelMergeSink.java | 44 +-
.../org/apache/doris/nereids/types/DataType.java | 3 +-
.../apache/doris/nereids/types/VariantType.java | 97 +-
.../doris/nereids/util/TypeCoercionUtils.java | 30 +
.../org/apache/doris/planner/OlapScanNode.java | 66 +-
.../doris/planner/PluginDrivenTableSink.java | 32 +-
.../java/org/apache/doris/qe/SessionVariable.java | 17 +
.../apache/doris/analysis/AnalyticWindowTest.java | 58 +
.../java/org/apache/doris/catalog/TypeTest.java | 12 +
.../transaction/CloudGlobalTransactionMgrTest.java | 77 +
.../PluginDrivenExternalCatalogDdlRoutingTest.java | 61 +-
.../analyzer/UnboundTableSinkCreatorTest.java | 110 +
...ysicalPlanTranslatorIcebergRowLevelDmlTest.java | 45 +
.../translator/PhysicalPlanTranslatorTest.java | 47 +
.../post/materialize/LazyMaterializeTopNTest.java | 54 +
.../post/materialize/LazySlotPruningTest.java | 45 +
.../properties/RequestPropertyDeriverTest.java | 38 +
.../rules/analysis/FunctionRegistryTest.java | 72 +
.../rules/analysis/VariantEqualityContextTest.java | 101 +
.../rules/expression/check/CheckCastTest.java | 20 +
.../CheckAndStandardizeWindowFunctionTest.java | 2 +-
.../trees/expressions/CastMonotonicityTest.java | 126 +
.../doris/nereids/trees/expressions/CastTest.java | 12 +
.../trees/expressions/functions/agg/CountTest.java | 56 +-
.../functions/scalar/ElementAtTest.java | 35 +-
.../functions/window/LeadLagOffsetTest.java | 88 +
.../plans/commands/CreateTableCommandTest.java | 133 +
.../ExternalRowLevelMergePlanBuilderTest.java | 104 +
.../ExternalRowLevelUpdatePlanBuilderTest.java | 30 +
.../PhysicalExternalRowLevelMergeSinkTest.java | 29 +-
.../apache/doris/nereids/types/DataTypeTest.java | 10 +
.../doris/nereids/util/TypeCoercionUtilsTest.java | 95 +
.../org/apache/doris/planner/OlapScanNodeTest.java | 81 +
.../main/java/org/apache/doris/catalog/Type.java | 11 +-
.../java/org/apache/doris/catalog/VariantType.java | 34 +-
gensrc/proto/cloud.proto | 5 +
gensrc/proto/data.proto | 1 +
gensrc/proto/types.proto | 1 +
gensrc/thrift/DataSinks.thrift | 2 +
gensrc/thrift/Types.thrift | 2 +
plan-doc/HANDOFF.md | 59 +-
.../test_timestamptz_rf_partition_prune_dst.out | 13 +
...eberg_write_merge_duplicate_source_negative.out | 2 +
...loud_mow_load_preserves_schema_change_lock.out} | 5 +-
.../query_p0/topn_lazy/topn_lazy_on_data_model.out | 4 +
.../topNLazyMaterializationUsingIndex.out | 14 +
.../row_binlog_p0/test_row_binlog_cluster_key.out | 8 +
.../test_variant_count_distinct.out} | 5 +-
.../variant_p0/test_variant_equality_contexts.out | 39 +
.../test_variant_ordering_comparison_error.out | 16 +
.../data/variant_p0/variant_compute_v2.out | 235 ++
.../data/variant_p0/variant_parse_functions.out | 24 +
.../test_timestamptz_rf_partition_prune_dst.groovy | 90 +
.../PAIMON_ICEBERG_READ_WRITE_P0_COVERAGE.md | 9 +-
.../iceberg/write/ICEBERG_WRITE_P0_COVERAGE.md | 16 +-
...rg_write_merge_duplicate_source_negative.groovy | 93 +-
...st_iceberg_write_merge_truncate_negative.groovy | 15 +-
...iceberg_write_nullable_truncate_negative.groovy | 8 -
.../test_paimon_ctas_atomicity_negative.groovy | 30 +-
...ud_mow_load_preserves_schema_change_lock.groovy | 101 +
.../sql/auto_partition_quorum_race_docker.groovy | 98 +
.../test_lead_lag_large_offset.groovy | 292 ++
.../topn_lazy/topn_lazy_on_data_model.groovy | 10 +-
.../topNLazyMaterializationUsingIndex.groovy | 39 +
.../test_row_binlog_cluster_key.groovy | 88 +
.../suites/variant_p0/delete_update.groovy | 1 -
.../variant_p0/doc_mode/delete_update.groovy | 1 -
.../suites/variant_p0/doc_mode/load.groovy | 11 +-
.../doc_mode/test_variant_cast_strict.groovy | 25 +-
regression-test/suites/variant_p0/load.groovy | 11 +-
.../variant_p0/predefine/delete_update.groovy | 3 +-
regression-test/suites/variant_p0/sql/gh_data.sql | 2 +-
.../suites/variant_p0/sql/implicit_cast.sql | 4 +-
.../variant_p0/test_json_object_flatten.groovy | 2 +-
.../suites/variant_p0/test_sub_path_pruning.groovy | 2 +-
.../variant_p0/test_variant_count_distinct.groovy | 33 +-
.../test_variant_equality_contexts.groovy | 231 ++
.../test_variant_ordering_comparison_error.groovy | 110 +
.../suites/variant_p0/variant_compute_v2.groovy | 708 +++++
.../variant_p0/variant_parse_functions.groovy | 121 +
.../with_index/test_array_index_write.groovy | 3 +-
290 files changed, 37426 insertions(+), 686 deletions(-)
create mode 100644 be/src/core/column/variant_v2/column_variant_v2.cpp
create mode 100644 be/src/core/column/variant_v2/column_variant_v2.h
create mode 100644
be/src/core/column/variant_v2/column_variant_v2_read_view.cpp
copy regression-test/suites/variant_p0/test_variant_count_distinct.groovy =>
be/src/core/column/variant_v2/column_variant_v2_typed_column.cpp (52%)
create mode 100644
be/src/core/column/variant_v2/column_variant_v2_typed_column.h
create mode 100644 be/src/core/data_type/data_type_variant_v2.cpp
create mode 100644 be/src/core/data_type/data_type_variant_v2.h
create mode 100644 be/src/core/data_type_serde/data_type_variant_v2_serde.cpp
create mode 100644 be/src/core/data_type_serde/data_type_variant_v2_serde.h
create mode 100644 be/src/core/value/variant/variant_batch_builder.cpp
create mode 100644 be/src/core/value/variant/variant_batch_builder.h
create mode 100644 be/src/core/value/variant/variant_canonical.cpp
create mode 100644 be/src/core/value/variant/variant_canonical.h
create mode 100644 be/src/core/value/variant/variant_field.cpp
create mode 100644 be/src/core/value/variant/variant_field.h
create mode 100644 be/src/core/value/variant/variant_metadata.cpp
copy regression-test/suites/variant_p0/test_variant_count_distinct.groovy =>
be/src/core/value/variant/variant_metadata.h (52%)
create mode 100644 be/src/core/value/variant/variant_parquet_encoding.h
create mode 100644 be/src/core/value/variant/variant_scalar.cpp
create mode 100644 be/src/core/value/variant/variant_scalar.h
create mode 100644 be/src/core/value/variant/variant_value.cpp
create mode 100644 be/src/core/value/variant/variant_value.h
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_array_to_variant.cpp
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_variant_to_array.cpp
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_variant_to_jsonb.cpp
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_variant_to_scalar.cpp
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_variant_to_string.cpp
create mode 100644 be/src/exprs/function/cast/variant_v2/cast_variant_v2.cpp
copy regression-test/suites/variant_p0/test_variant_count_distinct.groovy =>
be/src/exprs/function/cast/variant_v2/cast_variant_v2.h (53%)
create mode 100644
be/src/exprs/function/cast/variant_v2/cast_variant_v2_internal.h
create mode 100644 be/src/exprs/function/function_variant_element_v2.cpp
create mode 100644 be/src/exprs/function/function_variant_element_v2.h
create mode 100644 be/src/exprs/function/function_variant_parse.cpp
create mode 100644 be/src/exprs/function/parse/variant_jsonb_parse.cpp
create mode 100644 be/src/exprs/function/parse/variant_jsonb_parse.h
create mode 100644 be/src/exprs/function/parse/variant_string_parse.cpp
create mode 100644 be/src/exprs/function/parse/variant_string_parse.h
create mode 100644 be/src/exprs/vtopn_pred.cpp
copy regression-test/suites/variant_p0/test_variant_count_distinct.groovy =>
be/src/format_v2/parquet/reader/direct_predicate.h (53%)
create mode 100644 be/test/core/column/column_variant_v2_test.cpp
create mode 100644
be/test/core/data_type_serde/data_type_variant_v2_serde_binary_roundtrip_test.cpp
create mode 100644
be/test/core/data_type_serde/data_type_variant_v2_serde_input_test.cpp
create mode 100644
be/test/core/data_type_serde/data_type_variant_v2_serde_jsonb_test.cpp
create mode 100644
be/test/core/data_type_serde/data_type_variant_v2_serde_output_test.cpp
create mode 100644
be/test/exprs/aggregate/aggregate_function_uniq_variant_test.cpp
create mode 100644
be/test/exprs/function/cast/cast_variant_v2_benchmark_test.cpp
create mode 100644 be/test/exprs/function/cast/cast_variant_v2_from_test.cpp
create mode 100644 be/test/exprs/function/cast/cast_variant_v2_to_test.cpp
create mode 100644
be/test/exprs/function/function_variant_element_v2_encoded_test.cpp
create mode 100644
be/test/exprs/function/function_variant_element_v2_string_test.cpp
create mode 100644 be/test/exprs/function/function_variant_parse_test.cpp
copy regression-test/suites/variant_p0/test_variant_count_distinct.groovy =>
be/test/exprs/variant_v2_execution_test.cpp (53%)
create mode 100644 be/test/format/parquet/parquet_column_chunk_reader_test.cpp
create mode 100644 be/test/util/variant/testdata/ParquetVariantGolden.java
create mode 100644
be/test/util/variant/testdata/doris_java_verified_vectors.tsv
create mode 100644 be/test/util/variant/testdata/parquet_java_vectors.tsv
create mode 100644 be/test/util/variant/variant_batch_builder_test.cpp
create mode 100644 be/test/util/variant/variant_canonical_test.cpp
create mode 100644 be/test/util/variant/variant_field_test.cpp
create mode 100644 be/test/util/variant/variant_golden_vector_test.cpp
create mode 100644 be/test/util/variant/variant_jsonb_parse_test.cpp
create mode 100644 be/test/util/variant/variant_string_parse_test.cpp
create mode 100644 be/test/util/variant/variant_test_utils.cpp
create mode 100644 be/test/util/variant/variant_test_utils.h
create mode 100644 be/test/util/variant/variant_value_test.cpp
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ParseToVariant.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/TryParseToVariant.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/analysis/AnalyticWindowTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreatorTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/processor/post/materialize/LazyMaterializeTopNTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/processor/post/materialize/LazySlotPruningTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/VariantEqualityContextTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/CastMonotonicityTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/window/LeadLagOffsetTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommandTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/ExternalRowLevelMergePlanBuilderTest.java
create mode 100644
regression-test/data/datatype_p0/timestamptz/test_timestamptz_rf_partition_prune_dst.out
copy
regression-test/data/{external_table_p0/iceberg/write/test_iceberg_write_merge_duplicate_source_negative.out
=>
fault_injection_p0/cloud/test_cloud_mow_load_preserves_schema_change_lock.out}
(65%)
create mode 100644
regression-test/data/row_binlog_p0/test_row_binlog_cluster_key.out
copy
regression-test/data/{external_table_p0/iceberg/write/test_iceberg_write_merge_duplicate_source_negative.out
=> variant_p0/test_variant_count_distinct.out} (65%)
create mode 100644
regression-test/data/variant_p0/test_variant_equality_contexts.out
create mode 100644
regression-test/data/variant_p0/test_variant_ordering_comparison_error.out
create mode 100644 regression-test/data/variant_p0/variant_compute_v2.out
create mode 100644 regression-test/data/variant_p0/variant_parse_functions.out
create mode 100644
regression-test/suites/datatype_p0/timestamptz/test_timestamptz_rf_partition_prune_dst.groovy
create mode 100644
regression-test/suites/fault_injection_p0/cloud/test_cloud_mow_load_preserves_schema_change_lock.groovy
create mode 100644
regression-test/suites/partition_p1/auto_partition/sql/auto_partition_quorum_race_docker.groovy
create mode 100644
regression-test/suites/query_p0/sql_functions/window_functions/test_lead_lag_large_offset.groovy
create mode 100644
regression-test/suites/row_binlog_p0/test_row_binlog_cluster_key.groovy
create mode 100644
regression-test/suites/variant_p0/test_variant_equality_contexts.groovy
create mode 100644
regression-test/suites/variant_p0/test_variant_ordering_comparison_error.groovy
create mode 100644 regression-test/suites/variant_p0/variant_compute_v2.groovy
create mode 100644
regression-test/suites/variant_p0/variant_parse_functions.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]