Repository: hive Updated Branches: refs/heads/branch-2.1 8e979fcbd -> 29f48b7c6 refs/heads/master 7363d400a -> 7e0d18828
HIVE-14034 : Vectorization may fail with compex OR conditions (Sergey Shelukhin, reviewed by Matt McCline) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/7e0d1882 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/7e0d1882 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/7e0d1882 Branch: refs/heads/master Commit: 7e0d18828dc82bff047877ca79ce3ceb23e7b861 Parents: 7363d40 Author: Sergey Shelukhin <[email protected]> Authored: Fri Jun 17 11:55:38 2016 -0700 Committer: Sergey Shelukhin <[email protected]> Committed: Fri Jun 17 11:55:38 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java | 3 +++ .../apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java | 3 +++ 2 files changed, 6 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/7e0d1882/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java index 560de6f..980899c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColAndCol.java @@ -244,8 +244,10 @@ public class ColAndCol extends VectorExpression { */ boolean saveSelectedInUse = batch.selectedInUse; int[] saveSelected = sel; + int saveSize = batch.size; batch.selectedInUse = true; batch.selected = andSelected; + batch.size = andSel; VectorExpression ve = childExpressions[childExpressionIndex]; Preconditions.checkState(ve.getOutputColumn() == colNums[colNum]); @@ -253,6 +255,7 @@ public class ColAndCol extends VectorExpression { batch.selectedInUse = saveSelectedInUse; batch.selected = saveSelected; + batch.size = saveSize; } } } http://git-wip-us.apache.org/repos/asf/hive/blob/7e0d1882/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java index 2c84edb..d0b7fcf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ColOrCol.java @@ -266,8 +266,10 @@ public class ColOrCol extends VectorExpression { */ boolean saveSelectedInUse = batch.selectedInUse; int[] saveSelected = sel; + int saveSize = batch.size; batch.selectedInUse = true; batch.selected = orSelected; + batch.size = orSel; VectorExpression ve = childExpressions[childExpressionIndex]; Preconditions.checkState(ve.getOutputColumn() == colNums[colNum]); @@ -275,6 +277,7 @@ public class ColOrCol extends VectorExpression { batch.selectedInUse = saveSelectedInUse; batch.selected = saveSelected; + batch.size = saveSize; } } }
