[ 
https://issues.apache.org/jira/browse/DRILL-7445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16977782#comment-16977782
 ] 

ASF GitHub Bot commented on DRILL-7445:
---------------------------------------

paul-rogers commented on pull request #1899: DRILL-7445: Create batch copier 
based on result set framework
URL: https://github.com/apache/drill/pull/1899#discussion_r348105189
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/protocol/VectorContainerAccessor.java
 ##########
 @@ -22,41 +22,83 @@
 
 import org.apache.drill.common.expression.SchemaPath;
 import org.apache.drill.exec.record.BatchSchema;
+import org.apache.drill.exec.record.RecordBatch;
 import org.apache.drill.exec.record.TypedFieldId;
 import org.apache.drill.exec.record.VectorContainer;
 import org.apache.drill.exec.record.VectorWrapper;
 import org.apache.drill.exec.record.WritableBatch;
 import org.apache.drill.exec.record.selection.SelectionVector2;
 import org.apache.drill.exec.record.selection.SelectionVector4;
+import org.apache.drill.shaded.guava.com.google.common.base.Preconditions;
 
 public class VectorContainerAccessor implements BatchAccessor {
 
-  public static class ContainerAndSv2Accessor extends VectorContainerAccessor {
+  public static class ExtendedContainerAccessor extends 
VectorContainerAccessor {
 
     private SelectionVector2 sv2;
+    private SelectionVector4 sv4;
+
+    public void setBatch(RecordBatch batch) {
+      addBatch(batch.getContainer());
+      switch (container.getSchema().getSelectionVectorMode()) {
+      case TWO_BYTE:
+         setSelectionVector(batch.getSelectionVector2());
+         break;
+      case FOUR_BYTE:
+         setSelectionVector(batch.getSelectionVector4());
+         break;
+       default:
+         break;
 
 Review comment:
   Removing the default case causes Eclipse to warn about missing case 
statements. In this case, the default is for the no-SV case; saves the even 
more cumbersome:
   
   ```
   case NONE:
     break;
   default:
     throw 
IllegalStateException(container.getSchema().getSelectionVectorMode());
   ```
 
----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Create batch copier based on result set framework
> -------------------------------------------------
>
>                 Key: DRILL-7445
>                 URL: https://issues.apache.org/jira/browse/DRILL-7445
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.16.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Minor
>             Fix For: 1.17.0
>
>
> The result set framework now provides both a reader and writer. Provide a 
> copier that copies batches using this framework. Such a copier can:
> * Copy selected records
> * Copy all records, such as for an SV2 or SV4



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to