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]