From ae2fb5b655c2999f7c304c8a5e3772259e300e52 Mon Sep 17 00:00:00 2001 From: morningman Date: Tue, 4 Aug 2026 10:17:11 +0800 Subject: [PATCH] [refactor](fe) Merge fe-connector-api into fe-connector-spi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### What problem does this PR solve? Problem Summary: The connector plugin contract was split across two modules whose names were inverted relative to common usage: `fe-connector-api` held the types a plugin IMPLEMENTS (`Connector`, `ConnectorMetadata` and its Ops sub-interfaces, the scan / write / procedure providers, handles, pushdown and ddl value types) — which is what "SPI" normally names — while `fe-connector-spi` held mostly the engine services a plugin CONSUMES (`ConnectorContext`, `ConnectorStorageContext`, `ConnectorConf`), which is what "API" normally names. Both modules' package-info already documented the inversion and asked readers to "read the content, not the name". The `fe-connector-metastore-api` / `-metastore-spi` pair right next to them follows the opposite (standard) convention, so one directory carried two contradictory naming rules. Swapping the two names does not fix it. A strict split by "who implements" is circular: `ConnectorProvider.create` takes a `ConnectorContext` (spi -> api), while `ConnectorContext.createSiblingConnector` returns a `Connector` (api -> spi). That cycle is exactly why Trino keeps its whole plugin surface in a single `trino-spi` module, and this framework is modelled on Trino. This commit does the same: `fe-connector-api` is merged into `fe-connector-spi`, and `org.apache.doris.connector.api` becomes `org.apache.doris.connector.spi`. The merge is dependency-neutral — every module that depended on `fe-connector-api` (hive, hudi, maxcompute, paimon, trino, fe-core) already depended on `fe-connector-spi` as well. Two consequences worth calling out: - The connector plugin API version is bumped 2.0 -> 3.0. Every type on the contract changed its fully-qualified name, so a plugin built against 2.0 must be refused by `ApiVersionGate` at load time rather than fail later with `NoClassDefFoundError`. Both recorded baselines (`connector-metadata-methods.txt`, `connector-plugin-surface.txt`) and the version pinned in `ConnectorPluginSurfaceTest` are updated in this commit. `ConnectorPluginManagerTest` used to hardcode the compatible major as a literal; it now derives both the stale and the current major from the kernel's declared version, because what that test asserts is the gate (stale refused, current admitted), not which number is current. `ConnectorPluginSurfaceTest` remains the one deliberate speed bump. - `ChildFirstClassLoader.DEFAULT_PARENT_FIRST_PACKAGES` listed only `org.apache.doris.connector.api.`, so `ConnectorProvider` and `ConnectorContext` were not parent-first. After the merge the single `org.apache.doris.connector.spi.` entry covers the whole contract. The merged `package-info.java` keeps the existing Rule 1-7 design rules; Rule 4 now explains why both directions live in one module instead of disclaiming the inverted names. README.md and AGENTS.md are updated accordingly. ### Release note None ### Check List (For Author) - Test: Unit Test - Full FE build passes, including fe-core test compilation. - Every unit test under `org.apache.doris.connector` passes: 314 test classes / 1421 cases, 0 failures, 0 errors, across the 58-module reactor (fe-core included). - Checkstyle passes across the whole fe reactor. - Both architecture gates pass: `check-fe-connector-imports.sh` (plus its self-test) and `check-fe-core-metadata-funnel.sh`. - No regression test run: this is a pure rename/merge with no behavior change. - Behavior changed: No - Does this need documentation: No Co-Authored-By: Claude Opus 5 (1M context) --- .licenserc.yaml | 2 +- build-support/check-fe-connector-imports.sh | 2 +- .../tests/test-fe-connector-imports.sh | 4 +- build.sh | 3 +- fe/fe-connector/AGENTS.md | 28 ++- fe/fe-connector/README.md | 32 +-- fe/fe-connector/fe-connector-api/pom.xml | 81 ------- .../doris/connector/api/package-info.java | 206 ---------------- .../resources/connector-metadata-methods.txt | 73 ------ .../src/main/assembly/plugin-zip.xml | 3 +- .../doris/connector/es/EsConnector.java | 12 +- .../connector/es/EsConnectorMetadata.java | 16 +- .../connector/es/EsConnectorProvider.java | 2 +- .../connector/es/EsConnectorRestClient.java | 4 +- .../doris/connector/es/EsMajorVersion.java | 2 +- .../doris/connector/es/EsMappingUtils.java | 2 +- .../doris/connector/es/EsMetadataFetcher.java | 2 +- .../doris/connector/es/EsQueryDslBuilder.java | 22 +- .../connector/es/EsScanPlanProvider.java | 20 +- .../doris/connector/es/EsScanRange.java | 2 +- .../doris/connector/es/EsShardPartitions.java | 2 +- .../doris/connector/es/EsStatementScope.java | 6 +- .../doris/connector/es/EsTableHandle.java | 2 +- .../doris/connector/es/EsTypeMapping.java | 6 +- .../connector/es/EsMajorVersionTest.java | 2 +- .../connector/es/EsQueryDslBuilderTest.java | 10 +- .../connector/es/EsScanPlanProviderTest.java | 12 +- .../connector/es/EsStatementScopeTest.java | 2 +- .../doris/connector/es/EsTypeMappingTest.java | 4 +- fe/fe-connector/fe-connector-hive/pom.xml | 7 - .../src/main/assembly/plugin-zip.xml | 3 +- .../connector/hive/HiveColumnHandle.java | 2 +- .../doris/connector/hive/HiveConnector.java | 24 +- .../connector/hive/HiveConnectorMetadata.java | 86 +++---- .../connector/hive/HiveConnectorProvider.java | 2 +- .../hive/HiveConnectorTransaction.java | 8 +- .../hive/HiveDirectoryListingException.java | 2 +- .../doris/connector/hive/HiveFileFormat.java | 2 +- .../connector/hive/HiveFileListingCache.java | 2 +- .../connector/hive/HiveReadTransaction.java | 2 +- .../connector/hive/HiveScanPlanProvider.java | 18 +- .../doris/connector/hive/HiveScanRange.java | 4 +- .../doris/connector/hive/HiveSinkHelper.java | 2 +- .../doris/connector/hive/HiveTableHandle.java | 2 +- .../connector/hive/HiveTextProperties.java | 2 +- .../connector/hive/HiveWriteContext.java | 2 +- .../connector/hive/HiveWritePlanProvider.java | 16 +- .../doris/connector/hive/SiblingOwner.java | 2 +- .../hive/HiveConnectorCapabilitiesTest.java | 4 +- .../hive/HiveConnectorClientCacheTest.java | 2 +- .../hive/HiveConnectorContractTest.java | 6 +- .../HiveConnectorMetadataColumnStatsTest.java | 2 +- .../hive/HiveConnectorMetadataDdlTest.java | 16 +- .../HiveConnectorMetadataFreshnessTest.java | 4 +- ...iveConnectorMetadataPartitionListTest.java | 14 +- ...ConnectorMetadataPartitionPruningTest.java | 20 +- ...nnectorMetadataPartitionViewCacheTest.java | 12 +- .../hive/HiveConnectorMetadataSchemaTest.java | 8 +- ...onnectorMetadataSiblingDelegationTest.java | 62 ++--- ...eConnectorMetadataStaticPartitionTest.java | 2 +- .../HiveConnectorMetadataStatisticsTest.java | 2 +- .../HiveConnectorMetadataSysTableTest.java | 2 +- ...HiveConnectorMetadataTableCommentTest.java | 4 +- ...onnectorMetadataTableHandleDivertTest.java | 12 +- .../hive/HiveConnectorMetadataViewTest.java | 8 +- .../HiveConnectorPartitionViewCacheTest.java | 2 +- .../HiveConnectorProcedureOpsDivertTest.java | 16 +- .../HiveConnectorScanProviderDivertTest.java | 16 +- .../hive/HiveConnectorSiblingTest.java | 10 +- .../HiveConnectorThreeWayRoutingTest.java | 30 +-- .../hive/HiveConnectorTransactionTest.java | 10 +- .../HiveConnectorWriteProviderDivertTest.java | 16 +- .../hive/HiveCreateTableValidationTest.java | 8 +- .../connector/hive/HiveFileFormatTest.java | 2 +- .../hive/HiveFileListingCacheTest.java | 10 +- .../connector/hive/HiveScanBatchModeTest.java | 8 +- .../hive/HiveTableFormatDetectionTest.java | 4 +- .../hive/HiveWritePlanProviderTest.java | 18 +- .../doris/connector/hive/ScopeSession.java | 4 +- .../connector/hive/TestStatementScope.java | 2 +- .../hms/HiveShowCreateTableRenderer.java | 4 +- .../connector/hms/HmsCreateTableRequest.java | 2 +- .../doris/connector/hms/HmsTableInfo.java | 2 +- .../doris/connector/hms/HmsTypeMapping.java | 2 +- .../connector/hms/HmsWriteConverter.java | 2 +- .../doris/connector/hms/ThriftHmsClient.java | 4 +- .../connector/hms/event/HmsEventParser.java | 4 +- .../connector/hms/event/HmsEventSource.java | 8 +- .../hms/HiveShowCreateTableRendererTest.java | 4 +- .../connector/hms/HmsTypeMappingTest.java | 2 +- .../connector/hms/HmsWriteConverterTest.java | 4 +- .../hms/event/HmsEventParserTest.java | 4 +- fe/fe-connector/fe-connector-hudi/pom.xml | 7 - .../src/main/assembly/plugin-zip.xml | 1 - .../connector/hudi/HudiColumnHandle.java | 2 +- .../doris/connector/hudi/HudiConnector.java | 12 +- .../connector/hudi/HudiConnectorMetadata.java | 46 ++-- .../connector/hudi/HudiConnectorProvider.java | 2 +- .../connector/hudi/HudiScanPlanProvider.java | 18 +- .../doris/connector/hudi/HudiScanRange.java | 4 +- .../connector/hudi/HudiStatementScope.java | 8 +- .../doris/connector/hudi/HudiTableHandle.java | 2 +- .../doris/connector/hudi/HudiTypeMapping.java | 2 +- .../connector/hudi/IncrementalRelation.java | 2 +- .../connector/hudi/HudiColumnFieldIdTest.java | 2 +- .../hudi/HudiConnectorOwnsHandleTest.java | 2 +- .../HudiConnectorPartitionListingTest.java | 6 +- .../connector/hudi/HudiForceJniTest.java | 2 +- .../hudi/HudiIncrementalPlanScanTest.java | 2 +- .../hudi/HudiIncrementalRelationTest.java | 2 +- .../connector/hudi/HudiIncrementalTest.java | 16 +- .../hudi/HudiPartitionPruningTest.java | 20 +- .../hudi/HudiPartitionValuesTest.java | 2 +- .../hudi/HudiReadOnlyWriteRejectTest.java | 4 +- .../hudi/HudiSchemaAtInstantTest.java | 6 +- .../connector/hudi/HudiSchemaParityTest.java | 4 +- .../connector/hudi/HudiStatementMemoTest.java | 8 +- .../connector/hudi/HudiTableTypeTest.java | 2 +- .../connector/hudi/HudiTimeTravelTest.java | 6 +- .../connector/hudi/HudiTypeMappingTest.java | 2 +- fe/fe-connector/fe-connector-iceberg/pom.xml | 2 +- .../src/main/assembly/plugin-zip.xml | 1 - .../iceberg/IcebergCatalogFactory.java | 2 +- .../connector/iceberg/IcebergCatalogOps.java | 14 +- .../iceberg/IcebergColumnChange.java | 2 +- .../iceberg/IcebergColumnHandle.java | 2 +- .../iceberg/IcebergComplexTypeDiff.java | 4 +- .../connector/iceberg/IcebergConnector.java | 26 +- .../iceberg/IcebergConnectorMetadata.java | 52 ++-- .../iceberg/IcebergConnectorProvider.java | 2 +- .../iceberg/IcebergConnectorTransaction.java | 14 +- .../IcebergDelegatedCredentialUtils.java | 2 +- .../iceberg/IcebergNestedColumnEvolution.java | 6 +- .../iceberg/IcebergPartitionUtils.java | 8 +- .../iceberg/IcebergPredicateConverter.java | 22 +- .../iceberg/IcebergProcedureOps.java | 18 +- .../iceberg/IcebergScanPlanProvider.java | 24 +- .../iceberg/IcebergScanProfileReporter.java | 2 +- .../connector/iceberg/IcebergScanRange.java | 2 +- .../iceberg/IcebergSchemaBuilder.java | 14 +- .../connector/iceberg/IcebergSchemaUtils.java | 2 +- .../iceberg/IcebergSessionCatalogAdapter.java | 6 +- .../iceberg/IcebergStatementScope.java | 6 +- .../connector/iceberg/IcebergTableHandle.java | 2 +- .../connector/iceberg/IcebergTimeUtils.java | 2 +- .../connector/iceberg/IcebergTypeMapping.java | 4 +- .../iceberg/IcebergWriteContext.java | 2 +- .../iceberg/IcebergWritePlanProvider.java | 28 +-- .../iceberg/action/BaseIcebergAction.java | 10 +- .../IcebergCherrypickSnapshotAction.java | 10 +- .../action/IcebergExecuteActionFactory.java | 4 +- .../action/IcebergExpireSnapshotsAction.java | 10 +- .../action/IcebergFastForwardAction.java | 10 +- .../action/IcebergPublishChangesAction.java | 10 +- .../action/IcebergRewriteDataFilesAction.java | 14 +- .../action/IcebergRewriteManifestsAction.java | 10 +- .../IcebergRollbackToSnapshotAction.java | 10 +- .../IcebergRollbackToTimestampAction.java | 10 +- .../IcebergSetCurrentSnapshotAction.java | 10 +- .../action/RewriteManifestExecutor.java | 2 +- .../rewrite/RewriteDataFilePlanner.java | 8 +- ...dIcebergCatalogOpsColumnEvolutionTest.java | 8 +- ...CatalogBackedIcebergCatalogOpsDdlTest.java | 16 +- .../CatalogBackedIcebergCatalogOpsTest.java | 2 +- .../iceberg/IcebergCatalogFactoryTest.java | 2 +- .../iceberg/IcebergConnectorCacheTest.java | 2 +- ...gConnectorMetadataColumnEvolutionTest.java | 8 +- .../IcebergConnectorMetadataDdlTest.java | 22 +- .../IcebergConnectorMetadataMvccTest.java | 16 +- ...nnectorMetadataPartitionViewCacheTest.java | 8 +- ...cebergConnectorMetadataStatisticsTest.java | 4 +- .../IcebergConnectorMetadataSysTableTest.java | 10 +- .../iceberg/IcebergConnectorMetadataTest.java | 22 +- .../iceberg/IcebergConnectorTest.java | 14 +- .../IcebergConnectorTestConnectionTest.java | 2 +- .../IcebergConnectorTransactionTest.java | 22 +- .../IcebergCreateTableValidationTest.java | 12 +- .../iceberg/IcebergLiveConnectivityTest.java | 2 +- .../IcebergNestedColumnEvolutionTest.java | 8 +- .../iceberg/IcebergPartitionUtilsTest.java | 8 +- ...ergPredicateConverterConflictModeTest.java | 20 +- ...bergPredicateConverterRewriteModeTest.java | 22 +- .../IcebergPredicateConverterTest.java | 24 +- .../iceberg/IcebergProcedureOpsTest.java | 14 +- .../IcebergProviderSessionRoutingTest.java | 6 +- ...ergScanPlanProviderClassifyColumnTest.java | 2 +- ...ergScanPlanProviderKerberosScanIoTest.java | 4 +- ...ergScanPlanProviderPartitionCountTest.java | 2 +- .../iceberg/IcebergScanPlanProviderTest.java | 22 +- .../IcebergScanProfileReporterTest.java | 2 +- .../IcebergSchemaBuilderColumnTest.java | 4 +- .../iceberg/IcebergSchemaBuilderTest.java | 12 +- .../IcebergSessionCatalogAdapterTest.java | 6 +- .../iceberg/IcebergStatementScopeTest.java | 4 +- .../iceberg/IcebergTimeUtilsTest.java | 2 +- .../iceberg/IcebergTypeMappingReadTest.java | 2 +- .../iceberg/IcebergWritePlanProviderTest.java | 26 +- .../iceberg/RecordingConnectorContext.java | 4 +- .../iceberg/RecordingIcebergCatalogOps.java | 10 +- .../connector/iceberg/TestStatementScope.java | 2 +- .../iceberg/action/ActionTestTables.java | 2 +- .../iceberg/action/BaseIcebergActionTest.java | 14 +- .../IcebergCherrypickSnapshotActionTest.java | 6 +- .../IcebergExecuteActionFactoryTest.java | 2 +- .../IcebergExpireSnapshotsActionTest.java | 12 +- .../action/IcebergFastForwardActionTest.java | 6 +- .../IcebergPublishChangesActionTest.java | 6 +- .../IcebergRewriteDataFilesActionTest.java | 4 +- .../IcebergRewriteManifestsActionTest.java | 4 +- .../IcebergRollbackToSnapshotActionTest.java | 6 +- .../IcebergRollbackToTimestampActionTest.java | 12 +- .../IcebergSetCurrentSnapshotActionTest.java | 6 +- .../rewrite/RewriteDataFilePlannerTest.java | 22 +- .../src/main/assembly/plugin-zip.xml | 3 +- .../connector/jdbc/JdbcColumnHandle.java | 2 +- .../connector/jdbc/JdbcConnectorMetadata.java | 26 +- .../connector/jdbc/JdbcConnectorProvider.java | 4 +- .../doris/connector/jdbc/JdbcDbType.java | 2 +- .../connector/jdbc/JdbcDorisConnector.java | 18 +- .../connector/jdbc/JdbcIdentifierMapper.java | 2 +- .../connector/jdbc/JdbcQueryBuilder.java | 28 +-- .../connector/jdbc/JdbcScanPlanProvider.java | 18 +- .../doris/connector/jdbc/JdbcScanRange.java | 2 +- .../doris/connector/jdbc/JdbcTableHandle.java | 2 +- .../connector/jdbc/JdbcWritePlanProvider.java | 12 +- .../client/JdbcClickHouseConnectorClient.java | 4 +- .../jdbc/client/JdbcConnectorClient.java | 4 +- .../jdbc/client/JdbcDB2ConnectorClient.java | 4 +- .../jdbc/client/JdbcGbaseConnectorClient.java | 4 +- .../jdbc/client/JdbcMySQLConnectorClient.java | 4 +- .../client/JdbcOceanBaseConnectorClient.java | 2 +- .../client/JdbcOracleConnectorClient.java | 2 +- .../client/JdbcPostgreSQLConnectorClient.java | 4 +- .../client/JdbcSQLServerConnectorClient.java | 2 +- .../client/JdbcSapHanaConnectorClient.java | 2 +- .../jdbc/client/JdbcTrinoConnectorClient.java | 2 +- .../jdbc/JdbcConnectorMetadataTest.java | 14 +- .../doris/connector/jdbc/JdbcDbTypeTest.java | 2 +- .../jdbc/JdbcDorisConnectorTest.java | 20 +- .../connector/jdbc/JdbcQueryBuilderTest.java | 16 +- .../jdbc/JdbcWritePlanProviderTest.java | 14 +- .../JdbcSQLServerConnectorClientTest.java | 2 +- .../fe-connector-maxcompute/pom.xml | 7 - .../src/main/assembly/plugin-zip.xml | 3 +- .../connector/maxcompute/MCTypeMapping.java | 4 +- .../maxcompute/MaxComputeColumnHandle.java | 2 +- .../MaxComputeConnectorMetadata.java | 32 +-- .../MaxComputeConnectorProvider.java | 2 +- .../MaxComputeConnectorTransaction.java | 8 +- .../maxcompute/MaxComputeDorisConnector.java | 12 +- .../MaxComputePredicateConverter.java | 18 +- .../MaxComputeScanPlanProvider.java | 24 +- .../maxcompute/MaxComputeScanRange.java | 2 +- .../maxcompute/MaxComputeTableHandle.java | 4 +- .../MaxComputeWritePlanProvider.java | 14 +- .../maxcompute/McStructureHelper.java | 2 +- .../maxcompute/MCTypeMappingTest.java | 4 +- .../MaxComputeConnectorContractTest.java | 6 +- ...MaxComputeConnectorMetadataDropDbTest.java | 2 +- ...omputeConnectorMetadataHandleMemoTest.java | 2 +- .../MaxComputeConnectorMetadataIsKeyTest.java | 4 +- .../MaxComputeConnectorProviderTest.java | 2 +- .../MaxComputeConnectorTransactionTest.java | 2 +- .../MaxComputePartitionCacheTest.java | 2 +- .../MaxComputePredicateConverterTest.java | 16 +- .../MaxComputeScanPlanProviderTest.java | 18 +- .../maxcompute/MaxComputeScanRangeTest.java | 2 +- ...xComputeStaticPartitionValidationTest.java | 2 +- .../MaxComputeValidateColumnsTest.java | 6 +- .../MaxComputeWritePlanProviderTest.java | 2 +- fe/fe-connector/fe-connector-paimon/pom.xml | 7 - .../src/main/assembly/plugin-zip.xml | 1 - .../connector/paimon/PaimonCatalogOps.java | 2 +- .../connector/paimon/PaimonColumnHandle.java | 2 +- .../connector/paimon/PaimonConnector.java | 16 +- .../paimon/PaimonConnectorMetadata.java | 30 +-- .../paimon/PaimonConnectorProvider.java | 2 +- .../paimon/PaimonIncrementalScanParams.java | 6 +- .../paimon/PaimonPredicateConverter.java | 18 +- .../connector/paimon/PaimonScanMetrics.java | 2 +- .../connector/paimon/PaimonScanParams.java | 2 +- .../paimon/PaimonScanPlanProvider.java | 20 +- .../connector/paimon/PaimonScanRange.java | 2 +- .../connector/paimon/PaimonSchemaBuilder.java | 10 +- .../connector/paimon/PaimonTableHandle.java | 2 +- .../connector/paimon/PaimonTypeMapping.java | 4 +- .../paimon/PaimonConnectorCacheTest.java | 2 +- .../PaimonConnectorMetadataDbDdlTest.java | 2 +- .../PaimonConnectorMetadataDdlTest.java | 12 +- .../PaimonConnectorMetadataMvccTest.java | 14 +- ...monConnectorMetadataOptionsTagPinTest.java | 4 +- .../PaimonConnectorMetadataPartitionTest.java | 4 +- ...nnectorMetadataPartitionViewCacheTest.java | 4 +- .../PaimonConnectorMetadataReadAuthTest.java | 4 +- ...PaimonConnectorMetadataStatisticsTest.java | 4 +- .../PaimonConnectorMetadataSysTableTest.java | 8 +- .../paimon/PaimonConnectorMetadataTest.java | 10 +- .../paimon/PaimonConnectorOwnsHandleTest.java | 2 +- ...aimonConnectorPreCreateValidationTest.java | 2 +- .../PaimonCreateTableValidationTest.java | 10 +- .../PaimonIncrementalScanParamsTest.java | 2 +- .../paimon/PaimonLiveConnectivityTest.java | 2 +- .../paimon/PaimonPredicateConverterTest.java | 10 +- .../paimon/PaimonScanMetricsTest.java | 2 +- .../paimon/PaimonScanParamsTest.java | 2 +- .../PaimonScanPlanProviderCapabilityTest.java | 4 +- .../paimon/PaimonScanPlanProviderTest.java | 10 +- .../paimon/PaimonScanRangeBucketTest.java | 8 +- .../paimon/PaimonSchemaBuilderTest.java | 12 +- .../PaimonTableHandleScanOptionsTest.java | 4 +- .../paimon/PaimonTypeMappingReadTest.java | 2 +- .../paimon/PaimonTypeMappingToPaimonTest.java | 4 +- .../paimon/RecordingConnectorContext.java | 4 +- fe/fe-connector/fe-connector-spi/pom.xml | 27 ++- .../doris/connector/spi}/Connector.java | 16 +- .../connector/spi}/ConnectorCapability.java | 4 +- .../doris/connector/spi}/ConnectorColumn.java | 2 +- .../spi}/ConnectorColumnEvolutionOps.java | 8 +- .../spi}/ConnectorColumnStatistics.java | 2 +- .../doris/connector/spi/ConnectorContext.java | 3 - .../spi}/ConnectorContractValidator.java | 6 +- .../spi}/ConnectorDatabaseMetadata.java | 2 +- .../spi}/ConnectorDelegatedCredential.java | 2 +- .../spi}/ConnectorHttpSecurityHook.java | 2 +- .../spi}/ConnectorIdentifierOps.java | 2 +- .../connector/spi}/ConnectorMetadata.java | 16 +- .../spi}/ConnectorMustImplement.java | 2 +- .../spi}/ConnectorPartitionInfo.java | 2 +- .../spi}/ConnectorPartitionListingOps.java | 6 +- .../spi}/ConnectorPassthroughSqlOps.java | 2 +- .../connector/spi/ConnectorProvider.java | 5 +- .../connector/spi}/ConnectorPushdownOps.java | 12 +- .../connector/spi}/ConnectorSchemaOps.java | 2 +- .../connector/spi}/ConnectorSession.java | 4 +- .../spi}/ConnectorSnapshotRefOps.java | 12 +- .../spi}/ConnectorStatementScope.java | 2 +- .../spi}/ConnectorStatementScopes.java | 2 +- .../spi}/ConnectorStatisticsOps.java | 6 +- .../spi/ConnectorStorageContext.java | 1 - .../connector/spi}/ConnectorTableDdlOps.java | 6 +- .../spi}/ConnectorTableMetadataOps.java | 8 +- .../connector/spi}/ConnectorTableOps.java | 2 +- .../connector/spi}/ConnectorTableSchema.java | 2 +- .../spi}/ConnectorTableStatistics.java | 2 +- .../connector/spi}/ConnectorTestResult.java | 2 +- .../doris/connector/spi}/ConnectorType.java | 2 +- .../spi}/ConnectorValidationContext.java | 2 +- .../spi}/ConnectorViewDefinition.java | 2 +- .../connector/spi}/ConnectorViewOps.java | 2 +- .../connector/spi}/ConnectorWriteOps.java | 10 +- .../spi}/DorisConnectorException.java | 2 +- .../spi/ForwardingConnectorContext.java | 3 - .../connector/spi}/ddl/BranchChange.java | 2 +- .../spi}/ddl/ConnectorBucketSpec.java | 2 +- .../spi}/ddl/ConnectorColumnPath.java | 4 +- .../spi}/ddl/ConnectorColumnPosition.java | 6 +- .../spi}/ddl/ConnectorCreateTableRequest.java | 4 +- .../spi}/ddl/ConnectorPartitionField.java | 2 +- .../spi}/ddl/ConnectorPartitionSpec.java | 2 +- .../spi}/ddl/ConnectorSortField.java | 2 +- .../connector/spi}/ddl/DropRefChange.java | 2 +- .../spi}/ddl/PartitionFieldChange.java | 2 +- .../doris/connector/spi}/ddl/TagChange.java | 2 +- .../spi}/event/ConnectorEventSource.java | 4 +- .../spi}/event/EventPollRequest.java | 2 +- .../connector/spi}/event/EventPollResult.java | 2 +- .../spi}/event/MetastoreChangeDescriptor.java | 2 +- .../spi}/handle/ConnectorColumnHandle.java | 2 +- .../spi}/handle/ConnectorTableHandle.java | 2 +- .../spi}/handle/ConnectorTransaction.java | 6 +- .../spi}/handle/ConnectorWriteHandle.java | 8 +- .../spi}/handle/NamedColumnHandle.java | 2 +- .../spi}/handle/NoOpConnectorTransaction.java | 2 +- .../handle/PassthroughQueryTableHandle.java | 2 +- .../handle/RewriteCapableTransaction.java | 2 +- ...teBlockAllocatingConnectorTransaction.java | 2 +- .../connector/spi}/handle/WriteOperation.java | 2 +- .../spi}/mvcc/ConnectorMvccPartition.java | 2 +- .../spi}/mvcc/ConnectorMvccPartitionView.java | 6 +- .../spi}/mvcc/ConnectorMvccSnapshot.java | 2 +- .../spi}/mvcc/ConnectorTableFreshness.java | 4 +- .../spi}/mvcc/ConnectorTimeTravelSpec.java | 2 +- .../doris/connector/spi/package-info.java | 224 ++++++++++++++++-- .../spi}/procedure/ConnectorProcedureOps.java | 14 +- .../procedure/ConnectorProcedureResult.java | 4 +- .../spi}/procedure/ConnectorRewriteGroup.java | 2 +- .../procedure/ConnectorRewriteStatistics.java | 2 +- .../procedure/ProcedureExecutionMode.java | 2 +- .../connector/spi}/pushdown/ConnectorAnd.java | 2 +- .../spi}/pushdown/ConnectorBetween.java | 2 +- .../pushdown/ConnectorColumnAssignment.java | 4 +- .../spi}/pushdown/ConnectorColumnRef.java | 4 +- .../spi}/pushdown/ConnectorComparison.java | 2 +- .../spi}/pushdown/ConnectorExpression.java | 2 +- .../pushdown/ConnectorFilterConstraint.java | 2 +- .../spi}/pushdown/ConnectorFunctionCall.java | 4 +- .../connector/spi}/pushdown/ConnectorIn.java | 2 +- .../spi}/pushdown/ConnectorIsNull.java | 2 +- .../spi}/pushdown/ConnectorLike.java | 2 +- .../spi}/pushdown/ConnectorLiteral.java | 4 +- .../connector/spi}/pushdown/ConnectorNot.java | 2 +- .../connector/spi}/pushdown/ConnectorOr.java | 2 +- .../spi}/pushdown/ConnectorPredicate.java | 4 +- .../pushdown/FilterApplicationResult.java | 2 +- .../pushdown/ProjectionApplicationResult.java | 2 +- .../connector/spi}/pushdown/package-info.java | 12 +- .../spi}/rest/ConnectorRestPassthrough.java | 4 +- .../spi}/scan/ConnectorColumnCategory.java | 2 +- .../spi}/scan/ConnectorPartitionValues.java | 2 +- .../spi}/scan/ConnectorScanPlanProvider.java | 12 +- .../spi}/scan/ConnectorScanProfile.java | 2 +- .../spi}/scan/ConnectorScanRange.java | 2 +- .../spi}/scan/ConnectorScanRequest.java | 8 +- .../spi}/scan/ConnectorSplitSource.java | 2 +- .../spi}/scan/ScanNodePropertiesResult.java | 2 +- .../spi}/scan/ScanNodePropertyKeys.java | 2 +- .../spi}/write/ConnectorSinkPlan.java | 2 +- .../write/ConnectorWritePartitionField.java | 2 +- .../write/ConnectorWritePartitionSpec.java | 2 +- .../write/ConnectorWritePlanProvider.java | 18 +- .../spi}/write/ConnectorWriteSortColumn.java | 2 +- .../connector/spi}/ConnectorColumnTest.java | 2 +- .../connector/spi/ConnectorContextTest.java | 2 - .../spi}/ConnectorMetadataSurfaceTest.java | 2 +- ...nnectorMetadataTimeTravelDefaultsTest.java | 8 +- .../spi}/ConnectorPartitionInfoTest.java | 2 +- .../spi/ConnectorPluginSurfaceTest.java | 10 +- .../ConnectorScanProviderSelectionTest.java | 10 +- .../spi}/ConnectorSchemaOpsDefaultsTest.java | 4 +- .../spi}/ConnectorStatementScopesTest.java | 2 +- .../connector/spi}/ConnectorTypeTest.java | 2 +- .../spi}/ConnectorViewDefaultsTest.java | 4 +- .../spi}/ConnectorViewDefinitionTest.java | 2 +- .../spi}/handle/ConnectorWriteHandleTest.java | 4 +- .../handle/NoOpConnectorTransactionTest.java | 4 +- .../spi}/mvcc/ConnectorMvccSnapshotTest.java | 2 +- .../mvcc/ConnectorTimeTravelSpecTest.java | 2 +- .../ConnectorProcedureOpsDefaultsTest.java | 18 +- .../spi}/pushdown/ConnectorOrTest.java | 4 +- .../spi}/pushdown/ConnectorPredicateTest.java | 4 +- .../scan/ConnectorPartitionValuesTest.java | 2 +- ...onnectorScanPlanProviderBatchScanTest.java | 16 +- ...ectorScanPlanProviderCompressTypeTest.java | 4 +- ...orScanPlanProviderMustReadColumnsTest.java | 6 +- .../ConnectorScanRangeWeightDefaultsTest.java | 2 +- .../scan/ScanNodePropertiesFacesTest.java | 10 +- ...onnectorWritePlanProviderDefaultsTest.java | 8 +- .../write/ConnectorWriteSortColumnTest.java | 2 +- .../resources/connector-metadata-methods.txt | 73 ++++++ .../resources/connector-plugin-surface.txt | 48 ++-- fe/fe-connector/fe-connector-trino/pom.xml | 7 - .../src/main/assembly/plugin-zip.xml | 3 +- .../connector/trino/TrinoColumnHandle.java | 2 +- .../trino/TrinoConnectorDorisMetadata.java | 26 +- .../trino/TrinoConnectorProvider.java | 2 +- .../connector/trino/TrinoDorisConnector.java | 16 +- .../trino/TrinoPredicateConverter.java | 16 +- .../trino/TrinoScanPlanProvider.java | 12 +- .../doris/connector/trino/TrinoScanRange.java | 2 +- .../connector/trino/TrinoTableHandle.java | 2 +- .../connector/trino/TrinoTypeMapping.java | 4 +- .../trino/TrinoPredicateConverterTest.java | 18 +- .../connector/trino/TrinoTypeMappingTest.java | 2 +- fe/fe-connector/pom.xml | 5 +- fe/fe-core/pom.xml | 9 +- .../apache/doris/catalog/RefreshManager.java | 2 +- .../doris/connector/ConnectorFactory.java | 2 +- .../ConnectorMvccSnapshotAdapter.java | 2 +- .../connector/ConnectorPluginManager.java | 2 +- .../connector/ConnectorSessionBuilder.java | 8 +- .../doris/connector/ConnectorSessionImpl.java | 8 +- .../ConnectorStatementScopeImpl.java | 4 +- .../connector/DefaultConnectorContext.java | 6 +- .../DefaultConnectorValidationContext.java | 2 +- ...eTableInfoToConnectorRequestConverter.java | 14 +- .../doris/datasource/CatalogFactory.java | 2 +- .../datasource/MetastoreEventSyncDriver.java | 10 +- .../datasource/TablePartitionValues.java | 2 +- .../ConnectorBranchTagConverter.java | 6 +- .../converter/ConnectorColumnConverter.java | 8 +- ...ConnectorExpressionToNereidsConverter.java | 10 +- .../ConnectorPartitionFieldConverter.java | 2 +- .../ExprToConnectorExpressionConverter.java | 26 +- ...NereidsToConnectorExpressionConverter.java | 20 +- ...pressionToConnectorPredicateConverter.java | 24 +- .../converter/WriteConstraintExtractor.java | 6 +- .../mvcc/PluginDrivenMvccExternalTable.java | 22 +- .../mvcc/PluginDrivenMvccSnapshot.java | 2 +- .../plugin/CatalogStatementTransaction.java | 12 +- .../plugin/PluginDrivenExternalCatalog.java | 26 +- .../plugin/PluginDrivenExternalDatabase.java | 10 +- .../plugin/PluginDrivenExternalTable.java | 34 +-- .../plugin/PluginDrivenMetadata.java | 8 +- .../plugin/PluginDrivenSchemaCacheValue.java | 2 +- .../plugin/PluginDrivenSysExternalTable.java | 14 +- .../datasource/scan/FilePartitionUtils.java | 2 +- .../datasource/scan/PluginDrivenScanNode.java | 40 ++-- .../datasource/split/PluginDrivenSplit.java | 2 +- .../doris/httpv2/restv2/ESCatalogAction.java | 2 +- .../doris/nereids/StatementContext.java | 6 +- .../analyzer/UnboundTableSinkCreator.java | 4 +- .../translator/PhysicalPlanTranslator.java | 16 +- .../nereids/rules/analysis/BindSink.java | 8 +- .../nereids/rules/analysis/CheckPolicy.java | 2 +- .../commands/IcebergRowLevelDmlTransform.java | 12 +- .../plans/commands/RowLevelDmlCommand.java | 2 +- .../plans/commands/RowLevelDmlRowIdUtils.java | 2 +- .../plans/commands/RowLevelDmlTransform.java | 2 +- .../plans/commands/ShowPartitionsCommand.java | 10 +- .../commands/call/CallExecuteStmtFunc.java | 6 +- .../execute/ConnectorExecuteAction.java | 22 +- .../execute/ConnectorRewriteDriver.java | 22 +- .../execute/ConnectorRewriteGroupTask.java | 4 +- .../execute/ExecuteActionFactory.java | 2 +- .../plans/commands/info/CreateTableInfo.java | 2 +- .../BaseExternalTableInsertExecutor.java | 2 +- .../insert/ConnectorRewriteExecutor.java | 4 +- .../insert/InsertOverwriteTableCommand.java | 2 +- .../insert/PluginDrivenInsertExecutor.java | 10 +- .../PhysicalExternalRowLevelMergeSink.java | 14 +- .../doris/planner/PluginDrivenTableSink.java | 14 +- .../tablefunction/MetadataGenerator.java | 8 +- .../PluginDrivenQueryTableValueFunction.java | 10 +- .../QueryTableValueFunction.java | 6 +- .../PluginDrivenTransactionManager.java | 4 +- .../doris/catalog/ListPartitionItemTest.java | 2 +- .../RefreshManagerRenameReplayTest.java | 2 +- .../doris/catalog/RefreshManagerTest.java | 2 +- ...tedPartitionsCacheManagerExternalTest.java | 2 +- .../apache/doris/connector/ConfProbeSink.java | 6 +- .../ConnectorContractValidatorTest.java | 8 +- .../connector/ConnectorPluginConfTest.java | 6 +- .../connector/ConnectorPluginManagerTest.java | 36 ++- .../connector/ConnectorSessionImplTest.java | 8 +- .../ConnectorStatementScopeTest.java | 10 +- .../ConnectorWriteDelegationTest.java | 14 +- .../DefaultConnectorContextSiblingTest.java | 6 +- ...leInfoToConnectorRequestConverterTest.java | 12 +- .../ConnectorTransactionDefaultsTest.java | 6 +- .../connector/fake/FakeConnectorPlugin.java | 6 +- .../fake/FakeConnectorPluginTest.java | 14 +- .../ConfProbeConnectorProviderA.java | 2 +- .../ConfProbeConnectorProviderB.java | 2 +- .../CatalogFactoryPluginRoutingTest.java | 6 +- .../ExternalDatabaseSessionContextTest.java | 4 +- ...tastoreEventSyncDriverClassLoaderTest.java | 10 +- .../MetastoreEventSyncDriverRenameTest.java | 6 +- .../MetastoreEventSyncDriverSeedingTest.java | 6 +- .../datasource/PluginDrivenSysTableTest.java | 16 +- .../ConnectorBranchTagConverterTest.java | 6 +- .../ConnectorColumnConverterTest.java | 4 +- ...ectorExpressionToNereidsConverterTest.java | 14 +- .../ConnectorPartitionFieldConverterTest.java | 2 +- ...idsToConnectorExpressionConverterTest.java | 20 +- ...sionToConnectorPredicateConverterTest.java | 20 +- .../WriteConstraintExtractorTest.java | 10 +- .../PluginDrivenMvccExternalTableTest.java | 30 +-- .../CatalogStatementTransactionTest.java | 8 +- .../PluginDrivenExternalCatalogCacheTest.java | 2 +- ...nDrivenExternalCatalogConcurrencyTest.java | 6 +- ...inDrivenExternalCatalogDdlRoutingTest.java | 26 +- ...uginDrivenExternalCatalogErrorMsgTest.java | 6 +- ...uginDrivenExternalCatalogIdentityTest.java | 2 +- ...rivenExternalCatalogSessionBypassTest.java | 4 +- ...nDrivenExternalCatalogViewListingTest.java | 8 +- .../PluginDrivenExternalDatabaseTest.java | 10 +- ...uginDrivenExternalTableColumnStatTest.java | 2 +- .../PluginDrivenExternalTableEngineTest.java | 14 +- ...luginDrivenExternalTablePartitionTest.java | 18 +- ...PluginDrivenExternalTableRowCountTest.java | 12 +- .../plugin/PluginDrivenExternalTableTest.java | 32 +-- .../plugin/PluginDrivenMetadataTest.java | 8 +- .../PluginDrivenMvccTableFactoryTest.java | 4 +- ...uginDrivenSysExternalTableScanPinTest.java | 2 +- .../PluginDrivenSysExternalTableTest.java | 4 +- .../PluginDrivenScanNodeBatchModeTest.java | 4 +- ...luginDrivenScanNodeClassifyColumnTest.java | 2 +- ...PluginDrivenScanNodeColumnPruningTest.java | 4 +- .../PluginDrivenScanNodeDeleteFilesTest.java | 4 +- .../PluginDrivenScanNodeExplainStatsTest.java | 2 +- ...nDrivenScanNodeFileCacheAdmissionTest.java | 6 +- ...uginDrivenScanNodeMustReadColumnsTest.java | 8 +- .../scan/PluginDrivenScanNodeMvccPinTest.java | 8 +- ...PluginDrivenScanNodePushdownFactsTest.java | 2 +- ...luginDrivenScanNodeReadTxnReleaseTest.java | 2 +- ...DrivenScanNodeRewriteFileScopePinTest.java | 6 +- .../PluginDrivenScanNodeScanProfileTest.java | 2 +- ...ivenScanNodeScanProviderSelectionTest.java | 6 +- .../PluginDrivenScanNodeSysHandleTest.java | 10 +- ...luginDrivenScanNodeVerboseExplainTest.java | 2 +- .../PluginDrivenSplitPartitionValuesTest.java | 2 +- .../split/PluginDrivenSplitWeightTest.java | 2 +- .../upgrade/RecordingConnectorProvider.java | 8 +- .../analyzer/UnboundTableSinkCreatorTest.java | 6 +- ...ysicalPlanTranslatorAdmissionGateTest.java | 14 +- ...lPlanTranslatorIcebergRowLevelDmlTest.java | 20 +- .../IcebergRowLevelDmlTransformTest.java | 18 +- .../commands/RowLevelDmlRowIdUtilsTest.java | 2 +- ...ShowPartitionsCommandPluginDrivenTest.java | 14 +- .../execute/ConnectorExecuteActionTest.java | 28 +-- .../execute/ConnectorRewriteDriverTest.java | 24 +- .../InsertOverwriteTableCommandTest.java | 2 +- .../PluginDrivenInsertExecutorTest.java | 16 +- ...PhysicalExternalRowLevelMergeSinkTest.java | 16 +- .../PluginDrivenTableSinkBindingTest.java | 10 +- .../planner/PluginDrivenTableSinkTest.java | 14 +- .../VersionProbeConnectorProvider.java | 2 +- .../MetadataGeneratorPluginDrivenTest.java | 10 +- .../PluginDrivenTransactionManagerTest.java | 4 +- .../loader/ChildFirstClassLoader.java | 2 +- 610 files changed, 2540 insertions(+), 2670 deletions(-) delete mode 100644 fe/fe-connector/fe-connector-api/pom.xml delete mode 100644 fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/package-info.java delete mode 100644 fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/Connector.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorCapability.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorColumn.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorColumnEvolutionOps.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorColumnStatistics.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorContractValidator.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorDatabaseMetadata.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorDelegatedCredential.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorHttpSecurityHook.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorIdentifierOps.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorMetadata.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorMustImplement.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorPartitionInfo.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorPartitionListingOps.java (93%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorPassthroughSqlOps.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorPushdownOps.java (92%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorSchemaOps.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorSession.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorSnapshotRefOps.java (92%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorStatementScope.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorStatementScopes.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorStatisticsOps.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTableDdlOps.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTableMetadataOps.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTableOps.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTableSchema.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTableStatistics.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorTestResult.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorType.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorValidationContext.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorViewDefinition.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorViewOps.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ConnectorWriteOps.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/DorisConnectorException.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/BranchChange.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorBucketSpec.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorColumnPath.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorColumnPosition.java (94%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorCreateTableRequest.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorPartitionField.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorPartitionSpec.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/ConnectorSortField.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/DropRefChange.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/PartitionFieldChange.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/ddl/TagChange.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/event/ConnectorEventSource.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/event/EventPollRequest.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/event/EventPollResult.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/event/MetastoreChangeDescriptor.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/ConnectorColumnHandle.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/ConnectorTableHandle.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/ConnectorTransaction.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/ConnectorWriteHandle.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/NamedColumnHandle.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/NoOpConnectorTransaction.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/PassthroughQueryTableHandle.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/RewriteCapableTransaction.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/WriteBlockAllocatingConnectorTransaction.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/handle/WriteOperation.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/mvcc/ConnectorMvccPartition.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/mvcc/ConnectorMvccPartitionView.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/mvcc/ConnectorMvccSnapshot.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/mvcc/ConnectorTableFreshness.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/mvcc/ConnectorTimeTravelSpec.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/procedure/ConnectorProcedureOps.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/procedure/ConnectorProcedureResult.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/procedure/ConnectorRewriteGroup.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/procedure/ConnectorRewriteStatistics.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/procedure/ProcedureExecutionMode.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorAnd.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorBetween.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorColumnAssignment.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorColumnRef.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorComparison.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorExpression.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorFilterConstraint.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorFunctionCall.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorIn.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorIsNull.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorLike.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorLiteral.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorNot.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorOr.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ConnectorPredicate.java (94%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/FilterApplicationResult.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/ProjectionApplicationResult.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/pushdown/package-info.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/rest/ConnectorRestPassthrough.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorColumnCategory.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorPartitionValues.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorScanPlanProvider.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorScanProfile.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorScanRange.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorScanRequest.java (96%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ConnectorSplitSource.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ScanNodePropertiesResult.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/scan/ScanNodePropertyKeys.java (99%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/write/ConnectorSinkPlan.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/write/ConnectorWritePartitionField.java (98%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/write/ConnectorWritePartitionSpec.java (97%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/write/ConnectorWritePlanProvider.java (95%) rename fe/fe-connector/{fe-connector-api/src/main/java/org/apache/doris/connector/api => fe-connector-spi/src/main/java/org/apache/doris/connector/spi}/write/ConnectorWriteSortColumn.java (98%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorColumnTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorMetadataSurfaceTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorMetadataTimeTravelDefaultsTest.java (94%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorPartitionInfoTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorScanProviderSelectionTest.java (95%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorSchemaOpsDefaultsTest.java (96%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorStatementScopesTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorTypeTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorViewDefaultsTest.java (97%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/ConnectorViewDefinitionTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/handle/ConnectorWriteHandleTest.java (97%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/handle/NoOpConnectorTransactionTest.java (96%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/mvcc/ConnectorMvccSnapshotTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/mvcc/ConnectorTimeTravelSpecTest.java (99%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/procedure/ConnectorProcedureOpsDefaultsTest.java (96%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/pushdown/ConnectorOrTest.java (97%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/pushdown/ConnectorPredicateTest.java (94%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ConnectorPartitionValuesTest.java (97%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ConnectorScanPlanProviderBatchScanTest.java (94%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ConnectorScanPlanProviderCompressTypeTest.java (96%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ConnectorScanPlanProviderMustReadColumnsTest.java (95%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ConnectorScanRangeWeightDefaultsTest.java (97%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/scan/ScanNodePropertiesFacesTest.java (95%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/write/ConnectorWritePlanProviderDefaultsTest.java (91%) rename fe/fe-connector/{fe-connector-api/src/test/java/org/apache/doris/connector/api => fe-connector-spi/src/test/java/org/apache/doris/connector/spi}/write/ConnectorWriteSortColumnTest.java (97%) create mode 100644 fe/fe-connector/fe-connector-spi/src/test/resources/connector-metadata-methods.txt diff --git a/.licenserc.yaml b/.licenserc.yaml index afb8d66123913e..cd20d1c9aa10ec 100644 --- a/.licenserc.yaml +++ b/.licenserc.yaml @@ -51,7 +51,7 @@ header: - "fe/fe-core/src/test/resources/stageUtilTest.txt" # Recorded method-surface baseline; ConnectorMetadataSurfaceTest reads every # non-blank line as a method signature, so a header would break the test. - - "fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt" + - "fe/fe-connector/fe-connector-spi/src/test/resources/connector-metadata-methods.txt" # Recorded plugin API surface baselines, one per plugin family. Same reason as # above: each *PluginSurfaceTest.readBaseline() adds every non-blank line to the # expected signature set, so a header would be read back as phantom signatures. diff --git a/build-support/check-fe-connector-imports.sh b/build-support/check-fe-connector-imports.sh index f40801779e7e95..b1ff66071751c5 100755 --- a/build-support/check-fe-connector-imports.sh +++ b/build-support/check-fe-connector-imports.sh @@ -25,7 +25,7 @@ # datasource / qe / analysis / nereids / planner / persist / transaction / fs / # statistics / mysql / service). Anything they need from fe-core has to be # exposed through the SPI in -# org.apache.doris.connector.{api,spi,extension,...} +# org.apache.doris.connector.{spi,metastore,...} # or shared types in org.apache.doris.thrift / org.apache.doris.filesystem. # # The gate matches both plain and `import static` imports, scans src/main/java diff --git a/build-support/tests/test-fe-connector-imports.sh b/build-support/tests/test-fe-connector-imports.sh index e936a587563a15..6ff698ee7c5c23 100755 --- a/build-support/tests/test-fe-connector-imports.sh +++ b/build-support/tests/test-fe-connector-imports.sh @@ -58,7 +58,7 @@ import org.apache.doris.mysql.privilege.Auth; import org.apache.doris.service.FrontendOptions; import org.apache.doris.thrift.TFoo; import org.apache.doris.filesystem.Bar; -import org.apache.doris.connector.api.Baz; +import org.apache.doris.connector.spi.Baz; import org.apache.doris.datasource.hive.HiveVersionUtil; import static org.apache.doris.datasource.hive.HiveVersionUtil.SOME_CONST; public class FakeConn {} @@ -117,7 +117,7 @@ must_not_report() { } must_not_report 'org.apache.doris.thrift.TFoo' # SPI-shared must_not_report 'org.apache.doris.filesystem.Bar' # SPI-shared -must_not_report 'org.apache.doris.connector.api.Baz' # SPI +must_not_report 'org.apache.doris.connector.spi.Baz' # SPI must_not_report 'HiveVersionUtil;' # vendored (non-static) must_not_report 'HiveVersionUtil.SOME_CONST;' # vendored (static) — E3 diff --git a/build.sh b/build.sh index 50539178292547..0565ae006ac9d3 100755 --- a/build.sh +++ b/build.sh @@ -723,8 +723,7 @@ if [[ "${BUILD_FE}" -eq 1 ]]; then fi done unset _fs_mod - # Connector API, SPI, and plugin modules (loaded at runtime as plugins) - modules+=("fe-connector/fe-connector-api") + # Connector SPI and plugin modules (loaded at runtime as plugins) modules+=("fe-connector/fe-connector-spi") for _conn_mod in es jdbc maxcompute trino hms hive paimon hudi iceberg; do if [[ -d "${DORIS_HOME}/fe/fe-connector/fe-connector-${_conn_mod}" ]]; then diff --git a/fe/fe-connector/AGENTS.md b/fe/fe-connector/AGENTS.md index 122f92b2512dda..7741dc44a9c196 100644 --- a/fe/fe-connector/AGENTS.md +++ b/fe/fe-connector/AGENTS.md @@ -14,7 +14,7 @@ mvn -f fe/pom.xml -pl :fe-connector- -am test # Run a single test class. Keep -DfailIfNoTests=false: with -am, upstream # modules have no matching tests and would fail the build otherwise. -mvn -f fe/pom.xml -pl :fe-connector-api -am test \ +mvn -f fe/pom.xml -pl :fe-connector-spi -am test \ -Dtest=ConnectorMetadataSurfaceTest -DfailIfNoTests=false ``` @@ -40,20 +40,25 @@ self-tests live in `build-support/` and `build-support/tests/`): wired into this directory's `pom.xml`. fe-connector modules must not import fe-core internals, in main OR test sources. When a connector needs something from the engine, the fix is to extend the SPI in - fe-connector-api / fe-connector-spi — never to import fe-core. + fe-connector-spi — never to import fe-core. 2. **Metadata funnel** — `build-support/check-fe-core-metadata-funnel.sh`, wired into fe-core's `pom.xml`. Inside fe-core, only `PluginDrivenMetadata` may call `Connector#getMetadata`; exempt call sites carry a `getMetadata-funnel-exempt` marker, and deleting a marker auto-tightens the gate. -**Changing the shared SPI surface (fe-connector-api):** regenerate -`fe-connector-api/src/test/resources/connector-metadata-methods.txt` in the -SAME commit — run `ConnectorMetadataSurfaceTest` and copy the "actual" set -from the failure output. Always run fe-connector-api's OWN suite after an -SPI change; running only consumer modules will not catch a stale baseline. -The same suite pins the `@ConnectorMustImplement` set, so promoting a method -into the minimum implementation set is a deliberate, reviewed change. +**Changing the shared SPI surface (fe-connector-spi):** regenerate BOTH +recorded baselines in the SAME commit — `connector-metadata-methods.txt` +(`ConnectorMetadataSurfaceTest`) and `connector-plugin-surface.txt` +(`ConnectorPluginSurfaceTest`), under +`fe-connector-spi/src/test/resources/`; run the test and copy the "actual" +set from the failure output. Any surface change is a MAJOR change: bump +`connector.plugin.api.version` in `fe/fe-connector/pom.xml` and the version +pinned in `ConnectorPluginSurfaceTest` in that same commit. Always run +fe-connector-spi's OWN suite after an SPI change; running only consumer +modules will not catch a stale baseline. The same suite pins the +`@ConnectorMustImplement` set, so promoting a method into the minimum +implementation set is a deliberate, reviewed change. ## Invariants Without a Gate @@ -94,8 +99,9 @@ these has a concrete failure mode. ## Task Recipes -- **Change the SPI surface**: edit fe-connector-api → regenerate the - baseline in the same commit → run fe-connector-api's suite → adjust +- **Change the SPI surface**: edit fe-connector-spi → regenerate both + baselines and bump the plugin API version in the same commit → run + fe-connector-spi's suite → adjust affected connectors (grep for overrides) → run their module tests. - **Fix a connector bug**: module-scoped build + tests (recipes above; paimon via `install`). For user-visible behavior, extend the e2e suites diff --git a/fe/fe-connector/README.md b/fe/fe-connector/README.md index 5a1dcef5e2d883..198dbe5a884b61 100644 --- a/fe/fe-connector/README.md +++ b/fe/fe-connector/README.md @@ -40,8 +40,13 @@ Roles only — one line each. For anything deeper, read the module's javadoc | Module | Role | |---|---| -| `fe-connector-api` | The engine <-> connector contract: `ConnectorMetadata` with its Ops sub-interfaces, plus handle / pushdown / mvcc / scan / write / ddl / procedure / event / rest types. The javadoc here **is** the API reference. | -| `fe-connector-spi` | Bootstrap contract: `ConnectorProvider` (discovery identity + factory) and `ConnectorContext` (what the engine hands a connector, including sibling-connector creation). | +| `fe-connector-spi` | The whole engine <-> connector contract, in both directions. What a connector implements: `ConnectorProvider` (discovery identity + factory), `Connector`, `ConnectorMetadata` with its Ops sub-interfaces, plus handle / pushdown / mvcc / scan / write / ddl / procedure / event / rest types. What the engine implements and hands down: `ConnectorContext` (including sibling-connector creation), `ConnectorStorageContext`, `ConnectorSession`, `ConnectorConf`. The javadoc here **is** the API reference. | + +The two directions are one module on purpose: the boundary is bidirectional +(`ConnectorProvider.create` takes a `ConnectorContext`, and `ConnectorContext` +hands back a `Connector`), so splitting it by "who implements" would be +circular. Trino makes the same call with `trino-spi`. Contrast the metastore +layer below, where the split is acyclic and the usual api/spi convention holds. **Metastore layer** (how connectors reach a metastore without hand-parsing endpoint properties) @@ -99,8 +104,8 @@ exactly one `ConnectorMetadata` instance per catalog on the statement's `ConnectorStatementScope` and closes it deterministically at statement end. Scan planning follows the same shape: the generic `PluginDrivenScanNode` (fe-core) delegates all per-source planning to the connector's -`ConnectorScanPlanProvider` — note the interface lives in fe-connector-api -(`api.scan`), not in fe-core. +`ConnectorScanPlanProvider` — note the interface lives in fe-connector-spi +(`spi.scan`), not in fe-core. **Classloading.** Plugins load child-first, each carrying its own runtime closure. Wherever engine code crosses into a plugin — or a bundled library @@ -119,17 +124,16 @@ This document never lists SPI methods. The truth lives in code, behind four mechanisms: 1. **Javadoc is the API reference.** Start at `ConnectorMetadata` (and its - Ops sub-interfaces) in fe-connector-api, and `ConnectorProvider` in - fe-connector-spi. Every SPI method has a default body, so each - sub-interface's class javadoc states its minimum implementation set, - lifecycle, and threading rules. + Ops sub-interfaces) and `ConnectorProvider`, both in fe-connector-spi. + Every SPI method has a default body, so each sub-interface's class javadoc + states its minimum implementation set, lifecycle, and threading rules. 2. **`@ConnectorMustImplement`** is the machine-readable half of the minimum implementation set: it marks the default methods a connector is nevertheless expected to override, with `when` naming the capability that triggers the obligation. A unit test pins the annotated set, so promoting a method is a deliberate, reviewed change. 3. **The recorded surface.** - `fe-connector-api/src/test/resources/connector-metadata-methods.txt` + `fe-connector-spi/src/test/resources/connector-metadata-methods.txt` freezes the public method surface of `ConnectorMetadata`; `ConnectorMetadataSurfaceTest` fails on any drift. Adding, removing, or moving SPI methods must regenerate this baseline in the same commit (run @@ -146,7 +150,7 @@ mechanisms: source; if a connector does not opt in, the feature stays off. Statement-scoped memoization has one framework-wide convention worth knowing -before you read connector code: `ConnectorStatementScopes` (fe-connector-api) +before you read connector code: `ConnectorStatementScopes` (fe-connector-spi) keys per-statement values by `(catalogId, db, table, queryId)` plus a connector-owned namespace constant prefixed with the connector's `getType()`. Each connector guards its own prefix with a unit test @@ -239,10 +243,10 @@ metastore/shade/cache). For a write path, the richest example is ## Testing and Verification - **Unit tests** live in each module; build/test recipes are in `AGENTS.md`. -- **The shared SPI surface** is guarded by fe-connector-api's own suite - (`ConnectorMetadataSurfaceTest`). Whenever you touch fe-connector-api, run - that module's tests — a consumer-only test run will not catch a stale - baseline. +- **The shared SPI surface** is guarded by fe-connector-spi's own suite + (`ConnectorMetadataSurfaceTest` and `ConnectorPluginSurfaceTest`). Whenever + you touch fe-connector-spi, run that module's tests — a consumer-only test + run will not catch a stale baseline. - **Architecture gates** run in the `validate` phase of every FE build: the forbidden-import gate for this directory and the metadata-funnel gate for fe-core. Scripts and their self-tests live in `build-support/` and diff --git a/fe/fe-connector/fe-connector-api/pom.xml b/fe/fe-connector/fe-connector-api/pom.xml deleted file mode 100644 index ecf566a7f428ee..00000000000000 --- a/fe/fe-connector/fe-connector-api/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - 4.0.0 - - - org.apache.doris - fe-connector - ${revision} - ../pom.xml - - - fe-connector-api - jar - Doris FE Connector API - - The interfaces a Doris FE connector plugin implements, and the engine consumes. - Contains the core Connector interface, ConnectorMetadata sub-interfaces, - opaque Handle types, ConnectorSession, value objects, and capability enums. - Design rules for the whole connector surface are documented in this module's - org.apache.doris.connector.api package-info. - - Note that despite the module names, this is the module a connector implements; - fe-connector-spi holds the plugin entry point plus the engine services a - connector consumes. - - The fe-thrift dependency (provided scope) allows connectors to construct - typed TTableDescriptor objects for the FE-BE protocol. At runtime the - Thrift classes are supplied by the parent classloader (fe-core). - - - - - ${project.groupId} - fe-thrift - ${project.version} - provided - - - org.junit.jupiter - junit-jupiter - test - - - - - doris-fe-connector-api - - - org.apache.maven.plugins - maven-dependency-plugin - - - - copy-plugin-deps - none - - - - - - diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/package-info.java b/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/package-info.java deleted file mode 100644 index a0e28e0bb43c81..00000000000000 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/package-info.java +++ /dev/null @@ -1,206 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -/** - * The interfaces and value objects a connector plugin IMPLEMENTS, and the engine consumes. - * - *

