Gabriel39 commented on code in PR #67921:
URL: https://github.com/apache/doris/pull/67921#discussion_r4012023436
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/lance/LanceTypeConverter.java:
##########
@@ -135,24 +131,25 @@ private static Type toDorisType(Field field, boolean
allowNull) {
case LargeList:
case FixedSizeList:
requireChildren(field, 1);
- Type itemType = toDorisType(field.getChildren().get(0), false);
- return itemType.isSupported() ? new ArrayType(itemType) :
Type.UNSUPPORTED;
+ Type itemType = toDorisType(field.getChildren().get(0));
+ // Generic isSupported() rejects Null items even inside
successfully converted composites.
+ return itemType.equals(Type.UNSUPPORTED) ? Type.UNSUPPORTED :
new ArrayType(itemType);
Review Comment:
Fixed in 713052e7b4. The translator now forwards the lazy slots' original
column names to LanceScanNode before initialization. The reader compatibility
check considers both eager and deferred columns, since the second-phase take
returns to the first-phase BE. Both translator visitor entry points use the
same path, and lazy materialization remains enabled.
Added mixed-version translation tests for vector_search() and
full_text_search(). Both reproduce the missing rejection before the fix; after
the fix they reject a deferred nested Null projection on a smooth-upgrade
source, allow it on current BEs, and allow an ordinary deferred projection when
the nested Null field is unreferenced. The tests also cover an aliased output
and verify the lazy field stays out of the first-phase tuple.
Validation: 19 tests passed across the new planner tests and
LanceScanNodeTest using an isolated runner with cached dependencies; FE
Checkstyle and git diff --check passed. Full build validation remains with CI.
--
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]