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();
}