Read this page before adding a connector or extending these interfaces. It records the rules the - * existing connectors follow, and — where a rule is not yet fully honored — says so explicitly instead of - * describing the target state as if it were already true. Every rule below can be checked against the code - * that is cited with it; when the two disagree, the code wins and this page is the bug.

- * - *

Rule 1 — declare a capability in exactly one of three layers

- * - *
    - *
  1. A whole subsystem is present or absent → a getter on {@link Connector} that returns - * {@code null} when the subsystem is absent: {@code getScanPlanProvider()}, - * {@code getWritePlanProvider()}, {@code getProcedureOps()}, {@code getEventSource()}, - * {@code getRestPassthrough()}. These stay {@code null}-returning rather than {@code Optional}: the - * engine already branches on {@code null}, and changing the shape would be pure churn.
  2. - *
  3. A switch inside one subsystem → a {@code supportsXxx()} / {@code requiresXxx()} method on - * THAT subsystem's provider, which is the single and ONLY source of truth. {@link Connector} used to - * carry null-safe mirrors of the write switches so the engine never had to null-check; they were deleted, - * because a mirror is a second overridable answer to one question and a connector overriding one while - * leaving the provider at its default would produce two divergent answers with no compile error. The - * engine fetches the provider and asks it, treating a {@code null} provider as "not supported".
  4. - *
  5. A gate the engine must evaluate during static planning, before any provider is reachable → - * a constant in {@link ConnectorCapability}, resolved additively as - * (connector-level set) ∪ (per-table set). A switch that corresponds one-to-one with a provider does - * NOT belong here. Worked example, already written into the code: {@code SUPPORTS_SORT_ORDER} is an - * enum constant because the engine must decide during analysis whether {@code CREATE TABLE ... ORDER BY} - * is accepted, and no write-plan provider exists at that point; the runtime row-ordering sink trait - * {@code ConnectorWritePlanProvider.requiresFullSchemaWriteOrder()} lives on the provider. Both mention - * "write", but one gates a DDL clause and the other shapes the write path.
  6. - *
- * - *

Use {@code Optional} for a missing value and {@code null} only for an absent - * subsystem; they are not two competing idioms for the same thing.

- * - *

Current deviations. (a) A new switch must default to {@code false} (opt-in), so that adding a - * capability can never change an existing connector's behavior. One legacy switch violates this and defaults - * to {@code true}: {@code ConnectorPushdownOps.supportsCastPredicatePushdown(ConnectorSession)} — see the - * risk paragraph in its own javadoc, and do not copy its polarity. (b) The {@code supportsXxx()} shape also - * appears on non-provider interfaces ({@code ConnectorPushdownOps}, {@code ConnectorSchemaOps}, - * {@code ConnectorTableOps}); those are per-operation switches on the interface that owns the operation, - * which is consistent with layer 2, but there is no provider object to attach them to. (c) Per-table - * refinement of {@link ConnectorCapability} is honored for only five of the thirteen constants today, and - * each constant's own javadoc states its scope (catalog-only, or catalog ∪ per-table) and why; do not - * assume a newly added constant can be refined per table.

- * - *

Rule 2 — which exception to throw, and when to fail loud

- * - *

Two engine paths translate connector exceptions into user-facing errors, and they accept different - * types. Getting this wrong does not break anything visibly; it only degrades the error the user sees into an - * internal FE exception.

- * - *
    - *
  • Metadata, DDL, DML and scan-planning paths → throw {@link DorisConnectorException} (or a - * subclass). It is the family the engine catches and re-wraps (for example into {@code DdlException}) on - * those paths.
  • - *
  • Catalog property validation ({@code ConnectorProvider.validateProperties}) → throw - * {@code IllegalArgumentException}. It is the ONLY type the engine unwraps there - * ({@code PluginDrivenExternalCatalog.checkProperties} catches it and re-throws its message as - * {@code DdlException}); several connectors depend on this and say so at their throw sites. Do not - * "correct" these to {@link DorisConnectorException}.
  • - *
- * - *

Everything else ({@code UnsupportedOperationException}, {@code IllegalStateException}, plain - * {@code RuntimeException}) is untranslated and surfaces as an internal error. The one accepted use of - * {@code UnsupportedOperationException} is the "this optional SPI method is not implemented" idiom.

- * - *

Subclass {@link DorisConnectorException} when the CALLER must distinguish outcomes, not to build - * a taxonomy for its own sake. Shipped precedent: {@code HiveDirectoryListingException} exists so the scan - * path can catch only a skippable listing failure while a plain {@link DorisConnectorException} - * still fails the query loud.

- * - *

Fail loud vs. degrade silently. Anything the user explicitly asked for — DDL, writes, an explicit - * {@code ANALYZE ... WITH SAMPLE} — must fail loud, because a swallowed error there produces a wrong result - * or a wrong statistic that then looks authoritative. Anything the engine attempts opportunistically for - * optimization must degrade silently (return empty / a default, and log), because it must never be able to - * fail a query that would otherwise succeed.

- * - *

Rule 3 — thrift types only at the BE protocol boundary

- * - *

BE is C++ and has no plugin mechanism, so a payload destined for BE has to be a thrift type. That is the - * only reason thrift appears in this module, and the complete list of places it does is:

