You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by vo...@apache.org on 2021/08/11 06:16:21 UTC

[drill] branch master updated: DRILL-7986: Drill crashes when using the streaming connection with arrays (#2291)

This is an automated email from the ASF dual-hosted git repository.

volodymyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git


The following commit(s) were added to refs/heads/master by this push:
     new c876ca1  DRILL-7986: Drill crashes when using the streaming connection with arrays (#2291)
c876ca1 is described below

commit c876ca1da2b97f2d54cbc07ba8efcb2a93cb39af
Author: Volodymyr Vysotskyi <vv...@gmail.com>
AuthorDate: Wed Aug 11 09:16:12 2021 +0300

    DRILL-7986: Drill crashes when using the streaming connection with arrays (#2291)
---
 .../vector/accessor/reader/BaseScalarReader.java   | 36 +++-------------------
 1 file changed, 4 insertions(+), 32 deletions(-)

diff --git a/exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.java b/exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.java
index 6e76173..6c96307 100644
--- a/exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.java
+++ b/exec/vector/src/main/java/org/apache/drill/exec/vector/accessor/reader/BaseScalarReader.java
@@ -73,43 +73,20 @@ public abstract class BaseScalarReader extends AbstractScalarReader {
    */
   public interface BufferAccessor {
     DrillBuf buffer();
-    void rebind();
   }
 
-  private static class SingleVectorBufferAccessor implements BufferAccessor {
+  private static class VectorBufferAccessor implements BufferAccessor {
     private final VectorAccessor va;
-    private DrillBuf buffer;
 
-    public SingleVectorBufferAccessor(VectorAccessor va) {
+    public VectorBufferAccessor(VectorAccessor va) {
       this.va = va;
-      rebind();
-    }
-
-    @Override
-    public void rebind() {
-      BaseDataValueVector vector = va.vector();
-      buffer = vector.getBuffer();
-    }
-
-    @Override
-    public DrillBuf buffer() { return buffer; }
-  }
-
-  private static class HyperVectorBufferAccessor implements BufferAccessor {
-    private final VectorAccessor vectorAccessor;
-
-    public HyperVectorBufferAccessor(VectorAccessor va) {
-      vectorAccessor = va;
     }
 
     @Override
     public DrillBuf buffer() {
-      BaseDataValueVector vector = vectorAccessor.vector();
+      BaseDataValueVector vector = va.vector();
       return vector.getBuffer();
     }
-
-    @Override
-    public void rebind() { }
   }
 
   protected ColumnMetadata schema;
@@ -150,11 +127,7 @@ public abstract class BaseScalarReader extends AbstractScalarReader {
   }
 
   protected BufferAccessor bufferAccessor(VectorAccessor va) {
-    if (va.isHyper()) {
-      return new HyperVectorBufferAccessor(va);
-    } else {
-      return new SingleVectorBufferAccessor(va);
-    }
+    return new VectorBufferAccessor(va);
   }
 
   @Override
@@ -168,7 +141,6 @@ public abstract class BaseScalarReader extends AbstractScalarReader {
 
   @Override
   public void bindBuffer() {
-    bufferAccessor.rebind();
     nullStateReader.bindBuffer();
   }