github-actions[bot] commented on code in PR #66223:
URL: https://github.com/apache/doris/pull/66223#discussion_r3673488991


##########
fe/be-java-extensions/paimon-scanner/src/main/java/org/apache/doris/paimon/PaimonColumnValue.java:
##########
@@ -197,11 +197,12 @@ public void unpackMap(List<ColumnValue> keys, 
List<ColumnValue> values) {
 
     @Override
     public void unpackStruct(List<Integer> structFieldIndex, List<ColumnValue> 
values) {
-        // todo: support pruned struct fields
-        InternalRow row = record.getRow(idx, structFieldIndex.size());
+        RowType rowType = (RowType) dataType;
+        // Projection entries are original child indexes, so the binary row 
must keep the full RowType arity.
+        InternalRow row = record.getRow(idx, rowType.getFieldCount());

Review Comment:
   [P2] Reproduce this through the scanner's real index list
   
   This line changes behavior only when `structFieldIndex.size()` differs from 
the full Paimon `RowType` arity, but that state is not reachable today. 
`LogicalFileScan.supportPruneNestedColumn()` excludes Paimon, both JNI paths 
therefore serialize the full Doris struct, and `VectorColumn` generates the 
full dense `[0..N-1]` list; `PaimonJniScanner` also applies only a top-level 
projection. The old size already equaled the full row arity. The new tests 
bypass this bridge by directly injecting `[2]` and `[0, 2]`, so they fail 
before the patch without reproducing a scanner request. Please wire the actual 
nested-field mapping through the JNI path and test it through 
`VectorColumn.appendValue`/the scanner boundary; as written, the advertised 
production failure is not fixed.



-- 
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