- * - *
    - *
  • {@code api/scan/ConnectorScanPlanProvider} — {@code TFileCompressType}, {@code TFileScanRangeParams}, - * {@code TTableFormatFileDesc}
  • - *
  • {@code api/scan/ConnectorScanRange} — {@code TFileRangeDesc}, {@code TTableFormatFileDesc}
  • - *
  • {@code api/handle/ConnectorWriteHandle} — {@code TSortInfo}
  • - *
  • {@code api/write/ConnectorSinkPlan} — {@code TDataSink}
  • - *
  • {@link ConnectorTableMetadataOps#buildTableDescriptor} — {@code TTableDescriptor} (written as an inline - * fully-qualified name, not an import)
  • - *
- * - *

Do not add a method that takes a thrift type as a PARAMETER. A new return value that must carry a BE - * payload may only reuse a type already on that list. {@code fe-thrift} is a {@code provided} dependency - * here: it is supplied by the parent classloader at runtime and is not part of a plugin package.

- * - *

Current deviation. {@code fe-connector-spi} deliberately avoids thrift even for BE-bound data - * (it passes an enum NAME as a {@code String}, a neutral broker-address type, and a thrift enum's integer - * VALUE as an {@code int}). That is a local convention in that module, not a module-level invariant: it - * depends on this module, which depends on {@code fe-thrift}. Whether to unify the two styles is out of - * scope here.

- * - *

Rule 4 — what belongs in this module and what belongs in {@code fe-connector-spi}

- * - *

The split is by WHO IMPLEMENTS the type. A type the connector implements and the engine consumes - * belongs here ({@code fe-connector-api}). A type the engine implements and the connector consumes, - * plus the service-discovery entry point, belongs in {@code fe-connector-spi}. The dependency runs one way, - * {@code spi} → {@code api}; nothing here may reference the {@code spi} package.

- * - *

The two module names are inverted relative to common usage (elsewhere, including Trino, - * "SPI" names what the plugin implements and "API" names the engine services it consumes). Here - * {@code fe-connector-api} holds the types a connector implements and {@code fe-connector-spi} holds the - * handful it consumes. The names are deliberately NOT being changed — renaming would touch every connector - * pom and the engine's dependencies for a naming win only — so read the content, not the name.

- * - *

Current deviation. {@link ConnectorSession}, {@code ConnectorHttpSecurityHook} and - * {@code ConnectorValidationContext} are engine-implemented yet live here. This is a known misplacement, - * left alone because moving them would rewrite imports in every connector.

- * - *

Rule 5 — lifecycle, and which methods run off the query thread

- * - *
    - *
  • {@link Connector} — one instance per catalog, created once (see its own class javadoc).
  • - *
  • {@link ConnectorMetadata} — exactly one instance per catalog per statement, closed - * deterministically when the statement ends. The engine's single entry point for obtaining one - * ({@code PluginDrivenMetadata}) states this contract; {@link Connector#getMetadata} is not called - * anywhere else in the engine. {@link ConnectorMetadata#close()} must be idempotent, and one instance - * must not be shared across threads.
  • - *
  • {@link ConnectorStatisticsOps} — may run on engine background pools, and the engine pins no - * thread context classloader on any of them. See that interface's class javadoc for the pools and for - * what a connector has to do about it. This is the one contract on this page that causes a crash rather - * than a wrong answer when it is ignored.
  • - *
- * - *

Rule 6 — a javadoc statement about ENGINE behavior must cite the engine code

- * - *

These interfaces are the only behavioral contract a connector author has: connectors are packaged and - * class-loaded separately and cannot read the engine. A javadoc line that describes what the engine does with - * a value, and is wrong, is worse than no line at all — it produces an implementation that compiles, runs, - * and silently returns wrong results. So when documenting engine behavior, name the engine class (and - * ideally the method) that does it, so the next reader can re-verify instead of trusting the sentence.

- * - *

Rule 7 — where a connector's tunable knobs live

- * - *

Pick the channel by the SCOPE of the value. None of them requires an engine change any more, so a - * knob that can be catalog-scoped should be, and one that cannot belongs in the plugin's own conf file.

- * - *
    - *
  • Per catalog → a key in {@code CREATE CATALOG ... PROPERTIES(...)}. The engine hands the - * whole property map to {@code ConnectorProvider.create} and exposes the same map per query through - * {@link ConnectorSession#getCatalogProperties()}; reject a bad value in - * {@code ConnectorProvider.validateProperties} (see Rule 2 for the exception type). Key names, parsing - * and defaults stay entirely inside the connector — prefix the key with the connector's type name - * so two connectors cannot collide. Shipped precedent: {@code hive.ignore_absent_partitions}, - * {@code hive.enable_hms_events_incremental_sync} and {@code hive.hms_events_batch_size_per_rpc} are - * declared in {@code HiveConnectorProperties} and read in {@code HiveScanPlanProvider} / - * {@code HiveConnector}; those key strings appear nowhere in {@code fe-core}.
  • - *
  • Per FE process (one deployment-level value for every catalog, e.g. a driver directory) - * → a key in the plugin's own {@code .conf}, read with {@code ConnectorConf.get}. The engine - * locates and parses {@code /.conf} generically - * ({@code ConnectorPluginManager.loadPlugins}) and serves it back through - * {@code ConnectorContext.getConnectorConfig()}, so no key name of yours reaches {@code fe-core} and - * adding one costs the engine nothing. Do not prefix these keys — the file name already - * namespaces them. Ship {@code src/main/resources/.conf.template} and add it to your assembly's - * {@code } at the zip root; {@code build.sh} seeds the live {@code .conf} from it. {@code } - * is {@code ConnectorProvider.name()} and need not equal your plugin directory name - * ({@code plugins/connector/hive/} holds {@code hms.conf}).
  • - *
  • Per FE process, legacy → an {@code fe.conf} field forwarded through - * {@code ConnectorContext.getEnvironment()} by {@code DefaultConnectorContext.buildEnvironment}. This is - * the one shape that requires an engine change per key, and it is closed to new keys. What is - * still there is either shared by several connectors or not a connector setting at all - * ({@code doris_home}, {@code doris_version}); the connector settings among them are kept as the - * fallback {@code ConnectorConf.get} consults after the plugin conf, so deployments configured before - * the conf files existed keep working untouched.
  • - *
  • Per session → read the query's session variables from - * {@link ConnectorSession#getSessionProperties()}. The connector does not declare them; it looks up the - * names it cares about.
  • - *
- * - *

There is deliberately no declarative property-descriptor mechanism here. One was carried over - * from Trino ({@code ConnectorPropertyMetadata} plus two {@link Connector} getters) and shipped for several - * releases with zero implementors and zero consumers; it was removed rather than wired up, because in Doris - * it would not have solved the thing it looks like it solves — there is no {@code SET SESSION - * catalog.property} syntax to feed, and per-catalog values already arrive through the map above. If you find - * yourself wanting the engine to validate unknown catalog property keys, that belongs in - * {@code ConnectorProvider.validateProperties}, which already exists and already runs.

- */ -package org.apache.doris.connector.api; diff --git a/fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt b/fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt deleted file mode 100644 index 9a028ae0880498..00000000000000 --- a/fe/fe-connector/fe-connector-api/src/test/resources/connector-metadata-methods.txt +++ /dev/null @@ -1,73 +0,0 @@ -addColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ConnectorColumn,org.apache.doris.connector.api.ddl.ConnectorColumnPosition) -addColumns(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -addNestedColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.ConnectorColumnPath,org.apache.doris.connector.api.ConnectorColumn,org.apache.doris.connector.api.ddl.ConnectorColumnPosition) -addPartitionField(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.PartitionFieldChange) -applyFilter(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint) -applyProjection(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -applyRewriteFileScope(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.Set) -applySnapshot(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot) -applyTopnLazyMaterialization(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -beginQuerySnapshot(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -beginTransaction(org.apache.doris.connector.api.ConnectorSession) -beginTransaction(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -buildTableDescriptor(org.apache.doris.connector.api.ConnectorSession,long,java.lang.String,java.lang.String,java.lang.String,int,long) -close() -createDatabase(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.util.Map) -createOrReplaceBranch(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.BranchChange) -createOrReplaceTag(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.TagChange) -createTable(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest) -databaseExists(org.apache.doris.connector.api.ConnectorSession,java.lang.String) -dropBranch(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.DropRefChange) -dropColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -dropDatabase(org.apache.doris.connector.api.ConnectorSession,java.lang.String,boolean,boolean) -dropNestedColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.ConnectorColumnPath) -dropPartitionField(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.PartitionFieldChange) -dropTable(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -dropTag(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.DropRefChange) -dropView(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) -estimateDataSizeByListingFiles(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -fromRemoteColumnName(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String,java.lang.String) -fromRemoteDatabaseName(org.apache.doris.connector.api.ConnectorSession,java.lang.String) -fromRemoteTableName(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) -getColumnHandles(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -getColumnHandles(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot) -getColumnStatistics(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -getDatabase(org.apache.doris.connector.api.ConnectorSession,java.lang.String) -getMvccPartitionView(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -getPartitionFreshnessMillis(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -getSyntheticScanPredicates(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot) -getSysTableHandle(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -getTableComment(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) -getTableFreshness(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -getTableHandle(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) -getTableSchema(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -getTableSchema(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot) -getTableStatistics(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -getTableStatistics(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot) -getViewDefinition(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) -isPartitionValuesSysTable(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -listDatabaseNames(org.apache.doris.connector.api.ConnectorSession) -listFileSizes(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -listPartitionNames(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -listPartitions(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.Optional) -listSupportedSysTables(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -listTableNames(org.apache.doris.connector.api.ConnectorSession,java.lang.String) -listViewNames(org.apache.doris.connector.api.ConnectorSession,java.lang.String) -modifyColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ConnectorColumn,org.apache.doris.connector.api.ddl.ConnectorColumnPosition) -modifyColumnComment(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.ConnectorColumnPath,java.lang.String) -modifyNestedColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.ConnectorColumnPath,org.apache.doris.connector.api.ConnectorColumn,org.apache.doris.connector.api.ddl.ConnectorColumnPosition) -renameColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String,java.lang.String) -renameNestedColumn(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.ConnectorColumnPath,java.lang.String) -renameTable(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.lang.String) -renderShowCreateTableDdl(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle) -reorderColumns(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -replacePartitionField(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.ddl.PartitionFieldChange) -resolveTimeTravel(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec) -supportsCastPredicatePushdown(org.apache.doris.connector.api.ConnectorSession) -supportsColumnHandleSnapshotPin(org.apache.doris.connector.api.ConnectorSession) -truncateTable(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -usesStatementSnapshotForOptions(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.Map) -validateRowLevelDmlMode(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,org.apache.doris.connector.api.handle.WriteOperation) -validateStaticPartitionColumns(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -validateWritePartitionNames(org.apache.doris.connector.api.ConnectorSession,org.apache.doris.connector.api.handle.ConnectorTableHandle,java.util.List) -viewExists(org.apache.doris.connector.api.ConnectorSession,java.lang.String,java.lang.String) diff --git a/fe/fe-connector/fe-connector-es/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-es/src/main/assembly/plugin-zip.xml index f10c88f571a01a..842d1b492d9902 100644 --- a/fe/fe-connector/fe-connector-es/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-es/src/main/assembly/plugin-zip.xml @@ -24,7 +24,7 @@ under the License. *.jar (all runtime deps: direct + transitive) Jars already present in fe-core classpath are excluded from lib/: - fe-connector-api, fe-connector-spi, fe-extension-spi, fe-filesystem-api + fe-connector-spi, fe-extension-spi, fe-filesystem-api (all four are forced parent-first for connectors, so a bundled copy is never loaded) --> false runtime - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnector.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnector.java index 059d59d8db1e1e..12d4948521f474 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnector.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnector.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.rest.ConnectorRestPassthrough; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.rest.ConnectorRestPassthrough; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorMetadata.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorMetadata.java index ed324ba9000244..69add4e1e41377 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorMetadata.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.NamedColumnHandle; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.NamedColumnHandle; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorProvider.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorProvider.java index e8e1b6e82bb213..d9c8de935f3f8d 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorProvider.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorProvider.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorRestClient.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorRestClient.java index 864d22e15cf128..c509f45004fce2 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorRestClient.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsConnectorRestClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorHttpSecurityHook; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorHttpSecurityHook; +import org.apache.doris.connector.spi.DorisConnectorException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMajorVersion.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMajorVersion.java index 9300f917e7e3b0..853ea01c841e47 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMajorVersion.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMajorVersion.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; /** * Elasticsearch major version information. diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMappingUtils.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMappingUtils.java index 7722997030ef25..602591b929e5e3 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMappingUtils.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMappingUtils.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMetadataFetcher.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMetadataFetcher.java index 6e569abfd139f8..2359255d838a3e 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMetadataFetcher.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsMetadataFetcher.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsQueryDslBuilder.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsQueryDslBuilder.java index 151bc854745ddc..d376e345bf5038 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsQueryDslBuilder.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsQueryDslBuilder.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFunctionCall; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFunctionCall; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanPlanProvider.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanPlanProvider.java index 64b4dff3b0b655..dc94f8c6e47c66 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanPlanProvider.java @@ -17,16 +17,16 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.NamedColumnHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertiesResult; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.NamedColumnHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertiesResult; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.thrift.TFileScanRangeParams; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanRange.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanRange.java index 55d8c93e9b9983..eb0099c437c5cb 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanRange.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsShardPartitions.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsShardPartitions.java index e1d56ad80c3cf6..fca79423df0a0f 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsShardPartitions.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsShardPartitions.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ArrayNode; diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsStatementScope.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsStatementScope.java index 3ef6dec969873d..bdd88c55f00762 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsStatementScope.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsStatementScope.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScopes; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScopes; import java.util.function.Supplier; @@ -33,7 +33,7 @@ *

Only the raw mapping — stable within a statement — is shared this way. Shard routing and node * topology are freshness-sensitive (ES rebalances) and must stay per-scan; they are NOT shared here. * - *

Under a {@code null} session or {@link org.apache.doris.connector.api.ConnectorStatementScope#NONE} + *

Under a {@code null} session or {@link org.apache.doris.connector.spi.ConnectorStatementScope#NONE} * (offline / no live statement) the loader runs on every call — byte-identical to fetching every time. */ final class EsStatementScope { diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTableHandle.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTableHandle.java index 8ef881dc4aabfc..2635b5f97a0310 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTableHandle.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; /** * Opaque table handle for an ES index. diff --git a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTypeMapping.java b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTypeMapping.java index ca668b63f396d1..80bc95dd2e9a87 100644 --- a/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTypeMapping.java +++ b/fe/fe-connector/fe-connector-es/src/main/java/org/apache/doris/connector/es/EsTypeMapping.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsMajorVersionTest.java b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsMajorVersionTest.java index 8c967ae6783ba3..038c879afc1edd 100644 --- a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsMajorVersionTest.java +++ b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsMajorVersionTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsQueryDslBuilderTest.java b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsQueryDslBuilderTest.java index f933d9f5c6653e..3991935601e8dc 100644 --- a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsQueryDslBuilderTest.java +++ b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsQueryDslBuilderTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsScanPlanProviderTest.java b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsScanPlanProviderTest.java index 78b0ab000a9591..9385009705bd4c 100644 --- a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsScanPlanProviderTest.java +++ b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsScanPlanProviderTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.NamedColumnHandle; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.NamedColumnHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.thrift.TFileScanRangeParams; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsStatementScopeTest.java b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsStatementScopeTest.java index af679b6750e0ef..38301c15c337c7 100644 --- a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsStatementScopeTest.java +++ b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsStatementScopeTest.java @@ -28,7 +28,7 @@ * prefixed with this connector's {@code ConnectorProvider.getType()} ("es"). Source-prefixing is what keeps the * namespaces distinct from every other connector's on a heterogeneous gateway (no {@code ClassCastException} on the * shared {@code (catalogId, db, table, queryId)} coordinate); the value-type home is - * {@link org.apache.doris.connector.api.ConnectorStatementScopes}. + * {@link org.apache.doris.connector.spi.ConnectorStatementScopes}. */ public class EsStatementScopeTest { diff --git a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsTypeMappingTest.java b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsTypeMappingTest.java index 037a7e4d38f4a6..5330c429806760 100644 --- a/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsTypeMappingTest.java +++ b/fe/fe-connector/fe-connector-es/src/test/java/org/apache/doris/connector/es/EsTypeMappingTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.es; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/pom.xml b/fe/fe-connector/fe-connector-hive/pom.xml index 29721c3a038425..cdbb9fea73244b 100644 --- a/fe/fe-connector/fe-connector-hive/pom.xml +++ b/fe/fe-connector/fe-connector-hive/pom.xml @@ -71,13 +71,6 @@ under the License. 2.9.3 - - - ${project.groupId} - fe-connector-api - ${project.version} - - ${project.groupId} diff --git a/fe/fe-connector/fe-connector-hive/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-hive/src/main/assembly/plugin-zip.xml index 89d021ed83c3ba..992c15d2941bcd 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-hive/src/main/assembly/plugin-zip.xml @@ -23,7 +23,7 @@ under the License. *.jar (all runtime deps: direct + transitive) Jars already present in fe-core classpath are excluded from lib/: - fe-connector-api, fe-connector-spi, fe-extension-spi, fe-filesystem-api + fe-connector-spi, fe-extension-spi, fe-filesystem-api --> false runtime - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveColumnHandle.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveColumnHandle.java index f6d63856911913..f816a0d71d86e3 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveColumnHandle.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnector.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnector.java index e4a5dcee981246..4f9dd00257af2e 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnector.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnector.java @@ -17,18 +17,6 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.event.ConnectorEventSource; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.hms.CachingHmsClient; import org.apache.doris.connector.hms.HmsClient; @@ -37,7 +25,19 @@ import org.apache.doris.connector.hms.event.HmsEventSource; import org.apache.doris.connector.metastore.HmsMetaStoreProperties; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.event.ConnectorEventSource; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.doris.kerberos.KerberosAuthSpec; import org.apache.doris.kerberos.KerberosAuthenticationConfig; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorMetadata.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorMetadata.java index 603c2071e23355..66742e5aced792 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorMetadata.java @@ -17,45 +17,6 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorColumnStatistics; -import org.apache.doris.connector.api.ConnectorDatabaseMetadata; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.ConnectorViewDefinition; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; import org.apache.doris.connector.hms.HiveShowCreateTableRenderer; @@ -67,9 +28,48 @@ import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; import org.apache.doris.connector.hms.HmsTypeMapping; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumnStatistics; import org.apache.doris.connector.spi.ConnectorConf; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorDatabaseMetadata; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.ConnectorViewDefinition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.thrift.THiveTable; import org.apache.doris.thrift.TTableDescriptor; @@ -300,8 +300,8 @@ public HiveConnectorMetadata(HmsClient hmsClient, Map properties * {@code "metadata:" + catalogId + ":" + ownerLabel}: the three connectors of a heterogeneous gateway * (hive + iceberg + hudi) share ONE catalogId, so the owner label keeps their metadata entries distinct — a * plain catalogId key would collapse them onto one metadata and misroute. Under a - * {@link org.apache.doris.connector.api.ConnectorStatementScope#NONE NONE} scope (offline / no statement) the - * factory runs on every call — byte-identical to the pre-funnel behavior. Only fe-connector-api types are + * {@link org.apache.doris.connector.spi.ConnectorStatementScope#NONE NONE} scope (offline / no statement) the + * factory runs on every call — byte-identical to the pre-funnel behavior. Only fe-connector-spi types are * touched, so no fe-core dependency is introduced. The returned metadata and any handle it produces are used * ONLY through the parent-first SPI interfaces and MUST NOT be cast (the sibling's concrete iceberg/hudi types * would CCE across the loader split). @@ -2447,8 +2447,8 @@ private void extractPredicatesRecursive(ConnectorExpression expr, } private String extractColumnName(ConnectorExpression expr) { - if (expr instanceof org.apache.doris.connector.api.pushdown.ConnectorColumnRef) { - return ((org.apache.doris.connector.api.pushdown.ConnectorColumnRef) expr).getColumnName(); + if (expr instanceof org.apache.doris.connector.spi.pushdown.ConnectorColumnRef) { + return ((org.apache.doris.connector.spi.pushdown.ConnectorColumnRef) expr).getColumnName(); } return null; } diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorProvider.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorProvider.java index dfe2174d4c2c54..460626a06fd393 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorProvider.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorProvider.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; import org.apache.doris.connector.cache.CacheSpec; import org.apache.doris.connector.hms.HmsClientConfig; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorTransaction.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorTransaction.java index 0a6bc19be186e4..978144329f8bde 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveConnectorTransaction.java @@ -21,10 +21,6 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsCommonStatistics; import org.apache.doris.connector.hms.HmsPartitionInfo; @@ -32,8 +28,12 @@ import org.apache.doris.connector.hms.HmsPartitionWithStatistics; import org.apache.doris.connector.hms.HmsTableInfo; import org.apache.doris.connector.hms.HmsTypeMapping; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.filesystem.FileEntry; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.filesystem.FileSystemUtil; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveDirectoryListingException.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveDirectoryListingException.java index 158e11ecd8e284..955133070f8a63 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveDirectoryListingException.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveDirectoryListingException.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; /** * Thrown when listing ONE partition directory fails ({@code FileSystem.listStatus} raised an diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileFormat.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileFormat.java index dbdf56550b85e0..20c978072016e4 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileFormat.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileFormat.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import java.util.Locale; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileListingCache.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileListingCache.java index a62967c33760f2..6013e7ae2db482 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileListingCache.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveFileListingCache.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.cache.CacheSpec; import org.apache.doris.connector.cache.MetaCacheEntry; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.doris.filesystem.FileEntry; import org.apache.doris.filesystem.FileIterator; import org.apache.doris.filesystem.FileSystem; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveReadTransaction.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveReadTransaction.java index 3f6247402356e6..2c33edb961e13a 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveReadTransaction.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveReadTransaction.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.hms.HmsClient; +import org.apache.doris.connector.spi.DorisConnectorException; import java.util.ArrayList; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanPlanProvider.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanPlanProvider.java index fe6aa3f0b10e55..d3a50bce27c78f 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanPlanProvider.java @@ -17,19 +17,19 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.filesystem.FileEntry; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.thrift.TFileCompressType; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanRange.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanRange.java index 2102be430923b7..9e761832669436 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanRange.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveScanRange.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; import org.apache.doris.thrift.TTransactionalHiveDeleteDeltaDesc; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveSinkHelper.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveSinkHelper.java index 37a6f2d2b51a8e..c7a3064b01f8e0 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveSinkHelper.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveSinkHelper.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.doris.thrift.TFileCompressType; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.THiveSerDeProperties; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTableHandle.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTableHandle.java index f5ee0d1430af71..23edca975a8e7d 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTableHandle.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTableHandle.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.hms.HmsPartitionInfo; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTextProperties.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTextProperties.java index 889f94f6612f58..8e9c8ae8e57200 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTextProperties.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveTextProperties.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import java.util.HashMap; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWriteContext.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWriteContext.java index 9d0f9e31070f4a..ce7588d50f78f0 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWriteContext.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWriteContext.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.thrift.TFileType; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWritePlanProvider.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWritePlanProvider.java index a0a70d7498b85b..703d3e47479b50 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWritePlanProvider.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/HiveWritePlanProvider.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; import org.apache.doris.connector.spi.ConnectorBrokerAddress; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TDataSinkType; diff --git a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/SiblingOwner.java b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/SiblingOwner.java index 890b5e9b8f712e..9ef9c14215c20a 100644 --- a/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/SiblingOwner.java +++ b/fe/fe-connector/fe-connector-hive/src/main/java/org/apache/doris/connector/hive/SiblingOwner.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; /** * The embedded sibling connector that owns a foreign (iceberg/hudi-on-HMS) table, paired with its stable owner diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorCapabilitiesTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorCapabilitiesTest.java index efb7fe2737cef0..9ca72b1be89bb7 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorCapabilitiesTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorCapabilitiesTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorClientCacheTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorClientCacheTest.java index 153bd6dde47a95..a7b76518da8b3d 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorClientCacheTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorClientCacheTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; import org.apache.doris.connector.hms.CachingHmsClient; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorContractTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorContractTest.java index ed5941ab8b21a9..377854e8ebc860 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorContractTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorContractTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataColumnStatsTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataColumnStatsTest.java index 5efa6b206c3016..90564d445bf72a 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataColumnStatsTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataColumnStatsTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumnStatistics; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsColumnStatistics; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorColumnStatistics; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataDdlTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataDdlTest.java index 3ff1414048ab1a..e07f9f9ea3e1f6 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataDdlTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataDdlTest.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; import org.apache.doris.connector.hms.HmsClientException; import org.apache.doris.connector.hms.HmsCreateDatabaseRequest; import org.apache.doris.connector.hms.HmsCreateTableRequest; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataFreshnessTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataFreshnessTest.java index b552215ea0f5de..4c901d7bf9da6d 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataFreshnessTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataFreshnessTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionListTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionListTest.java index 0aef03be4eebe7..405887b88872c9 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionListTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionListTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -141,8 +141,8 @@ public void testEscapedPartitionValueIsUnescaped() { public void testFilterIsIgnored() { FakeHmsClient client = new FakeHmsClient(PARTITIONS); ConnectorExpression filter = new ConnectorComparison(ConnectorComparison.Operator.EQ, - new ConnectorColumnRef("year", org.apache.doris.connector.api.ConnectorType.of("STRING")), - new ConnectorLiteral(org.apache.doris.connector.api.ConnectorType.of("STRING"), "2024")); + new ConnectorColumnRef("year", org.apache.doris.connector.spi.ConnectorType.of("STRING")), + new ConnectorLiteral(org.apache.doris.connector.spi.ConnectorType.of("STRING"), "2024")); List parts = metadata(client).listPartitions(null, partitionedHandle(), Optional.of(filter)); // Full set returned despite the predicate: pruning is a separate applyFilter concern. diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionPruningTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionPruningTest.java index e3eb2a049f57ad..816a4b4928284f 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionPruningTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionPruningTest.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionViewCacheTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionViewCacheTest.java index e18487005642f4..6d6b54f1049b21 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionViewCacheTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataPartitionViewCacheTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSchemaTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSchemaTest.java index 090c4accdba6e7..ffcab1ff89cae1 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSchemaTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSchemaTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSiblingDelegationTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSiblingDelegationTest.java index a5532133929b9b..7b0ff59901c52d 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSiblingDelegationTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSiblingDelegationTest.java @@ -17,37 +17,37 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorColumnStatistics; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.NoOpConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumnStatistics; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.NoOpConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStaticPartitionTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStaticPartitionTest.java index 899f74bca7bee1..c2a12c1b6ce4e2 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStaticPartitionTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStaticPartitionTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStatisticsTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStatisticsTest.java index 0d9b105662373d..6f0bfbc3b828b6 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStatisticsTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataStatisticsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorTableStatistics; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSysTableTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSysTableTest.java index 5a2bf073f4144d..69f431c1af2786 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSysTableTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataSysTableTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableCommentTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableCommentTest.java index 4ecb3b96943637..08edbb614b884b 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableCommentTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableCommentTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsClientException; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableHandleDivertTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableHandleDivertTest.java index 59842d520ce70b..cc54b8df059462 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableHandleDivertTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataTableHandleDivertTest.java @@ -17,16 +17,16 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataViewTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataViewTest.java index 487abb2ff6af7f..136922e0423870 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataViewTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorMetadataViewTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.ConnectorViewDefinition; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsClientException; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.ConnectorViewDefinition; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorPartitionViewCacheTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorPartitionViewCacheTest.java index a13c072f0c26e2..309a5c6415337f 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorPartitionViewCacheTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorPartitionViewCacheTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorPartitionInfo; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorProcedureOpsDivertTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorProcedureOpsDivertTest.java index 57100950d41c9c..b4b9f4eaa87045 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorProcedureOpsDivertTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorProcedureOpsDivertTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorScanProviderDivertTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorScanProviderDivertTest.java index 5bbbc61d9f26ef..b82c5ee0c967e2 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorScanProviderDivertTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorScanProviderDivertTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorSiblingTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorSiblingTest.java index 2b50bb1b596fe3..2bf6d46fbbfb0d 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorSiblingTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorSiblingTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorThreeWayRoutingTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorThreeWayRoutingTest.java index f4135bbbd77cfd..161d88d53a4de5 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorThreeWayRoutingTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorThreeWayRoutingTest.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorTransactionTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorTransactionTest.java index 851db28f2d2915..8e8436e2ec4ca8 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorTransactionTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorTransactionTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.WriteOperation; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsPartitionStatistics; import org.apache.doris.connector.hms.HmsPartitionWithStatistics; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.filesystem.DorisInputFile; import org.apache.doris.filesystem.DorisOutputFile; import org.apache.doris.filesystem.FileIterator; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorWriteProviderDivertTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorWriteProviderDivertTest.java index 467f1170cee6a5..37897ad3332c58 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorWriteProviderDivertTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveConnectorWriteProviderDivertTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveCreateTableValidationTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveCreateTableValidationTest.java index 108eb28654c212..eccbb3f5470976 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveCreateTableValidationTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveCreateTableValidationTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileFormatTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileFormatTest.java index 30ce7d8ba19693..8edbb4f02f910b 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileFormatTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileFormatTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileListingCacheTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileListingCacheTest.java index 5a397d90625139..718ca6c4479a59 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileListingCacheTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveFileListingCacheTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; import org.apache.doris.connector.hms.HmsPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.doris.filesystem.FileEntry; import org.apache.doris.filesystem.FileSystem; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveScanBatchModeTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveScanBatchModeTest.java index 02ea72e0018ff9..e034a92853a74e 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveScanBatchModeTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveScanBatchModeTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.thrift.TFileCompressType; import org.apache.doris.thrift.TFileScanRangeParams; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveTableFormatDetectionTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveTableFormatDetectionTest.java index 28560d8e511c0a..136c30e86be431 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveTableFormatDetectionTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveTableFormatDetectionTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveWritePlanProviderTest.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveWritePlanProviderTest.java index 825c6bf3c787e9..fcb889c6b2df10 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveWritePlanProviderTest.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/HiveWritePlanProviderTest.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; import org.apache.doris.connector.spi.ConnectorBrokerAddress; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; import org.apache.doris.filesystem.FileSystemType; import org.apache.doris.filesystem.properties.BackendStorageKind; import org.apache.doris.filesystem.properties.BackendStorageProperties; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/ScopeSession.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/ScopeSession.java index f2e1d6d7c29ff8..a13e5c6c40ddd3 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/ScopeSession.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/ScopeSession.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import java.util.Collections; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/TestStatementScope.java b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/TestStatementScope.java index 7d52c162a12dac..9f261fc6f52fb1 100644 --- a/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/TestStatementScope.java +++ b/fe/fe-connector/fe-connector-hive/src/test/java/org/apache/doris/connector/hive/TestStatementScope.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hive; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorStatementScope; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HiveShowCreateTableRenderer.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HiveShowCreateTableRenderer.java index 8eebf826880e09..ea559f91f01644 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HiveShowCreateTableRenderer.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HiveShowCreateTableRenderer.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import java.util.LinkedHashMap; import java.util.List; @@ -36,7 +36,7 @@ * exact substring the meta-cache suite asserts), and the single {@code comment} table param is lifted out to the * top-level {@code COMMENT} clause rather than left in {@code TBLPROPERTIES}. * - *

Column/partition types are reconstructed from the mapped {@link org.apache.doris.connector.api.ConnectorType} + *

Column/partition types are reconstructed from the mapped {@link org.apache.doris.connector.spi.ConnectorType} * via {@link HmsTypeMapping#toHiveTypeString} (the SPI carries the mapped type, not the raw thrift string). That * round-trip is exact for scalars/decimal/date/timestamp/nested; a raw HMS {@code varchar(n)} would render as * {@code string} (length dropped), harmless here because such columns are stored as {@code string} in HMS. An diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsCreateTableRequest.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsCreateTableRequest.java index 8a9994b0728bab..8d04d55ae090ca 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsCreateTableRequest.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsCreateTableRequest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTableInfo.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTableInfo.java index f16d3bbdd29aaf..a037818f6b067f 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTableInfo.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTableInfo.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTypeMapping.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTypeMapping.java index a4df2a7a8df0e0..05f72531ce388a 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTypeMapping.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsTypeMapping.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import java.util.ArrayList; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsWriteConverter.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsWriteConverter.java index f9ef32db40b07b..9abdb070e8b155 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsWriteConverter.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/HmsWriteConverter.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.hadoop.hive.common.StatsSetupConst; import org.apache.hadoop.hive.metastore.api.Database; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/ThriftHmsClient.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/ThriftHmsClient.java index 16bd89621b29a1..a0afe7f245471d 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/ThriftHmsClient.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/ThriftHmsClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.PooledObject; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventParser.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventParser.java index 58744451b28f22..00d00d0d7af4bd 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventParser.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventParser.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hms.event; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor.Op; import org.apache.doris.connector.hms.HmsNotificationEvent; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor.Op; import org.apache.commons.io.IOUtils; import org.apache.hadoop.hive.common.FileUtils; diff --git a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventSource.java b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventSource.java index 856c58e3713ddf..1789415b5aec71 100644 --- a/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventSource.java +++ b/fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/event/HmsEventSource.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.hms.event; -import org.apache.doris.connector.api.event.ConnectorEventSource; -import org.apache.doris.connector.api.event.EventPollRequest; -import org.apache.doris.connector.api.event.EventPollResult; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsClientException; import org.apache.doris.connector.hms.HmsNotificationEvent; +import org.apache.doris.connector.spi.event.ConnectorEventSource; +import org.apache.doris.connector.spi.event.EventPollRequest; +import org.apache.doris.connector.spi.event.EventPollResult; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; import org.apache.hadoop.hive.metastore.HiveMetaStoreClient; import org.apache.logging.log4j.LogManager; diff --git a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HiveShowCreateTableRendererTest.java b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HiveShowCreateTableRendererTest.java index a609ff99fd2ab8..e05175a33c7d34 100644 --- a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HiveShowCreateTableRendererTest.java +++ b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HiveShowCreateTableRendererTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsTypeMappingTest.java b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsTypeMappingTest.java index 8247b4349301dd..19b7bb558a94fc 100644 --- a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsTypeMappingTest.java +++ b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsTypeMappingTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsWriteConverterTest.java b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsWriteConverterTest.java index f74950af21c3a2..9ea4e0f75c50ba 100644 --- a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsWriteConverterTest.java +++ b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/HmsWriteConverterTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hms; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.hadoop.hive.common.StatsSetupConst; import org.apache.hadoop.hive.metastore.api.Database; diff --git a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/event/HmsEventParserTest.java b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/event/HmsEventParserTest.java index 79839727bf07c5..62976c4327de94 100644 --- a/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/event/HmsEventParserTest.java +++ b/fe/fe-connector/fe-connector-hms/src/test/java/org/apache/doris/connector/hms/event/HmsEventParserTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hms.event; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor.Op; import org.apache.doris.connector.hms.HmsNotificationEvent; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor.Op; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.metastore.messaging.json.JSONAlterTableMessage; diff --git a/fe/fe-connector/fe-connector-hudi/pom.xml b/fe/fe-connector/fe-connector-hudi/pom.xml index c8e8c5ba94fa7d..b4852b9a481368 100644 --- a/fe/fe-connector/fe-connector-hudi/pom.xml +++ b/fe/fe-connector/fe-connector-hudi/pom.xml @@ -48,13 +48,6 @@ under the License. ${project.version} - - - ${project.groupId} - fe-connector-api - ${project.version} - - ${project.groupId} diff --git a/fe/fe-connector/fe-connector-hudi/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-hudi/src/main/assembly/plugin-zip.xml index 9927cb0882454c..32586b0902f857 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-hudi/src/main/assembly/plugin-zip.xml @@ -42,7 +42,6 @@ under the License. false - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiColumnHandle.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiColumnHandle.java index d350937a516acb..e666396382997d 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiColumnHandle.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java index 185acd5437b716..ca6359fd04e6ed 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnector.java @@ -17,19 +17,19 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; import org.apache.doris.connector.hms.CachingHmsClient; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsClientConfig; import org.apache.doris.connector.hms.ThriftHmsClient; import org.apache.doris.connector.metastore.HmsMetaStoreProperties; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.doris.kerberos.KerberosAuthSpec; import org.apache.doris.kerberos.KerberosAuthenticationConfig; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorMetadata.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorMetadata.java index 391a322d1cdca5..e4711deaed974c 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorMetadata.java @@ -17,28 +17,28 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsClientException; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; import org.apache.doris.thrift.THiveTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; @@ -645,8 +645,8 @@ public List getSyntheticScanPredicates(ConnectorSession ses return Collections.emptyList(); } ConnectorType stringType = ConnectorType.of("STRING"); - org.apache.doris.connector.api.pushdown.ConnectorColumnRef commitTime = - new org.apache.doris.connector.api.pushdown.ConnectorColumnRef(HUDI_COMMIT_TIME_COLUMN, stringType); + org.apache.doris.connector.spi.pushdown.ConnectorColumnRef commitTime = + new org.apache.doris.connector.spi.pushdown.ConnectorColumnRef(HUDI_COMMIT_TIME_COLUMN, stringType); ConnectorExpression lower = new ConnectorComparison( ConnectorComparison.Operator.GT, commitTime, ConnectorLiteral.ofString(begin)); ConnectorExpression upper = new ConnectorComparison( @@ -1090,8 +1090,8 @@ private void extractPredicatesRecursive(ConnectorExpression expr, } private String extractColumnName(ConnectorExpression expr) { - if (expr instanceof org.apache.doris.connector.api.pushdown.ConnectorColumnRef) { - return ((org.apache.doris.connector.api.pushdown.ConnectorColumnRef) expr).getColumnName(); + if (expr instanceof org.apache.doris.connector.spi.pushdown.ConnectorColumnRef) { + return ((org.apache.doris.connector.spi.pushdown.ConnectorColumnRef) expr).getColumnName(); } return null; } diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorProvider.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorProvider.java index f63c19620fe377..0b4f7b19f05d7f 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorProvider.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiConnectorProvider.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanPlanProvider.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanPlanProvider.java index aad2ce62399e17..ca9f288573eed6 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanPlanProvider.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.thrift.TFileCompressType; import org.apache.doris.thrift.TFileScanRangeParams; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanRange.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanRange.java index a3c954337dcb24..2e653815cd1402 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanRange.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiScanRange.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.THudiFileDesc; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiStatementScope.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiStatementScope.java index 708400ae2394e6..969310754727e4 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiStatementScope.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiStatementScope.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorStatementScopes; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorStatementScopes; import java.util.List; import java.util.function.Supplier; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTableHandle.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTableHandle.java index 21fdc50cf90c6e..c8e7621e6f5258 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTableHandle.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTypeMapping.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTypeMapping.java index 3581bc2d1893c2..95a29340b853c0 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTypeMapping.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/HudiTypeMapping.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.avro.LogicalType; import org.apache.avro.LogicalTypes; diff --git a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/IncrementalRelation.java b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/IncrementalRelation.java index 169ec386cf017b..7dc4af39f4c445 100644 --- a/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/IncrementalRelation.java +++ b/fe/fe-connector/fe-connector-hudi/src/main/java/org/apache/doris/connector/hudi/IncrementalRelation.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.hudi.common.model.FileSlice; import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiColumnFieldIdTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiColumnFieldIdTest.java index 9a2a92f05835f6..5430b1bd81f07e 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiColumnFieldIdTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiColumnFieldIdTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.avro.Schema; import org.apache.hudi.internal.schema.InternalSchema; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorOwnsHandleTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorOwnsHandleTest.java index e1f883f5a35be0..f1ff13c9904c7e 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorOwnsHandleTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorOwnsHandleTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorPartitionListingTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorPartitionListingTest.java index 4c50aa7cc907e6..77b575a51b6748 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorPartitionListingTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiConnectorPartitionListingTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiForceJniTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiForceJniTest.java index 34452f148afa10..a0b5ca9a6a7e6b 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiForceJniTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiForceJniTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalPlanScanTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalPlanScanTest.java index 8d3a0040da03ec..69553387cab30d 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalPlanScanTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalPlanScanTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.hudi.common.model.FileSlice; import org.apache.hudi.common.model.HoodieBaseFile; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalRelationTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalRelationTest.java index f8183aebf53d16..7b5ff4917f7cf2 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalRelationTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalRelationTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.hudi.common.table.timeline.TimelineUtils.HollowCommitHandling; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalTest.java index 5556b2ab21d355..6d25cc9cd2845b 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiIncrementalTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionPruningTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionPruningTest.java index 51bf33e3a423b3..8802f11a60e15a 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionPruningTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionPruningTest.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionValuesTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionValuesTest.java index f892c7a6f29d59..f84e6a77422f68 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionValuesTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiPartitionValuesTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiReadOnlyWriteRejectTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiReadOnlyWriteRejectTest.java index 0a5d47198ccbaf..19d6a49c4dca5c 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiReadOnlyWriteRejectTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiReadOnlyWriteRejectTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaAtInstantTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaAtInstantTest.java index 09f3870377a712..ceb59b57f42b0f 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaAtInstantTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaAtInstantTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaParityTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaParityTest.java index 9ee408c97f2ede..612fd0e57e2839 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaParityTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiSchemaParityTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.avro.Schema; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiStatementMemoTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiStatementMemoTest.java index 91e9d0c45cb5b2..af41d6653704ee 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiStatementMemoTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiStatementMemoTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTableTypeTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTableTypeTest.java index 5d1aee3f137181..8856119789b677 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTableTypeTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTableTypeTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.hms.HmsClient; import org.apache.doris.connector.hms.HmsDatabaseInfo; import org.apache.doris.connector.hms.HmsPartitionInfo; import org.apache.doris.connector.hms.HmsTableInfo; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTimeTravelTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTimeTravelTest.java index 3f38545306858a..923ad2c03a77c9 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTimeTravelTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTimeTravelTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTypeMappingTest.java b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTypeMappingTest.java index 669d5f4f96b9b3..72398e4dbdab1e 100644 --- a/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTypeMappingTest.java +++ b/fe/fe-connector/fe-connector-hudi/src/test/java/org/apache/doris/connector/hudi/HudiTypeMappingTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.hudi; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; diff --git a/fe/fe-connector/fe-connector-iceberg/pom.xml b/fe/fe-connector/fe-connector-iceberg/pom.xml index d05edc1e8e7c10..e3432510b22b49 100644 --- a/fe/fe-connector/fe-connector-iceberg/pom.xml +++ b/fe/fe-connector/fe-connector-iceberg/pom.xml @@ -98,7 +98,7 @@ under the License. ${project.groupId} diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-iceberg/src/main/assembly/plugin-zip.xml index c8dd917dc9361c..dab3828e12b0ed 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-iceberg/src/main/assembly/plugin-zip.xml @@ -56,7 +56,6 @@ under the License. false - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogFactory.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogFactory.java index d270b9b6897fab..62d251db53465e 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogFactory.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogFactory.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.cache.CacheSpec; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.doris.filesystem.properties.S3CompatibleFileSystemProperties; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogOps.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogOps.java index a7ab0f03aab137..80fa39ae8b8f4e 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogOps.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergCatalogOps.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; import com.google.common.base.Splitter; import org.apache.iceberg.ManageSnapshots; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnChange.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnChange.java index 9a06996099066c..439c4eca5df8e7 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnChange.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnChange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.iceberg.expressions.Literal; import org.apache.iceberg.types.Type; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnHandle.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnHandle.java index 8293670ff356c2..81e517c1129f1a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnHandle.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergComplexTypeDiff.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergComplexTypeDiff.java index 9d3d2093a18886..36aa7cef28f0ea 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergComplexTypeDiff.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergComplexTypeDiff.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.iceberg.UpdateSchema; import org.apache.iceberg.types.Type; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnector.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnector.java index 738cf7bd1bf7bb..260f33c7c98856 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnector.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnector.java @@ -17,26 +17,26 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.ConnectorValidationContext; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.metastore.HmsMetaStoreProperties; import org.apache.doris.connector.metastore.spi.JdbcDriverSupport; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.connector.spi.ConnectorConf; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.ConnectorValidationContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.filesystem.properties.S3CompatibleFileSystemProperties; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.kerberos.HadoopAuthenticator; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadata.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadata.java index 62e98dc2a0a048..a2057ff136a6a5 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadata.java @@ -17,36 +17,36 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorDatabaseMetadata; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.ConnectorViewDefinition; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorSortField; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorDatabaseMetadata; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.ConnectorViewDefinition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.apache.doris.thrift.THiveTable; import org.apache.doris.thrift.TIcebergTable; import org.apache.doris.thrift.TTableDescriptor; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorProvider.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorProvider.java index 2f9e90b5a4d121..f03c858991e6dc 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorProvider.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorProvider.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.Connector; import org.apache.doris.connector.cache.CacheSpec; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorTransaction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorTransaction.java index 666e59a8741f8e..61106437d56c1d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorTransaction.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.RewriteCapableTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.RewriteCapableTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.doris.thrift.TFileContent; import org.apache.doris.thrift.TIcebergCommitData; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergDelegatedCredentialUtils.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergDelegatedCredentialUtils.java index 979749a2a6c21f..65f316a3a4a40f 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergDelegatedCredentialUtils.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergDelegatedCredentialUtils.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; import org.apache.iceberg.rest.auth.OAuth2Properties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolution.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolution.java index 14facfd6ddc12f..06a850e8a94e5e 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolution.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolution.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; import org.apache.iceberg.Schema; import org.apache.iceberg.Table; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPartitionUtils.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPartitionUtils.java index ba077b4f63294b..38cb503180842c 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPartitionUtils.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPartitionUtils.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPredicateConverter.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPredicateConverter.java index 137c0f4a41a5f4..329023ead0bf07 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPredicateConverter.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergPredicateConverter.java @@ -17,16 +17,16 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.And; @@ -59,7 +59,7 @@ * port of fe-core {@code IcebergUtils.convertToIcebergExpr} (the iceberg-side mapping + the * {@code extractDorisLiteral} type matrix + the {@code checkConversion} bind-test); it consumes the * engine-neutral {@code ConnectorExpression} (produced by fe-core {@code ExprToConnectorExpressionConverter}) - * instead of a Doris {@code Expr}, so it imports only {@code connector.api.pushdown} + {@code org.apache.iceberg}. + * instead of a Doris {@code Expr}, so it imports only {@code connector.spi.pushdown} + {@code org.apache.iceberg}. * *

Handled node set mirrors legacy {@code convertToIcebergExpr} exactly: AND/OR/NOT, comparisons * (EQ/NE/LT/LE/GT/GE/EQ_FOR_NULL, column-op-literal only), IN/NOT-IN, and a bare boolean literal diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergProcedureOps.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergProcedureOps.java index a1daff65192e09..536babad0e517c 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergProcedureOps.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergProcedureOps.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ConnectorRewriteGroup; -import org.apache.doris.connector.api.procedure.ConnectorRewriteStatistics; -import org.apache.doris.connector.api.procedure.ProcedureExecutionMode; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.iceberg.action.BaseIcebergAction; import org.apache.doris.connector.iceberg.action.IcebergExecuteActionFactory; import org.apache.doris.connector.iceberg.action.IcebergRewriteDataFilesAction; import org.apache.doris.connector.iceberg.rewrite.RewriteDataFilePlanner; import org.apache.doris.connector.iceberg.rewrite.RewriteDataGroup; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteStatistics; +import org.apache.doris.connector.spi.procedure.ProcedureExecutionMode; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import java.time.ZoneId; import java.util.Arrays; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanPlanProvider.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanPlanProvider.java index 42db23c93ac1c4..28ec4c142cb9d2 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanPlanProvider.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorColumnCategory; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ConnectorSplitSource; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; import org.apache.doris.connector.cache.CacheSpec; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorColumnCategory; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ConnectorSplitSource; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.doris.thrift.TFileFormatType; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporter.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporter.java index 359f2a86c76339..5ee788d2135f28 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporter.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporter.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; import org.apache.iceberg.metrics.CounterResult; import org.apache.iceberg.metrics.MetricsContext; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanRange.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanRange.java index a3aa736ed96701..0e9f35488317db 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanRange.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TIcebergDeleteFileDesc; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilder.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilder.java index c7b02b6ae9cfb4..973528d0f7e482 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilder.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilder.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; import org.apache.iceberg.CatalogProperties; import org.apache.iceberg.NullOrder; @@ -47,7 +47,7 @@ /** * Builds the Iceberg create-table artifacts (Schema / PartitionSpec / SortOrder / default properties) - * from a connector-SPI {@link org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest}. + * from a connector-SPI {@link org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest}. * *

String-driven port of the legacy fe-core iceberg create path * ({@code DorisTypeToIcebergType} + {@code IcebergUtils.solveIcebergPartitionSpec} + diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaUtils.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaUtils.java index dca061ed8268e2..d78e53fae02ad2 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaUtils.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSchemaUtils.java @@ -407,7 +407,7 @@ private static boolean isBinaryLike(Type type) { * value can't be carried as a plain unquoted literal that DESCRIBE / INSERT re-parse — return null. * Non-binary scalars reuse the same human-string form as the read-side initial default (timestamp * normalized to DATETIMEV2 spacing, timestamptz offset handling honored) so a write default displays - * exactly like a read default. This ONLY populates the FE {@link org.apache.doris.connector.api.ConnectorColumn} + * exactly like a read default. This ONLY populates the FE {@link org.apache.doris.connector.spi.ConnectorColumn} * metadata; it is orthogonal to the initialDefault BE-dictionary path in {@link #buildField} (#65502). */ static String writeDefaultToDorisString(Type type, Object writeDefault, boolean enableTimestampTz) { diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapter.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapter.java index 9f76d9cea8564d..63d9aabefeac47 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapter.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapter.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergStatementScope.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergStatementScope.java index 418d6868618841..b7ed62252b650e 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergStatementScope.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergStatementScope.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorStatementScopes; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorStatementScopes; import org.apache.doris.thrift.TIcebergDeleteFileDesc; import org.apache.iceberg.BaseTable; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTableHandle.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTableHandle.java index 295402a0f66de9..64af1e29f207c4 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTableHandle.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import com.google.common.collect.ImmutableSet; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTimeUtils.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTimeUtils.java index de5d5a30e10aae..34f4f8c8d79b42 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTimeUtils.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTimeUtils.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import java.time.DateTimeException; import java.time.LocalDateTime; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTypeMapping.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTypeMapping.java index 005ac7f7289830..2021e967017aff 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTypeMapping.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergTypeMapping.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWriteContext.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWriteContext.java index 18d1445817713e..bee38aeb4c2a30 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWriteContext.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWriteContext.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import java.util.Collections; import java.util.HashMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWritePlanProvider.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWritePlanProvider.java index d9410c3dc93621..d06d8339e08192 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWritePlanProvider.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergWritePlanProvider.java @@ -17,23 +17,23 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePartitionField; -import org.apache.doris.connector.api.write.ConnectorWritePartitionSpec; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; -import org.apache.doris.connector.api.write.ConnectorWriteSortColumn; import org.apache.doris.connector.spi.ConnectorBrokerAddress; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionField; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionSpec; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWriteSortColumn; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TDataSinkType; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/BaseIcebergAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/BaseIcebergAction.java index 6dac9970527093..7b0d57b3705505 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/BaseIcebergAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/BaseIcebergAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.NamedArguments; import com.google.common.base.Preconditions; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotAction.java index 98bc7e0f2767f8..ef0d730fe5a64e 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactory.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactory.java index 6a901feb349a74..37d949c1d7abcf 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactory.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactory.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import java.util.List; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsAction.java index a10363ccc4c28c..3fbcd454c4eb49 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.annotations.VisibleForTesting; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardAction.java index f4a1e5a6e85ffb..272a1211e620a9 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesAction.java index 74963af98fc6eb..8b7e3244f61e7d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesAction.java index b3666328d396f2..ef530f8eac8b97 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesAction.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ConnectorRewriteStatistics; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.iceberg.rewrite.RewriteDataFilePlanner; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteStatistics; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.ImmutableList; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsAction.java index 9b109e7acd1aa7..73ace182e1ac2a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotAction.java index 7c091d483e783d..67f6b6af079620 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampAction.java index 6b45b2e8311c1d..ad8aae0d5dfb56 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampAction.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.iceberg.IcebergTimeUtils; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import com.google.common.collect.Lists; import org.apache.iceberg.Snapshot; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotAction.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotAction.java index 12b989db2f9eee..9b22d905c5eb51 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotAction.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotAction.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/RewriteManifestExecutor.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/RewriteManifestExecutor.java index ce8772d5ebb89f..31f5b450715503 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/RewriteManifestExecutor.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/action/RewriteManifestExecutor.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.iceberg.ManifestFile; import org.apache.iceberg.RewriteManifests; diff --git a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlanner.java b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlanner.java index 6437ab5563edb1..fc2ae25932b748 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlanner.java +++ b/fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlanner.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg.rewrite; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.iceberg.IcebergPredicateConverter; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsColumnEvolutionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsColumnEvolutionTest.java index 0b2bef024a9c42..b80f0f6df38be6 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsColumnEvolutionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsColumnEvolutionTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; import org.apache.doris.connector.iceberg.IcebergCatalogOps.CatalogBackedIcebergCatalogOps; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsDdlTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsDdlTest.java index f06bd2119c782e..df311274ab6c4d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsDdlTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsDdlTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorSortField; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; import org.apache.doris.connector.iceberg.IcebergCatalogOps.CatalogBackedIcebergCatalogOps; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; import org.apache.iceberg.DataFiles; import org.apache.iceberg.FileFormat; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsTest.java index b412e0ed305140..119b0ce953ff2d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/CatalogBackedIcebergCatalogOpsTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.iceberg.IcebergCatalogOps.CatalogBackedIcebergCatalogOps; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.iceberg.catalog.Catalog; import org.apache.iceberg.catalog.Namespace; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCatalogFactoryTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCatalogFactoryTest.java index 9ae0d70b5eee91..3db873d59c027b 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCatalogFactoryTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCatalogFactoryTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.doris.filesystem.properties.S3CompatibleFileSystemProperties; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorCacheTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorCacheTest.java index 6abe09a0f52dfd..6020e321c9880b 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorCacheTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorCacheTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorPartitionInfo; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; import org.apache.iceberg.DataFiles; import org.apache.iceberg.ManifestFile; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataColumnEvolutionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataColumnEvolutionTest.java index 0f1802473bb689..452be206fb63f6 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataColumnEvolutionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataColumnEvolutionTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; import org.apache.iceberg.Schema; import org.apache.iceberg.Table; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataDdlTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataDdlTest.java index f14ab1ff6014e3..9fae1d210a9022 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataDdlTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataDdlTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.ConnectorSortField; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; import org.apache.iceberg.TableProperties; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataMvccTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataMvccTest.java index 35748356013e52..a1afce8ed8111d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataMvccTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataMvccTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.apache.iceberg.DataFile; import org.apache.iceberg.DataFiles; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataPartitionViewCacheTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataPartitionViewCacheTest.java index e5cb30b0ed97d8..72a1850787c884 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataPartitionViewCacheTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataPartitionViewCacheTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; import org.apache.doris.connector.cache.ConnectorMetadataCache; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.apache.iceberg.DataFiles; import org.apache.iceberg.FileFormat; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataStatisticsTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataStatisticsTest.java index df9f030c1d6057..af50681e834571 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataStatisticsTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataStatisticsTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.iceberg.DataFile; import org.apache.iceberg.DataFiles; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataSysTableTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataSysTableTest.java index d4f4f504047e76..d2680142122d0a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataSysTableTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataSysTableTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.iceberg.MetadataTableType; import org.apache.iceberg.PartitionSpec; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataTest.java index f134618c386a28..8d12d340009b0d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorMetadataTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorDatabaseMetadata; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorViewDefinition; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorDatabaseMetadata; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorViewDefinition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.RowLevelOperationMode; @@ -1321,7 +1321,7 @@ public void beginTransactionReturnsIcebergConnectorTransactionWithEngineId() { // GlobalExternalTransactionInfoMgr — the BE->FE report path finds the txn by this id). Dormant // until the P6.6 cutover; the SDK transaction is opened later by the write plan via beginWrite. RecordingIcebergCatalogOps ops = new RecordingIcebergCatalogOps(); - org.apache.doris.connector.api.handle.ConnectorTransaction txn = + org.apache.doris.connector.spi.handle.ConnectorTransaction txn = metadataWith(ops).beginTransaction(new TxnIdSession(31337L)); Assertions.assertTrue(txn instanceof IcebergConnectorTransaction); @@ -1331,8 +1331,8 @@ public void beginTransactionReturnsIcebergConnectorTransactionWithEngineId() { Assertions.assertTrue(ops.log.isEmpty(), "beginTransaction must not touch the catalog seam"); } - /** Minimal {@link org.apache.doris.connector.api.ConnectorSession} that only hands out a txn id. */ - private static final class TxnIdSession implements org.apache.doris.connector.api.ConnectorSession { + /** Minimal {@link org.apache.doris.connector.spi.ConnectorSession} that only hands out a txn id. */ + private static final class TxnIdSession implements org.apache.doris.connector.spi.ConnectorSession { private final long txnId; TxnIdSession(long txnId) { diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTest.java index 471739e28d17e6..a0ef19113ad7b5 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.filesystem.properties.S3CompatibleFileSystemProperties; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTestConnectionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTestConnectionTest.java index abba24d84c1dc0..b9c26cba61fa12 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTestConnectionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTestConnectionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorTestResult; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorTestResult; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTransactionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTransactionTest.java index 0ed5a711ae065a..d692b17cc251b5 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTransactionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergConnectorTransactionTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.thrift.TFileContent; import org.apache.doris.thrift.TIcebergColumnStats; import org.apache.doris.thrift.TIcebergCommitData; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCreateTableValidationTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCreateTableValidationTest.java index 1d9a1c33d4cf4d..078e2e9b568518 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCreateTableValidationTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergCreateTableValidationTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergLiveConnectivityTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergLiveConnectivityTest.java index 1c37bf56a664c8..61764073d799d3 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergLiveConnectivityTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergLiveConnectivityTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolutionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolutionTest.java index dd262ebcaef25f..154c85f286b73c 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolutionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergNestedColumnEvolutionTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; import org.apache.doris.connector.iceberg.IcebergCatalogOps.CatalogBackedIcebergCatalogOps; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPartitionUtilsTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPartitionUtilsTest.java index e66c72f35511d6..82aef84c536470 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPartitionUtilsTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPartitionUtilsTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; import org.apache.iceberg.DataFiles; import org.apache.iceberg.FileFormat; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterConflictModeTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterConflictModeTest.java index 9e8d376b7029a6..faa44f98dc4b65 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterConflictModeTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterConflictModeTest.java @@ -17,16 +17,16 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.Expression; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterRewriteModeTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterRewriteModeTest.java index 2b1bdf62a255fb..fd10c592cafe2b 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterRewriteModeTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterRewriteModeTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.Expression; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterTest.java index b9f4644305a3e8..1f903ddbae526a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergPredicateConverterTest.java @@ -17,18 +17,18 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.iceberg.Schema; import org.apache.iceberg.expressions.Expression; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProcedureOpsTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProcedureOpsTest.java index d2fa6cf9221b77..2ab67da81fd841 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProcedureOpsTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProcedureOpsTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ConnectorRewriteGroup; -import org.apache.doris.connector.api.procedure.ConnectorRewriteStatistics; -import org.apache.doris.connector.api.procedure.ProcedureExecutionMode; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteStatistics; +import org.apache.doris.connector.spi.procedure.ProcedureExecutionMode; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProviderSessionRoutingTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProviderSessionRoutingTest.java index 319bebec8600c5..55e03a0b91a862 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProviderSessionRoutingTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergProviderSessionRoutingTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderClassifyColumnTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderClassifyColumnTest.java index 0f8f2a8b2640a7..6dbb821fd9dda8 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderClassifyColumnTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderClassifyColumnTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorColumnCategory; +import org.apache.doris.connector.spi.scan.ConnectorColumnCategory; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderKerberosScanIoTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderKerberosScanIoTest.java index 2296fe927414d9..c5c3f0bd26635d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderKerberosScanIoTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderKerberosScanIoTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.hadoop.security.UserGroupInformation; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderPartitionCountTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderPartitionCountTest.java index cc37e9feeb821b..0820fefcc3154a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderPartitionCountTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderPartitionCountTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderTest.java index 148f47c47aa652..9226574d120686 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanPlanProviderTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ConnectorSplitSource; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ConnectorSplitSource; import org.apache.doris.filesystem.FileSystemType; import org.apache.doris.filesystem.properties.BackendStorageKind; import org.apache.doris.filesystem.properties.BackendStorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporterTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporterTest.java index 076042b6722086..d501ccc84252ee 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporterTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergScanProfileReporterTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; import org.apache.iceberg.expressions.Expressions; import org.apache.iceberg.metrics.CounterResult; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderColumnTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderColumnTest.java index 050b7e0c60ee07..8828003ecd91bf 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderColumnTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderColumnTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderTest.java index a46474334d8e98..4eac0ff0abe308 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSchemaBuilderTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; import org.apache.iceberg.NullOrder; import org.apache.iceberg.PartitionSpec; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapterTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapterTest.java index ad12c1b8f57394..02872dd6399b6f 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapterTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergSessionCatalogAdapterTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.iceberg.IcebergSessionCatalogAdapter.DelegatedTokenMode; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; import com.google.common.collect.ImmutableMap; import org.apache.iceberg.catalog.SessionCatalog; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergStatementScopeTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergStatementScopeTest.java index 1ce20b070a70f1..664dfbbc8fb7fb 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergStatementScopeTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergStatementScopeTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.apache.doris.thrift.TIcebergDeleteFileDesc; import org.apache.iceberg.PartitionSpec; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTimeUtilsTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTimeUtilsTest.java index 59f1d0672a73d3..86a92fb733a15c 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTimeUtilsTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTimeUtilsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTypeMappingReadTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTypeMappingReadTest.java index 804bc432a9c517..97f995ecf60eba 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTypeMappingReadTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergTypeMappingReadTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.iceberg.types.Type; import org.apache.iceberg.types.Types; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergWritePlanProviderTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergWritePlanProviderTest.java index 5a1475df05217c..a28d48baa55d56 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergWritePlanProviderTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/IcebergWritePlanProviderTest.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePartitionField; -import org.apache.doris.connector.api.write.ConnectorWritePartitionSpec; -import org.apache.doris.connector.api.write.ConnectorWriteSortColumn; import org.apache.doris.connector.spi.ConnectorBrokerAddress; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionField; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionSpec; +import org.apache.doris.connector.spi.write.ConnectorWriteSortColumn; import org.apache.doris.filesystem.FileSystemType; import org.apache.doris.filesystem.properties.BackendStorageKind; import org.apache.doris.filesystem.properties.BackendStorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingConnectorContext.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingConnectorContext.java index 37b39bf5b5e528..238637b7f35149 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingConnectorContext.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingConnectorContext.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorBrokerAddress; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingIcebergCatalogOps.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingIcebergCatalogOps.java index b12707543d8cf1..9f834eab01dc2c 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingIcebergCatalogOps.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/RecordingIcebergCatalogOps.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.Schema; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/TestStatementScope.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/TestStatementScope.java index e6744a21e0948a..8a4d19b321a8f4 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/TestStatementScope.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/TestStatementScope.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorStatementScope; import java.util.concurrent.ConcurrentHashMap; import java.util.function.Supplier; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/ActionTestTables.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/ActionTestTables.java index fd30e387646f23..49ffde1fb47774 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/ActionTestTables.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/ActionTestTables.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.iceberg.DataFile; import org.apache.iceberg.DataFiles; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/BaseIcebergActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/BaseIcebergActionTest.java index 03c1fd0cb186f7..293cbfd2fa526a 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/BaseIcebergActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/BaseIcebergActionTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.foundation.util.ArgumentParsers; import com.google.common.collect.ImmutableList; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotActionTest.java index 47e5999203a957..47974dc7aa4e11 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergCherrypickSnapshotActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableMap; import org.apache.iceberg.Snapshot; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactoryTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactoryTest.java index 1e0da5abff5955..d1978fe7741fd7 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactoryTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExecuteActionFactoryTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsActionTest.java index ef81cf3fed474e..9b5ffc981e7d75 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergExpireSnapshotsActionTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardActionTest.java index 4ba49a375a294a..d2993adc51fe71 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergFastForwardActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableMap; import org.apache.iceberg.catalog.TableIdentifier; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesActionTest.java index 3f2870dddba465..616c7e1a1836bb 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergPublishChangesActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableMap; import org.apache.iceberg.Table; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesActionTest.java index a21d1bc85f9c88..fe33d537f8c119 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteDataFilesActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.iceberg.rewrite.RewriteDataFilePlanner; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsActionTest.java index 41b970ceeacac8..4f538c4ae1e642 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRewriteManifestsActionTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotActionTest.java index 1949d1e489d483..9bef8dbd3dd650 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToSnapshotActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampActionTest.java index 28e2d0c5ef1502..57b38e76ac53ef 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergRollbackToTimestampActionTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; import org.apache.doris.connector.iceberg.IcebergTimeUtils; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotActionTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotActionTest.java index a03570b93200be..2032435924b493 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotActionTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/action/IcebergSetCurrentSnapshotActionTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.iceberg.action; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; diff --git a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlannerTest.java b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlannerTest.java index ac0ab808344c6a..4fc8f7adbbef5d 100644 --- a/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlannerTest.java +++ b/fe/fe-connector/fe-connector-iceberg/src/test/java/org/apache/doris/connector/iceberg/rewrite/RewriteDataFilePlannerTest.java @@ -17,17 +17,17 @@ package org.apache.doris.connector.iceberg.rewrite; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.iceberg.DataFile; import org.apache.iceberg.DataFiles; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-jdbc/src/main/assembly/plugin-zip.xml index d0f53bf68d6833..119002045f9fa4 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-jdbc/src/main/assembly/plugin-zip.xml @@ -23,7 +23,7 @@ under the License. *.jar (all runtime deps: direct + transitive) Jars already present in fe-core classpath are excluded from lib/: - fe-connector-api, fe-connector-spi, fe-extension-spi, fe-filesystem-api + fe-connector-spi, fe-extension-spi, fe-filesystem-api --> false runtime - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcColumnHandle.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcColumnHandle.java index 4001bd94db2070..632384b12acc89 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcColumnHandle.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadata.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadata.java index bebf93ac500602..80d4870f02d543 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadata.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScopes; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.NoOpConnectorTransaction; -import org.apache.doris.connector.api.handle.PassthroughQueryTableHandle; import org.apache.doris.connector.jdbc.client.JdbcConnectorClient; import org.apache.doris.connector.jdbc.client.JdbcFieldInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScopes; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.NoOpConnectorTransaction; +import org.apache.doris.connector.spi.handle.PassthroughQueryTableHandle; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorProvider.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorProvider.java index ac4fd613daa98a..03be060e17ca63 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorProvider.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcConnectorProvider.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.DorisConnectorException; import java.util.Arrays; import java.util.List; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDbType.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDbType.java index 5cffbb641384d8..5081b4ca38d0ae 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDbType.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDbType.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; /** * Enumerates the supported JDBC database types and provides URL-based detection. diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDorisConnector.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDorisConnector.java index 01e1b94df8a6d4..bcc51027dae32c 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDorisConnector.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcDorisConnector.java @@ -17,18 +17,18 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.ConnectorValidationContext; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; import org.apache.doris.connector.jdbc.client.JdbcConnectorClient; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.connector.spi.ConnectorConf; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.ConnectorValidationContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.thrift.TJdbcTable; import org.apache.doris.thrift.TOdbcTableType; import org.apache.doris.thrift.TTableDescriptor; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcIdentifierMapper.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcIdentifierMapper.java index fa4993bfbc0514..4756c1cb643ae3 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcIdentifierMapper.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcIdentifierMapper.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import java.util.ArrayList; import java.util.HashMap; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcQueryBuilder.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcQueryBuilder.java index 4358d260e86edb..98dd14c72a860d 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcQueryBuilder.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcQueryBuilder.java @@ -17,20 +17,20 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFunctionCall; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFunctionCall; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanPlanProvider.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanPlanProvider.java index cbfd443b4f95af..f16311cff3a78d 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanPlanProvider.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.PassthroughQueryTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.PassthroughQueryTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanRange.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanRange.java index 96b1fb1e1a0dad..476d2ac12758ae 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanRange.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import java.util.Collections; import java.util.LinkedHashMap; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcTableHandle.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcTableHandle.java index d1122bf0a83f97..5860b856f29b2d 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcTableHandle.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; /** * Opaque table handle carrying the remote database/table coordinates. diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcWritePlanProvider.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcWritePlanProvider.java index 9fc66961d2e5ed..1350646829fcbc 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcWritePlanProvider.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/JdbcWritePlanProvider.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; import org.apache.doris.connector.jdbc.client.JdbcConnectorClient; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TDataSinkType; import org.apache.doris.thrift.TJdbcTable; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcClickHouseConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcClickHouseConnectorClient.java index c4cea29b4aa1c4..ea1f14a58ad3ab 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcClickHouseConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcClickHouseConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcConnectorClient.java index f2086332080559..a3871e0005d3c3 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import com.zaxxer.hikari.HikariDataSource; import org.apache.logging.log4j.LogManager; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcDB2ConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcDB2ConnectorClient.java index a9b6f2cfb1eac9..2c6155c997fc83 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcDB2ConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcDB2ConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import java.sql.Connection; import java.sql.ResultSet; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcGbaseConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcGbaseConnectorClient.java index 2c7299109b43db..ac4084d70e8d44 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcGbaseConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcGbaseConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import java.sql.Connection; import java.sql.DatabaseMetaData; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcMySQLConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcMySQLConnectorClient.java index e69bb19e3515ba..9874d1b2460646 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcMySQLConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcMySQLConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOceanBaseConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOceanBaseConnectorClient.java index 8cf04f749892fa..ca041d54f7bb92 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOceanBaseConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOceanBaseConnectorClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOracleConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOracleConnectorClient.java index d4f809af738722..953a2c50cd4b69 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOracleConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcOracleConnectorClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcPostgreSQLConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcPostgreSQLConnectorClient.java index dbd91a231a92c0..54b2eebd67c30d 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcPostgreSQLConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcPostgreSQLConnectorClient.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClient.java index 73d1efdfcf1089..2cdab21a0b6cd0 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSapHanaConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSapHanaConnectorClient.java index a4064cce8356b6..21bcde7a33016e 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSapHanaConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcSapHanaConnectorClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcTrinoConnectorClient.java b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcTrinoConnectorClient.java index 3d74305a63158a..669ca0207cea57 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcTrinoConnectorClient.java +++ b/fe/fe-connector/fe-connector-jdbc/src/main/java/org/apache/doris/connector/jdbc/client/JdbcTrinoConnectorClient.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadataTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadataTest.java index 0546eb09ee09ba..f3778acbb69b08 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadataTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcConnectorMetadataTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorPushdownOps; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; import org.apache.doris.connector.jdbc.client.JdbcConnectorClient; import org.apache.doris.connector.jdbc.client.JdbcFieldInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorPushdownOps; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDbTypeTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDbTypeTest.java index 6cca87cd76b40f..46323ee8e8bcfb 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDbTypeTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDbTypeTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDorisConnectorTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDorisConnectorTest.java index 7ebfcd9c4bccd5..a80226e3c5b4e1 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDorisConnectorTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcDorisConnectorTest.java @@ -17,16 +17,16 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.NoOpConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.NoOpConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -128,7 +128,7 @@ void testTestConnectionAfterCloseReturnFailure() throws IOException { JdbcDorisConnector connector = new JdbcDorisConnector(minimalProps(), testContext()); connector.close(); // testConnection catches exceptions internally and returns failure result - org.apache.doris.connector.api.ConnectorTestResult result = connector.testConnection(null); + org.apache.doris.connector.spi.ConnectorTestResult result = connector.testConnection(null); Assertions.assertFalse(result.isSuccess()); Assertions.assertTrue(result.getMessage().contains("closed"), "Failure message should mention closed: " + result.getMessage()); diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcQueryBuilderTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcQueryBuilderTest.java index 0a04e2031928fb..9752c81a17ba15 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcQueryBuilderTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcQueryBuilderTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFunctionCall; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFunctionCall; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcWritePlanProviderTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcWritePlanProviderTest.java index 640bebfc2b5340..cd6b568ef4fb07 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcWritePlanProviderTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/JdbcWritePlanProviderTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.jdbc; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; import org.apache.doris.connector.jdbc.client.JdbcConnectorClient; import org.apache.doris.connector.jdbc.client.JdbcFieldInfo; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TDataSinkType; import org.apache.doris.thrift.TJdbcTable; diff --git a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClientTest.java b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClientTest.java index 513e49bbe63817..313f768005477b 100644 --- a/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClientTest.java +++ b/fe/fe-connector/fe-connector-jdbc/src/test/java/org/apache/doris/connector/jdbc/client/JdbcSQLServerConnectorClientTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.jdbc.client; -import org.apache.doris.connector.api.ConnectorType; import org.apache.doris.connector.jdbc.JdbcDbType; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/pom.xml b/fe/fe-connector/fe-connector-maxcompute/pom.xml index 37565fbc8a1140..f0ac826c1f8b83 100644 --- a/fe/fe-connector/fe-connector-maxcompute/pom.xml +++ b/fe/fe-connector/fe-connector-maxcompute/pom.xml @@ -70,13 +70,6 @@ under the License. 2.9.3 - - - ${project.groupId} - fe-connector-api - ${project.version} - - ${project.groupId} diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-maxcompute/src/main/assembly/plugin-zip.xml index f0658344c4c9cc..38b361a63f774a 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/assembly/plugin-zip.xml @@ -23,7 +23,7 @@ under the License. *.jar (all runtime deps: direct + transitive) Jars already present in fe-core classpath are excluded from lib/: - fe-connector-api, fe-connector-spi, fe-extension-spi, fe-filesystem-api + fe-connector-spi, fe-extension-spi, fe-filesystem-api --> false runtime - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MCTypeMapping.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MCTypeMapping.java index 4c8f53ded6ed58..51a054e6d4458c 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MCTypeMapping.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MCTypeMapping.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import com.aliyun.odps.OdpsType; import com.aliyun.odps.type.ArrayTypeInfo; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeColumnHandle.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeColumnHandle.java index 667d2d82b5f304..2d3ca9ffe4e96f 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeColumnHandle.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadata.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadata.java index 56e2cca126ad47..0ee8c9de89f8e2 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadata.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import com.aliyun.odps.Column; import com.aliyun.odps.Odps; @@ -312,7 +312,7 @@ public List listPartitions(ConnectorSession session, * (they stay BE-only), restoring legacy parity: legacy {@code MaxComputeScanNode} likewise never * pushed CAST predicates (its {@code convertSlotRefToColumnName} threw on a CAST operand and the * conjunct was dropped). Mirrors {@code JdbcConnectorMetadata} and the contract documented on - * {@link org.apache.doris.connector.api.ConnectorPushdownOps#supportsCastPredicatePushdown}. + * {@link org.apache.doris.connector.spi.ConnectorPushdownOps#supportsCastPredicatePushdown}. */ @Override public boolean supportsCastPredicatePushdown(ConnectorSession session) { diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProvider.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProvider.java index b24d9a147cf882..b086c8f451778c 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProvider.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProvider.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransaction.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransaction.java index af798df4492c72..daabc9fe0d201c 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransaction.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteBlockAllocatingConnectorTransaction; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteBlockAllocatingConnectorTransaction; import org.apache.doris.thrift.TMCCommitData; import com.aliyun.odps.table.TableIdentifier; @@ -69,7 +69,7 @@ public class MaxComputeConnectorTransaction * Legacy default of {@code Config.max_compute_write_max_block_count} (20000); used as the * fallback when the session does not carry the (tunable) value. The connector cannot import * fe-core {@code Config}, so the live value is threaded in through the constructor — resolved - * from {@link org.apache.doris.connector.api.ConnectorSession#getSessionProperties()} by + * from {@link org.apache.doris.connector.spi.ConnectorSession#getSessionProperties()} by * {@code MaxComputeConnectorMetadata.resolveMaxBlockCount} (GC1 / FIX-BLOCKID-CAP-CONFIG, * restoring legacy fe.conf tunability and superseding the hardcoded cap in DV-011). */ diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeDorisConnector.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeDorisConnector.java index b435a88d0423d4..7ffda0cb63a88f 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeDorisConnector.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeDorisConnector.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverter.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverter.java index 1f52b12f333aaa..66f1e7c244a1d1 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverter.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverter.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.aliyun.odps.OdpsType; import com.aliyun.odps.table.optimizer.predicate.Attribute; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProvider.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProvider.java index 59ee8961ea7a8d..fb5a2207baf84f 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProvider.java @@ -17,18 +17,18 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import com.aliyun.odps.Column; import com.aliyun.odps.OdpsType; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanRange.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanRange.java index 51b27eb22957e8..7e00f3b19875f6 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanRange.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TMaxComputeFileDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeTableHandle.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeTableHandle.java index d61672494803ed..7c29d9d98a0cc1 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeTableHandle.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeTableHandle.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import com.aliyun.odps.Table; import com.aliyun.odps.table.TableIdentifier; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProvider.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProvider.java index 92e43710d90340..dcdd10af0d0e5c 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProvider.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProvider.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.thrift.TDataSink; import org.apache.doris.thrift.TDataSinkType; import org.apache.doris.thrift.TMaxComputeTableSink; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/McStructureHelper.java b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/McStructureHelper.java index 78645fe6aa7178..8337cec963d16d 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/McStructureHelper.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/main/java/org/apache/doris/connector/maxcompute/McStructureHelper.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MCTypeMappingTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MCTypeMappingTest.java index a5fb73241acb5e..d0aedabc5cb4c5 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MCTypeMappingTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MCTypeMappingTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import com.aliyun.odps.type.TypeInfoFactory; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorContractTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorContractTest.java index 06fec2c6cd9ace..57abb5027fa575 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorContractTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorContractTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataDropDbTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataDropDbTest.java index f5fb465948e46e..b1892028f150cc 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataDropDbTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataDropDbTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataHandleMemoTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataHandleMemoTest.java index 7d3bf31c721bae..d0cedfdbb2d50c 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataHandleMemoTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataHandleMemoTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataIsKeyTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataIsKeyTest.java index 4f24940a892b7e..439577d1a3d0af 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataIsKeyTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorMetadataIsKeyTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProviderTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProviderTest.java index ba211d29ce7592..0b71c80c8dd874 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProviderTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorProviderTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorTestResult; +import org.apache.doris.connector.spi.ConnectorTestResult; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransactionTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransactionTest.java index 174eec4e0538ea..06835f55263272 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransactionTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeConnectorTransactionTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePartitionCacheTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePartitionCacheTest.java index b957bb7a28579a..58fbfd4da94b15 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePartitionCacheTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePartitionCacheTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.aliyun.odps.Odps; import com.aliyun.odps.OdpsException; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverterTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverterTest.java index c2a7096a7632f5..55d241a12fc7ab 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverterTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputePredicateConverterTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.aliyun.odps.OdpsType; import com.aliyun.odps.table.optimizer.predicate.Predicate; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProviderTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProviderTest.java index 90d31938e7161b..c203b8965fdacb 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProviderTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanPlanProviderTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.aliyun.odps.PartitionSpec; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanRangeTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanRangeTest.java index 8c646f5f87aef7..1bc9de18fecfad 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanRangeTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeScanRangeTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeStaticPartitionValidationTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeStaticPartitionValidationTest.java index 4d6bc86e518ac2..56d3d365706d94 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeStaticPartitionValidationTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeStaticPartitionValidationTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeValidateColumnsTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeValidateColumnsTest.java index 1d9230adfdd0d6..7eb82d315806cd 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeValidateColumnsTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeValidateColumnsTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProviderTest.java b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProviderTest.java index 8da2493b934904..f75f3b3357651b 100644 --- a/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProviderTest.java +++ b/fe/fe-connector/fe-connector-maxcompute/src/test/java/org/apache/doris/connector/maxcompute/MaxComputeWritePlanProviderTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.maxcompute; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/pom.xml b/fe/fe-connector/fe-connector-paimon/pom.xml index 7e3c6e11172966..4ae25600702058 100644 --- a/fe/fe-connector/fe-connector-paimon/pom.xml +++ b/fe/fe-connector/fe-connector-paimon/pom.xml @@ -70,13 +70,6 @@ under the License. 2.9.3 - - - ${project.groupId} - fe-connector-api - ${project.version} - - - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonCatalogOps.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonCatalogOps.java index b37fc821d41090..0198d7ed5e5781 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonCatalogOps.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonCatalogOps.java @@ -115,7 +115,7 @@ void dropTable(Identifier identifier, boolean ignoreIfNotExists) /** * Returns the schema version (schemaId) of the snapshot with {@code snapshotId} * ({@code snapshotManager().snapshot(id).schemaId()}), or empty when it cannot be resolved. - * Used to stamp {@link org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot#getSchemaId()} + * Used to stamp {@link org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot#getSchemaId()} * for snapshot-id / timestamp time-travel so schema-at-snapshot reads pick the historical schema. */ OptionalLong snapshotSchemaId(Table table, long snapshotId); diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonColumnHandle.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonColumnHandle.java index d2bf961b4ae203..216b9b5bf04999 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonColumnHandle.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java index 34990f28fc25f7..2515f63c796d55 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnector.java @@ -17,21 +17,21 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorValidationContext; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.metastore.HmsMetaStoreProperties; import org.apache.doris.connector.metastore.spi.JdbcDriverSupport; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.connector.spi.ConnectorConf; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.ConnectorValidationContext; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.kerberos.HadoopAuthenticator; import org.apache.doris.kerberos.KerberosAuthSpec; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorMetadata.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorMetadata.java index a89ebd885e0fd7..6a1ad0bc4d0040 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorMetadata.java @@ -17,24 +17,24 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.thrift.THiveTable; import org.apache.doris.thrift.TTableDescriptor; import org.apache.doris.thrift.TTableType; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java index ce5d2cf1c271ec..b34102b070d02d 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonConnectorProvider.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.Connector; import org.apache.doris.connector.cache.CacheSpec; import org.apache.doris.connector.metastore.spi.MetaStoreProviders; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParams.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParams.java index 4353d30bda21ab..46c998ed87aa72 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParams.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParams.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.paimon.Snapshot; import org.apache.paimon.table.FallbackReadFileStoreTable; @@ -51,7 +51,7 @@ * ({@code "[incremental-between] must be null when you set [scan.snapshot-id,scan.tag-name]"}) or * silently resolves to {@code FROM_SNAPSHOT} at the stale id (wrong @incr rows). However, the null * values must NOT enter the SHARED, source-agnostic {@link - * org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot} SPI type (its {@code Builder.property} + * org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot} SPI type (its {@code Builder.property} * rejects null and its {@code getProperties()} is documented "never null"). So {@link #validate} * emits ONLY the non-null {@code incremental-between*} keys (snapshot/handle stay null-free), and the * two legacy null resets are reintroduced LOCALLY at the {@code Table.copy} chokepoint via {@link @@ -291,7 +291,7 @@ public static Map validate(Map params) { * the stale id (wrong @incr rows). * *

The reset is applied here, not in {@link #validate}, so the shared {@link - * org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot} SPI type and {@code + * org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot} SPI type and {@code * PaimonTableHandle.scanOptions} stay null-free; the null-valued map is created locally and handed * straight to paimon {@code copyInternal} ({@code v == null ? options.remove(k) : options.put(k, * v)}), which consumes the nulls to remove the stale options. diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonPredicateConverter.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonPredicateConverter.java index 5424ad8e634eb7..5fb90b3beb9732 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonPredicateConverter.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonPredicateConverter.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanMetrics.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanMetrics.java index 7cccdace5db632..3206795702dcaf 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanMetrics.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanMetrics.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; import org.apache.paimon.metrics.Counter; import org.apache.paimon.metrics.Gauge; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanParams.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanParams.java index 2f1a0593f1891a..45b3ea75f9ac00 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanParams.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanParams.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.google.common.collect.ImmutableSet; import org.apache.paimon.CoreOptions; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java index 3f6213ec339cc6..0b7afdacc19f9a 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanPlanProvider.java @@ -17,19 +17,19 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; import org.apache.doris.connector.metastore.spi.JdbcDriverSupport; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.filesystem.properties.StorageProperties; import org.apache.doris.thrift.TColumnType; import org.apache.doris.thrift.TFileScanRangeParams; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanRange.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanRange.java index 2a237762115741..3bc3cbe78cf4c1 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanRange.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileFormatType; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TPaimonDeletionFileDesc; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonSchemaBuilder.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonSchemaBuilder.java index 8d35fe422a2f4b..3488a1374d292a 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonSchemaBuilder.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonSchemaBuilder.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; import org.apache.paimon.CoreOptions; import org.apache.paimon.schema.Schema; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTableHandle.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTableHandle.java index 38423e480f6fbd..2b5006bc133b20 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTableHandle.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.paimon.table.FileStoreTable; import org.apache.paimon.table.Table; diff --git a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTypeMapping.java b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTypeMapping.java index f1b72d31b62546..1f29ccd1194df7 100644 --- a/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTypeMapping.java +++ b/fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonTypeMapping.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.paimon.types.ArrayType; import org.apache.paimon.types.BigIntType; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorCacheTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorCacheTest.java index ce6773d67d29ea..ecbc6eba37628a 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorCacheTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorCacheTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorPartitionInfo; import org.apache.doris.connector.cache.ConnectorMetadataCache; import org.apache.doris.connector.cache.ConnectorTableKey; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDbDdlTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDbDdlTest.java index 45d9bc1b612e01..a3577dedd3ae9d 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDbDdlTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDbDdlTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDdlTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDdlTest.java index df469c920abfc7..87af1137c2ee84 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDdlTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataDdlTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; import org.apache.paimon.schema.Schema; import org.apache.paimon.types.DataTypeRoot; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataMvccTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataMvccTest.java index 47a42353c52ae3..f702c51c0e77ce 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataMvccTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataMvccTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.apache.paimon.CoreOptions; import org.apache.paimon.types.DataField; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataOptionsTagPinTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataOptionsTagPinTest.java index 3332552d5dc67d..579798580b77e2 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataOptionsTagPinTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataOptionsTagPinTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import com.google.common.collect.ImmutableMap; import org.apache.paimon.catalog.Catalog; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionTest.java index 61640ebba3afb5..6bc5cc0485bbb2 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.paimon.CoreOptions; import org.apache.paimon.catalog.Catalog; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionViewCacheTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionViewCacheTest.java index 5a702feafe084e..aff106ae4375c9 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionViewCacheTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataPartitionViewCacheTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; import org.apache.doris.connector.cache.ConnectorMetadataCache; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.apache.paimon.partition.Partition; import org.apache.paimon.types.DataTypes; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataReadAuthTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataReadAuthTest.java index da83b09598f557..4eec483f1957e1 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataReadAuthTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataReadAuthTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.paimon.partition.Partition; import org.apache.paimon.types.DataTypes; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataStatisticsTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataStatisticsTest.java index 65ff1f12447698..f4cf4ac6d5e7eb 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataStatisticsTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataStatisticsTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.paimon.fs.Path; import org.apache.paimon.fs.local.LocalFileIO; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataSysTableTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataSysTableTest.java index aad95a6b3c1ebf..755be8875720cb 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataSysTableTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataSysTableTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.paimon.fs.Path; import org.apache.paimon.fs.local.LocalFileIO; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataTest.java index 660c18710c5f98..a1907b44254c6e 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorMetadataTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.paimon.types.DataField; import org.apache.paimon.types.DataTypes; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorOwnsHandleTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorOwnsHandleTest.java index a3f7955a8e49f3..6bb746ba32d70c 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorOwnsHandleTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorOwnsHandleTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorPreCreateValidationTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorPreCreateValidationTest.java index 7e8cfcf64e9dd2..fb8b324da87d1f 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorPreCreateValidationTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonConnectorPreCreateValidationTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorValidationContext; +import org.apache.doris.connector.spi.ConnectorValidationContext; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonCreateTableValidationTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonCreateTableValidationTest.java index cbd5efcac243bd..469bf8303e374f 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonCreateTableValidationTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonCreateTableValidationTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParamsTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParamsTest.java index da419e3dcc4138..3c4dfe363b5b09 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParamsTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonIncrementalScanParamsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonLiveConnectivityTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonLiveConnectivityTest.java index 3b2d1812744a0c..0c330a297ceaa5 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonLiveConnectivityTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonLiveConnectivityTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonPredicateConverterTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonPredicateConverterTest.java index 418b0113e952fa..6fcf5564d590c5 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonPredicateConverterTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonPredicateConverterTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.apache.paimon.data.BinaryString; import org.apache.paimon.data.Timestamp; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanMetricsTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanMetricsTest.java index 03c31600f01d51..3eec098a2f28f2 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanMetricsTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanMetricsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; import org.apache.paimon.operation.metrics.ScanMetrics; import org.apache.paimon.operation.metrics.ScanStats; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanParamsTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanParamsTest.java index b08f8f23343c6c..c5dcd322f436f6 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanParamsTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanParamsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.DorisConnectorException; import com.google.common.collect.ImmutableMap; import org.apache.paimon.catalog.Catalog; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderCapabilityTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderCapabilityTest.java index 158414bc9a937b..cfc3035743c63d 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderCapabilityTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderCapabilityTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java index 3a1a6442a0bd42..b001202c45cc5c 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanPlanProviderTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.doris.filesystem.FileSystemType; import org.apache.doris.filesystem.properties.BackendStorageKind; import org.apache.doris.filesystem.properties.BackendStorageProperties; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanRangeBucketTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanRangeBucketTest.java index 24de90b2ad4571..121474d7c2eceb 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanRangeBucketTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonScanRangeBucketTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.paimon.catalog.Catalog; import org.apache.paimon.catalog.FileSystemCatalog; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonSchemaBuilderTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonSchemaBuilderTest.java index 72951f93f930a1..7fce566a689180 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonSchemaBuilderTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonSchemaBuilderTest.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; import org.apache.paimon.CoreOptions; import org.apache.paimon.schema.Schema; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTableHandleScanOptionsTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTableHandleScanOptionsTest.java index ebcc7197ef0b29..dda4607b97dcf8 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTableHandleScanOptionsTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTableHandleScanOptionsTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorTableSchema; import org.apache.paimon.types.DataTypes; import org.apache.paimon.types.RowType; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingReadTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingReadTest.java index 0565850a01b1aa..81d5e305f841e1 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingReadTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingReadTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.paimon.types.DataField; import org.apache.paimon.types.IntType; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingToPaimonTest.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingToPaimonTest.java index 4b5dda12247795..ba32a64d385990 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingToPaimonTest.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/PaimonTypeMappingToPaimonTest.java @@ -17,8 +17,8 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; import org.apache.paimon.types.ArrayType; import org.apache.paimon.types.BigIntType; diff --git a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/RecordingConnectorContext.java b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/RecordingConnectorContext.java index 17934f85c24069..b10da7327ff9d9 100644 --- a/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/RecordingConnectorContext.java +++ b/fe/fe-connector/fe-connector-paimon/src/test/java/org/apache/doris/connector/paimon/RecordingConnectorContext.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.paimon; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-spi/pom.xml b/fe/fe-connector/fe-connector-spi/pom.xml index d2023514ba4660..d64936b49fcd92 100644 --- a/fe/fe-connector/fe-connector-spi/pom.xml +++ b/fe/fe-connector/fe-connector-spi/pom.xml @@ -33,18 +33,33 @@ under the License. jar Doris FE Connector SPI - Service Provider Interface (SPI) for Doris FE connector abstraction. - Contains ConnectorProvider (the ServiceLoader entry point a connector implements) - plus the engine services a connector consumes: ConnectorContext, - ConnectorMetaInvalidator and ConnectorBrokerAddress. - Zero third-party external dependencies — only JDK and Doris internal SPI interfaces. + The whole Doris FE connector plugin contract, in both directions. + + What a connector implements and the engine consumes: ConnectorProvider (the + ServiceLoader entry point), Connector, the ConnectorMetadata sub-interfaces, + the scan / write / procedure providers, opaque handle types, pushdown and ddl + value objects, and the capability enums. + + What the engine implements and a connector consumes: ConnectorContext, + ConnectorStorageContext, ConnectorSession, ConnectorConf, ConnectorBrokerAddress. + + The two directions live in one module on purpose — the boundary is bidirectional + (ConnectorProvider.create takes a ConnectorContext; ConnectorContext hands back a + Connector), so splitting by "who implements" would be circular. Trino does the + same with trino-spi. Design rules for the whole surface are documented in this + module's org.apache.doris.connector.spi package-info. + + The fe-thrift dependency (provided scope) allows connectors to construct typed + thrift payloads for the FE-BE protocol. At runtime the Thrift classes are supplied + by the parent classloader (fe-core). ${project.groupId} - fe-connector-api + fe-thrift ${project.version} + provided ${project.groupId} diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/Connector.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/Connector.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/Connector.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/Connector.java index f4a1db8b7f4c53..f7675ba6d0a24b 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/Connector.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/Connector.java @@ -15,14 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.event.ConnectorEventSource; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.rest.ConnectorRestPassthrough; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.event.ConnectorEventSource; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.rest.ConnectorRestPassthrough; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import java.io.Closeable; import java.io.IOException; @@ -48,7 +48,7 @@ * *

The getters that return {@code null} ({@code getScanPlanProvider}, {@code getWritePlanProvider}, * {@code getProcedureOps}, {@code getEventSource}, {@code getRestPassthrough}) are the opposite case: those - * ARE the declaration points for "this subsystem exists". See the {@code org.apache.doris.connector.api} + * ARE the declaration points for "this subsystem exists". See the {@code org.apache.doris.connector.spi} * package documentation for the full rule.

*/ public interface Connector extends Closeable { diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorCapability.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorCapability.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorCapability.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorCapability.java index 23e4e7f4ca9b0d..ff2277f074c16f 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorCapability.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorCapability.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Enumerates optional, connector-declared capability switches consumed directly by @@ -24,7 +24,7 @@ *

This is an escape-hatch layer for capability checks that don't warrant a dedicated * provider abstraction. Write operations and sink traits (parallel write, partition-local * sort, full-schema write order, static-partition materialization) are NOT declared here — - * they live on the connector's {@link org.apache.doris.connector.api.write.ConnectorWritePlanProvider} + * they live on the connector's {@link org.apache.doris.connector.spi.write.ConnectorWritePlanProvider} * instead, surfaced via {@link Connector#getWritePlanProvider()}.

* *

Two resolution scopes

diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumn.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumn.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumn.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumn.java index 5f9feffc8e38b3..d775ff893aa615 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumn.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumn.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnEvolutionOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnEvolutionOps.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnEvolutionOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnEvolutionOps.java index 7d56b586257137..f2ffb103dc913d 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnEvolutionOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnEvolutionOps.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnStatistics.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnStatistics.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnStatistics.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnStatistics.java index c1f6ca91201ba5..2de1510070854b 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorColumnStatistics.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorColumnStatistics.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContext.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContext.java index 590801e10aee38..e3d4df94c14e5c 100644 --- a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContext.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContext.java @@ -17,9 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorHttpSecurityHook; - import java.util.Collections; import java.util.Map; import java.util.concurrent.Callable; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorContractValidator.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContractValidator.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorContractValidator.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContractValidator.java index 36ba204b1a4e26..1c52750bdfd455 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorContractValidator.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorContractValidator.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import java.util.Set; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDatabaseMetadata.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDatabaseMetadata.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDatabaseMetadata.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDatabaseMetadata.java index eb5a210f2fe679..1e6c44c46147bc 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDatabaseMetadata.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDatabaseMetadata.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Collections; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDelegatedCredential.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDelegatedCredential.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDelegatedCredential.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDelegatedCredential.java index 00e3bbd27f05e3..f171917cf8d68a 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorDelegatedCredential.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorDelegatedCredential.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Objects; import java.util.OptionalLong; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorHttpSecurityHook.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorHttpSecurityHook.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorHttpSecurityHook.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorHttpSecurityHook.java index 0de38142d23528..cc4837430b3818 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorHttpSecurityHook.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorHttpSecurityHook.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Security hook for connector HTTP requests. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorIdentifierOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorIdentifierOps.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorIdentifierOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorIdentifierOps.java index 146ba28e127983..aa5101e776aaf0 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorIdentifierOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorIdentifierOps.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Operations for mapping remote identifier names (databases, tables, columns) diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMetadata.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMetadata.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMetadata.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMetadata.java index 72efc5da6b69b7..29577079265388 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMetadata.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMetadata.java @@ -15,14 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import java.io.Closeable; import java.io.IOException; @@ -205,7 +205,7 @@ default List getSyntheticScanPredicates(ConnectorSession se * distributed {@code rewrite_data_files} driver can scope each per-group INSERT-SELECT scan to only the * data files that group bin-packed (mirrors {@link #applySnapshot} / {@code applyFilter} handle-update * pattern). {@code rawDataFilePaths} are the RAW file paths the connector's {@code planRewrite} emitted on - * its {@link org.apache.doris.connector.api.procedure.ConnectorRewriteGroup}s; the connector matches its + * its {@link org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup}s; the connector matches its * re-enumerated scan tasks against the SAME raw paths (no normalization on either side — over-reading the * full table would make each group rewrite far beyond its bin-pack set and produce duplicate rows under * OCC). diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMustImplement.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMustImplement.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMustImplement.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMustImplement.java index 492da94fdbe6b7..d7bccf0df9acf5 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorMustImplement.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorMustImplement.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionInfo.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionInfo.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionInfo.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionInfo.java index a433626757124a..f46a3f1ce12b0a 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionInfo.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionInfo.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionListingOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionListingOps.java similarity index 93% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionListingOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionListingOps.java index bf31c7468d0597..97aa2e05bd654c 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPartitionListingOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPartitionListingOps.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPassthroughSqlOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPassthroughSqlOps.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPassthroughSqlOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPassthroughSqlOps.java index 589377f698de73..02202f729b07ad 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPassthroughSqlOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPassthroughSqlOps.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Passing a SQL string through to the remote source untouched, for a connector that fronts a system which diff --git a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorProvider.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorProvider.java index d8a1fcb8d2715b..dc9251b6cbfe41 100644 --- a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorProvider.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorProvider.java @@ -17,7 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.Connector; import org.apache.doris.extension.spi.Plugin; import org.apache.doris.extension.spi.PluginFactory; @@ -54,8 +53,8 @@ public interface ConnectorProvider extends PluginFactory { * directory it is logged and skipped so that one bad plugin cannot stop FE from starting. * *

Uniqueness is not cosmetic. It is what {@code CREATE CATALOG} routes on, and it is what makes - * source-prefixed namespaces distinct by construction (see {@code ConnectorStatementScopes} in - * fe-connector-api, which relies on this method being a connector's unique identity). + * source-prefixed namespaces distinct by construction (see {@code ConnectorStatementScopes}, + * which relies on this method being a connector's unique identity). */ String getType(); diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPushdownOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPushdownOps.java similarity index 92% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPushdownOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPushdownOps.java index 7665440494968d..7b29363dfb23e2 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorPushdownOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorPushdownOps.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; -import org.apache.doris.connector.api.pushdown.ProjectionApplicationResult; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; +import org.apache.doris.connector.spi.pushdown.ProjectionApplicationResult; import java.util.List; import java.util.Optional; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSchemaOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSchemaOps.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSchemaOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSchemaOps.java index 6436bed1a7a04f..6cd6a1eb803a06 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSchemaOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSchemaOps.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSession.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSession.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSession.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSession.java index e4f5fdd833efaf..8a41604bd82d74 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSession.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSession.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import java.util.Map; import java.util.Optional; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSnapshotRefOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSnapshotRefOps.java similarity index 92% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSnapshotRefOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSnapshotRefOps.java index e1f4dee764bcc1..324505fa0c6f54 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorSnapshotRefOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorSnapshotRefOps.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; /** * Snapshot references (branches and tags) and partition-spec evolution. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScope.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScope.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScope.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScope.java index 4c821a4c4de674..f8598ba018d9c0 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScope.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScope.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.function.Supplier; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScopes.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScopes.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScopes.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScopes.java index 3f62dcdf993f82..99d39f2e0e57d6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatementScopes.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatementScopes.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.function.Supplier; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatisticsOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatisticsOps.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatisticsOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatisticsOps.java index 700868d7832dc5..d602504afaa577 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorStatisticsOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStatisticsOps.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStorageContext.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStorageContext.java index 862c3d5b7204e5..691631eee87d4c 100644 --- a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStorageContext.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorStorageContext.java @@ -17,7 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.ConnectorSession; import org.apache.doris.filesystem.FileSystem; import org.apache.doris.filesystem.properties.StorageProperties; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableDdlOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableDdlOps.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableDdlOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableDdlOps.java index ad094e23efabea..5fe962e7ec4a3e 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableDdlOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableDdlOps.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableMetadataOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableMetadataOps.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableMetadataOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableMetadataOps.java index ef866dfd5f2602..4d29727e1b84d9 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableMetadataOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableMetadataOps.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableOps.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableOps.java index 60510eb64f2a2c..41c4186fda52e6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableOps.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Operations on tables within a connector catalog: the aggregate of the per-domain table interfaces. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableSchema.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableSchema.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableSchema.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableSchema.java index 54a002701129e5..0fc926b01be581 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableSchema.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableSchema.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Arrays; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableStatistics.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableStatistics.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableStatistics.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableStatistics.java index db2a7f2fb9b0bf..ebfa642bf81aec 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTableStatistics.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTableStatistics.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTestResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTestResult.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTestResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTestResult.java index 031f1dff837534..42022fa86c8283 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorTestResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorTestResult.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorType.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorType.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorType.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorType.java index 92d0916dd77320..0c7a270ff87f41 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorType.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorType.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Arrays; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorValidationContext.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorValidationContext.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorValidationContext.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorValidationContext.java index 8fd216819d433d..4a0d24cf726cfb 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorValidationContext.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorValidationContext.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Context provided to connectors during pre-creation validation (CREATE CATALOG). diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewDefinition.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewDefinition.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewDefinition.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewDefinition.java index 7f87d9bd0bf6e5..fdbe23bb3b2c21 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewDefinition.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewDefinition.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewOps.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewOps.java index d2e49c9572b431..e726e20409c01a 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorViewOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorViewOps.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorWriteOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorWriteOps.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorWriteOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorWriteOps.java index fefacb7abaa8cd..ef47bd928756df 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ConnectorWriteOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ConnectorWriteOps.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; import java.util.List; @@ -102,7 +102,7 @@ default void validateWritePartitionNames(ConnectorSession session, ConnectorTabl * *

Every write-capable connector must return a transaction here. Connectors whose * writes are auto-committed by BE (e.g. jdbc) return a degenerate - * {@link org.apache.doris.connector.api.handle.NoOpConnectorTransaction}; the default + * {@link org.apache.doris.connector.spi.handle.NoOpConnectorTransaction}; the default * throws (a connector that supports writes but does not override this is misconfigured * — fail loud).

*/ diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/DorisConnectorException.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/DorisConnectorException.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/DorisConnectorException.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/DorisConnectorException.java index b547087e4c5bec..2efb0466545fd5 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/DorisConnectorException.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/DorisConnectorException.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; /** * Base runtime exception for all connector-related errors. diff --git a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ForwardingConnectorContext.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ForwardingConnectorContext.java index b263fc16d82f3b..b77b8fc9f82a8e 100644 --- a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ForwardingConnectorContext.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ForwardingConnectorContext.java @@ -17,9 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorHttpSecurityHook; - import java.util.Map; import java.util.Objects; import java.util.concurrent.Callable; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/BranchChange.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/BranchChange.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/BranchChange.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/BranchChange.java index 67cafacdcd1c23..492923561e2ed6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/BranchChange.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/BranchChange.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; /** * Neutral carrier for a {@code CREATE [OR REPLACE] BRANCH} request, decoupling the connector SPI from the diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorBucketSpec.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorBucketSpec.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorBucketSpec.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorBucketSpec.java index f633e0f3e11566..9270644ea1aff1 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorBucketSpec.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorBucketSpec.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPath.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPath.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPath.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPath.java index 86a3086898cea9..3f587cde874dbd 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPath.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPath.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.ArrayList; import java.util.Collections; @@ -25,7 +25,7 @@ /** * The dotted column path targeted by an {@code ALTER TABLE ADD/DROP/RENAME/MODIFY COLUMN} clause, * carried neutrally across the SPI by the {@code ConnectorColumnPath} column-DDL overloads on - * {@link org.apache.doris.connector.api.ConnectorColumnEvolutionOps}. + * {@link org.apache.doris.connector.spi.ConnectorColumnEvolutionOps}. * *

Faithful, lossless neutralization of the fe-core {@code org.apache.doris.analysis.ColumnPath} * (an ordered, non-empty list of identifier parts). A single-part path targets a top-level column; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPosition.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPosition.java similarity index 94% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPosition.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPosition.java index 18b7d326a2337a..90ea5eaf4fe36c 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorColumnPosition.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorColumnPosition.java @@ -15,14 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.Objects; /** * The position of a column in an {@code ALTER TABLE ADD/MODIFY COLUMN} clause, carried neutrally - * across the SPI by {@link org.apache.doris.connector.api.ConnectorColumnEvolutionOps#addColumn} / - * {@link org.apache.doris.connector.api.ConnectorColumnEvolutionOps#modifyColumn}. + * across the SPI by {@link org.apache.doris.connector.spi.ConnectorColumnEvolutionOps#addColumn} / + * {@link org.apache.doris.connector.spi.ConnectorColumnEvolutionOps#modifyColumn}. * *

Faithful, lossless neutralization of the fe-catalog {@code ColumnPosition}, which is exactly * {@code FIRST | AFTER } (there is no {@code BEFORE} variant). The connector taking a diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorCreateTableRequest.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorCreateTableRequest.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorCreateTableRequest.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorCreateTableRequest.java index 7f114fac39249f..74493479dd1113 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorCreateTableRequest.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorCreateTableRequest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import java.util.Collections; import java.util.LinkedHashMap; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionField.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionField.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionField.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionField.java index ce16c29973440a..8da468833d8dd8 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionField.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionField.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionSpec.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionSpec.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionSpec.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionSpec.java index ee484a38388b27..517cd56a5d7ee5 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorPartitionSpec.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorPartitionSpec.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorSortField.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorSortField.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorSortField.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorSortField.java index ad756ed4d69a07..7e34d27dc3becc 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/ConnectorSortField.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/ConnectorSortField.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/DropRefChange.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/DropRefChange.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/DropRefChange.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/DropRefChange.java index 259aaccf725e66..6427fd2d1a7e00 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/DropRefChange.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/DropRefChange.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; /** * Neutral carrier for a {@code DROP BRANCH}/{@code DROP TAG} request, decoupling the connector SPI from the diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/PartitionFieldChange.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/PartitionFieldChange.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/PartitionFieldChange.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/PartitionFieldChange.java index 89dbcc72ddbfce..1be11854317988 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/PartitionFieldChange.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/PartitionFieldChange.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; /** * Neutral carrier for a partition-field evolution request ({@code ALTER TABLE ... ADD/DROP/REPLACE PARTITION diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/TagChange.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/TagChange.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/TagChange.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/TagChange.java index d53ecf3016aed6..372121f491c8a6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/ddl/TagChange.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/ddl/TagChange.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.ddl; +package org.apache.doris.connector.spi.ddl; /** * Neutral carrier for a {@code CREATE [OR REPLACE] TAG} request, decoupling the connector SPI from the diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/ConnectorEventSource.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/ConnectorEventSource.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/ConnectorEventSource.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/ConnectorEventSource.java index 1955ef681ed11e..71ee05168dae96 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/ConnectorEventSource.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/ConnectorEventSource.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.event; +package org.apache.doris.connector.spi.event; /** * A connector's incremental-metadata-change source: it fetches the underlying metastore's native * notification events and parses them into connector-neutral {@link MetastoreChangeDescriptor}s. * - *

Surfaced via {@link org.apache.doris.connector.api.Connector#getEventSource()} (a + *

Surfaced via {@link org.apache.doris.connector.spi.Connector#getEventSource()} (a * capability-probe getter, NOT an {@code instanceof} — a connector without an event source returns * {@code null}). The engine runs one connector-agnostic, role-aware background driver that iterates * catalogs, calls {@link #pollOnce} on those whose connector exposes a source, and applies the diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollRequest.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollRequest.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollRequest.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollRequest.java index 4662c308b22e51..99711f8070fdef 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollRequest.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollRequest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.event; +package org.apache.doris.connector.spi.event; /** * The engine-supplied input to one {@link ConnectorEventSource#pollOnce} call. The engine owns the diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollResult.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollResult.java index 9673ddc3fe44bc..900148174e1346 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/EventPollResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/EventPollResult.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.event; +package org.apache.doris.connector.spi.event; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/MetastoreChangeDescriptor.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/MetastoreChangeDescriptor.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/MetastoreChangeDescriptor.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/MetastoreChangeDescriptor.java index a491c1fe58cd46..57c098936b8edc 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/event/MetastoreChangeDescriptor.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/event/MetastoreChangeDescriptor.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.event; +package org.apache.doris.connector.spi.event; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorColumnHandle.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorColumnHandle.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorColumnHandle.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorColumnHandle.java index b94d996bd160d2..cd3dfa369c169b 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorColumnHandle.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorColumnHandle.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; import java.io.Serializable; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTableHandle.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTableHandle.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTableHandle.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTableHandle.java index af64385cc85675..9d98beac851a37 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTableHandle.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTableHandle.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; import java.io.Serializable; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTransaction.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTransaction.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTransaction.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTransaction.java index 8ec44b383ecbea..858f7283e82591 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorTransaction.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import java.io.Closeable; @@ -37,7 +37,7 @@ public interface ConnectorTransaction extends Closeable { /** * Commits all pending operations bound to this transaction. * - * @throws org.apache.doris.connector.api.DorisConnectorException + * @throws org.apache.doris.connector.spi.DorisConnectorException * on conflict, IO failure, or external system error */ void commit(); diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorWriteHandle.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandle.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorWriteHandle.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandle.java index f04a9e28206101..3987325ae56949 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/ConnectorWriteHandle.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandle.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.thrift.TSortInfo; import java.util.List; @@ -26,7 +26,7 @@ /** * A bound write request passed to - * {@link org.apache.doris.connector.api.write.ConnectorWritePlanProvider#planWrite}. + * {@link org.apache.doris.connector.spi.write.ConnectorWritePlanProvider#planWrite}. * *

Carries the engine-resolved facts about a single DML write: the target * table handle, the column list, whether it is an OVERWRITE, and the static @@ -71,7 +71,7 @@ default WriteOperation getWriteOperation() { /** * The engine-built BE sort instruction for this write, or {@code null} if the target needs no * write-side sort. A connector declares its write-sort columns via - * {@link org.apache.doris.connector.api.write.ConnectorWritePlanProvider#getWriteSortColumns} + * {@link org.apache.doris.connector.spi.write.ConnectorWritePlanProvider#getWriteSortColumns} * (e.g. an iceberg table with a {@code WRITE ORDERED BY} sort order); the engine resolves those * column indices against the bound sink output and builds the {@link TSortInfo}, which the * connector then stamps onto its opaque Thrift sink in {@code planWrite}. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NamedColumnHandle.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NamedColumnHandle.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NamedColumnHandle.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NamedColumnHandle.java index a894ce853ef721..2467b8515beeb3 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NamedColumnHandle.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NamedColumnHandle.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NoOpConnectorTransaction.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransaction.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NoOpConnectorTransaction.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransaction.java index bda31e03f4e554..9f7f19ddea44b9 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/NoOpConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransaction.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; /** * A degenerate {@link ConnectorTransaction} for connectors whose writes are diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/PassthroughQueryTableHandle.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/PassthroughQueryTableHandle.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/PassthroughQueryTableHandle.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/PassthroughQueryTableHandle.java index bac7fa651d159e..5aebd7be902503 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/PassthroughQueryTableHandle.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/PassthroughQueryTableHandle.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; /** * A table handle that wraps a raw passthrough SQL query (e.g., from query() TVF). diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/RewriteCapableTransaction.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/RewriteCapableTransaction.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/RewriteCapableTransaction.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/RewriteCapableTransaction.java index 0071328efa8bfc..5e84c7bc726c43 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/RewriteCapableTransaction.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/RewriteCapableTransaction.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; import java.util.Set; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteBlockAllocatingConnectorTransaction.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteBlockAllocatingConnectorTransaction.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteBlockAllocatingConnectorTransaction.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteBlockAllocatingConnectorTransaction.java index 71cea933cea29a..cfd23a26cfc586 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteBlockAllocatingConnectorTransaction.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteBlockAllocatingConnectorTransaction.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; /** * Narrow opt-in capability for a {@link ConnectorTransaction} with a stateful write session that hands diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteOperation.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteOperation.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteOperation.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteOperation.java index d1ef64770e23ed..4cad987af86c28 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/handle/WriteOperation.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/handle/WriteOperation.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; /** * The kind of DML write a {@link ConnectorWriteHandle} carries. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartition.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartition.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartition.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartition.java index 102a906a0cfc6e..36e8e79c4988d4 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartition.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartition.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartitionView.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartitionView.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartitionView.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartitionView.java index 5226742a954ee6..5f3415e084a825 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccPartitionView.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccPartitionView.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import java.util.Collections; import java.util.List; @@ -26,12 +26,12 @@ * refresh path of a plugin-driven MVCC table. * *

The generic table model ({@code PluginDrivenMvccExternalTable}) builds its partition view from - * {@link org.apache.doris.connector.api.ConnectorPartitionListingOps#listPartitions} by default, which always + * {@link org.apache.doris.connector.spi.ConnectorPartitionListingOps#listPartitions} by default, which always * yields {@code LIST} partitions keyed on a last-modified timestamp. Connectors whose partitions are * intrinsically ranges (e.g. iceberg's {@code YEAR}/{@code MONTH}/{@code DAY}/{@code HOUR} time * transforms) need {@code RANGE} partition items plus a snapshot-id freshness marker to preserve the * pre-SPI behavior. Such a connector returns this view from - * {@link org.apache.doris.connector.api.ConnectorMetadata#getMvccPartitionView}; the generic model then + * {@link org.apache.doris.connector.spi.ConnectorMetadata#getMvccPartitionView}; the generic model then * assembles {@code RangePartitionItem}s from the pre-rendered bounds and selects the snapshot type from * {@link #getFreshness()} — all connector-specific math (transform-to-range, partition-evolution overlap * merge, snapshot-id resolution) having already happened inside the connector.

diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshot.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshot.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshot.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshot.java index 53fbad7dddfe8d..60cfd43991c5d9 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshot.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshot.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import java.util.Collections; import java.util.HashMap; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTableFreshness.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTableFreshness.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTableFreshness.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTableFreshness.java index b924e403927a95..09d057889428f7 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTableFreshness.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTableFreshness.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import java.util.Objects; @@ -23,7 +23,7 @@ * A connector-supplied, whole-table MTMV freshness marker for a connector whose table-level change * signal is a last-modified TIMESTAMP rather than a snapshot id. * - *

Returned by {@link org.apache.doris.connector.api.ConnectorMetadata#getTableFreshness}. The + *

Returned by {@link org.apache.doris.connector.spi.ConnectorMetadata#getTableFreshness}. The * generic table model ({@code PluginDrivenMvccExternalTable}) wraps it into an * {@code MTMVMaxTimestampSnapshot(name, timestampMillis)} — byte-parity with legacy hive, whose table * snapshot is {@code MTMVMaxTimestampSnapshot}. A connector that returns {@link java.util.Optional#empty()} diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpec.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpec.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpec.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpec.java index 551a9fbdbc130b..1626dabd97cd2f 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpec.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpec.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import java.util.Collections; import java.util.HashMap; diff --git a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/package-info.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/package-info.java index 3ef734e1ec3fcd..8f10a7db723fe2 100644 --- a/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/package-info.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/package-info.java @@ -16,36 +16,208 @@ // under the License. /** - * The plugin entry point, plus the engine services a connector CONSUMES. + * The connector plugin contract: everything on the engine ↔ connector boundary, in both directions. * - *

Two kinds of type live here, and the difference is who implements them:

+ *

Three kinds of type live here, and the difference is who implements them:

* *
    - *
  • {@link ConnectorProvider} — implemented by the connector. It is the single entry point the - * engine discovers, via Java ServiceLoader or directory-based plugin loading; a connector registers it - * in {@code META-INF/services}.
  • - *
  • {@link ConnectorContext}, {@link ConnectorBrokerAddress} — implemented (or produced) by the - * engine and handed to the connector: the storage, filesystem and authentication services a plugin - * may use without depending on the engine.
  • + *
  • {@link ConnectorProvider} — implemented by the connector, and the single entry point the engine + * discovers, via Java ServiceLoader or directory-based plugin loading; a connector registers it in + * {@code META-INF/services}.
  • + *
  • {@link Connector}, {@link ConnectorMetadata} with its Ops sub-interfaces, the scan / write / procedure + * providers, the handle / pushdown / mvcc / ddl / event / rest types, {@link ConnectorCapability} — + * implemented by the connector and consumed by the engine. This is the bulk of the module, and the + * javadoc here is the API reference.
  • + *
  • {@link ConnectorContext}, {@link ConnectorStorageContext}, {@link ConnectorSession}, + * {@link ConnectorHttpSecurityHook}, {@link ConnectorValidationContext} — implemented (or produced) by + * the engine and handed to the connector: the storage, filesystem, configuration and authentication + * services a plugin may use without depending on the engine.
  • *
* - *

This package is NOT where the interfaces a connector implements live. Apart from - * {@link ConnectorProvider}, essentially everything a connector implements — {@code Connector}, - * {@code ConnectorMetadata} and its sub-interfaces, the scan / write / procedure providers, the handle and - * value types, the capability enum — is in {@code fe-connector-api}, which this module depends on and - * therefore brings in transitively. The design rules for the whole connector surface (where to declare a - * capability, which exception to throw, where thrift is allowed, object lifetimes and threading) are written - * down once, in that module's {@code org.apache.doris.connector.api} package documentation. Read it - * first.

- * - *

Note that the two module names are inverted relative to common usage, where "SPI" names what a plugin - * implements and "API" names the engine services it consumes. Here {@code fe-connector-spi} is the smaller - * module and holds mostly engine-provided services. The names are deliberately not being changed; read the - * content rather than the name.

- * - *

Types in this package deliberately avoid thrift even for data that ends up at BE (an enum NAME as a - * {@code String}, a neutral broker-address type, a thrift enum's integer VALUE as an {@code int}). Treat that - * as a local convention of this module, not as a guarantee that the connector surface is thrift-free: this - * module depends on {@code fe-connector-api}, which does use thrift types at the BE protocol boundary.

+ *

Read this page before adding a connector or extending these interfaces. It records the rules the + * existing connectors follow, and — where a rule is not yet fully honored — says so explicitly instead of + * describing the target state as if it were already true. Every rule below can be checked against the code + * that is cited with it; when the two disagree, the code wins and this page is the bug.

+ * + *

Rule 1 — declare a capability in exactly one of three layers

+ * + *
    + *
  1. A whole subsystem is present or absent → a getter on {@link Connector} that returns + * {@code null} when the subsystem is absent: {@code getScanPlanProvider()}, + * {@code getWritePlanProvider()}, {@code getProcedureOps()}, {@code getEventSource()}, + * {@code getRestPassthrough()}. These stay {@code null}-returning rather than {@code Optional}: the + * engine already branches on {@code null}, and changing the shape would be pure churn.
  2. + *
  3. A switch inside one subsystem → a {@code supportsXxx()} / {@code requiresXxx()} method on + * THAT subsystem's provider, which is the single and ONLY source of truth. {@link Connector} used to + * carry null-safe mirrors of the write switches so the engine never had to null-check; they were deleted, + * because a mirror is a second overridable answer to one question and a connector overriding one while + * leaving the provider at its default would produce two divergent answers with no compile error. The + * engine fetches the provider and asks it, treating a {@code null} provider as "not supported".
  4. + *
  5. A gate the engine must evaluate during static planning, before any provider is reachable → + * a constant in {@link ConnectorCapability}, resolved additively as + * (connector-level set) ∪ (per-table set). A switch that corresponds one-to-one with a provider does + * NOT belong here. Worked example, already written into the code: {@code SUPPORTS_SORT_ORDER} is an + * enum constant because the engine must decide during analysis whether {@code CREATE TABLE ... ORDER BY} + * is accepted, and no write-plan provider exists at that point; the runtime row-ordering sink trait + * {@code ConnectorWritePlanProvider.requiresFullSchemaWriteOrder()} lives on the provider. Both mention + * "write", but one gates a DDL clause and the other shapes the write path.
  6. + *
+ * + *

Use {@code Optional} for a missing value and {@code null} only for an absent + * subsystem; they are not two competing idioms for the same thing.

+ * + *

Current deviations. (a) A new switch must default to {@code false} (opt-in), so that adding a + * capability can never change an existing connector's behavior. One legacy switch violates this and defaults + * to {@code true}: {@code ConnectorPushdownOps.supportsCastPredicatePushdown(ConnectorSession)} — see the + * risk paragraph in its own javadoc, and do not copy its polarity. (b) The {@code supportsXxx()} shape also + * appears on non-provider interfaces ({@code ConnectorPushdownOps}, {@code ConnectorSchemaOps}, + * {@code ConnectorTableOps}); those are per-operation switches on the interface that owns the operation, + * which is consistent with layer 2, but there is no provider object to attach them to. (c) Per-table + * refinement of {@link ConnectorCapability} is honored for only five of the thirteen constants today, and + * each constant's own javadoc states its scope (catalog-only, or catalog ∪ per-table) and why; do not + * assume a newly added constant can be refined per table.

+ * + *

Rule 2 — which exception to throw, and when to fail loud

+ * + *

Two engine paths translate connector exceptions into user-facing errors, and they accept different + * types. Getting this wrong does not break anything visibly; it only degrades the error the user sees into an + * internal FE exception.

+ * + *
    + *
  • Metadata, DDL, DML and scan-planning paths → throw {@link DorisConnectorException} (or a + * subclass). It is the family the engine catches and re-wraps (for example into {@code DdlException}) on + * those paths.
  • + *
  • Catalog property validation ({@code ConnectorProvider.validateProperties}) → throw + * {@code IllegalArgumentException}. It is the ONLY type the engine unwraps there + * ({@code PluginDrivenExternalCatalog.checkProperties} catches it and re-throws its message as + * {@code DdlException}); several connectors depend on this and say so at their throw sites. Do not + * "correct" these to {@link DorisConnectorException}.
  • + *
+ * + *

Everything else ({@code UnsupportedOperationException}, {@code IllegalStateException}, plain + * {@code RuntimeException}) is untranslated and surfaces as an internal error. The one accepted use of + * {@code UnsupportedOperationException} is the "this optional SPI method is not implemented" idiom.

+ * + *

Subclass {@link DorisConnectorException} when the CALLER must distinguish outcomes, not to build + * a taxonomy for its own sake. Shipped precedent: {@code HiveDirectoryListingException} exists so the scan + * path can catch only a skippable listing failure while a plain {@link DorisConnectorException} + * still fails the query loud.

+ * + *

Fail loud vs. degrade silently. Anything the user explicitly asked for — DDL, writes, an explicit + * {@code ANALYZE ... WITH SAMPLE} — must fail loud, because a swallowed error there produces a wrong result + * or a wrong statistic that then looks authoritative. Anything the engine attempts opportunistically for + * optimization must degrade silently (return empty / a default, and log), because it must never be able to + * fail a query that would otherwise succeed.

+ * + *

Rule 3 — thrift types only at the BE protocol boundary

+ * + *

BE is C++ and has no plugin mechanism, so a payload destined for BE has to be a thrift type. That is the + * only reason thrift appears in this module, and the complete list of places it does is:

+ * + *
    + *
  • {@code scan/ConnectorScanPlanProvider} — {@code TFileCompressType}, {@code TFileScanRangeParams}, + * {@code TTableFormatFileDesc}
  • + *
  • {@code scan/ConnectorScanRange} — {@code TFileRangeDesc}, {@code TTableFormatFileDesc}
  • + *
  • {@code handle/ConnectorWriteHandle} — {@code TSortInfo}
  • + *
  • {@code write/ConnectorSinkPlan} — {@code TDataSink}
  • + *
  • {@link ConnectorTableMetadataOps#buildTableDescriptor} — {@code TTableDescriptor} (written as an inline + * fully-qualified name, not an import)
  • + *
+ * + *

Do not add a method that takes a thrift type as a PARAMETER. A new return value that must carry a BE + * payload may only reuse a type already on that list. {@code fe-thrift} is a {@code provided} dependency + * here: it is supplied by the parent classloader at runtime and is not part of a plugin package.

+ * + *

Local convention. The engine-service types ({@link ConnectorContext}, + * {@link ConnectorStorageContext}, {@link ConnectorConf}, {@link ConnectorBrokerAddress}) avoid thrift even + * for data that ends up at BE: they pass an enum NAME as a {@code String}, a neutral broker-address type, and + * a thrift enum's integer VALUE as an {@code int}. Keep it that way when extending them — but do not read it + * as a module-wide guarantee, since the list above does use thrift at the BE protocol boundary.

+ * + *

Rule 4 — what belongs in this module

+ * + *

Everything on the engine ↔ connector boundary belongs here, in both directions: the types a + * connector implements and the engine calls, and the services the engine implements and a connector calls. + * They are deliberately NOT split into two modules by "who implements", because the boundary is genuinely + * bidirectional — {@link ConnectorProvider#create(java.util.Map, ConnectorContext)} takes a + * {@link ConnectorContext}, and {@link ConnectorContext#createSiblingConnector} hands back a + * {@link Connector} — so such a split would be circular. Trino makes the same call: its whole plugin + * surface is one {@code trino-spi} module.

+ * + *

What does NOT belong here: a type only one connector uses (it belongs in that connector's own module), + * and anything engine-internal (it stays in fe-core). Nothing here may reference fe-core, and a build gate + * enforces it — see {@code AGENTS.md} next to this directory's README.

+ * + *

Layout: the root package holds the core contract and the engine services; sub-packages group by concern + * ({@code ddl}, {@code event}, {@code handle}, {@code mvcc}, {@code procedure}, {@code pushdown}, + * {@code rest}, {@code scan}, {@code write}).

+ * + *

Rule 5 — lifecycle, and which methods run off the query thread

+ * + *
    + *
  • {@link Connector} — one instance per catalog, created once (see its own class javadoc).
  • + *
  • {@link ConnectorMetadata} — exactly one instance per catalog per statement, closed + * deterministically when the statement ends. The engine's single entry point for obtaining one + * ({@code PluginDrivenMetadata}) states this contract; {@link Connector#getMetadata} is not called + * anywhere else in the engine. {@link ConnectorMetadata#close()} must be idempotent, and one instance + * must not be shared across threads.
  • + *
  • {@link ConnectorStatisticsOps} — may run on engine background pools, and the engine pins no + * thread context classloader on any of them. See that interface's class javadoc for the pools and for + * what a connector has to do about it. This is the one contract on this page that causes a crash rather + * than a wrong answer when it is ignored.
  • + *
+ * + *

Rule 6 — a javadoc statement about ENGINE behavior must cite the engine code

+ * + *

These interfaces are the only behavioral contract a connector author has: connectors are packaged and + * class-loaded separately and cannot read the engine. A javadoc line that describes what the engine does with + * a value, and is wrong, is worse than no line at all — it produces an implementation that compiles, runs, + * and silently returns wrong results. So when documenting engine behavior, name the engine class (and + * ideally the method) that does it, so the next reader can re-verify instead of trusting the sentence.

+ * + *

Rule 7 — where a connector's tunable knobs live

+ * + *

Pick the channel by the SCOPE of the value. None of them requires an engine change any more, so a + * knob that can be catalog-scoped should be, and one that cannot belongs in the plugin's own conf file.

+ * + *
    + *
  • Per catalog → a key in {@code CREATE CATALOG ... PROPERTIES(...)}. The engine hands the + * whole property map to {@code ConnectorProvider.create} and exposes the same map per query through + * {@link ConnectorSession#getCatalogProperties()}; reject a bad value in + * {@code ConnectorProvider.validateProperties} (see Rule 2 for the exception type). Key names, parsing + * and defaults stay entirely inside the connector — prefix the key with the connector's type name + * so two connectors cannot collide. Shipped precedent: {@code hive.ignore_absent_partitions}, + * {@code hive.enable_hms_events_incremental_sync} and {@code hive.hms_events_batch_size_per_rpc} are + * declared in {@code HiveConnectorProperties} and read in {@code HiveScanPlanProvider} / + * {@code HiveConnector}; those key strings appear nowhere in {@code fe-core}.
  • + *
  • Per FE process (one deployment-level value for every catalog, e.g. a driver directory) + * → a key in the plugin's own {@code .conf}, read with {@code ConnectorConf.get}. The engine + * locates and parses {@code /.conf} generically + * ({@code ConnectorPluginManager.loadPlugins}) and serves it back through + * {@code ConnectorContext.getConnectorConfig()}, so no key name of yours reaches {@code fe-core} and + * adding one costs the engine nothing. Do not prefix these keys — the file name already + * namespaces them. Ship {@code src/main/resources/.conf.template} and add it to your assembly's + * {@code } at the zip root; {@code build.sh} seeds the live {@code .conf} from it. {@code } + * is {@code ConnectorProvider.name()} and need not equal your plugin directory name + * ({@code plugins/connector/hive/} holds {@code hms.conf}).
  • + *
  • Per FE process, legacy → an {@code fe.conf} field forwarded through + * {@code ConnectorContext.getEnvironment()} by {@code DefaultConnectorContext.buildEnvironment}. This is + * the one shape that requires an engine change per key, and it is closed to new keys. What is + * still there is either shared by several connectors or not a connector setting at all + * ({@code doris_home}, {@code doris_version}); the connector settings among them are kept as the + * fallback {@code ConnectorConf.get} consults after the plugin conf, so deployments configured before + * the conf files existed keep working untouched.
  • + *
  • Per session → read the query's session variables from + * {@link ConnectorSession#getSessionProperties()}. The connector does not declare them; it looks up the + * names it cares about.
  • + *
+ * + *

There is deliberately no declarative property-descriptor mechanism here. One was carried over + * from Trino ({@code ConnectorPropertyMetadata} plus two {@link Connector} getters) and shipped for several + * releases with zero implementors and zero consumers; it was removed rather than wired up, because in Doris + * it would not have solved the thing it looks like it solves — there is no {@code SET SESSION + * catalog.property} syntax to feed, and per-catalog values already arrive through the map above. If you find + * yourself wanting the engine to validate unknown catalog property keys, that belongs in + * {@code ConnectorProvider.validateProperties}, which already exists and already runs.

*/ package org.apache.doris.connector.spi; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOps.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOps.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOps.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOps.java index 8f5b626481ea0a..b6cedfb52f78f6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOps.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOps.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; +package org.apache.doris.connector.spi.procedure; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import java.util.List; import java.util.Map; @@ -28,10 +28,10 @@ * Executes a connector's table procedures for {@code ALTER TABLE t EXECUTE (args)}. * *

This is the procedure-side analogue of - * {@link org.apache.doris.connector.api.scan.ConnectorScanPlanProvider} and - * {@link org.apache.doris.connector.api.write.ConnectorWritePlanProvider}: a connector that exposes + * {@link org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider} and + * {@link org.apache.doris.connector.spi.write.ConnectorWritePlanProvider}: a connector that exposes * table procedures returns an implementation from - * {@link org.apache.doris.connector.api.Connector#getProcedureOps()}; the engine routes + * {@link org.apache.doris.connector.spi.Connector#getProcedureOps()}; the engine routes * {@code ExecuteActionCommand} to {@link #execute} and wraps the returned rows into a result set.

* *

Engine/connector split. The engine owns the command shell — the {@code ALTER} privilege diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureResult.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureResult.java index f292e625600ad2..6882345dafda7d 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorProcedureResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureResult.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; +package org.apache.doris.connector.spi.procedure; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import java.util.List; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteGroup.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteGroup.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteGroup.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteGroup.java index 9b0c3278c296e8..589cbf10b8067e 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteGroup.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteGroup.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; +package org.apache.doris.connector.spi.procedure; import java.util.Collections; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteStatistics.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteStatistics.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteStatistics.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteStatistics.java index 29d25b461006a6..ddb09e7519a300 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ConnectorRewriteStatistics.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ConnectorRewriteStatistics.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; +package org.apache.doris.connector.spi.procedure; /** * What a distributed rewrite actually did, handed back to the connector so it can render the procedure's diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ProcedureExecutionMode.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ProcedureExecutionMode.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ProcedureExecutionMode.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ProcedureExecutionMode.java index b7f8242e76a097..87adb00350411d 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/procedure/ProcedureExecutionMode.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/procedure/ProcedureExecutionMode.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; +package org.apache.doris.connector.spi.procedure; /** * How the engine must drive a connector table procedure ({@code ALTER TABLE t EXECUTE proc(...)}). diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorAnd.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorAnd.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorAnd.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorAnd.java index 4b1c61969f0cb6..2ba47ffa843197 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorAnd.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorAnd.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorBetween.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorBetween.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorBetween.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorBetween.java index c8db9f847ce1a3..7da31b062f6a80 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorBetween.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorBetween.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Arrays; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnAssignment.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnAssignment.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnAssignment.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnAssignment.java index cd59d1039ab0bf..b98d8fd4cdea4e 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnAssignment.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnAssignment.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnRef.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnRef.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnRef.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnRef.java index f516bd65db3439..9d6d6e3860d591 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorColumnRef.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorColumnRef.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorComparison.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorComparison.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorComparison.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorComparison.java index dff82dc67b816d..734a76f115dc08 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorComparison.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorComparison.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Arrays; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorExpression.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorExpression.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorExpression.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorExpression.java index 521bd63dd0b439..5bf9ab2203effc 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorExpression.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorExpression.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.io.Serializable; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFilterConstraint.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFilterConstraint.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFilterConstraint.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFilterConstraint.java index 12a365d17c3d61..6586cda1036846 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFilterConstraint.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFilterConstraint.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.io.Serializable; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFunctionCall.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFunctionCall.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFunctionCall.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFunctionCall.java index 4c5fbd01ad56f6..6c8d14a5565dd9 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorFunctionCall.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorFunctionCall.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIn.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIn.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIn.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIn.java index 9e7c1548f95cc1..c58f6d1b0a7377 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIn.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIn.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIsNull.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIsNull.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIsNull.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIsNull.java index c252aa1fb41d18..06407b88f92feb 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorIsNull.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorIsNull.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLike.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLike.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLike.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLike.java index 17e09a4a94768b..2851ec6aca1338 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLike.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLike.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Arrays; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLiteral.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLiteral.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLiteral.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLiteral.java index 2fccc4467c0b65..6ed5c75671ffab 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorLiteral.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorLiteral.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import java.math.BigDecimal; import java.time.LocalDate; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorNot.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorNot.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorNot.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorNot.java index 448907064912fd..0139f6d705dce3 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorNot.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorNot.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorOr.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorOr.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorOr.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorOr.java index 398dd395bd2446..89a9af7516378d 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorOr.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorOr.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.ArrayList; import java.util.Collections; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorPredicate.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicate.java similarity index 94% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorPredicate.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicate.java index 6f9c0e0cb89117..77047d159a9adb 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ConnectorPredicate.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicate.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.io.Serializable; @@ -28,7 +28,7 @@ *

The engine builds it from the analyzed DML plan by keeping only the conjuncts over the target * table's own columns (slot origin-table == target, excluding synthetic {@code $row_id} / metadata / * join columns) and passes it via - * {@link org.apache.doris.connector.api.handle.ConnectorTransaction#applyWriteConstraint(ConnectorPredicate)}. + * {@link org.apache.doris.connector.spi.handle.ConnectorTransaction#applyWriteConstraint(ConnectorPredicate)}. * It carries no plan view — only the neutral expression — so it does not breach the connector import gate.

*/ public final class ConnectorPredicate implements Serializable { diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/FilterApplicationResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/FilterApplicationResult.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/FilterApplicationResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/FilterApplicationResult.java index 332c241df618e6..758d3457d9ab42 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/FilterApplicationResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/FilterApplicationResult.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ProjectionApplicationResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ProjectionApplicationResult.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ProjectionApplicationResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ProjectionApplicationResult.java index 8d44c604298ef1..773b056a47a9b4 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/ProjectionApplicationResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/ProjectionApplicationResult.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/package-info.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/package-info.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/package-info.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/package-info.java index 5c07da50124690..372e09d0b85e72 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/pushdown/package-info.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/pushdown/package-info.java @@ -26,7 +26,7 @@ * *

Rules 1–3 are the contract. Rules 4–6 record what the engine actually produces and what it actually does * with your answer, each citing the engine class so it can be re-verified (see Rule 6 of - * {@code org.apache.doris.connector.api} — the engine is not on a connector's classpath, so an unverifiable + * {@code org.apache.doris.connector.spi} — the engine is not on a connector's classpath, so an unverifiable * sentence here is worse than no sentence).

* *

Rule 1 — translate exactly, or drop the whole conjunct. Never narrow it

@@ -63,12 +63,12 @@ * * * - * * * * + * ({@link org.apache.doris.connector.spi.handle.ConnectorTransaction#applyWriteConstraint}) * * * @@ -102,14 +102,14 @@ *

Two arrival paths, only one of which strips CAST.

*
    *
  • {@link ConnectorFilterConstraint} handed to - * {@link org.apache.doris.connector.api.ConnectorPushdownOps#applyFilter} is built by + * {@link org.apache.doris.connector.spi.ConnectorPushdownOps#applyFilter} is built by * {@code PluginDrivenScanNode.buildFilterConstraint} and is NOT filtered: * {@code supportsCastPredicatePushdown} is not consulted, so predicates wrapping a CAST reach you as-is * (the converter unwraps the {@code CastExpr} node itself, handing you the inner expression).
  • *
  • The {@code Optional filter} handed to {@code ConnectorScanPlanProvider.planScan} * and {@code getScanNodePropertiesResult} comes from {@code PluginDrivenScanNode.buildRemainingFilter}, * which DOES drop conjuncts containing a CAST when - * {@link org.apache.doris.connector.api.ConnectorPushdownOps#supportsCastPredicatePushdown} is false.
  • + * {@link org.apache.doris.connector.spi.ConnectorPushdownOps#supportsCastPredicatePushdown} is false. *
* *

Literal value domain. {@link ConnectorLiteral#getValue()} is one of exactly eight Java shapes. @@ -174,4 +174,4 @@ * *

Anything you cannot interpret confidently falls under Rule 1: drop the conjunct.

*/ -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/rest/ConnectorRestPassthrough.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/rest/ConnectorRestPassthrough.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/rest/ConnectorRestPassthrough.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/rest/ConnectorRestPassthrough.java index 6c84270c043fa2..2a34a91ef0e21e 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/rest/ConnectorRestPassthrough.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/rest/ConnectorRestPassthrough.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.rest; +package org.apache.doris.connector.spi.rest; /** * A connector that can forward an HTTP request to the source it fronts, returning the source's response - * verbatim. Exposed through {@link org.apache.doris.connector.api.Connector#getRestPassthrough()}, which + * verbatim. Exposed through {@link org.apache.doris.connector.spi.Connector#getRestPassthrough()}, which * returns {@code null} for the connectors that cannot. * *

This exists for FE HTTP endpoints that deliberately speak a specific source's HTTP dialect — today diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorColumnCategory.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorColumnCategory.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorColumnCategory.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorColumnCategory.java index 6d75373acbb137..2dbbc3c92a845c 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorColumnCategory.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorColumnCategory.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; /** * Engine-neutral category for a connector's SPECIAL (non-data-file) columns, returned by diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorPartitionValues.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValues.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorPartitionValues.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValues.java index 2738b9d70df754..a5e5e85fcbd803 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorPartitionValues.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValues.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; /** * Doris-canonical constants for partition NAMES. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProvider.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProvider.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProvider.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProvider.java index a13af026a759b0..d1e5569b3fec90 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProvider.java @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.apache.doris.thrift.TFileCompressType; import org.apache.doris.thrift.TFileScanRangeParams; import org.apache.doris.thrift.TTableFormatFileDesc; @@ -421,7 +421,7 @@ default Map getScanNodeProperties( * *

The indices are into the conjunct list AS RECEIVED, i.e. after * {@code PluginDrivenScanNode.buildRemainingFilter} has dropped CAST-wrapped conjuncts when - * {@link org.apache.doris.connector.api.ConnectorPushdownOps#supportsCastPredicatePushdown} is false; the + * {@link org.apache.doris.connector.spi.ConnectorPushdownOps#supportsCastPredicatePushdown} is false; the * engine maps them back to the original positions itself and always keeps the conjuncts it never sent. * When {@code filter} is a single non-AND node (the engine does not wrap a lone conjunct in an AND), * index 0 refers to that whole expression.

diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanProfile.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanProfile.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanProfile.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanProfile.java index 034941a24261d9..cf2cc80d8ee08a 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanProfile.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanProfile.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import java.util.Collections; import java.util.LinkedHashMap; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRange.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRange.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRange.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRange.java index 902e64691fde47..6778bd3ffcba8d 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRange.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRange.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRequest.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRequest.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRequest.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRequest.java index db377ac99ee0cb..167464f66f8ec0 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorScanRequest.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorScanRequest.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorSplitSource.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorSplitSource.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorSplitSource.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorSplitSource.java index 3fa85df7f9b99a..ddb3227936ce77 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ConnectorSplitSource.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ConnectorSplitSource.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import java.io.Closeable; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertiesResult.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesResult.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertiesResult.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesResult.java index 4d802d00714380..35e8e4a03b0ce6 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertiesResult.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesResult.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import java.util.Collections; import java.util.Map; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertyKeys.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertyKeys.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertyKeys.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertyKeys.java index 39c38f03be5b14..e281ab83835005 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/scan/ScanNodePropertyKeys.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/scan/ScanNodePropertyKeys.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; /** * The key contract of the scan-node property table — the {@code Map} a connector returns diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorSinkPlan.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorSinkPlan.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorSinkPlan.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorSinkPlan.java index 8f9155de3cc613..1f8357ef25bfc8 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorSinkPlan.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorSinkPlan.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; import org.apache.doris.thrift.TDataSink; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionField.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionField.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionField.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionField.java index a8375608fb4863..9bd0240c9a36a3 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionField.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionField.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; /** * One field of a connector's write-time partitioning, in an engine-neutral form. diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionSpec.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionSpec.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionSpec.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionSpec.java index 6c13b1bf468e02..91f382fa934cf3 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePartitionSpec.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePartitionSpec.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; import java.util.Collections; import java.util.List; diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePlanProvider.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProvider.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePlanProvider.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProvider.java index d4bc3c86bffe4f..1f6b4213ba3255 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWritePlanProvider.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProvider.java @@ -15,13 +15,13 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; import java.util.Collections; import java.util.EnumSet; @@ -33,9 +33,9 @@ * {@link org.apache.doris.thrift.TDataSink} that BE uses to write data. * *

This is the write-side analogue of - * {@link org.apache.doris.connector.api.scan.ConnectorScanPlanProvider}. A + * {@link org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider}. A * connector with write capability returns an implementation from - * {@link org.apache.doris.connector.api.Connector#getWritePlanProvider()}; the + * {@link org.apache.doris.connector.spi.Connector#getWritePlanProvider()}; the * engine calls {@link #planWrite} when translating a physical table sink, then * dispatches the resulting Thrift data sink to BE unchanged.

*/ @@ -154,7 +154,7 @@ default List getSyntheticWriteColumns(ConnectorSession session, * the removed INSERT-support capability switch. Default: INSERT only (any write provider can at least * append). A connector overrides this to add OVERWRITE / DELETE / MERGE / REWRITE. Connector-level * (does not vary per table); per-table mode constraints stay in - * {@link org.apache.doris.connector.api.ConnectorWriteOps#validateRowLevelDmlMode}. + * {@link org.apache.doris.connector.spi.ConnectorWriteOps#validateRowLevelDmlMode}. */ default Set supportedOperations() { return EnumSet.of(WriteOperation.INSERT); diff --git a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumn.java b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumn.java similarity index 98% rename from fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumn.java rename to fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumn.java index b141ee758c62b5..19c39efe59335c 100644 --- a/fe/fe-connector/fe-connector-api/src/main/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumn.java +++ b/fe/fe-connector/fe-connector-spi/src/main/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumn.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; /** * One column of a connector's declared write-side sort, in an engine-neutral form. diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorColumnTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorColumnTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorColumnTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorColumnTest.java index 57f7d4b995664d..ae8885dfbe8fee 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorColumnTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorColumnTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorContextTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorContextTest.java index a39055be2239dc..d9ce2a1f443e2b 100644 --- a/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorContextTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorContextTest.java @@ -17,8 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.Connector; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataSurfaceTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataSurfaceTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataSurfaceTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataSurfaceTest.java index ed2a28985a0144..22f4c4cbcb348f 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataSurfaceTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataSurfaceTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataTimeTravelDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataTimeTravelDefaultsTest.java similarity index 94% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataTimeTravelDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataTimeTravelDefaultsTest.java index f602fcf0b71350..5777abf1293936 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorMetadataTimeTravelDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorMetadataTimeTravelDefaultsTest.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorPartitionInfoTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPartitionInfoTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorPartitionInfoTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPartitionInfoTest.java index dc2c5d2f3afad7..94e59d4f660f1e 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorPartitionInfoTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPartitionInfoTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPluginSurfaceTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPluginSurfaceTest.java index f81d393dd012a4..4d8985b03ec4ce 100644 --- a/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPluginSurfaceTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorPluginSurfaceTest.java @@ -17,8 +17,6 @@ package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.Connector; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -70,9 +68,11 @@ public void connectorApiMajorTracksTheRecordedSurfaceChange() throws IOException Assertions.assertNotNull(in, "missing connector plugin API version resource"); version.load(in); } - // ConnectorProvider gained detached property validation in this surface revision. Keeping - // major 1 would let pre-change plugins load while silently using the new default method. - Assertions.assertEquals("2.0", version.getProperty("api.version")); + // fe-connector-api was merged into fe-connector-spi in this surface revision, so every type on + // the contract changed its fully-qualified name (org.apache.doris.connector.api.* -> + // org.apache.doris.connector.spi.*). A plugin built against major 2 cannot resolve a single one + // of them; it must be refused at load time rather than fail later with NoClassDefFoundError. + Assertions.assertEquals("3.0", version.getProperty("api.version")); } /** The types a connector plugin implements or calls. Everything reachable on them is the contract. */ diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorScanProviderSelectionTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorScanProviderSelectionTest.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorScanProviderSelectionTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorScanProviderSelectionTest.java index 41d2b1c571c530..1abd640e8aefe7 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorScanProviderSelectionTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorScanProviderSelectionTest.java @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorSchemaOpsDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorSchemaOpsDefaultsTest.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorSchemaOpsDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorSchemaOpsDefaultsTest.java index 28af464c164e31..bfa71491d28370 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorSchemaOpsDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorSchemaOpsDefaultsTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorStatementScopesTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorStatementScopesTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorStatementScopesTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorStatementScopesTest.java index 0011b3582419bb..e23eaa6fa83e18 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorStatementScopesTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorStatementScopesTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorTypeTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorTypeTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorTypeTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorTypeTest.java index 8520415e63b5b7..6a9a0632636a94 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorTypeTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorTypeTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefaultsTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefaultsTest.java index 62faa733333bd2..2bceabb25e6f8c 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefaultsTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefinitionTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefinitionTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefinitionTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefinitionTest.java index ca60ddd5ff766a..06fc638008d7ef 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/ConnectorViewDefinitionTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/ConnectorViewDefinitionTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api; +package org.apache.doris.connector.spi; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/ConnectorWriteHandleTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandleTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/ConnectorWriteHandleTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandleTest.java index b214c8919f003c..b4bff4173fc37a 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/ConnectorWriteHandleTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/ConnectorWriteHandleTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; -import org.apache.doris.connector.api.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumn; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/NoOpConnectorTransactionTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransactionTest.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/NoOpConnectorTransactionTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransactionTest.java index 67dc7af4d57434..bbfac537dda16b 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/handle/NoOpConnectorTransactionTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/handle/NoOpConnectorTransactionTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.handle; +package org.apache.doris.connector.spi.handle; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshotTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshotTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshotTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshotTest.java index 419cf378ddb099..a853fcb2e80cf0 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorMvccSnapshotTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorMvccSnapshotTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpecTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpecTest.java similarity index 99% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpecTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpecTest.java index f67403f2467620..390256da08203b 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/mvcc/ConnectorTimeTravelSpecTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/mvcc/ConnectorTimeTravelSpecTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.mvcc; +package org.apache.doris.connector.spi.mvcc; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOpsDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOpsDefaultsTest.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOpsDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOpsDefaultsTest.java index d001c51f61b178..f2bb325468dff6 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/procedure/ConnectorProcedureOpsDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/procedure/ConnectorProcedureOpsDefaultsTest.java @@ -15,15 +15,15 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.procedure; - -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +package org.apache.doris.connector.spi.procedure; + +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorOrTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorOrTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorOrTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorOrTest.java index ef0c00ec195299..bbcfc287064101 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorOrTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorOrTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorPredicateTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicateTest.java similarity index 94% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorPredicateTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicateTest.java index f8948fe9102d64..b13792029d1ec5 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/pushdown/ConnectorPredicateTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/pushdown/ConnectorPredicateTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.pushdown; +package org.apache.doris.connector.spi.pushdown; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorPartitionValuesTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValuesTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorPartitionValuesTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValuesTest.java index ec313e68c4ce4f..af953561fb0c6b 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorPartitionValuesTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorPartitionValuesTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderBatchScanTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderBatchScanTest.java similarity index 94% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderBatchScanTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderBatchScanTest.java index 8aa6656b007966..f97f560cac3be8 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderBatchScanTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderBatchScanTest.java @@ -15,14 +15,14 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; - -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +package org.apache.doris.connector.spi.scan; + +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderCompressTypeTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderCompressTypeTest.java similarity index 96% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderCompressTypeTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderCompressTypeTest.java index 29e456bc376853..0d09db3718a4e6 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderCompressTypeTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderCompressTypeTest.java @@ -15,9 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.thrift.TFileCompressType; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderMustReadColumnsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderMustReadColumnsTest.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderMustReadColumnsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderMustReadColumnsTest.java index f5e6cdb1d8d4dc..f597091ef254e9 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanPlanProviderMustReadColumnsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanPlanProviderMustReadColumnsTest.java @@ -15,10 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanRangeWeightDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanRangeWeightDefaultsTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanRangeWeightDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanRangeWeightDefaultsTest.java index c522ca6de52296..45963a930767e3 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ConnectorScanRangeWeightDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ConnectorScanRangeWeightDefaultsTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ScanNodePropertiesFacesTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesFacesTest.java similarity index 95% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ScanNodePropertiesFacesTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesFacesTest.java index a4f6061b370faa..ebe0ee7dceef06 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/scan/ScanNodePropertiesFacesTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/scan/ScanNodePropertiesFacesTest.java @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.scan; +package org.apache.doris.connector.spi.scan; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWritePlanProviderDefaultsTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProviderDefaultsTest.java similarity index 91% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWritePlanProviderDefaultsTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProviderDefaultsTest.java index 895955dfcc83b4..7b85e0fbcf67c9 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWritePlanProviderDefaultsTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWritePlanProviderDefaultsTest.java @@ -15,11 +15,11 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumnTest.java b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumnTest.java similarity index 97% rename from fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumnTest.java rename to fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumnTest.java index 9aaaf9ffff02ee..f2bd44714c435a 100644 --- a/fe/fe-connector/fe-connector-api/src/test/java/org/apache/doris/connector/api/write/ConnectorWriteSortColumnTest.java +++ b/fe/fe-connector/fe-connector-spi/src/test/java/org/apache/doris/connector/spi/write/ConnectorWriteSortColumnTest.java @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.connector.api.write; +package org.apache.doris.connector.spi.write; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-connector/fe-connector-spi/src/test/resources/connector-metadata-methods.txt b/fe/fe-connector/fe-connector-spi/src/test/resources/connector-metadata-methods.txt new file mode 100644 index 00000000000000..d43edd4e2f19ba --- /dev/null +++ b/fe/fe-connector/fe-connector-spi/src/test/resources/connector-metadata-methods.txt @@ -0,0 +1,73 @@ +addColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ConnectorColumn,org.apache.doris.connector.spi.ddl.ConnectorColumnPosition) +addColumns(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +addNestedColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.ConnectorColumnPath,org.apache.doris.connector.spi.ConnectorColumn,org.apache.doris.connector.spi.ddl.ConnectorColumnPosition) +addPartitionField(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.PartitionFieldChange) +applyFilter(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint) +applyProjection(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +applyRewriteFileScope(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.Set) +applySnapshot(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot) +applyTopnLazyMaterialization(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +beginQuerySnapshot(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +beginTransaction(org.apache.doris.connector.spi.ConnectorSession) +beginTransaction(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +buildTableDescriptor(org.apache.doris.connector.spi.ConnectorSession,long,java.lang.String,java.lang.String,java.lang.String,int,long) +close() +createDatabase(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.util.Map) +createOrReplaceBranch(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.BranchChange) +createOrReplaceTag(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.TagChange) +createTable(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest) +databaseExists(org.apache.doris.connector.spi.ConnectorSession,java.lang.String) +dropBranch(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.DropRefChange) +dropColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +dropDatabase(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,boolean,boolean) +dropNestedColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.ConnectorColumnPath) +dropPartitionField(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.PartitionFieldChange) +dropTable(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +dropTag(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.DropRefChange) +dropView(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) +estimateDataSizeByListingFiles(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +fromRemoteColumnName(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String,java.lang.String) +fromRemoteDatabaseName(org.apache.doris.connector.spi.ConnectorSession,java.lang.String) +fromRemoteTableName(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) +getColumnHandles(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +getColumnHandles(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot) +getColumnStatistics(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +getDatabase(org.apache.doris.connector.spi.ConnectorSession,java.lang.String) +getMvccPartitionView(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +getPartitionFreshnessMillis(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +getSyntheticScanPredicates(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot) +getSysTableHandle(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +getTableComment(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) +getTableFreshness(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +getTableHandle(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) +getTableSchema(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +getTableSchema(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot) +getTableStatistics(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +getTableStatistics(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot) +getViewDefinition(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) +isPartitionValuesSysTable(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +listDatabaseNames(org.apache.doris.connector.spi.ConnectorSession) +listFileSizes(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +listPartitionNames(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +listPartitions(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.Optional) +listSupportedSysTables(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +listTableNames(org.apache.doris.connector.spi.ConnectorSession,java.lang.String) +listViewNames(org.apache.doris.connector.spi.ConnectorSession,java.lang.String) +modifyColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ConnectorColumn,org.apache.doris.connector.spi.ddl.ConnectorColumnPosition) +modifyColumnComment(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.ConnectorColumnPath,java.lang.String) +modifyNestedColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.ConnectorColumnPath,org.apache.doris.connector.spi.ConnectorColumn,org.apache.doris.connector.spi.ddl.ConnectorColumnPosition) +renameColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String,java.lang.String) +renameNestedColumn(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.ConnectorColumnPath,java.lang.String) +renameTable(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.lang.String) +renderShowCreateTableDdl(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle) +reorderColumns(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +replacePartitionField(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.ddl.PartitionFieldChange) +resolveTimeTravel(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec) +supportsCastPredicatePushdown(org.apache.doris.connector.spi.ConnectorSession) +supportsColumnHandleSnapshotPin(org.apache.doris.connector.spi.ConnectorSession) +truncateTable(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +usesStatementSnapshotForOptions(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.Map) +validateRowLevelDmlMode(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,org.apache.doris.connector.spi.handle.WriteOperation) +validateStaticPartitionColumns(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +validateWritePartitionNames(org.apache.doris.connector.spi.ConnectorSession,org.apache.doris.connector.spi.handle.ConnectorTableHandle,java.util.List) +viewExists(org.apache.doris.connector.spi.ConnectorSession,java.lang.String,java.lang.String) diff --git a/fe/fe-connector/fe-connector-spi/src/test/resources/connector-plugin-surface.txt b/fe/fe-connector/fe-connector-spi/src/test/resources/connector-plugin-surface.txt index a0c3f83034e410..fe6c5590e3013f 100644 --- a/fe/fe-connector/fe-connector-spi/src/test/resources/connector-plugin-surface.txt +++ b/fe/fe-connector/fe-connector-spi/src/test/resources/connector-plugin-surface.txt @@ -1,36 +1,36 @@ -org.apache.doris.connector.api.Connector#close():void -org.apache.doris.connector.api.Connector#defaultTestConnection():boolean -org.apache.doris.connector.api.Connector#deriveStorageProperties(java.util.Map):java.util.Map -org.apache.doris.connector.api.Connector#getCapabilities():java.util.Set -org.apache.doris.connector.api.Connector#getEventSource():org.apache.doris.connector.api.event.ConnectorEventSource -org.apache.doris.connector.api.Connector#getMetadata(org.apache.doris.connector.api.ConnectorSession):org.apache.doris.connector.api.ConnectorMetadata -org.apache.doris.connector.api.Connector#getProcedureOps():org.apache.doris.connector.api.procedure.ConnectorProcedureOps -org.apache.doris.connector.api.Connector#getProcedureOps(org.apache.doris.connector.api.handle.ConnectorTableHandle):org.apache.doris.connector.api.procedure.ConnectorProcedureOps -org.apache.doris.connector.api.Connector#getRestPassthrough():org.apache.doris.connector.api.rest.ConnectorRestPassthrough -org.apache.doris.connector.api.Connector#getScanPlanProvider():org.apache.doris.connector.api.scan.ConnectorScanPlanProvider -org.apache.doris.connector.api.Connector#getScanPlanProvider(org.apache.doris.connector.api.handle.ConnectorTableHandle):org.apache.doris.connector.api.scan.ConnectorScanPlanProvider -org.apache.doris.connector.api.Connector#getWritePlanProvider():org.apache.doris.connector.api.write.ConnectorWritePlanProvider -org.apache.doris.connector.api.Connector#getWritePlanProvider(org.apache.doris.connector.api.handle.ConnectorTableHandle):org.apache.doris.connector.api.write.ConnectorWritePlanProvider -org.apache.doris.connector.api.Connector#invalidateAll():void -org.apache.doris.connector.api.Connector#invalidateDb(java.lang.String):void -org.apache.doris.connector.api.Connector#invalidatePartition(java.lang.String,java.lang.String,java.util.List):void -org.apache.doris.connector.api.Connector#invalidateTable(java.lang.String,java.lang.String):void -org.apache.doris.connector.api.Connector#ownsHandle(org.apache.doris.connector.api.handle.ConnectorTableHandle):boolean -org.apache.doris.connector.api.Connector#preCreateValidation(org.apache.doris.connector.api.ConnectorValidationContext):void -org.apache.doris.connector.api.Connector#schemaCacheTtlSecondOverride():java.util.OptionalLong -org.apache.doris.connector.api.Connector#testConnection(org.apache.doris.connector.api.ConnectorSession):org.apache.doris.connector.api.ConnectorTestResult -org.apache.doris.connector.spi.ConnectorContext#createSiblingConnector(java.lang.String,java.util.Map):org.apache.doris.connector.api.Connector +org.apache.doris.connector.spi.Connector#close():void +org.apache.doris.connector.spi.Connector#defaultTestConnection():boolean +org.apache.doris.connector.spi.Connector#deriveStorageProperties(java.util.Map):java.util.Map +org.apache.doris.connector.spi.Connector#getCapabilities():java.util.Set +org.apache.doris.connector.spi.Connector#getEventSource():org.apache.doris.connector.spi.event.ConnectorEventSource +org.apache.doris.connector.spi.Connector#getMetadata(org.apache.doris.connector.spi.ConnectorSession):org.apache.doris.connector.spi.ConnectorMetadata +org.apache.doris.connector.spi.Connector#getProcedureOps():org.apache.doris.connector.spi.procedure.ConnectorProcedureOps +org.apache.doris.connector.spi.Connector#getProcedureOps(org.apache.doris.connector.spi.handle.ConnectorTableHandle):org.apache.doris.connector.spi.procedure.ConnectorProcedureOps +org.apache.doris.connector.spi.Connector#getRestPassthrough():org.apache.doris.connector.spi.rest.ConnectorRestPassthrough +org.apache.doris.connector.spi.Connector#getScanPlanProvider():org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider +org.apache.doris.connector.spi.Connector#getScanPlanProvider(org.apache.doris.connector.spi.handle.ConnectorTableHandle):org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider +org.apache.doris.connector.spi.Connector#getWritePlanProvider():org.apache.doris.connector.spi.write.ConnectorWritePlanProvider +org.apache.doris.connector.spi.Connector#getWritePlanProvider(org.apache.doris.connector.spi.handle.ConnectorTableHandle):org.apache.doris.connector.spi.write.ConnectorWritePlanProvider +org.apache.doris.connector.spi.Connector#invalidateAll():void +org.apache.doris.connector.spi.Connector#invalidateDb(java.lang.String):void +org.apache.doris.connector.spi.Connector#invalidatePartition(java.lang.String,java.lang.String,java.util.List):void +org.apache.doris.connector.spi.Connector#invalidateTable(java.lang.String,java.lang.String):void +org.apache.doris.connector.spi.Connector#ownsHandle(org.apache.doris.connector.spi.handle.ConnectorTableHandle):boolean +org.apache.doris.connector.spi.Connector#preCreateValidation(org.apache.doris.connector.spi.ConnectorValidationContext):void +org.apache.doris.connector.spi.Connector#schemaCacheTtlSecondOverride():java.util.OptionalLong +org.apache.doris.connector.spi.Connector#testConnection(org.apache.doris.connector.spi.ConnectorSession):org.apache.doris.connector.spi.ConnectorTestResult +org.apache.doris.connector.spi.ConnectorContext#createSiblingConnector(java.lang.String,java.util.Map):org.apache.doris.connector.spi.Connector org.apache.doris.connector.spi.ConnectorContext#executeAuthenticated(java.util.concurrent.Callable):java.lang.Object org.apache.doris.connector.spi.ConnectorContext#getCatalogId():long org.apache.doris.connector.spi.ConnectorContext#getCatalogName():java.lang.String org.apache.doris.connector.spi.ConnectorContext#getConnectorConfig():java.util.Map org.apache.doris.connector.spi.ConnectorContext#getEnvironment():java.util.Map -org.apache.doris.connector.spi.ConnectorContext#getHttpSecurityHook():org.apache.doris.connector.api.ConnectorHttpSecurityHook +org.apache.doris.connector.spi.ConnectorContext#getHttpSecurityHook():org.apache.doris.connector.spi.ConnectorHttpSecurityHook org.apache.doris.connector.spi.ConnectorContext#getStorageContext():org.apache.doris.connector.spi.ConnectorStorageContext org.apache.doris.connector.spi.ConnectorContext#sanitizeOutboundUrl(java.lang.String):java.lang.String org.apache.doris.connector.spi.ConnectorProvider#acceptedCreateTableEngineNames():java.util.Set org.apache.doris.connector.spi.ConnectorProvider#create():org.apache.doris.extension.spi.Plugin -org.apache.doris.connector.spi.ConnectorProvider#create(java.util.Map,org.apache.doris.connector.spi.ConnectorContext):org.apache.doris.connector.api.Connector +org.apache.doris.connector.spi.ConnectorProvider#create(java.util.Map,org.apache.doris.connector.spi.ConnectorContext):org.apache.doris.connector.spi.Connector org.apache.doris.connector.spi.ConnectorProvider#create(org.apache.doris.extension.spi.PluginContext):org.apache.doris.extension.spi.Plugin org.apache.doris.connector.spi.ConnectorProvider#defaultDatabaseOnUse():java.util.Optional org.apache.doris.connector.spi.ConnectorProvider#description():java.lang.String diff --git a/fe/fe-connector/fe-connector-trino/pom.xml b/fe/fe-connector/fe-connector-trino/pom.xml index 9c88bd0894b53e..792f024e551ec1 100644 --- a/fe/fe-connector/fe-connector-trino/pom.xml +++ b/fe/fe-connector/fe-connector-trino/pom.xml @@ -46,13 +46,6 @@ under the License. ${project.version} - - - ${project.groupId} - fe-connector-api - ${project.version} - - ${project.groupId} diff --git a/fe/fe-connector/fe-connector-trino/src/main/assembly/plugin-zip.xml b/fe/fe-connector/fe-connector-trino/src/main/assembly/plugin-zip.xml index 88edc785e8cb8c..ad0d68d64c07ce 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/assembly/plugin-zip.xml +++ b/fe/fe-connector/fe-connector-trino/src/main/assembly/plugin-zip.xml @@ -24,7 +24,7 @@ under the License. *.jar (all runtime deps: direct + transitive) Jars already present in fe-core classpath are excluded from lib/: - fe-connector-api, fe-connector-spi, fe-extension-spi, fe-filesystem-api + fe-connector-spi, fe-extension-spi, fe-filesystem-api (all four are forced parent-first for connectors, so a bundled copy is never loaded) --> false runtime - org.apache.doris:fe-connector-api org.apache.doris:fe-connector-spi org.apache.doris:fe-extension-spi org.apache.doris:fe-filesystem-api diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoColumnHandle.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoColumnHandle.java index 5dad3dbb3a5c2a..169bbc28fb4005 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoColumnHandle.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoColumnHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import java.util.Objects; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorDorisMetadata.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorDorisMetadata.java index e87be576f598e6..2b54ead6d59f8d 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorDorisMetadata.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorDorisMetadata.java @@ -17,19 +17,19 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.pushdown.ConnectorColumnAssignment; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; -import org.apache.doris.connector.api.pushdown.ProjectionApplicationResult; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnAssignment; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; +import org.apache.doris.connector.spi.pushdown.ProjectionApplicationResult; import com.google.common.collect.ImmutableMap; import io.trino.Session; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorProvider.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorProvider.java index f7e207f0b2d296..6a317548e72da3 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorProvider.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoConnectorProvider.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoDorisConnector.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoDorisConnector.java index bd877e04d4a200..17449d3948dcf4 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoDorisConnector.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoDorisConnector.java @@ -17,13 +17,13 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorValidationContext; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorConf; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorValidationContext; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import com.google.common.collect.ImmutableMap; import io.trino.Session; @@ -84,12 +84,12 @@ public void preCreateValidation(ConnectorValidationContext context) { } @Override - public org.apache.doris.connector.api.ConnectorTestResult testConnection(ConnectorSession session) { + public org.apache.doris.connector.spi.ConnectorTestResult testConnection(ConnectorSession session) { ensureInitialized(); if (trinoConnector != null) { - return org.apache.doris.connector.api.ConnectorTestResult.success(); + return org.apache.doris.connector.spi.ConnectorTestResult.success(); } - return org.apache.doris.connector.api.ConnectorTestResult.failure("Trino connector not initialized"); + return org.apache.doris.connector.spi.ConnectorTestResult.failure("Trino connector not initialized"); } @Override diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoPredicateConverter.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoPredicateConverter.java index 2d490a3a32bdd6..9035ed2c7a1aa7 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoPredicateConverter.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoPredicateConverter.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanPlanProvider.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanPlanProvider.java index 18bb4f3c3ac13b..0dc9ed5b24ea54 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanPlanProvider.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanPlanProvider.java @@ -17,12 +17,12 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; import org.apache.doris.trinoconnector.TrinoColumnMetadata; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanRange.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanRange.java index ea9f90c34a6be9..0f4d363b09052f 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanRange.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoScanRange.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; import org.apache.doris.thrift.TTrinoConnectorFileDesc; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTableHandle.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTableHandle.java index 1636ea2e1d89b4..f886ef2a8a467d 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTableHandle.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTableHandle.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ColumnMetadata; diff --git a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTypeMapping.java b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTypeMapping.java index 518daf11cc5ec6..47acb48d67b52b 100644 --- a/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTypeMapping.java +++ b/fe/fe-connector/fe-connector-trino/src/main/java/org/apache/doris/connector/trino/TrinoTypeMapping.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import io.trino.spi.type.BigintType; import io.trino.spi.type.BooleanType; @@ -44,7 +44,7 @@ * Maps Trino SPI types to Doris {@link ConnectorType}. * *

Adapted from {@code TrinoConnectorExternalTable.trinoConnectorTypeToDorisType()} - * in fe-core, but produces ConnectorType (fe-connector-api) instead of + * in fe-core, but produces ConnectorType (fe-connector-spi) instead of * Doris Column/Type (fe-core).

*/ public final class TrinoTypeMapping { diff --git a/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoPredicateConverterTest.java b/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoPredicateConverterTest.java index 25f33b38a2b46f..54a40db1076439 100644 --- a/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoPredicateConverterTest.java +++ b/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoPredicateConverterTest.java @@ -17,15 +17,15 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import com.google.common.collect.ImmutableMap; import io.airlift.slice.Slices; diff --git a/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoTypeMappingTest.java b/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoTypeMappingTest.java index 3b2de9884d63bb..f3a378bf069e42 100644 --- a/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoTypeMappingTest.java +++ b/fe/fe-connector/fe-connector-trino/src/test/java/org/apache/doris/connector/trino/TrinoTypeMappingTest.java @@ -17,7 +17,7 @@ package org.apache.doris.connector.trino; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorType; import io.trino.spi.type.ArrayType; import io.trino.spi.type.BigintType; diff --git a/fe/fe-connector/pom.xml b/fe/fe-connector/pom.xml index 4b3a44c05a726c..2dd23c41cdd2a7 100644 --- a/fe/fe-connector/pom.xml +++ b/fe/fe-connector/pom.xml @@ -50,16 +50,15 @@ under the License. definition is what makes minor two-way compatible. See plan-doc/designs/2026-07-29-plugin-api-version-check-design.md. - The contract this version describes spans fe-connector-api, fe-connector-spi and - because + The contract this version describes spans fe-connector-spi and - because connector plugins link them too - fe-extension-spi and fe-filesystem-api. Changing either of the latter two means bumping this property as well (and fe-extension-spi means bumping all four families). --> - 2.0 + 3.0 - fe-connector-api fe-connector-spi fe-connector-cache fe-connector-metastore-api diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml index 6744db2f7622be..b02fc027d1572e 100644 --- a/fe/fe-core/pom.xml +++ b/fe/fe-core/pom.xml @@ -109,13 +109,8 @@ under the License. fe-filesystem-spi ${project.version}
- - - ${project.groupId} - fe-connector-api - ${project.version} - - + ${project.groupId} fe-connector-spi diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java index 8c1d6bc2795146..1e6a21c111ab68 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java @@ -21,7 +21,7 @@ import org.apache.doris.common.DdlException; import org.apache.doris.common.ThreadPoolManager; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorFactory.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorFactory.java index da3caffc1551e9..90c0a06cd5c9bc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorFactory.java @@ -17,7 +17,7 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorMvccSnapshotAdapter.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorMvccSnapshotAdapter.java index 13453b31c80a42..824da82248b6de 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorMvccSnapshotAdapter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorMvccSnapshotAdapter.java @@ -17,7 +17,7 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.doris.datasource.mvcc.MvccSnapshot; import java.util.Objects; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorPluginManager.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorPluginManager.java index a7c82543231f24..0097b274ff06be 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorPluginManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorPluginManager.java @@ -17,7 +17,7 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorConfFile; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionBuilder.java index f26cbfe22dbf82..e9cf180dc2d6ec 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionBuilder.java @@ -19,9 +19,9 @@ import org.apache.doris.common.Config; import org.apache.doris.common.util.DebugUtil; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.apache.doris.datasource.DelegatedCredential; import org.apache.doris.datasource.SessionContext; import org.apache.doris.nereids.StatementContext; @@ -123,7 +123,7 @@ public ConnectorSessionBuilder withTimeZone(String timeZone) { /** * Declares whether the target connector consumes the user's delegated credential - * ({@link org.apache.doris.connector.api.ConnectorCapability#SUPPORTS_USER_SESSION}). When {@code false} + * ({@link org.apache.doris.connector.spi.ConnectorCapability#SUPPORTS_USER_SESSION}). When {@code false} * (the default), {@link #build()} carries neither the session id nor the credential onto the session, so a * connector that would never use the OIDC token never receives it (least-privilege). */ diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionImpl.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionImpl.java index a273b9a9d94b2a..9a2624c5e81ee4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorSessionImpl.java @@ -18,10 +18,10 @@ package org.apache.doris.connector; import org.apache.doris.catalog.Env; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import java.util.Collections; import java.util.Map; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorStatementScopeImpl.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorStatementScopeImpl.java index 56720ef42f1bb6..c36ff2194fbc7d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorStatementScopeImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ConnectorStatementScopeImpl.java @@ -17,7 +17,7 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.apache.doris.datasource.plugin.CatalogStatementTransaction; import org.apache.logging.log4j.LogManager; @@ -31,7 +31,7 @@ * {@link org.apache.doris.nereids.StatementContext}. * *

Thread-safe by a backing {@link ConcurrentHashMap}: a scan's off-thread pumps (streaming / - * partition-batch) reuse the single {@link org.apache.doris.connector.api.ConnectorSession} built on the + * partition-batch) reuse the single {@link org.apache.doris.connector.spi.ConnectorSession} built on the * request thread and so reach this same scope concurrently. {@code computeIfAbsent} gives every caller of * a key the same instance — required for the shared table object and for the delete supply map that scan * and write both mutate. The loaders used by connectors do not re-enter this scope, so the map's diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorContext.java b/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorContext.java index 6439784c1ecaab..7f842b6b3f3b1f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorContext.java @@ -25,11 +25,11 @@ import org.apache.doris.common.EnvUtils; import org.apache.doris.common.Version; import org.apache.doris.common.util.LocationPath; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorHttpSecurityHook; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorBrokerAddress; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorHttpSecurityHook; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connector.spi.ConnectorStorageContext; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorValidationContext.java b/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorValidationContext.java index a885595aa427d9..e794a6207b496e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorValidationContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/DefaultConnectorValidationContext.java @@ -21,7 +21,7 @@ import org.apache.doris.catalog.JdbcResource; import org.apache.doris.common.DdlException; import org.apache.doris.common.FeConstants; -import org.apache.doris.connector.api.ConnectorValidationContext; +import org.apache.doris.connector.spi.ConnectorValidationContext; import org.apache.doris.datasource.CatalogProperty; import org.apache.doris.proto.InternalService.PJdbcTestConnectionRequest; import org.apache.doris.proto.InternalService.PJdbcTestConnectionResult; diff --git a/fe/fe-core/src/main/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverter.java b/fe/fe-core/src/main/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverter.java index f2985f470f9475..dda85569e4d931 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverter.java @@ -19,13 +19,13 @@ import org.apache.doris.catalog.AggregateType; import org.apache.doris.catalog.PartitionType; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; import org.apache.doris.datasource.connector.converter.ConnectorColumnConverter; import org.apache.doris.nereids.analyzer.UnboundFunction; import org.apache.doris.nereids.analyzer.UnboundSlot; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java index aaf1ca9496eb68..977840ef94fe5a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogFactory.java @@ -23,7 +23,7 @@ import org.apache.doris.common.FeConstants; import org.apache.doris.connector.ConnectorFactory; import org.apache.doris.connector.DefaultConnectorContext; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.doris.RemoteDorisExternalCatalog; import org.apache.doris.datasource.log.CatalogLog; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/MetastoreEventSyncDriver.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/MetastoreEventSyncDriver.java index acf6a72d4bce99..e5170193f253f7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/MetastoreEventSyncDriver.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/MetastoreEventSyncDriver.java @@ -23,12 +23,12 @@ import org.apache.doris.common.Config; import org.apache.doris.common.util.MasterDaemon; import org.apache.doris.connector.ConnectorFactory; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.event.ConnectorEventSource; -import org.apache.doris.connector.api.event.EventPollRequest; -import org.apache.doris.connector.api.event.EventPollResult; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.event.ConnectorEventSource; +import org.apache.doris.connector.spi.event.EventPollRequest; +import org.apache.doris.connector.spi.event.EventPollResult; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; import org.apache.doris.datasource.log.CatalogLog; import org.apache.doris.datasource.log.MetaIdMappingsLog; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java index d0c75c3ce477d4..b888d97690ced6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/TablePartitionValues.java @@ -24,7 +24,7 @@ import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.lock.MonitoredReentrantReadWriteLock; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.planner.ColumnBound; import org.apache.doris.planner.ListPartitionPrunerV2; import org.apache.doris.planner.PartitionPrunerV2Base.UniqueId; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverter.java index aac24d92689563..067d9cadcf0702 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverter.java @@ -23,9 +23,9 @@ import org.apache.doris.catalog.info.DropBranchInfo; import org.apache.doris.catalog.info.DropTagInfo; import org.apache.doris.catalog.info.TagOptions; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.TagChange; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.TagChange; /** * Converts the fe-core/nereids branch/tag info types ({@link CreateOrReplaceBranchInfo} etc.) to the neutral diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverter.java index 8d209646121990..82fc096bc3056c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverter.java @@ -25,8 +25,8 @@ import org.apache.doris.catalog.StructField; import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.Type; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -40,8 +40,8 @@ * Converts between the connector SPI type system ({@link ConnectorColumn}/{@link ConnectorType}) * and the Doris internal type system ({@link Column}/{@link Type}). * - *

This converter lives in fe-core because it depends on both the SPI API types - * (from fe-connector-api) and the internal Doris catalog types (from fe-type/fe-core).

+ *

This converter lives in fe-core because it depends on both the SPI types + * (from fe-connector-spi) and the internal Doris catalog types (from fe-type/fe-core).

*/ public final class ConnectorColumnConverter { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverter.java index d509463f895ca4..c7fc4aad15bd99 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverter.java @@ -17,11 +17,11 @@ package org.apache.doris.datasource.connector.converter; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.And; import org.apache.doris.nereids.trees.expressions.EqualTo; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverter.java index ce1b2e07e656d4..9fcf8a302ef1f9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverter.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.connector.converter; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; import org.apache.doris.nereids.trees.plans.commands.info.AddPartitionFieldOp; import org.apache.doris.nereids.trees.plans.commands.info.DropPartitionFieldOp; import org.apache.doris.nereids.trees.plans.commands.info.ReplacePartitionFieldOp; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ExprToConnectorExpressionConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ExprToConnectorExpressionConverter.java index 365c127f3c18c7..36cd21e3194084 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ExprToConnectorExpressionConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/ExprToConnectorExpressionConverter.java @@ -44,19 +44,19 @@ import org.apache.doris.catalog.StructField; import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.Type; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFunctionCall; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLike; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFunctionCall; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLike; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverter.java index f85f046f7500b0..ad3db2b4869b3b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverter.java @@ -17,15 +17,15 @@ package org.apache.doris.datasource.connector.converter; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.doris.nereids.trees.expressions.And; import org.apache.doris.nereids.trees.expressions.Between; import org.apache.doris.nereids.trees.expressions.EqualTo; @@ -68,7 +68,7 @@ * dropped disjunct would narrow it). See deviations-log DV-T07b-matrix.

* *

Literal encoding routes through {@link ExprToConnectorExpressionConverter#convert} on - * {@link Literal#toLegacyLiteral()}, so the neutral {@link org.apache.doris.connector.api.ConnectorType} + * {@link Literal#toLegacyLiteral()}, so the neutral {@link org.apache.doris.connector.spi.ConnectorType} * tokens (uppercase {@code INT}/{@code BIGINT}/... + decimal precision/scale) are byte-identical to the scan * side — the connector's shared {@code IcebergPredicateConverter} type matrix then behaves the same for both * paths. Column types likewise go through {@link ExprToConnectorExpressionConverter#typeToConnectorType}.

diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverter.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverter.java index ebc9d2c35176bf..c61e0c15202a8d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverter.java @@ -19,17 +19,17 @@ import org.apache.doris.catalog.Column; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.trees.expressions.And; @@ -86,7 +86,7 @@ * iceberg connector resolves the column by name and does not read it.

* *

Engine-neutral by construction (no {@code instanceof Iceberg}, no iceberg imports): it speaks only the - * neutral {@code connector.api.pushdown} vocabulary plus generic Nereids nodes.

+ * neutral {@code connector.spi.pushdown} vocabulary plus generic Nereids nodes.

*/ public final class UnboundExpressionToConnectorPredicateConverter { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractor.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractor.java index 2267e1f104f440..2897ad8c7b4fb6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractor.java @@ -18,9 +18,9 @@ package org.apache.doris.datasource.connector.converter; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.expressions.SlotReference; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTable.java index dda5f882105d9e..fd16f374819e96 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTable.java @@ -30,17 +30,17 @@ import org.apache.doris.catalog.SupportBinarySearchFilteringPartitions; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccSnapshot.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccSnapshot.java index 98fa45ad2fd565..62922816519d3e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccSnapshot.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccSnapshot.java @@ -19,7 +19,7 @@ import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionType; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.doris.datasource.SchemaCacheValue; import java.util.Collections; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/CatalogStatementTransaction.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/CatalogStatementTransaction.java index 9e15d57fcce1c1..dca46ae6134438 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/CatalogStatementTransaction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/CatalogStatementTransaction.java @@ -17,10 +17,10 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorWriteOps; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorWriteOps; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.transaction.PluginDrivenTransactionManager; import org.apache.logging.log4j.LogManager; @@ -28,7 +28,7 @@ /** * The per-statement owner of a plugin-driven write transaction, co-held on the statement scope next to the one - * memoized {@link org.apache.doris.connector.api.ConnectorMetadata} the read and write arms share — mirroring + * memoized {@link org.apache.doris.connector.spi.ConnectorMetadata} the read and write arms share — mirroring * Trino's {@code CatalogTransaction}: one metadata instance and one transaction per (statement, catalog). The * insert executor opens the transaction through {@link #begin}, minting it from that shared write-ops facet so * the write inherits exactly the read arm's client/ops, and commits / rolls back through the @@ -43,7 +43,7 @@ * *

fe-core-internal and connector-agnostic: it traffics only in the neutral {@link ConnectorWriteOps} / * {@link ConnectorSession} / {@link ConnectorTransaction} SPI types (never a concrete connector type) and is - * stored on the connector-agnostic {@link org.apache.doris.connector.api.ConnectorStatementScope} as an opaque + * stored on the connector-agnostic {@link org.apache.doris.connector.spi.ConnectorStatementScope} as an opaque * value, recognized by {@link org.apache.doris.connector.ConnectorStatementScopeImpl} only to order its * teardown before metadata close.

*/ diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalog.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalog.java index 12db2e7a6a150b..e228fca35a7883 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalog.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalog.java @@ -38,20 +38,20 @@ import org.apache.doris.connector.ConnectorSessionBuilder; import org.apache.doris.connector.DefaultConnectorContext; import org.apache.doris.connector.DefaultConnectorValidationContext; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTestResult; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorColumnPath; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.ddl.CreateTableInfoToConnectorRequestConverter; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTestResult; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPath; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.CatalogProperty; @@ -94,7 +94,7 @@ * *

This adapter bridges the connector SPI ({@link Connector}) with the existing * ExternalCatalog hierarchy. Metadata operations are delegated to the connector's - * {@link org.apache.doris.connector.api.ConnectorMetadata} implementation.

+ * {@link org.apache.doris.connector.spi.ConnectorMetadata} implementation.

* *

When created via {@link CatalogFactory}, the Connector instance is provided * directly. After GSON deserialization (FE restart), the Connector is recreated diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabase.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabase.java index 761fffad76a00d..ca596bf6e25db4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabase.java @@ -17,11 +17,11 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorDatabaseMetadata; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorDatabaseMetadata; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.mvcc.PluginDrivenMvccExternalTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTable.java index 84dc613148569a..4035e07ed812b8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTable.java @@ -24,22 +24,22 @@ import org.apache.doris.catalog.Type; import org.apache.doris.common.util.DebugPointUtil; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorColumnStatistics; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.ConnectorViewDefinition; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorColumnStatistics; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.ConnectorViewDefinition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; @@ -84,7 +84,7 @@ * *

Provides table implementation that fetches schema from the connector SPI. * Connector-specific behavior is accessed through the parent catalog's - * {@link org.apache.doris.connector.api.Connector} using opaque handles.

+ * {@link org.apache.doris.connector.spi.Connector} using opaque handles.

*/ public class PluginDrivenExternalTable extends ExternalTable { diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenMetadata.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenMetadata.java index cd12453144836c..532f5b1e205e55 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenMetadata.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenMetadata.java @@ -17,10 +17,10 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import java.util.Objects; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSchemaCacheValue.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSchemaCacheValue.java index d7a12be9b01d8f..725d23c2c14999 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSchemaCacheValue.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSchemaCacheValue.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.catalog.Column; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.datasource.SchemaCacheValue; import java.util.Collections; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTable.java index 91ccb9f7af1afc..cdad895bb13525 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTable.java @@ -20,13 +20,13 @@ import org.apache.doris.analysis.TableScanParams; import org.apache.doris.analysis.TableSnapshot; import org.apache.doris.catalog.Column; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.doris.datasource.SchemaCacheKey; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.mvcc.MvccSnapshot; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/FilePartitionUtils.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/FilePartitionUtils.java index baa15aa7276104..096eb074f7153b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/FilePartitionUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/FilePartitionUtils.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import com.google.common.collect.Lists; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/PluginDrivenScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/PluginDrivenScanNode.java index ac936d204dd06a..a1d493fe6f34f1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/PluginDrivenScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/scan/PluginDrivenScanNode.java @@ -31,26 +31,26 @@ import org.apache.doris.common.UserException; import org.apache.doris.common.profile.RuntimeProfile; import org.apache.doris.common.profile.SummaryProfile; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.PassthroughQueryTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorFilterConstraint; -import org.apache.doris.connector.api.pushdown.FilterApplicationResult; -import org.apache.doris.connector.api.pushdown.ProjectionApplicationResult; -import org.apache.doris.connector.api.scan.ConnectorColumnCategory; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; -import org.apache.doris.connector.api.scan.ConnectorScanRange; -import org.apache.doris.connector.api.scan.ConnectorScanRequest; -import org.apache.doris.connector.api.scan.ConnectorSplitSource; -import org.apache.doris.connector.api.scan.ScanNodePropertiesResult; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.PassthroughQueryTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorFilterConstraint; +import org.apache.doris.connector.spi.pushdown.FilterApplicationResult; +import org.apache.doris.connector.spi.pushdown.ProjectionApplicationResult; +import org.apache.doris.connector.spi.scan.ConnectorColumnCategory; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRequest; +import org.apache.doris.connector.spi.scan.ConnectorSplitSource; +import org.apache.doris.connector.spi.scan.ScanNodePropertiesResult; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.connector.converter.ExprToConnectorExpressionConverter; import org.apache.doris.datasource.mvcc.MvccSnapshot; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/split/PluginDrivenSplit.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/split/PluginDrivenSplit.java index 8fa38264ab389a..2504b09adf0b9f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/split/PluginDrivenSplit.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/split/PluginDrivenSplit.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.split; import org.apache.doris.common.util.LocationPath; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import java.util.ArrayList; import java.util.List; diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java index 1fc2bfcb75ada0..33a4cf56269fff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/restv2/ESCatalogAction.java @@ -20,7 +20,7 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.Config; import org.apache.doris.common.util.JsonUtil; -import org.apache.doris.connector.api.rest.ConnectorRestPassthrough; +import org.apache.doris.connector.spi.rest.ConnectorRestPassthrough; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.httpv2.entity.ResponseEntityBuilder; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/StatementContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/StatementContext.java index 90a1edb566d61f..e676dce4dc0d3b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/StatementContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/StatementContext.java @@ -31,8 +31,8 @@ import org.apache.doris.common.IdGenerator; import org.apache.doris.common.Pair; import org.apache.doris.connector.ConnectorStatementScopeImpl; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.mvcc.MvccSnapshot; import org.apache.doris.datasource.mvcc.MvccTable; @@ -659,7 +659,7 @@ public synchronized BitSet getOrCacheDisableRules(SessionVariable sessionVariabl /** * Returns this statement's connector scope, lazily creating it on first use (mirrors * {@link #getOrCacheDisableRules}). A connector reaches it through - * {@link org.apache.doris.connector.api.ConnectorSession#getStatementScope()} to load a table once and + * {@link org.apache.doris.connector.spi.ConnectorSession#getStatementScope()} to load a table once and * share it across the statement's read + write resolvers. */ public synchronized ConnectorStatementScope getOrCreateConnectorStatementScope() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java index 6444d41f0f18d1..48f5939dda2984 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreator.java @@ -20,8 +20,8 @@ import org.apache.doris.catalog.Database; import org.apache.doris.catalog.Env; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.datasource.doris.RemoteDorisExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 60c9a7bfb61914..5af8be9c147bbf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -41,14 +41,14 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.common.Pair; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; -import org.apache.doris.connector.api.write.ConnectorWriteSortColumn; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.write.ConnectorWriteSortColumn; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.connector.converter.ConnectorColumnConverter; import org.apache.doris.datasource.doris.RemoteDorisExternalTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java index 1db75dfd0ef634..a2fc960cb6fe93 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSink.java @@ -33,10 +33,10 @@ import org.apache.doris.common.Config; import org.apache.doris.common.IdGenerator; import org.apache.doris.common.Pair; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.doris.RemoteDorisExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java index a9635041d5f014..0fb1c9a32e0d31 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckPolicy.java @@ -17,7 +17,7 @@ package org.apache.doris.nereids.rules.analysis; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; import org.apache.doris.datasource.connector.converter.ConnectorExpressionToNereidsConverter; import org.apache.doris.datasource.mvcc.MvccSnapshot; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransform.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransform.java index e1868f79e4c0a4..5e9ba81668f136 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransform.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransform.java @@ -19,12 +19,12 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.connector.converter.WriteConstraintExtractor; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlCommand.java index fbb8c61745d5f7..a5a13baf02b9a0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlCommand.java @@ -18,7 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.glue.LogicalPlanAdapter; import org.apache.doris.nereids.trees.plans.Plan; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtils.java index 864c5faf82690c..5e169a5f876348 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtils.java @@ -18,7 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.catalog.Column; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.analyzer.Unbound; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlTransform.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlTransform.java index 47a9649406a7b7..1d7cca65758f3d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlTransform.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlTransform.java @@ -18,7 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.trees.plans.Plan; import org.apache.doris.nereids.trees.plans.commands.insert.BaseExternalTableInsertExecutor; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java index 8107828fa92c29..a5ca70bf4c3d1e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java @@ -36,11 +36,11 @@ import org.apache.doris.common.proc.ProcResult; import org.apache.doris.common.proc.ProcService; import org.apache.doris.common.util.OrderByPair; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/call/CallExecuteStmtFunc.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/call/CallExecuteStmtFunc.java index ac4ae615afdfce..b69d895708e740 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/call/CallExecuteStmtFunc.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/call/CallExecuteStmtFunc.java @@ -19,9 +19,9 @@ import org.apache.doris.analysis.UserIdentity; import org.apache.doris.catalog.Env; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenMetadata; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteAction.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteAction.java index 438cca1c4c5665..8f8ea8e6c94fdf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteAction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteAction.java @@ -28,16 +28,16 @@ import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ProcedureExecutionMode; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ProcedureExecutionMode; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.connector.converter.ConnectorColumnConverter; import org.apache.doris.datasource.connector.converter.UnboundExpressionToConnectorPredicateConverter; @@ -78,7 +78,7 @@ *

Live for the flipped SPI catalogs; per-handle for a gateway. Iceberg and paimon are served by * their connector plugins, so their tables are {@code PluginDrivenExternalTable}s and {@code ALTER TABLE EXECUTE} * on them routes through this adapter today. Procedure ops are selected {@link Connector#getProcedureOps( - * org.apache.doris.connector.api.handle.ConnectorTableHandle) per-handle}: a single-format connector just returns + * org.apache.doris.connector.spi.handle.ConnectorTableHandle) per-handle}: a single-format connector just returns * its connector-level ops, but a flipped {@code hms} gateway * exposes none at the connector level and diverts a foreign iceberg-on-HMS handle to its iceberg sibling.

*/ diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriver.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriver.java index 1f2454f2f864e4..a9842169d73a68 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriver.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriver.java @@ -19,17 +19,17 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.RewriteCapableTransaction; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ConnectorRewriteGroup; -import org.apache.doris.connector.api.procedure.ConnectorRewriteStatistics; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.RewriteCapableTransaction; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteStatistics; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.qe.ConnectContext; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteGroupTask.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteGroupTask.java index 90d4b99e4121f8..56f61fe2d4c208 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteGroupTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteGroupTask.java @@ -20,8 +20,8 @@ import org.apache.doris.analysis.StatementBase; import org.apache.doris.catalog.Env; import org.apache.doris.common.Status; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.procedure.ConnectorRewriteGroup; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.StatementContext; import org.apache.doris.nereids.analyzer.UnboundConnectorTableSink; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ExecuteActionFactory.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ExecuteActionFactory.java index df0f5776f1f1f8..67d798eb29a99e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ExecuteActionFactory.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/execute/ExecuteActionFactory.java @@ -20,7 +20,7 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.info.PartitionNamesInfo; import org.apache.doris.common.DdlException; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java index d1451aa019e65d..b806a6b6ee8cb8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java @@ -47,7 +47,7 @@ import org.apache.doris.common.util.ParseUtil; import org.apache.doris.common.util.PropertyAnalyzer; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.InternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java index 797c865b7dbf8c..c9e5f60a71a2c3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BaseExternalTableInsertExecutor.java @@ -25,7 +25,7 @@ import org.apache.doris.common.profile.SummaryProfile; import org.apache.doris.common.util.DebugUtil; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.exceptions.AnalysisException; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/ConnectorRewriteExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/ConnectorRewriteExecutor.java index 649f21fa4edc01..5df657861ccf7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/ConnectorRewriteExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/ConnectorRewriteExecutor.java @@ -18,8 +18,8 @@ package org.apache.doris.nereids.trees.plans.commands.insert; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.trees.plans.physical.PhysicalSink; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java index eb058e6f60cf86..ac75a6631cdd87 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java @@ -26,7 +26,7 @@ import org.apache.doris.common.ErrorReport; import org.apache.doris.common.UserException; import org.apache.doris.common.util.InternalDatabaseUtil; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.datasource.doris.RemoteDorisExternalTable; import org.apache.doris.datasource.doris.RemoteOlapTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutor.java index ab3265c18927f7..769faa1cce83dd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutor.java @@ -19,11 +19,11 @@ import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorWriteOps; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorWriteOps; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.CatalogStatementTransaction; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSink.java index 2809adcde7232b..9634c33e2458f6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSink.java @@ -18,13 +18,13 @@ package org.apache.doris.nereids.trees.plans.physical; import org.apache.doris.catalog.Column; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.write.ConnectorWritePartitionField; -import org.apache.doris.connector.api.write.ConnectorWritePartitionSpec; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionField; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionSpec; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PluginDrivenTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/PluginDrivenTableSink.java index 3ab86cafff9c6f..e9e539ea018e2f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/PluginDrivenTableSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PluginDrivenTableSink.java @@ -18,13 +18,13 @@ package org.apache.doris.planner; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.trees.plans.commands.insert.InsertCommandContext; import org.apache.doris.nereids.trees.plans.commands.insert.PluginDrivenInsertCommandContext; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java index bb9eea12e5e4aa..d79086343920ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/MetadataGenerator.java @@ -57,10 +57,10 @@ import org.apache.doris.common.util.NetUtils; import org.apache.doris.common.util.TimeUtils; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.ExternalCatalog; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/PluginDrivenQueryTableValueFunction.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/PluginDrivenQueryTableValueFunction.java index 3c5047fbf659f4..19089bd0526fb3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/PluginDrivenQueryTableValueFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/PluginDrivenQueryTableValueFunction.java @@ -20,11 +20,11 @@ import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Column; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.handle.PassthroughQueryTableHandle; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.handle.PassthroughQueryTableHandle; import org.apache.doris.datasource.connector.converter.ConnectorColumnConverter; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenMetadata; diff --git a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/QueryTableValueFunction.java b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/QueryTableValueFunction.java index 853fde6b10f3da..4b7e41f742f875 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/tablefunction/QueryTableValueFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/tablefunction/QueryTableValueFunction.java @@ -22,9 +22,9 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPassthroughSqlOps; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPassthroughSqlOps; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenMetadata; diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/PluginDrivenTransactionManager.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/PluginDrivenTransactionManager.java index e75971630b7b2b..f5e81a6ebb7067 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/PluginDrivenTransactionManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/PluginDrivenTransactionManager.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteBlockAllocatingConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteBlockAllocatingConnectorTransaction; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/ListPartitionItemTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/ListPartitionItemTest.java index 93cb60e120455d..28a83a59c2394c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/ListPartitionItemTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/ListPartitionItemTest.java @@ -19,7 +19,7 @@ import org.apache.doris.analysis.PartitionValue; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.mtmv.MTMVPartitionUtil; import com.google.common.collect.Lists; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerRenameReplayTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerRenameReplayTest.java index b7e40ae418f5e8..e1b94c111533e0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerRenameReplayTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerRenameReplayTest.java @@ -18,7 +18,7 @@ package org.apache.doris.catalog; import org.apache.doris.catalog.constraint.ConstraintManager; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerTest.java index f7836f51d87774..d26bc01673c6c8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/RefreshManagerTest.java @@ -20,7 +20,7 @@ import org.apache.doris.catalog.constraint.ConstraintManager; import org.apache.doris.catalog.info.TableNameInfo; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.ExternalCatalog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/common/cache/NereidsSortedPartitionsCacheManagerExternalTest.java b/fe/fe-core/src/test/java/org/apache/doris/common/cache/NereidsSortedPartitionsCacheManagerExternalTest.java index 7e810f54a00c9d..6b82ec6e341018 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/common/cache/NereidsSortedPartitionsCacheManagerExternalTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/common/cache/NereidsSortedPartitionsCacheManagerExternalTest.java @@ -27,7 +27,7 @@ import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.SupportBinarySearchFilteringPartitions; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.ExternalDatabase; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConfProbeSink.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConfProbeSink.java index 37fb70e410ac65..3ddc4242299be6 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConfProbeSink.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConfProbeSink.java @@ -17,9 +17,9 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; import java.util.HashMap; import java.util.Map; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorContractValidatorTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorContractValidatorTest.java index af9fd76ab4e8d2..b8e59dbac37bbb 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorContractValidatorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorContractValidatorTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorContractValidator; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorContractValidator; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginConfTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginConfTest.java index d69ea88bcd61b6..b081cae9de8cb0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginConfTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginConfTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.connectorconf.testplugins.AlterValidationHelper; import org.apache.doris.connectorconf.testplugins.ConfProbeConnectorProviderA; import org.apache.doris.connectorconf.testplugins.ConfProbeConnectorProviderB; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginManagerTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginManagerTest.java index 60bfce30752c92..643b7bbeeeee09 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginManagerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorPluginManagerTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.CatalogFactory; import org.junit.jupiter.api.Assertions; @@ -40,6 +40,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.Map; +import java.util.Properties; import java.util.Set; import java.util.jar.Attributes; import java.util.jar.JarEntry; @@ -238,22 +239,41 @@ void registerProviderStillShadowsADiscoveredType() { @Test void classpathProviderMustDeclareTheKernelApiMajor(@TempDir Path tempDir) throws Exception { - Path apiOneJar = createClasspathProviderJar(tempDir.resolve("api-one.jar"), "1.0"); + // Both majors are derived from the kernel's own declared version rather than written as literals. + // Bumping connector.plugin.api.version is a routine part of any SPI surface change, and what this + // test asserts is the GATE — stale major refused, current major admitted — not which number happens + // to be current. ConnectorPluginSurfaceTest is where the number is deliberately pinned; pinning it + // here as well only produced a second, uninformative failure on every bump. + int kernelMajor = kernelApiMajor(); + Path staleJar = createClasspathProviderJar(tempDir.resolve("api-stale.jar"), (kernelMajor - 1) + ".0"); ConnectorPluginManager incompatible = new ConnectorPluginManager(); - try (URLClassLoader loader = providerClassLoader(apiOneJar)) { + try (URLClassLoader loader = providerClassLoader(staleJar)) { incompatible.loadBuiltins(loader); } Assertions.assertFalse(incompatible.getRegisteredTypes().contains("classpath-test"), - "an API-1 provider must not enter an API-2 kernel through classpath discovery"); + "a provider one major behind the kernel must not enter through classpath discovery"); - Path apiTwoJar = createClasspathProviderJar(tempDir.resolve("api-two.jar"), "2.0"); + Path currentJar = createClasspathProviderJar(tempDir.resolve("api-current.jar"), kernelMajor + ".0"); ConnectorPluginManager compatible = new ConnectorPluginManager(); - try (URLClassLoader loader = providerClassLoader(apiTwoJar)) { + try (URLClassLoader loader = providerClassLoader(currentJar)) { compatible.loadBuiltins(loader); } Assertions.assertTrue(compatible.getRegisteredTypes().contains("classpath-test")); } + /** The connector plugin API major this FE build serves — the same value {@code ApiVersionGate} compares against. */ + private static int kernelApiMajor() throws IOException { + Properties version = new Properties(); + try (InputStream in = ConnectorProvider.class.getResourceAsStream( + "/META-INF/doris/connector-plugin-api-version.properties")) { + Assertions.assertNotNull(in, "missing connector plugin API version resource"); + version.load(in); + } + String declared = version.getProperty("api.version"); + Assertions.assertNotNull(declared, "api.version must be declared by the kernel resource"); + return Integer.parseInt(declared.substring(0, declared.indexOf('.'))); + } + @Test void incompatibleClasspathProviderIsRejectedBeforeConstruction(@TempDir Path tempDir) throws Exception { System.clearProperty(CLASSPATH_PROVIDER_CONSTRUCTED); diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorSessionImplTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorSessionImplTest.java index e745aa6af8d289..f7a767f85ca7f3 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorSessionImplTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorSessionImplTest.java @@ -17,10 +17,10 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.ConnectorDelegatedCredential; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorDelegatedCredential; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.nereids.StatementContext; import org.apache.doris.qe.ConnectContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorStatementScopeTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorStatementScopeTest.java index 19a9b529b16129..32a38415658d4c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorStatementScopeTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorStatementScopeTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorWriteOps; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorWriteOps; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.datasource.plugin.CatalogStatementTransaction; import org.apache.doris.nereids.StatementContext; import org.apache.doris.nereids.trees.plans.commands.ExecuteCommand; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorWriteDelegationTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorWriteDelegationTest.java index c95f845a3d6b15..fc7ee07b772815 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorWriteDelegationTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ConnectorWriteDelegationTest.java @@ -17,13 +17,13 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/DefaultConnectorContextSiblingTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/DefaultConnectorContextSiblingTest.java index 41a9318eb92d5b..ac1ac5f2cdffd2 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/DefaultConnectorContextSiblingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/DefaultConnectorContextSiblingTest.java @@ -17,11 +17,11 @@ package org.apache.doris.connector; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverterTest.java index c51e9ec390bf3b..6abe426c049475 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/ddl/CreateTableInfoToConnectorRequestConverterTest.java @@ -19,12 +19,12 @@ import org.apache.doris.catalog.AggregateType; import org.apache.doris.catalog.PartitionType; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ddl.ConnectorBucketSpec; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.ConnectorPartitionField; -import org.apache.doris.connector.api.ddl.ConnectorPartitionSpec; -import org.apache.doris.connector.api.ddl.ConnectorSortField; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ddl.ConnectorBucketSpec; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionField; +import org.apache.doris.connector.spi.ddl.ConnectorPartitionSpec; +import org.apache.doris.connector.spi.ddl.ConnectorSortField; import org.apache.doris.nereids.analyzer.UnboundFunction; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.trees.expressions.Expression; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/ConnectorTransactionDefaultsTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/ConnectorTransactionDefaultsTest.java index af0f3b34c493a2..90d48d4563fa68 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/ConnectorTransactionDefaultsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/ConnectorTransactionDefaultsTest.java @@ -17,9 +17,9 @@ package org.apache.doris.connector.fake; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.RewriteCapableTransaction; -import org.apache.doris.connector.api.handle.WriteBlockAllocatingConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.RewriteCapableTransaction; +import org.apache.doris.connector.spi.handle.WriteBlockAllocatingConnectorTransaction; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPlugin.java b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPlugin.java index 1cf144f4a4d457..5faf7c9a3f6ac5 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPlugin.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPlugin.java @@ -17,11 +17,11 @@ package org.apache.doris.connector.fake; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import java.util.Collections; import java.util.Map; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPluginTest.java b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPluginTest.java index bf2187ee201cdd..5915363727aad0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPluginTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connector/fake/FakeConnectorPluginTest.java @@ -17,14 +17,14 @@ package org.apache.doris.connector.fake; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderA.java b/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderA.java index 3e1dba8e3333c5..30a718ed60a7b9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderA.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderA.java @@ -18,7 +18,7 @@ package org.apache.doris.connectorconf.testplugins; import org.apache.doris.connector.ConfProbeSink; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderB.java b/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderB.java index c77d6b9a265496..ea82ea0d6b5252 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderB.java +++ b/fe/fe-core/src/test/java/org/apache/doris/connectorconf/testplugins/ConfProbeConnectorProviderB.java @@ -18,7 +18,7 @@ package org.apache.doris.connectorconf.testplugins; import org.apache.doris.connector.ConfProbeSink; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogFactoryPluginRoutingTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogFactoryPluginRoutingTest.java index 77c63cd3c71d16..7fd68249309618 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogFactoryPluginRoutingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogFactoryPluginRoutingTest.java @@ -21,11 +21,11 @@ import org.apache.doris.common.FeConstants; import org.apache.doris.connector.ConnectorFactory; import org.apache.doris.connector.ConnectorPluginManager; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.log.CatalogLog; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.nereids.trees.plans.commands.CreateCatalogCommand; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalDatabaseSessionContextTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalDatabaseSessionContextTest.java index 33687741266c4c..ece97c60979410 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalDatabaseSessionContextTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/ExternalDatabaseSessionContextTest.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.MysqlDb; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalDatabase; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverClassLoaderTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverClassLoaderTest.java index 62bea2f87f54fd..78949286f7452d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverClassLoaderTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverClassLoaderTest.java @@ -20,11 +20,11 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.RefreshManager; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.event.ConnectorEventSource; -import org.apache.doris.connector.api.event.EventPollResult; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor.Op; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.event.ConnectorEventSource; +import org.apache.doris.connector.spi.event.EventPollResult; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor.Op; import org.apache.doris.datasource.log.CatalogLog; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.persist.EditLog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverRenameTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverRenameTest.java index 96f7cb0993ea96..82f82d10245a9c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverRenameTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverRenameTest.java @@ -19,9 +19,9 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor; -import org.apache.doris.connector.api.event.MetastoreChangeDescriptor.Op; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor; +import org.apache.doris.connector.spi.event.MetastoreChangeDescriptor.Op; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverSeedingTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverSeedingTest.java index abac904622b3ac..bff60bf4b49f87 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverSeedingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/MetastoreEventSyncDriverSeedingTest.java @@ -19,11 +19,11 @@ import org.apache.doris.connector.ConnectorFactory; import org.apache.doris.connector.ConnectorPluginManager; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import com.google.common.collect.Maps; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/PluginDrivenSysTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/PluginDrivenSysTableTest.java index 31bbdcc55a0e18..d164ccf3a97b14 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/PluginDrivenSysTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/PluginDrivenSysTableTest.java @@ -18,14 +18,14 @@ package org.apache.doris.datasource; import org.apache.doris.catalog.TableIf.TableType; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenSysExternalTable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverterTest.java index e9d1e4d2f9177e..5509487d84474d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorBranchTagConverterTest.java @@ -23,9 +23,9 @@ import org.apache.doris.catalog.info.DropBranchInfo; import org.apache.doris.catalog.info.DropTagInfo; import org.apache.doris.catalog.info.TagOptions; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.TagChange; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.TagChange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverterTest.java index a55475793595a0..272e0f7557ec7e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorColumnConverterTest.java @@ -26,8 +26,8 @@ import org.apache.doris.catalog.StructField; import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.Type; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorType; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorType; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverterTest.java index 359f7dc150f63e..c9611d9dd31a77 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorExpressionToNereidsConverterTest.java @@ -17,13 +17,13 @@ package org.apache.doris.datasource.connector.converter; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.And; import org.apache.doris.nereids.trees.expressions.EqualTo; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverterTest.java index edd228af679f4e..5dd62e73bdb94f 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/ConnectorPartitionFieldConverterTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.connector.converter; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; import org.apache.doris.nereids.trees.plans.commands.info.AddPartitionFieldOp; import org.apache.doris.nereids.trees.plans.commands.info.DropPartitionFieldOp; import org.apache.doris.nereids.trees.plans.commands.info.ReplacePartitionFieldOp; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverterTest.java index 303f9cd4855016..3d2e9e96eead7d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/NereidsToConnectorExpressionConverterTest.java @@ -20,16 +20,16 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorNot; -import org.apache.doris.connector.api.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorNot; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; import org.apache.doris.nereids.trees.expressions.And; import org.apache.doris.nereids.trees.expressions.Between; import org.apache.doris.nereids.trees.expressions.Cast; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverterTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverterTest.java index b232827ada9e1a..777082486f6061 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/UnboundExpressionToConnectorPredicateConverterTest.java @@ -20,16 +20,16 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorBetween; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorIn; -import org.apache.doris.connector.api.pushdown.ConnectorIsNull; -import org.apache.doris.connector.api.pushdown.ConnectorLiteral; -import org.apache.doris.connector.api.pushdown.ConnectorOr; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorBetween; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorIn; +import org.apache.doris.connector.spi.pushdown.ConnectorIsNull; +import org.apache.doris.connector.spi.pushdown.ConnectorLiteral; +import org.apache.doris.connector.spi.pushdown.ConnectorOr; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.nereids.analyzer.UnboundSlot; import org.apache.doris.nereids.trees.expressions.And; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractorTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractorTest.java index 1d47ae5ac4eb02..1e65f3a5f03477 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/connector/converter/WriteConstraintExtractorTest.java @@ -20,11 +20,11 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.pushdown.ConnectorAnd; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.pushdown.ConnectorAnd; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.nereids.trees.expressions.EqualTo; import org.apache.doris.nereids.trees.expressions.Expression; import org.apache.doris.nereids.trees.expressions.GreaterThan; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTableTest.java index d8f6f1f6178484..dca9738771d194 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/mvcc/PluginDrivenMvccExternalTableTest.java @@ -27,21 +27,21 @@ import org.apache.doris.catalog.RangePartitionItem; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartition; -import org.apache.doris.connector.api.mvcc.ConnectorMvccPartitionView; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorTableFreshness; -import org.apache.doris.connector.api.mvcc.ConnectorTimeTravelSpec; -import org.apache.doris.connector.api.scan.ConnectorPartitionValues; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartition; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccPartitionView; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorTableFreshness; +import org.apache.doris.connector.spi.mvcc.ConnectorTimeTravelSpec; +import org.apache.doris.connector.spi.scan.ConnectorPartitionValues; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/CatalogStatementTransactionTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/CatalogStatementTransactionTest.java index 385f43c2caced9..9f8e02ddd918af 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/CatalogStatementTransactionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/CatalogStatementTransactionTest.java @@ -17,10 +17,10 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorWriteOps; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorWriteOps; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; import org.apache.doris.transaction.PluginDrivenTransactionManager; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogCacheTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogCacheTest.java index 997d388e5a51cb..6dbec036d60add 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogCacheTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogCacheTest.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.catalog.Env; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.ExternalMetaCacheMgr; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogConcurrencyTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogConcurrencyTest.java index f0f11d42f385dd..05aefdba0de089 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogConcurrencyTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogConcurrencyTest.java @@ -17,9 +17,9 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; import org.apache.doris.datasource.SessionContext; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogDdlRoutingTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogDdlRoutingTest.java index 8667b265e3bbfc..23f9ce814c12b7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogDdlRoutingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogDdlRoutingTest.java @@ -33,20 +33,20 @@ import org.apache.doris.common.DdlException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.ddl.BranchChange; -import org.apache.doris.connector.api.ddl.ConnectorColumnPosition; -import org.apache.doris.connector.api.ddl.ConnectorCreateTableRequest; -import org.apache.doris.connector.api.ddl.DropRefChange; -import org.apache.doris.connector.api.ddl.PartitionFieldChange; -import org.apache.doris.connector.api.ddl.TagChange; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; import org.apache.doris.connector.ddl.CreateTableInfoToConnectorRequestConverter; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.ddl.BranchChange; +import org.apache.doris.connector.spi.ddl.ConnectorColumnPosition; +import org.apache.doris.connector.spi.ddl.ConnectorCreateTableRequest; +import org.apache.doris.connector.spi.ddl.DropRefChange; +import org.apache.doris.connector.spi.ddl.PartitionFieldChange; +import org.apache.doris.connector.spi.ddl.TagChange; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.log.ExternalObjectLog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogErrorMsgTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogErrorMsgTest.java index 363010da4a1a15..273ff719226d58 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogErrorMsgTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogErrorMsgTest.java @@ -17,9 +17,9 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogIdentityTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogIdentityTest.java index 9cb314ef18ab84..22a7ed8a72f498 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogIdentityTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogIdentityTest.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.common.util.Util; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogSessionBypassTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogSessionBypassTest.java index 04b1eaf3ce0435..6d1d587be3060d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogSessionBypassTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogSessionBypassTest.java @@ -17,8 +17,8 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.datasource.DelegatedCredential; import org.apache.doris.datasource.SessionContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogViewListingTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogViewListingTest.java index 38b8e44457c872..e09173109f1fee 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogViewListingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalCatalogViewListingTest.java @@ -17,10 +17,10 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabaseTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabaseTest.java index d1b3390b553f61..e665f080b31042 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabaseTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalDatabaseTest.java @@ -17,11 +17,11 @@ package org.apache.doris.datasource.plugin; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorDatabaseMetadata; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorDatabaseMetadata; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.apache.doris.datasource.ExternalCatalog; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableColumnStatTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableColumnStatTest.java index 901a9f11474ec9..f881e78262747c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableColumnStatTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableColumnStatTest.java @@ -19,7 +19,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Type; -import org.apache.doris.connector.api.ConnectorColumnStatistics; +import org.apache.doris.connector.spi.ConnectorColumnStatistics; import org.apache.doris.statistics.ColumnStatistic; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableEngineTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableEngineTest.java index 18350100effa77..67f872d27250c7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableEngineTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableEngineTest.java @@ -22,15 +22,15 @@ import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.connector.ConnectorFactory; import org.apache.doris.connector.ConnectorPluginManager; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.SessionContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTablePartitionTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTablePartitionTest.java index 82fe28985d8d78..29c7b1f5cb5917 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTablePartitionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTablePartitionTest.java @@ -22,15 +22,15 @@ import org.apache.doris.catalog.PartitionItem; import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.PrimitiveType; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.SessionContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableRowCountTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableRowCountTest.java index f9e6e234fc98bd..c17ecbeababe8d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableRowCountTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableRowCountTest.java @@ -20,12 +20,12 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableStatistics; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableStatistics; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.SessionContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableTest.java index f95e3e93168f49..cba83a9862a9a4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenExternalTableTest.java @@ -20,22 +20,22 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorTableSchema; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.ConnectorViewDefinition; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorExpression; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorTableSchema; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.ConnectorViewDefinition; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorExpression; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SchemaCacheValue; import org.apache.doris.datasource.mvcc.MvccSnapshot; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMetadataTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMetadataTest.java index 99bf828099a042..19ea2ce66e9c2d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMetadataTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMetadataTest.java @@ -18,10 +18,10 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.connector.ConnectorStatementScopeImpl; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMvccTableFactoryTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMvccTableFactoryTest.java index 72c6411b8a6de7..a317e0006aa473 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMvccTableFactoryTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenMvccTableFactoryTest.java @@ -18,8 +18,8 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.mvcc.PluginDrivenMvccExternalTable; import org.apache.doris.persist.gson.GsonUtils; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableScanPinTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableScanPinTest.java index ced280b139e436..4d543b8376210c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableScanPinTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableScanPinTest.java @@ -19,7 +19,7 @@ import org.apache.doris.analysis.TableScanParams; import org.apache.doris.analysis.TableSnapshot; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.doris.datasource.ExternalCatalog; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.mvcc.MvccSnapshot; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableTest.java index aa2d0d229fe3f7..e3761a349ce220 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/plugin/PluginDrivenSysExternalTableTest.java @@ -18,8 +18,8 @@ package org.apache.doris.datasource.plugin; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeBatchModeTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeBatchModeTest.java index 7f445db40336eb..ba546ecda19c5d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeBatchModeTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeBatchModeTest.java @@ -21,8 +21,8 @@ import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.PartitionItem; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.doris.nereids.trees.plans.logical.LogicalFileScan.SelectedPartitions; import org.apache.doris.qe.SessionVariable; import org.apache.doris.thrift.TPushAggOp; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeClassifyColumnTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeClassifyColumnTest.java index 1868a491bdba72..7705e6712f77c5 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeClassifyColumnTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeClassifyColumnTest.java @@ -19,7 +19,7 @@ import org.apache.doris.analysis.SlotDescriptor; import org.apache.doris.catalog.Column; -import org.apache.doris.connector.api.scan.ConnectorColumnCategory; +import org.apache.doris.connector.spi.scan.ConnectorColumnCategory; import org.apache.doris.thrift.TColumnCategory; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeColumnPruningTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeColumnPruningTest.java index b3de3b882d399f..4f7c8cbe9ca6c3 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeColumnPruningTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeColumnPruningTest.java @@ -23,8 +23,8 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.TableIf; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.handle.ConnectorColumnHandle; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.handle.ConnectorColumnHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeDeleteFilesTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeDeleteFilesTest.java index ac7f6c71654592..f580903d07bdad 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeDeleteFilesTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeDeleteFilesTest.java @@ -18,8 +18,8 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.apache.doris.thrift.TFileRangeDesc; import org.apache.doris.thrift.TTableFormatFileDesc; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeExplainStatsTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeExplainStatsTest.java index ad60f505e19bfd..2db596c689323d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeExplainStatsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeExplainStatsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.scan; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeFileCacheAdmissionTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeFileCacheAdmissionTest.java index a56bc5b6b7cef6..347955ab3fcf4d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeFileCacheAdmissionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeFileCacheAdmissionTest.java @@ -18,9 +18,9 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMustReadColumnsTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMustReadColumnsTest.java index a5ff8203b9fe73..20f79a1e50b065 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMustReadColumnsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMustReadColumnsTest.java @@ -18,10 +18,10 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import com.google.common.collect.ImmutableSet; import org.junit.jupiter.api.Assertions; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMvccPinTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMvccPinTest.java index 6e01038f9f2311..6ae90a0d3531cb 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMvccPinTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeMvccPinTest.java @@ -17,10 +17,10 @@ package org.apache.doris.datasource.scan; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; import org.apache.doris.datasource.mvcc.MvccSnapshot; import org.apache.doris.datasource.mvcc.PluginDrivenMvccSnapshot; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodePushdownFactsTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodePushdownFactsTest.java index 21d6cafa73bd6f..65aaced74d75a0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodePushdownFactsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodePushdownFactsTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.scan; -import org.apache.doris.connector.api.scan.ScanNodePropertyKeys; +import org.apache.doris.connector.spi.scan.ScanNodePropertyKeys; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeReadTxnReleaseTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeReadTxnReleaseTest.java index a0d09639931215..9ffed1ff67c2fe 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeReadTxnReleaseTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeReadTxnReleaseTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.scan; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeRewriteFileScopePinTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeRewriteFileScopePinTest.java index b58f725543b0f1..4e886b1a9f2f32 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeRewriteFileScopePinTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeRewriteFileScopePinTest.java @@ -17,9 +17,9 @@ package org.apache.doris.datasource.scan; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProfileTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProfileTest.java index b4fed76badbd29..49f22484a9e033 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProfileTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProfileTest.java @@ -18,7 +18,7 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.profile.RuntimeProfile; -import org.apache.doris.connector.api.scan.ConnectorScanProfile; +import org.apache.doris.connector.spi.scan.ConnectorScanProfile; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProviderSelectionTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProviderSelectionTest.java index ef2c02c847229b..7701b4e9c85e0a 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProviderSelectionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeScanProviderSelectionTest.java @@ -18,9 +18,9 @@ package org.apache.doris.datasource.scan; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.scan.ConnectorScanPlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.scan.ConnectorScanPlanProvider; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeSysHandleTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeSysHandleTest.java index 333e7229b8db7d..6004ad6b8b84f0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeSysHandleTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeSysHandleTest.java @@ -20,11 +20,11 @@ import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.analysis.TupleId; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SessionContext; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeVerboseExplainTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeVerboseExplainTest.java index bdce7d3e3ae97c..8146d902224d8c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeVerboseExplainTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/scan/PluginDrivenScanNodeVerboseExplainTest.java @@ -27,7 +27,7 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.catalog.Type; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.datasource.CatalogIf; import org.apache.doris.thrift.TExplainLevel; import org.apache.doris.thrift.TPushAggOp; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitPartitionValuesTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitPartitionValuesTest.java index 0aa18bf0f55d82..2deb928f853a7e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitPartitionValuesTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitPartitionValuesTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.split; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitWeightTest.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitWeightTest.java index 73334b0c32ff33..633162dbf7738a 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitWeightTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/split/PluginDrivenSplitWeightTest.java @@ -17,7 +17,7 @@ package org.apache.doris.datasource.split; -import org.apache.doris.connector.api.scan.ConnectorScanRange; +import org.apache.doris.connector.spi.scan.ConnectorScanRange; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/fe/fe-core/src/test/java/org/apache/doris/datasource/upgrade/RecordingConnectorProvider.java b/fe/fe-core/src/test/java/org/apache/doris/datasource/upgrade/RecordingConnectorProvider.java index 9eff7254a4b450..2e7c37d6d337d3 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/datasource/upgrade/RecordingConnectorProvider.java +++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/upgrade/RecordingConnectorProvider.java @@ -19,11 +19,11 @@ import org.apache.doris.connector.ConnectorFactory; import org.apache.doris.connector.ConnectorPluginManager; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; +import org.apache.doris.connector.spi.ConnectorMetadata; import org.apache.doris.connector.spi.ConnectorProvider; +import org.apache.doris.connector.spi.ConnectorSession; import java.util.ArrayList; import java.util.HashMap; @@ -34,7 +34,7 @@ /** * A connector provider that records what it was asked to build. * - *

fe-core depends only on {@code fe-connector-api} and {@code fe-connector-spi}, so no real connector is + *

fe-core depends only on {@code fe-connector-spi}, so no real connector is * on the unit-test classpath and every catalog would otherwise land in the degraded arm of * {@code CatalogFactory}. Registering a recorder instead buys the strongest statement a fe-core test can * make about a migrated catalog: the right provider was chosen, and the properties that reach it are diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreatorTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreatorTest.java index 9fb3b1eaaabacd..6e089f6de8d69a 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreatorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/analyzer/UnboundTableSinkCreatorTest.java @@ -19,9 +19,9 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.CatalogMgr; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.nereids.trees.expressions.Alias; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorAdmissionGateTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorAdmissionGateTest.java index dbaf7e296d113b..1b1b1f06d858e5 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorAdmissionGateTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorAdmissionGateTest.java @@ -20,13 +20,13 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.exceptions.AnalysisException; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorIcebergRowLevelDmlTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorIcebergRowLevelDmlTest.java index a829f03a7d0715..b18d613d13cb99 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorIcebergRowLevelDmlTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslatorIcebergRowLevelDmlTest.java @@ -26,16 +26,16 @@ import org.apache.doris.catalog.StructType; import org.apache.doris.catalog.Type; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.mvcc.ConnectorMvccSnapshot; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.mvcc.ConnectorMvccSnapshot; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.mvcc.MvccUtil; import org.apache.doris.datasource.mvcc.PluginDrivenMvccSnapshot; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransformTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransformTest.java index ce6acf86d2667b..064e2ecd08ef9a 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransformTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/IcebergRowLevelDmlTransformTest.java @@ -20,15 +20,15 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.TableIf; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtilsTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtilsTest.java index e9c7967b1bfd3c..04542cbcf12760 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtilsTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/RowLevelDmlRowIdUtilsTest.java @@ -19,7 +19,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.exceptions.AnalysisException; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommandPluginDrivenTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommandPluginDrivenTest.java index 25ae3b28ecc1aa..c4854c4f997eed 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommandPluginDrivenTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommandPluginDrivenTest.java @@ -20,13 +20,13 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.info.TableNameInfo; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorCapability; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorPartitionInfo; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorCapability; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorPartitionInfo; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteActionTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteActionTest.java index 83a108792dbefc..ddac9d33d939a2 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteActionTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorExecuteActionTest.java @@ -27,20 +27,20 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.DdlException; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ProcedureExecutionMode; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorComparison; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ProcedureExecutionMode; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorComparison; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalDatabase; import org.apache.doris.datasource.SessionContext; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriverTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriverTest.java index 2ec1be416b2031..3e1d488bf0bd66 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriverTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/execute/ConnectorRewriteDriverTest.java @@ -18,18 +18,18 @@ package org.apache.doris.nereids.trees.plans.commands.execute; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorType; -import org.apache.doris.connector.api.DorisConnectorException; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.procedure.ConnectorProcedureOps; -import org.apache.doris.connector.api.procedure.ConnectorProcedureResult; -import org.apache.doris.connector.api.procedure.ConnectorRewriteGroup; -import org.apache.doris.connector.api.procedure.ConnectorRewriteStatistics; -import org.apache.doris.connector.api.pushdown.ConnectorColumnRef; -import org.apache.doris.connector.api.pushdown.ConnectorPredicate; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorType; +import org.apache.doris.connector.spi.DorisConnectorException; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureOps; +import org.apache.doris.connector.spi.procedure.ConnectorProcedureResult; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteGroup; +import org.apache.doris.connector.spi.procedure.ConnectorRewriteStatistics; +import org.apache.doris.connector.spi.pushdown.ConnectorColumnRef; +import org.apache.doris.connector.spi.pushdown.ConnectorPredicate; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.qe.ConnectContext; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommandTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommandTest.java index cb68a0155c2218..1753f155c1838d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommandTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommandTest.java @@ -19,7 +19,7 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.handle.WriteOperation; +import org.apache.doris.connector.spi.handle.WriteOperation; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutorTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutorTest.java index 9cc5f9561a35f6..86569395c902c9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/commands/insert/PluginDrivenInsertExecutorTest.java @@ -21,14 +21,14 @@ import org.apache.doris.common.UserException; import org.apache.doris.common.jmockit.Deencapsulation; import org.apache.doris.connector.ConnectorSessionBuilder; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorWriteOps; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.NoOpConnectorTransaction; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorWriteOps; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.NoOpConnectorTransaction; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.planner.PluginDrivenTableSink; import org.apache.doris.thrift.TDataSink; diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSinkTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSinkTest.java index ea06463d5b4f3e..c108a61084ff34 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSinkTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/trees/plans/physical/PhysicalExternalRowLevelMergeSinkTest.java @@ -20,14 +20,14 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.jmockit.Deencapsulation; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.write.ConnectorWritePartitionField; -import org.apache.doris.connector.api.write.ConnectorWritePartitionSpec; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionField; +import org.apache.doris.connector.spi.write.ConnectorWritePartitionSpec; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.properties.DistributionSpecMerge; diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkBindingTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkBindingTest.java index 154bedf4e446f4..5d8f4f28052a1b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkBindingTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkBindingTest.java @@ -19,11 +19,11 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.connector.ConnectorSessionBuilder; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.nereids.trees.plans.commands.insert.PluginDrivenInsertCommandContext; import org.apache.doris.thrift.TDataSink; diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkTest.java index a74d87b35829b3..b91a71b62ce111 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/PluginDrivenTableSinkTest.java @@ -18,13 +18,13 @@ package org.apache.doris.planner; import org.apache.doris.common.AnalysisException; -import org.apache.doris.connector.api.ConnectorColumn; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; -import org.apache.doris.connector.api.handle.ConnectorWriteHandle; -import org.apache.doris.connector.api.handle.WriteOperation; -import org.apache.doris.connector.api.write.ConnectorSinkPlan; -import org.apache.doris.connector.api.write.ConnectorWritePlanProvider; +import org.apache.doris.connector.spi.ConnectorColumn; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.handle.ConnectorWriteHandle; +import org.apache.doris.connector.spi.handle.WriteOperation; +import org.apache.doris.connector.spi.write.ConnectorSinkPlan; +import org.apache.doris.connector.spi.write.ConnectorWritePlanProvider; import org.apache.doris.datasource.plugin.PluginDrivenExternalTable; import org.apache.doris.nereids.trees.plans.commands.insert.PluginDrivenInsertCommandContext; import org.apache.doris.thrift.TDataSink; diff --git a/fe/fe-core/src/test/java/org/apache/doris/pluginapiversion/testplugins/VersionProbeConnectorProvider.java b/fe/fe-core/src/test/java/org/apache/doris/pluginapiversion/testplugins/VersionProbeConnectorProvider.java index 4034e12bbab57c..01d23f8def4e3c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/pluginapiversion/testplugins/VersionProbeConnectorProvider.java +++ b/fe/fe-core/src/test/java/org/apache/doris/pluginapiversion/testplugins/VersionProbeConnectorProvider.java @@ -17,7 +17,7 @@ package org.apache.doris.pluginapiversion.testplugins; -import org.apache.doris.connector.api.Connector; +import org.apache.doris.connector.spi.Connector; import org.apache.doris.connector.spi.ConnectorContext; import org.apache.doris.connector.spi.ConnectorProvider; diff --git a/fe/fe-core/src/test/java/org/apache/doris/tablefunction/MetadataGeneratorPluginDrivenTest.java b/fe/fe-core/src/test/java/org/apache/doris/tablefunction/MetadataGeneratorPluginDrivenTest.java index 2af2683bccc5fe..cae9e954ef4ea8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/tablefunction/MetadataGeneratorPluginDrivenTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/tablefunction/MetadataGeneratorPluginDrivenTest.java @@ -17,11 +17,11 @@ package org.apache.doris.tablefunction; -import org.apache.doris.connector.api.Connector; -import org.apache.doris.connector.api.ConnectorMetadata; -import org.apache.doris.connector.api.ConnectorSession; -import org.apache.doris.connector.api.ConnectorStatementScope; -import org.apache.doris.connector.api.handle.ConnectorTableHandle; +import org.apache.doris.connector.spi.Connector; +import org.apache.doris.connector.spi.ConnectorMetadata; +import org.apache.doris.connector.spi.ConnectorSession; +import org.apache.doris.connector.spi.ConnectorStatementScope; +import org.apache.doris.connector.spi.handle.ConnectorTableHandle; import org.apache.doris.datasource.ExternalTable; import org.apache.doris.datasource.plugin.PluginDrivenExternalCatalog; import org.apache.doris.thrift.TFetchSchemaTableDataResult; diff --git a/fe/fe-core/src/test/java/org/apache/doris/transaction/PluginDrivenTransactionManagerTest.java b/fe/fe-core/src/test/java/org/apache/doris/transaction/PluginDrivenTransactionManagerTest.java index 4e97921282dfcf..c8016e7e42e7b5 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/transaction/PluginDrivenTransactionManagerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/transaction/PluginDrivenTransactionManagerTest.java @@ -19,8 +19,8 @@ import org.apache.doris.catalog.Env; import org.apache.doris.common.UserException; -import org.apache.doris.connector.api.handle.ConnectorTransaction; -import org.apache.doris.connector.api.handle.WriteBlockAllocatingConnectorTransaction; +import org.apache.doris.connector.spi.handle.ConnectorTransaction; +import org.apache.doris.connector.spi.handle.WriteBlockAllocatingConnectorTransaction; import org.junit.Assert; import org.junit.Test; diff --git a/fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ChildFirstClassLoader.java b/fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ChildFirstClassLoader.java index e677adb12f2cb2..7d86a423205a43 100644 --- a/fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ChildFirstClassLoader.java +++ b/fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ChildFirstClassLoader.java @@ -48,7 +48,7 @@ public class ChildFirstClassLoader extends URLClassLoader { packages.add("org.slf4j."); packages.add("org.apache.logging."); packages.add("org.apache.doris.extension.spi."); - packages.add("org.apache.doris.connector.api."); + packages.add("org.apache.doris.connector.spi."); DEFAULT_PARENT_FIRST_PACKAGES = Collections.unmodifiableList(packages); }

Safe direction per use
UseDropping a conjunct meansCorrect behavior
Scan pushdown ({@link org.apache.doris.connector.api.ConnectorPushdownOps#applyFilter}, + *
Scan pushdown ({@link org.apache.doris.connector.spi.ConnectorPushdownOps#applyFilter}, * {@code ConnectorScanPlanProvider.planScan})the filter widens; BE re-evaluates and covers itdropping allowed, narrowing forbidden
Write-time conflict detection - * ({@link org.apache.doris.connector.api.handle.ConnectorTransaction#applyWriteConstraint})conflict detection widens, i.e. gets more conservativedropping allowed
{@code ALTER TABLE ... EXECUTE ... WHERE} rewrite scoping