You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by ja...@apache.org on 2014/04/20 03:18:29 UTC
[21/51] [abbrv] git commit: bit agg functions
bit agg functions
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/8e2b9505
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/8e2b9505
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/8e2b9505
Branch: refs/heads/master
Commit: 8e2b95057d9e46cc7cfed699eb93c47c386f2e6b
Parents: d91a01a
Author: Steven Phillips <sp...@maprtech.com>
Authored: Wed Apr 2 15:01:29 2014 -0700
Committer: Jacques Nadeau <ja...@apache.org>
Committed: Sat Apr 19 18:07:10 2014 -0700
----------------------------------------------------------------------
exec/java-exec/src/main/codegen/data/AggrTypes1.tdd | 13 ++++++++++++-
.../java/org/apache/drill/exec/vector/BitVector.java | 12 ++++++++++++
2 files changed, 24 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/8e2b9505/exec/java-exec/src/main/codegen/data/AggrTypes1.tdd
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/codegen/data/AggrTypes1.tdd b/exec/java-exec/src/main/codegen/data/AggrTypes1.tdd
index ac5d6eb..e0a1c11 100644
--- a/exec/java-exec/src/main/codegen/data/AggrTypes1.tdd
+++ b/exec/java-exec/src/main/codegen/data/AggrTypes1.tdd
@@ -17,10 +17,12 @@
{
aggrtypes: [
{className: "Min", funcName: "min", types: [
+ {inputType: "Bit", outputType: "Bit", runningType: "Bit"},
{inputType: "Int", outputType: "Int", runningType: "Int"},
{inputType: "BigInt", outputType: "BigInt", runningType: "BigInt"},
+ {inputType: "NullableBit", outputType: "Bit", runningType: "Bit"},
{inputType: "NullableInt", outputType: "Int", runningType: "Int"},
- {inputType: "NullableBigInt", outputType: "BigInt", runningType: "BigInt"},
+ {inputType: "NullableBigInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "Float4", outputType: "Float4", runningType: "Float4"},
{inputType: "Float8", outputType: "Float8", runningType: "Float8"},
{inputType: "NullableFloat4", outputType: "Float4", runningType: "Float4"},
@@ -28,8 +30,11 @@
]
},
{className: "Max", funcName: "max", types: [
+ {inputType: "Bit", outputType: "Bit", runningType: "Bit"},
{inputType: "Int", outputType: "Int", runningType: "Int"},
{inputType: "BigInt", outputType: "BigInt", runningType: "BigInt"},
+ {inputType: "NullableBit", outputType: "Bit", runningType: "Bit"},
+ {inputType: "NullableInt", outputType: "Int", runningType: "Int"},
{inputType: "NullableInt", outputType: "Int", runningType: "Int"},
{inputType: "NullableBigInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "Float4", outputType: "Float4", runningType: "Float4"},
@@ -39,8 +44,11 @@
]
},
{className: "Sum", funcName: "sum", types: [
+ {inputType: "Bit", outputType: "Bit", runningType: "Bit"},
{inputType: "Int", outputType: "BigInt", runningType: "BigInt"},
{inputType: "BigInt", outputType: "BigInt", runningType: "BigInt"},
+ {inputType: "NullableBit", outputType: "Bit", runningType: "Bit"},
+ {inputType: "NullableInt", outputType: "Int", runningType: "Int"},
{inputType: "NullableInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "NullableBigInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "Float4", outputType: "Float8", runningType: "Float8"},
@@ -50,8 +58,11 @@
]
},
{className: "Count", funcName: "count", types: [
+ {inputType: "Bit", outputType: "Bit", runningType: "Bit"},
{inputType: "Int", outputType: "BigInt", runningType: "BigInt"},
{inputType: "BigInt", outputType: "BigInt", runningType: "BigInt"},
+ {inputType: "NullableBit", outputType: "Bit", runningType: "Bit"},
+ {inputType: "NullableInt", outputType: "Int", runningType: "Int"},
{inputType: "NullableInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "NullableBigInt", outputType: "BigInt", runningType: "BigInt"},
{inputType: "Float4", outputType: "BigInt", runningType: "BigInt"},
http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/8e2b9505/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BitVector.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BitVector.java b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BitVector.java
index 1b4c3da..619fdad 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BitVector.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/vector/BitVector.java
@@ -242,6 +242,18 @@ public final class BitVector extends BaseDataValueVector implements FixedWidthVe
return true;
}
+ public boolean setSafe(int index, BitHolder holder) {
+ if(index >= getValueCapacity()) return false;
+ set(index, holder.value);
+ return true;
+ }
+
+ public boolean setSafe(int index, NullableBitHolder holder) {
+ if(index >= getValueCapacity()) return false;
+ set(index, holder.value);
+ return true;
+ }
+
public final void setValueCount(int valueCount) {
BitVector.this.valueCount = valueCount;
data.writerIndex(getSizeFromCount(valueCount));