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


##########
fe/fe-core/src/main/java/org/apache/doris/planner/MaterializationNode.java:
##########
@@ -123,7 +167,7 @@ public String getNodeExplainString(String detailPrefix, 
TExplainLevel detailLeve
         }
         
output.append(detailPrefix).append("column_descs_lists").append(lazyColumns).append("\n");
         output.append(detailPrefix).append("locations: 
").append(locations).append("\n");
-        output.append(detailPrefix).append("table_idxs: 
").append(idxs).append("\n");
+        output.append(detailPrefix).append("column_idxs_Lists: 
").append(columnIdxsLists).append("\n");
         output.append(detailPrefix).append("row_ids: 
").append(rowIds).append("\n");

Review Comment:
   Nit: Inconsistent casing — `"column_idxs_Lists: "` has a capital 'L' in 
`Lists`, but the surrounding explain keys use lowercase snake_case (e.g., 
`"column_descs_lists"`, `"locations: "`, `"row_ids: "`). Should this be 
`"column_idxs_lists: "` for consistency?



##########
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalLazyMaterialize.java:
##########
@@ -61,11 +61,44 @@ public class PhysicalLazyMaterialize<CHILD_TYPE extends 
Plan> extends PhysicalUn
 
     private final List<Slot> materializeInput;
     private final List<Slot> materializeOutput;
-    // used for BE
+    /**
+     * The following four fields are used by BE to perform the actual lazy 
fetch.
+     * They are indexed by relation: index i corresponds to relations.get(i).
+     *
+     * Example:
+     *   SQL: SELECT t1.a, t1.b, t2.c, t2.d FROM t1 JOIN t2 ON ... WHERE t1.a 
> 5
+     *   Assume t1.b and t2.d are lazily materialized (fetched after 
filtering).
+     *
+     *   materializedSlots (non-lazy, computed eagerly) = [t1.a, t2.c]
+     *   Output slot order = [t1.a(0), t2.c(1), t1.b(2), t2.d(3)]
+     *
+     *   rowIdList         = [row_id_t1, row_id_t2]
+     *                       The row-id slots passed to BE to locate the 
original rows.
+     *
+     *   relations         = [t1, t2]
+     *
+     *   lazyColumns       = [[Column(b)],          [Column(d)]]
+     *                       For each relation, the Column objects to be 
lazily fetched.
+     *
+    *   lazyBaseColumnIndices = [[colIdxOf(b) in t1],  [colIdxOf(d) in t2]]
+     *                       For each relation, the physical column index 
inside the table

Review Comment:
   Nit: Missing a leading space before `*` — this line has `"    *"` (4 spaces) 
while all other lines in this Javadoc block use `"     *"` (5 spaces). Same 
issue in `MaterializationNode.java` line 107.



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