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
from e48a96ae488 [fix](catalog) port #65955's paimon table-option
passthrough + jni.* rename to the connector
add f041a83e4dd [refactor](catalog) connector public interface cleanup: no
common-module edit to add a connector, dead-surface deletion, 11 correctness
fixes (#66135)
No new revisions were added by this update.
Summary of changes:
fe/fe-connector/fe-connector-api/pom.xml | 8 +-
.../org/apache/doris/connector/api/Connector.java | 141 +-
.../doris/connector/api/ConnectorCapability.java | 89 +-
.../doris/connector/api/ConnectorColumn.java | 8 +-
.../connector/api/ConnectorColumnEvolutionOps.java | 151 ++
.../connector/api/ConnectorColumnStatistics.java | 13 +-
.../connector/api/ConnectorContractValidator.java | 36 +-
.../doris/connector/api/ConnectorMetadata.java | 31 +-
.../connector/api/ConnectorMustImplement.java | 50 +
.../connector/api/ConnectorPartitionInfo.java | 23 +-
.../api/ConnectorPartitionListingOps.java | 64 +
.../connector/api/ConnectorPassthroughSqlOps.java | 56 +
.../connector/api/ConnectorPropertyMetadata.java | 120 --
.../doris/connector/api/ConnectorPushdownOps.java | 39 +-
.../doris/connector/api/ConnectorSchemaOps.java | 39 +-
.../doris/connector/api/ConnectorSession.java | 15 +-
.../connector/api/ConnectorSnapshotRefOps.java | 88 ++
.../connector/api/ConnectorStatisticsOps.java | 20 +-
.../doris/connector/api/ConnectorTableDdlOps.java | 85 +
.../connector/api/ConnectorTableMetadataOps.java | 248 +++
.../doris/connector/api/ConnectorTableOps.java | 513 +-----
.../doris/connector/api/ConnectorTableSchema.java | 82 +-
.../connector/api/ConnectorTableStatistics.java | 13 +-
.../doris/connector/api/ConnectorTestResult.java | 48 +-
.../apache/doris/connector/api/ConnectorType.java | 103 +-
.../connector/api/ConnectorViewDefinition.java | 2 +-
.../doris/connector/api/ConnectorViewOps.java | 84 +
.../connector/api/ddl/ConnectorColumnPath.java | 2 +-
.../connector/api/ddl/ConnectorColumnPosition.java | 4 +-
.../api/ddl/ConnectorCreateTableRequest.java | 22 +-
.../connector/api/ddl/ConnectorPartitionSpec.java | 33 +-
.../api/ddl/ConnectorPartitionValueDef.java | 77 -
.../api/handle/ConnectorPartitionHandle.java | 26 -
.../connector/api/handle/ConnectorTransaction.java | 7 +-
.../api/handle/ConnectorTransactionHandle.java | 24 -
.../connector/api/handle/ConnectorWriteHandle.java | 15 +-
.../api/handle/RewriteCapableTransaction.java | 16 +-
.../api/mvcc/ConnectorMvccPartitionView.java | 2 +-
.../connector/api/mvcc/ConnectorMvccSnapshot.java | 46 +-
.../apache/doris/connector/api/package-info.java | 193 +++
.../api/procedure/ConnectorProcedureOps.java | 40 +-
.../api/procedure/ConnectorRewriteGroup.java | 36 +-
.../api/procedure/ConnectorRewriteStatistics.java | 82 +
.../api/pushdown/ConnectorComparison.java | 27 +-
.../connector/api/pushdown/ConnectorLike.java | 30 +
.../connector/api/pushdown/ConnectorLiteral.java | 21 +-
.../doris/connector/api/pushdown/ConnectorOr.java | 14 +-
.../connector/api/pushdown/ConnectorPredicate.java | 4 +-
.../api/pushdown/FilterApplicationResult.java | 19 +
.../api/pushdown/LimitApplicationResult.java | 70 -
.../doris/connector/api/pushdown/package-info.java | 177 +++
.../api/rest/ConnectorRestPassthrough.java | 44 +
.../api/scan/ConnectorPartitionValues.java | 75 +-
.../api/scan/ConnectorScanPlanProvider.java | 227 +--
.../connector/api/scan/ConnectorScanRange.java | 33 +-
.../connector/api/scan/ConnectorScanRangeType.java | 47 -
.../connector/api/scan/ConnectorScanRequest.java | 168 ++
.../api/scan/ScanNodePropertiesResult.java | 46 +-
.../connector/api/scan/ScanNodePropertyKeys.java | 180 +++
.../api/ConnectorMetadataSurfaceTest.java | 179 +++
.../api/ConnectorScanProviderSelectionTest.java | 7 +-
.../doris/connector/api/ConnectorTypeTest.java | 178 +++
.../api/handle/ConnectorWriteHandleTest.java | 2 +-
.../api/mvcc/ConnectorMvccSnapshotTest.java | 14 +-
.../ConnectorProcedureOpsDefaultsTest.java | 33 +
.../connector/api/pushdown/ConnectorOrTest.java | 90 ++
.../api/scan/ConnectorPartitionValuesTest.java | 40 +
.../ConnectorScanPlanProviderBatchScanTest.java | 80 +-
.../ConnectorScanPlanProviderCompressTypeTest.java | 9 +-
.../scan/ConnectorScanRangeWeightDefaultsTest.java | 5 -
.../api/scan/ScanNodePropertiesFacesTest.java | 123 ++
.../ConnectorWritePlanProviderDefaultsTest.java | 7 +-
.../test/resources/connector-metadata-methods.txt | 72 +
.../org/apache/doris/connector/es/EsConnector.java | 12 +-
.../doris/connector/es/EsConnectorMetadata.java | 15 +
.../doris/connector/es/EsConnectorProvider.java | 8 +
.../doris/connector/es/EsScanPlanProvider.java | 90 +-
.../org/apache/doris/connector/es/EsScanRange.java | 6 -
.../connector/es/EsConnectorProviderTest.java | 44 +
.../connector/es/EsNodeInfoAndScanRangeTest.java | 7 -
.../doris/connector/es/EsScanPlanProviderTest.java | 141 +-
.../apache/doris/connector/hive/HiveConnector.java | 9 +-
.../connector/hive/HiveConnectorMetadata.java | 228 ++-
.../connector/hive/HiveConnectorProvider.java | 19 +
.../connector/hive/HiveConnectorTransaction.java | 17 +-
.../doris/connector/hive/HiveFileListingCache.java | 3 +-
.../doris/connector/hive/HiveScanPlanProvider.java | 56 +-
.../apache/doris/connector/hive/HiveScanRange.java | 18 +-
.../doris/connector/hive/HiveTextProperties.java | 51 +-
.../connector/hive/HiveWritePlanProvider.java | 23 +-
.../doris/connector/hive/FakeConnectorContext.java | 10 +-
.../hive/HiveConnectorCapabilitiesTest.java | 7 +-
.../connector/hive/HiveConnectorContractTest.java | 79 +
.../hive/HiveConnectorMetadataDdlTest.java | 25 +-
.../hive/HiveConnectorMetadataSchemaTest.java | 20 +-
...HiveConnectorMetadataSiblingDelegationTest.java | 117 +-
.../HiveConnectorMetadataTableCommentTest.java | 185 +++
.../hive/HiveConnectorScanProviderDivertTest.java | 7 +-
.../hive/HiveConnectorThreeWayRoutingTest.java | 7 +-
.../hive/HiveConnectorTransactionTest.java | 2 +-
.../hive/HiveCreateTableValidationTest.java | 13 +-
.../connector/hive/HiveFileListingCacheTest.java | 24 +-
.../connector/hive/HiveScanBatchModeTest.java | 13 +-
.../hive/HiveScanRangePartitionValuesTest.java | 8 +-
.../connector/hive/HiveWritePlanProviderTest.java | 2 +-
.../connector/hive/RecordingConnectorContext.java | 11 +-
.../connector/hudi/HudiConnectorMetadata.java | 70 +-
.../connector/hudi/HudiConnectorProvider.java | 22 +-
.../doris/connector/hudi/HudiScanPlanProvider.java | 90 +-
.../apache/doris/connector/hudi/HudiScanRange.java | 33 +-
.../connector/hudi/HudiBackendDescriptorTest.java | 31 +-
.../connector/hudi/HudiConnectorHmsCacheTest.java | 25 +-
.../hudi/HudiConnectorPartitionListingTest.java | 88 +-
.../connector/hudi/HudiConnectorProviderTest.java | 40 +
.../hudi/HudiReadOnlyWriteRejectTest.java | 4 +-
.../hudi/HudiScanRangePartitionValuesTest.java | 121 ++
.../doris/connector/iceberg/IcebergConnector.java | 18 +-
.../iceberg/IcebergConnectorMetadata.java | 44 +-
.../iceberg/IcebergConnectorProvider.java | 10 +
.../iceberg/IcebergConnectorTransaction.java | 4 +-
.../connector/iceberg/IcebergProcedureOps.java | 16 +
.../connector/iceberg/IcebergScanPlanProvider.java | 57 +-
.../iceberg/IcebergScanProfileReporter.java | 6 +-
.../doris/connector/iceberg/IcebergScanRange.java | 9 +-
.../connector/iceberg/IcebergWriteContext.java | 2 +-
.../iceberg/IcebergWritePlanProvider.java | 29 +-
.../iceberg/TcclPinningConnectorContext.java | 123 +-
.../action/IcebergRewriteDataFilesAction.java | 50 +
.../iceberg/rewrite/RewriteDataFilePlanner.java | 4 +-
.../iceberg/IcebergConnectorMetadataDdlTest.java | 9 +-
.../connector/iceberg/IcebergConnectorTest.java | 25 +-
.../IcebergConnectorTestConnectionTest.java | 49 +-
.../connector/iceberg/IcebergProcedureOpsTest.java | 78 +-
.../IcebergScanPlanProviderKerberosScanIoTest.java | 21 +-
.../iceberg/IcebergScanPlanProviderTest.java | 290 ++--
.../iceberg/IcebergScanProfileReporterTest.java | 2 +-
.../connector/iceberg/IcebergScanRangeTest.java | 4 -
.../iceberg/IcebergSchemaBuilderTest.java | 5 +-
.../iceberg/IcebergWritePlanProviderTest.java | 2 +-
.../iceberg/RecordingConnectorContext.java | 39 +-
.../iceberg/TcclPinningConnectorContextTest.java | 16 +
.../action/IcebergRewriteDataFilesActionTest.java | 20 +
.../connector/jdbc/JdbcConnectorMetadata.java | 13 +-
.../doris/connector/jdbc/JdbcDorisConnector.java | 5 +-
.../doris/connector/jdbc/JdbcScanPlanProvider.java | 35 +-
.../apache/doris/connector/jdbc/JdbcScanRange.java | 6 -
.../connector/jdbc/client/JdbcConnectorClient.java | 3 +-
.../connector/jdbc/JdbcDorisConnectorTest.java | 19 +-
.../jdbc/JdbcScanRangeAndPropertiesTest.java | 45 +-
.../connector/jdbc/JdbcWritePlanProviderTest.java | 2 +-
.../maxcompute/MaxComputeConnectorMetadata.java | 23 -
.../maxcompute/MaxComputeConnectorProvider.java | 22 +
.../maxcompute/MaxComputePartitionCache.java | 4 +-
.../maxcompute/MaxComputeScanPlanProvider.java | 25 +-
.../connector/maxcompute/MaxComputeScanRange.java | 6 -
.../maxcompute/MaxComputeWritePlanProvider.java | 2 +-
.../MaxComputeConnectorContractTest.java | 15 +-
.../MaxComputeConnectorMetadataCapabilityTest.java | 27 +-
.../MaxComputeConnectorProviderTest.java | 9 +
.../connector/paimon/PaimonCatalogFactory.java | 8 +-
.../doris/connector/paimon/PaimonConnector.java | 18 +-
.../connector/paimon/PaimonConnectorMetadata.java | 55 +-
.../connector/paimon/PaimonConnectorProvider.java | 10 +
.../connector/paimon/PaimonPredicateConverter.java | 63 +-
.../doris/connector/paimon/PaimonScanMetrics.java | 6 +-
.../connector/paimon/PaimonScanPlanProvider.java | 97 +-
.../doris/connector/paimon/PaimonScanRange.java | 17 +-
.../paimon/TcclPinningConnectorContext.java | 114 +-
.../connector/paimon/PaimonCatalogFactoryTest.java | 8 +-
.../paimon/PaimonConnectorMetadataDbDdlTest.java | 18 +-
.../paimon/PaimonConnectorMetadataDdlTest.java | 6 +-
.../PaimonConnectorMetadataPartitionTest.java | 45 +-
...monConnectorMetadataPartitionViewCacheTest.java | 61 +-
.../paimon/PaimonPartitionValueRenderTest.java | 4 +-
.../paimon/PaimonPredicateConverterTest.java | 146 ++
.../connector/paimon/PaimonScanMetricsTest.java | 7 +-
.../PaimonScanPlanProviderCapabilityTest.java | 4 +-
.../paimon/PaimonScanPlanProviderTest.java | 149 +-
.../paimon/PaimonScanRangePartitionNullTest.java | 6 +-
.../connector/paimon/PaimonSchemaBuilderTest.java | 9 +-
.../paimon/RecordingConnectorContext.java | 38 +-
.../paimon/TcclPinningConnectorContextTest.java | 21 +
fe/fe-connector/fe-connector-spi/pom.xml | 5 +-
.../connector/spi/ConnectorBrokerAddress.java | 4 +-
.../doris/connector/spi/ConnectorContext.java | 308 +---
.../connector/spi/ConnectorMetaInvalidator.java | 57 -
.../doris/connector/spi/ConnectorProvider.java | 104 +-
...orContext.java => ConnectorStorageContext.java} | 141 +-
.../connector/spi/ForwardingConnectorContext.java | 110 ++
.../apache/doris/connector/spi/package-info.java | 36 +-
.../doris/connector/spi/ConnectorContextTest.java | 32 +-
.../connector/spi/ConnectorStorageContextTest.java | 88 ++
.../spi/ForwardingConnectorContextTest.java | 205 +++
.../trino/TrinoConnectorDorisMetadata.java | 15 +
.../connector/trino/TrinoPredicateConverter.java | 23 +-
.../connector/trino/TrinoScanPlanProvider.java | 23 +-
.../doris/connector/trino/TrinoScanRange.java | 6 -
.../doris/connector/trino/TrinoTypeMapping.java | 36 +-
.../trino/TrinoPredicateConverterTest.java | 63 +
.../connector/trino/TrinoTypeMappingTest.java | 31 +
.../main/java/org/apache/doris/alter/Alter.java | 22 +-
.../java/org/apache/doris/alter/AlterOpType.java | 1 -
.../main/java/org/apache/doris/catalog/Env.java | 14 +-
.../java/org/apache/doris/catalog/TableIf.java | 5 +-
.../doris/common/profile/SummaryProfile.java | 6 -
.../apache/doris/connector/ConnectorFactory.java | 44 +
.../doris/connector/ConnectorPluginManager.java | 214 ++-
.../doris/connector/DefaultConnectorContext.java | 26 +-
.../connector/ExternalMetaCacheInvalidator.java | 82 -
...CreateTableInfoToConnectorRequestConverter.java | 19 +-
.../apache/doris/datasource/CatalogFactory.java | 83 +-
.../org/apache/doris/datasource/CatalogIf.java | 26 +
.../apache/doris/datasource/CatalogProperty.java | 2 +-
.../apache/doris/datasource/InternalCatalog.java | 78 +-
.../doris/datasource/MetastoreEventSyncDriver.java | 62 +-
.../doris/datasource/TablePartitionValues.java | 6 +-
.../plugin/PluginDrivenExternalCatalog.java | 101 +-
.../plugin/PluginDrivenExternalDatabase.java | 16 +-
.../plugin/PluginDrivenExternalTable.java | 191 +--
.../plugin/PluginDrivenSchemaCacheValue.java | 17 +
.../doris/datasource/scan/FilePartitionUtils.java | 2 +-
.../doris/datasource/scan/FileQueryScanNode.java | 30 +-
.../datasource/scan/PluginDrivenScanNode.java | 190 ++-
.../org/apache/doris/fs/FileSystemFactory.java | 2 +-
.../doris/httpv2/restv2/ESCatalogAction.java | 26 +-
.../glue/translator/PhysicalPlanTranslator.java | 28 +-
.../doris/nereids/parser/LogicalPlanBuilder.java | 11 -
.../trees/plans/commands/AlterTableCommand.java | 2 -
.../plans/commands/ShowPartitionsCommand.java | 10 +-
.../plans/commands/call/CallExecuteStmtFunc.java | 13 +-
.../commands/execute/ConnectorExecuteAction.java | 4 +-
.../commands/execute/ConnectorRewriteDriver.java | 49 +-
.../trees/plans/commands/info/CreateTableInfo.java | 217 +--
.../trees/plans/commands/info/ModifyEngineOp.java | 77 -
.../java/org/apache/doris/persist/EditLog.java | 4 -
.../doris/planner/PluginDrivenTableSink.java | 2 +-
.../doris/tablefunction/MetadataGenerator.java | 6 +-
...va => PluginDrivenQueryTableValueFunction.java} | 20 +-
.../tablefunction/QueryTableValueFunction.java | 25 +-
.../catalog/EnvShowCreatePluginTableTest.java | 7 +-
.../doris/catalog/ListPartitionItemTest.java | 4 +-
.../connector/ConnectorContractValidatorTest.java | 101 +-
.../connector/ConnectorPluginManagerTest.java | 225 ++-
.../connector/ConnectorWriteDelegationTest.java | 61 +-
.../DefaultConnectorContextCleanupTest.java | 2 +-
.../ExternalMetaCacheInvalidatorTest.java | 107 --
...teTableInfoToConnectorRequestConverterTest.java | 48 +-
.../connector/fake/FakeConnectorPluginTest.java | 55 +-
.../CatalogFactoryPluginRoutingTest.java | 212 +++
.../MetastoreEventSyncDriverSeedingTest.java | 173 +++
.../doris/datasource/PluginDrivenSysTableTest.java | 13 +-
.../mvcc/PluginDrivenMvccExternalTableTest.java | 18 +-
.../PluginDrivenExternalCatalogDdlRoutingTest.java | 50 +-
.../PluginDrivenExternalTableEngineTest.java | 150 +-
.../PluginDrivenExternalTablePartitionTest.java | 6 +-
.../plugin/PluginDrivenExternalTableTest.java | 122 +-
.../plugin/PluginDrivenMvccTableFactoryTest.java | 22 +-
.../scan/PluginDrivenScanNodeExplainStatsTest.java | 6 -
...PluginDrivenScanNodeFileCacheAdmissionTest.java | 96 ++
.../PluginDrivenScanNodePushdownFactsTest.java | 79 +
.../scan/PluginDrivenScanNodeScanProfileTest.java | 10 -
.../PluginDrivenScanNodeVerboseExplainTest.java | 2 +-
.../PluginDrivenSplitPartitionValuesTest.java | 6 -
.../split/PluginDrivenSplitWeightTest.java | 8 +-
.../PhysicalPlanTranslatorAdmissionGateTest.java | 8 +-
...ysicalPlanTranslatorIcebergRowLevelDmlTest.java | 52 +-
.../trees/plans/CreateTableCommandTest.java | 58 +-
.../commands/IcebergRowLevelDmlTransformTest.java | 2 +-
.../ShowPartitionsCommandPluginDrivenTest.java | 9 +-
.../execute/ConnectorExecuteActionTest.java | 26 +-
.../execute/ConnectorRewriteDriverTest.java | 44 +-
.../info/CreateTableInfoEngineCatalogTest.java | 294 ++--
.../planner/PluginDrivenTableSinkBindingTest.java | 4 +-
.../doris/planner/PluginDrivenTableSinkTest.java | 2 +-
.../filesystem/hdfs/HdfsFileSystemProperties.java | 2 +-
.../antlr4/org/apache/doris/nereids/DorisParser.g4 | 1 -
.../connector-api-spi-design-review-2026-07-25.md | 877 +++++++++++
.../connector-public-interface-cleanup/HANDOFF.md | 377 +++++
.../connector-public-interface-cleanup/README.md | 193 +++
.../audit-report.md | 1632 ++++++++++++++++++++
.../open-decisions.md | 222 +++
.../tasks/01-fix-trino-or-predicate-row-loss.md | 221 +++
.../02-fix-paimon-null-safe-equal-pushdown.md | 185 +++
.../tasks/03-fix-paimon-like-prefix-narrowing.md | 186 +++
.../tasks/04-fix-trino-struct-field-names-lost.md | 237 +++
.../tasks/05-fix-hudi-partition-timestamp-unit.md | 201 +++
.../tasks/06-fix-engine-context-forwarding-gap.md | 242 +++
.../tasks/07-write-down-the-design-rules.md | 359 +++++
.../tasks/08-fix-stale-interface-docs.md | 164 ++
.../09-complete-pushdown-expression-contract.md | 211 +++
.../tasks/10-split-table-ops-by-domain.md | 240 +++
.../tasks/11-delete-dead-surface-batch-one.md | 257 +++
.../tasks/12-delete-dead-surface-batch-two.md | 256 +++
.../tasks/13-delete-scan-range-type-enum.md | 191 +++
.../14-delete-push-model-cache-invalidation.md | 170 ++
.../tasks/15-remove-catalog-type-allowlist.md | 277 ++++
.../tasks/16-replace-source-name-branches.md | 262 ++++
.../tasks/17-typed-per-table-capabilities.md | 297 ++++
.../tasks/18-push-down-create-table-capability.md | 251 +++
.../19-relocate-elasticsearch-specific-surface.md | 247 +++
.../tasks/20-neutralize-null-partition-sentinel.md | 217 +++
.../tasks/21-centralize-scan-node-property-keys.md | 228 +++
...-return-procedure-result-schema-to-connector.md | 215 +++
.../23-split-connector-context-storage-services.md | 292 ++++
.../24-decision-connector-declared-properties.md | 252 +++
.../tasks/25-fix-earlier-review-doc-errors.md | 243 +++
.../test_nereids_refresh_catalog.out | 14 +-
.../paimon/test_paimon_table_properties.out | 2 +-
.../maxcompute/test_max_compute_create_table.out | 22 +-
.../hive/ddl/test_hive_ddl.groovy | 8 +-
.../test_iceberg_on_hms_gateway_ddl_parity.groovy | 156 ++
.../iceberg/write/test_iceberg_create_table.groovy | 6 +-
.../paimon/test_paimon_like_pushdown.groovy | 90 ++
.../hudi/test_hudi_sqlcache.groovy | 85 +
314 files changed, 18524 insertions(+), 4885 deletions(-)
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnEvolutionOps.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMustImplement.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionListingOps.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPassthroughSqlOps.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPropertyMetadata.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSnapshotRefOps.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableDdlOps.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableMetadataOps.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewOps.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionValueDef.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorPartitionHandle.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTransactionHandle.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/package-info.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteStatistics.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/LimitApplicationResult.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/package-info.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/rest/ConnectorRestPassthrough.java
delete mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRangeType.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRequest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertyKeys.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataSurfaceTest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorTypeTest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorOrTest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorPartitionValuesTest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ScanNodePropertiesFacesTest.java
create mode 100644
fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt
create mode 100644
fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsConnectorProviderTest.java
create mode 100644
fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorContractTest.java
create mode 100644
fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableCommentTest.java
create mode 100644
fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorProviderTest.java
create mode 100644
fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiScanRangePartitionValuesTest.java
delete mode 100644
fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMetaInvalidator.java
copy
fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/{ConnectorContext.java
=> ConnectorStorageContext.java} (75%)
create mode 100644
fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ForwardingConnectorContext.java
create mode 100644
fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorStorageContextTest.java
create mode 100644
fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ForwardingConnectorContextTest.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/connector/ExternalMetaCacheInvalidator.java
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/ModifyEngineOp.java
rename
fe/fe-core/src/main/java/org/apache/doris/tablefunction/{JdbcQueryTableValueFunction.java
=> PluginDrivenQueryTableValueFunction.java} (71%)
delete mode 100644
fe/fe-core/src/test/java/org/apache/doris/connector/ExternalMetaCacheInvalidatorTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogFactoryPluginRoutingTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverSeedingTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeFileCacheAdmissionTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodePushdownFactsTest.java
create mode 100644 plan-doc/connector-api-spi-design-review-2026-07-25.md
create mode 100644 plan-doc/connector-public-interface-cleanup/HANDOFF.md
create mode 100644 plan-doc/connector-public-interface-cleanup/README.md
create mode 100644 plan-doc/connector-public-interface-cleanup/audit-report.md
create mode 100644
plan-doc/connector-public-interface-cleanup/open-decisions.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/01-fix-trino-or-predicate-row-loss.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/02-fix-paimon-null-safe-equal-pushdown.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/03-fix-paimon-like-prefix-narrowing.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/04-fix-trino-struct-field-names-lost.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/05-fix-hudi-partition-timestamp-unit.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/06-fix-engine-context-forwarding-gap.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/07-write-down-the-design-rules.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/08-fix-stale-interface-docs.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/09-complete-pushdown-expression-contract.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/10-split-table-ops-by-domain.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/11-delete-dead-surface-batch-one.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/12-delete-dead-surface-batch-two.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/13-delete-scan-range-type-enum.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/14-delete-push-model-cache-invalidation.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/15-remove-catalog-type-allowlist.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/16-replace-source-name-branches.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/17-typed-per-table-capabilities.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/18-push-down-create-table-capability.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/19-relocate-elasticsearch-specific-surface.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/20-neutralize-null-partition-sentinel.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/21-centralize-scan-node-property-keys.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/22-return-procedure-result-schema-to-connector.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/23-split-connector-context-storage-services.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/24-decision-connector-declared-properties.md
create mode 100644
plan-doc/connector-public-interface-cleanup/tasks/25-fix-earlier-review-doc-errors.md
create mode 100644
regression-test/suites/external_table_p0/iceberg/test_iceberg_on_hms_gateway_ddl_parity.groovy
create mode 100644
regression-test/suites/external_table_p0/paimon/test_paimon_like_pushdown.groovy
create mode 100644
regression-test/suites/external_table_p2/hudi/test_hudi_sqlcache.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]