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 <[email protected]>
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();
}