github-actions[bot] commented on code in PR #65127:
URL: https://github.com/apache/doris/pull/65127#discussion_r3529099387
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/load/NereidsLoadScanProvider.java:
##########
@@ -372,7 +373,12 @@ private void
fillContextExprMap(List<NereidsImportColumnDesc> columnDescList, Ne
// Use real column type for arrow/native format, other formats
read as varchar first
if (fileFormatType == TFileFormatType.FORMAT_ARROW
|| fileFormatType == TFileFormatType.FORMAT_NATIVE) {
- slotColumn = new Column(realColName,
colToType.get(realColName), true);
+ Type slotType = tblColumn == null ?
colToType.get(realColName) : tblColumn.getType();
Review Comment:
Please also update the broker-load fixed partial-update collector. This
Arrow/Native branch now lets a source field such as `ev` resolve against table
column `EV` and build the scan slot type, but the broker-load path builds
`partialUpdateInputColumns` earlier in `NereidsLoadingTaskPlanner` with
exact-case `importColumnDesc.getColumnName().equals(col.getName())`. For `LOAD
... FORMAT AS arrow COLUMNS(id, ev)` into a MoW table `(id, EV)` with fixed
partial update, the scan slot now plans, but the broker planner forwards only
`id` to `OlapTableSink`; BE then checks the set against `tablet_column.name()`
exactly and treats `EV` as missing instead of updated. The existing stream-load
thread covers the same bug in `NereidsStreamLoadPlanner`; please apply the
case-insensitive/canonical table-column resolution to the broker collector as
well.
--
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]