diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddDoubleColumn.java index 71964c0..c584fb8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddLongColumn.java index e9f01db..d22d7cf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColAddLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideDoubleColumn.java index d122e0f..0b3e1fe 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideLongColumn.java index c9f918e..167b997 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColDivideLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyDoubleColumn.java index 290cbed..aed0408 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyLongColumn.java index 5b0d002..87f7cf5 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColMultiplyLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractDoubleColumn.java index aba47b3..15abdbd 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractLongColumn.java index ede1602..f666e19 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/DoubleColSubtractLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddDoubleColumn.java index 49281a6..cda87de 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddLongColumn.java index 6981155..b3ed12a 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColAddLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideDoubleColumn.java index 127c681..02b4120 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideLongColumn.java index adcd237..56aa421 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColDivideLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColModuloLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColModuloLongColumn.java index 10a0e2b..7f7902b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColModuloLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColModuloLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyDoubleColumn.java index 53e4343..3153305 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyLongColumn.java index bea0e0c..f137271 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColMultiplyLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractDoubleColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractDoubleColumn.java index 07c0901..0287e3c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractDoubleColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractDoubleColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractLongColumn.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractLongColumn.java index 9e9ea00..c806c67 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractLongColumn.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/LongColSubtractLongColumn.java @@ -54,6 +54,11 @@ public void evaluate(VectorizedRowBatch batch) { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticColumn.txt b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticColumn.txt index f76cb4b..0e56721 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticColumn.txt +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/templates/ColumnArithmeticColumn.txt @@ -54,6 +54,11 @@ public class extends VectorExpression { if (n == 0) { return; } + + /* Set repeating property to false (the default). + * It will be set to true later if needed later. + */ + outputColVector.isRepeating = false; //Handle nulls first if (inputColVector1.noNulls && !inputColVector2.noNulls) { diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorArithmeticExpressions.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorArithmeticExpressions.java index a918ad6..4b6af75 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorArithmeticExpressions.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorArithmeticExpressions.java @@ -140,9 +140,12 @@ public void testLongColAddLongColumn() { //Now set one column nullable lcv1.noNulls = false; lcv1.isNull[1] = true; + lcv2.isRepeating = true; // set output isRepeating to true to make sure it gets over-written + lcv2.noNulls = true; // similarly with noNulls expr.evaluate(vrg); assertTrue(lcv2.isNull[1]); assertFalse(lcv2.noNulls); + assertFalse(lcv2.isRepeating); //Now set other column nullable too lcv0.noNulls = false;