parthchandra commented on a change in pull request #1401: DRILL-6616: Batch 
Processing for Lateral/Unnest
URL: https://github.com/apache/drill/pull/1401#discussion_r205897124
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/unnest/UnnestImpl.java
 ##########
 @@ -48,24 +51,47 @@
   private static final Logger logger = 
LoggerFactory.getLogger(UnnestImpl.class);
 
   private ImmutableList<TransferPair> transfers;
-  private LateralContract lateral; // corresponding lateral Join (or other 
operator implementing the Lateral Contract)
   private SelectionVectorMode svMode;
   private RepeatedValueVector fieldToUnnest;
   private RepeatedValueVector.RepeatedAccessor accessor;
   private RecordBatch outgoing;
 
+  private IntVector rowIdVector ; // Allocated and owned by the 
UnnestRecordBatch
+  private IntVector.Mutator rowIdVectorMutator;
+
   /**
    * The output batch limit starts at OUTPUT_ROW_COUNT, but may be decreased
    * if records are found to be large.
    */
   private int outputLimit = ValueVector.MAX_ROW_COUNT;
 
 
-  // The index in the unnest column that is being processed.We start at zero 
and continue until
+
+  /**
+   * We maintain three indexes
+   *
+   *
+   *
+                valueIndex  0         1       2   3
+                            |- - - - -|- - - -|- -|- - - -|
+                            | | | | | | | | | | | | | | | |
+                            |- - - - -|- - - -|- -|- - - -|
+           innerValueIndex  0 1 2 3 4 0 1 2 3 0 1 0 1 2 3 |
+     runningInnerValueIndex 0 1 2 3 4 5 6 7 8 9 ...
+   *
+   *
+   *
+   */
+  private int valueIndex; // index in the incoming record being processed
+  // The index in the unnest column that is being processed. We start at zero 
and continue until
   // InnerValueCount is reached or  if the batch limit is reached
   // this allows for groups to be written between batches if we run out of 
space, for cases where we have finished
   // a batch on the boundary it will be set to 0
 
 Review comment:
   Sure. That's why I did the picture. It's so much easier than saying it in 
words. :)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to