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]

Reply via email to