morningman opened a new pull request, #65736:
URL: https://github.com/apache/doris/pull/65736
### What problem does this PR solve?
Issue Number: #65185
Problem Summary:
Removes four stranded pieces of fe-core datasource code left behind by the
catalog-SPI migration. No user-facing behavioral change; fe-core only shrinks
(12 files deleted, 4 edited, -2503/+50 lines).
1. **`datasource/odbc/` (`OdbcTableSink`, `OdbcScanNode`) and
`datasource/statistics/CommonStatistics`** — `@Deprecated` throw-only stubs / a
JDK-only helper with zero references. `CommonStatistics` was superseded by the
connector-side `HmsCommonStatistics`.
2. **`datasource/operations/ExternalMetadataOps` +
`transaction/AbstractExternalTransactionManager`** — fully dead.
`ExternalCatalog.metadataOps` is never assigned anywhere (always `null`), there
are zero implementations of the interface, and
`AbstractExternalTransactionManager` is never subclassed. Every DDL delegation
in `ExternalCatalog` therefore always took the `metadataOps == null` path, so
this is dead-branch elimination: master DDL methods now throw the same `"... is
not supported for catalog"` unconditionally; replay methods keep only their
plugin-cache branch. Also removed the field, `getMetadataOps()` (0 callers),
the now-unused `logRefreshExternalTable` helper, and the orphaned imports.
3. **`datasource/lakesoul/`** (deprecated; `CatalogFactory` already rejects
creating one) — removed the 6 fe-core classes + `LakeSoulPredicateTest`. Old
images / edit-logs stay loadable: the three `GsonUtils`
`registerSubtype(LakeSoulExternal*)` become
`registerCompatibleSubtype(PluginDrivenExternal*)` (matching how ES / JDBC /
HMS / Iceberg / ... were remapped), `buildDbForInit` `case LAKESOUL` now builds
a `PluginDrivenExternalDatabase`, and `PhysicalPlanTranslator` drops the
`LakeSoulExternalTable` branch. The persisted enum constants
(`InitCatalogLog`/`InitDatabaseLog.Type.LAKESOUL`,
`TableType.LAKESOUl_EXTERNAL_TABLE`, `TableFormatType.LAKESOUL`) are retained
for old-log ordinal compatibility.
Verification: `fe-core` main + test sources compile and checkstyle passes
(`mvn -pl fe-core -am test-compile` → BUILD SUCCESS).
### Release note
None
### Check List (For Author)
- Test
- [x] No need to test or manual test. Explain why:
- [x] This is a refactor/code format and no logic has been changed.
Removes dead/unreachable code; the LakeSoul old-image remap mirrors the
existing `registerCompatibleSubtype` pattern already used for the sibling
removed catalog types. Verified fe-core main + test compile and checkstyle pass.
- Behavior changed:
- [x] No.
- Does this need documentation?
- [x] No.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]