[45/67] [abbrv] hive git commit: HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)

2018-06-18 Thread sershe
HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim 
Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3a6ad266
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3a6ad266
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3a6ad266

Branch: refs/heads/master-txnstats
Commit: 3a6ad2661e5fdd3e6ce8b8f7ee5a35ddb3bd2c47
Parents: 6a16a71
Author: Slim Bouguerra 
Authored: Mon Jun 18 07:54:44 2018 -0700
Committer: Jesus Camacho Rodriguez 
Committed: Mon Jun 18 07:54:44 2018 -0700

--
 .../ql/parse/DruidSqlOperatorConverter.java | 35 ++--
 .../clientpositive/druid/druidmini_test1.q.out  |  2 +-
 2 files changed, 34 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hive/blob/3a6ad266/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
--
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
index 4db0714..6aa98c0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.parse;
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import org.apache.calcite.adapter.druid.DirectOperatorConversion;
 import org.apache.calcite.adapter.druid.DruidExpressions;
@@ -51,6 +52,7 @@ import org.joda.time.Period;
 
 import javax.annotation.Nullable;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
 
@@ -87,9 +89,9 @@ public class DruidSqlOperatorConverter {
   druidOperatorMap
   .put(SqlStdOperatorTable.SUBSTRING, new 
DruidSqlOperatorConverter.DruidSubstringOperatorConversion());
   druidOperatorMap
-  .put(SqlStdOperatorTable.IS_NULL, new 
UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
+  .put(SqlStdOperatorTable.IS_NULL, new 
UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
   druidOperatorMap.put(SqlStdOperatorTable.IS_NOT_NULL,
-  new UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
+  new UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
   );
   druidOperatorMap.put(HiveTruncSqlOperator.INSTANCE, new 
DruidDateTruncOperatorConversion());
   druidOperatorMap.put(HiveToDateSqlOperator.INSTANCE, new 
DruidToDateOperatorConversion());
@@ -346,4 +348,33 @@ public class DruidSqlOperatorConverter {
 );
   }
 
+  public static class UnaryFunctionOperatorConversion implements 
org.apache.calcite.adapter.druid.DruidSqlOperatorConverter {
+
+private final SqlOperator operator;
+private final String druidOperator;
+
+public UnaryFunctionOperatorConversion(SqlOperator operator, String 
druidOperator) {
+  this.operator = operator;
+  this.druidOperator = druidOperator;
+}
+
+@Override public SqlOperator calciteOperator() {
+  return operator;
+}
+
+@Override public String toDruidExpression(RexNode rexNode, RelDataType 
rowType,
+DruidQuery druidQuery) {
+  final RexCall call = (RexCall) rexNode;
+
+  final List druidExpressions = 
DruidExpressions.toDruidExpressions(
+  druidQuery, rowType,
+  call.getOperands());
+
+  if (druidExpressions == null) {
+return null;
+  }
+
+  return DruidQuery.format("%s(%s)", druidOperator, 
Iterables.getOnlyElement(druidExpressions));
+}
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/3a6ad266/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
--
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
index 89da36a..4e078aa 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
@@ -814,7 +814,7 @@ STAGE PLANS:
   properties:
 druid.fieldNames vc,vc0
 druid.fieldTypes boolean,boolean
-druid.query.json 
{"queryType":"scan","dataSource":"default.druid_table_n3","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"(\"cstring1\"
 

hive git commit: HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)

2018-06-18 Thread jcamacho
Repository: hive
Updated Branches:
  refs/heads/branch-3 9d80c2d6a -> a2c08792a


HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim 
Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a2c08792
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a2c08792
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a2c08792

Branch: refs/heads/branch-3
Commit: a2c08792a6ee44adc09f8392ad24f5f3a791b696
Parents: 9d80c2d
Author: Slim Bouguerra 
Authored: Mon Jun 18 07:54:44 2018 -0700
Committer: Jesus Camacho Rodriguez 
Committed: Mon Jun 18 07:55:14 2018 -0700

--
 .../ql/parse/DruidSqlOperatorConverter.java | 35 ++--
 .../clientpositive/druid/druidmini_test1.q.out  |  2 +-
 2 files changed, 34 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hive/blob/a2c08792/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
--
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
index 4db0714..6aa98c0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.parse;
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import org.apache.calcite.adapter.druid.DirectOperatorConversion;
 import org.apache.calcite.adapter.druid.DruidExpressions;
@@ -51,6 +52,7 @@ import org.joda.time.Period;
 
 import javax.annotation.Nullable;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
 
@@ -87,9 +89,9 @@ public class DruidSqlOperatorConverter {
   druidOperatorMap
   .put(SqlStdOperatorTable.SUBSTRING, new 
DruidSqlOperatorConverter.DruidSubstringOperatorConversion());
   druidOperatorMap
-  .put(SqlStdOperatorTable.IS_NULL, new 
UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
+  .put(SqlStdOperatorTable.IS_NULL, new 
UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
   druidOperatorMap.put(SqlStdOperatorTable.IS_NOT_NULL,
-  new UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
+  new UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
   );
   druidOperatorMap.put(HiveTruncSqlOperator.INSTANCE, new 
DruidDateTruncOperatorConversion());
   druidOperatorMap.put(HiveToDateSqlOperator.INSTANCE, new 
DruidToDateOperatorConversion());
@@ -346,4 +348,33 @@ public class DruidSqlOperatorConverter {
 );
   }
 
+  public static class UnaryFunctionOperatorConversion implements 
org.apache.calcite.adapter.druid.DruidSqlOperatorConverter {
+
+private final SqlOperator operator;
+private final String druidOperator;
+
+public UnaryFunctionOperatorConversion(SqlOperator operator, String 
druidOperator) {
+  this.operator = operator;
+  this.druidOperator = druidOperator;
+}
+
+@Override public SqlOperator calciteOperator() {
+  return operator;
+}
+
+@Override public String toDruidExpression(RexNode rexNode, RelDataType 
rowType,
+DruidQuery druidQuery) {
+  final RexCall call = (RexCall) rexNode;
+
+  final List druidExpressions = 
DruidExpressions.toDruidExpressions(
+  druidQuery, rowType,
+  call.getOperands());
+
+  if (druidExpressions == null) {
+return null;
+  }
+
+  return DruidQuery.format("%s(%s)", druidOperator, 
Iterables.getOnlyElement(druidExpressions));
+}
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/a2c08792/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
--
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
index 89da36a..4e078aa 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
@@ -814,7 +814,7 @@ STAGE PLANS:
   properties:
 druid.fieldNames vc,vc0
 druid.fieldTypes boolean,boolean
-druid.query.json 

hive git commit: HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)

2018-06-18 Thread jcamacho
Repository: hive
Updated Branches:
  refs/heads/master 6a16a71ce -> 3a6ad2661


HIVE-19923: Follow up of HIVE-19615, use UnaryFunction instead of prefix (Slim 
Bouguerra, reviewed by Nishant Bangarwa, Ashutosh Chauhan)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/3a6ad266
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/3a6ad266
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/3a6ad266

Branch: refs/heads/master
Commit: 3a6ad2661e5fdd3e6ce8b8f7ee5a35ddb3bd2c47
Parents: 6a16a71
Author: Slim Bouguerra 
Authored: Mon Jun 18 07:54:44 2018 -0700
Committer: Jesus Camacho Rodriguez 
Committed: Mon Jun 18 07:54:44 2018 -0700

--
 .../ql/parse/DruidSqlOperatorConverter.java | 35 ++--
 .../clientpositive/druid/druidmini_test1.q.out  |  2 +-
 2 files changed, 34 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hive/blob/3a6ad266/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
--
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java 
b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
index 4db0714..6aa98c0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/DruidSqlOperatorConverter.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hive.ql.parse;
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import org.apache.calcite.adapter.druid.DirectOperatorConversion;
 import org.apache.calcite.adapter.druid.DruidExpressions;
@@ -51,6 +52,7 @@ import org.joda.time.Period;
 
 import javax.annotation.Nullable;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.TimeZone;
 
@@ -87,9 +89,9 @@ public class DruidSqlOperatorConverter {
   druidOperatorMap
   .put(SqlStdOperatorTable.SUBSTRING, new 
DruidSqlOperatorConverter.DruidSubstringOperatorConversion());
   druidOperatorMap
-  .put(SqlStdOperatorTable.IS_NULL, new 
UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
+  .put(SqlStdOperatorTable.IS_NULL, new 
UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NULL, "isnull"));
   druidOperatorMap.put(SqlStdOperatorTable.IS_NOT_NULL,
-  new UnarySuffixOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
+  new UnaryFunctionOperatorConversion(SqlStdOperatorTable.IS_NOT_NULL, 
"notnull")
   );
   druidOperatorMap.put(HiveTruncSqlOperator.INSTANCE, new 
DruidDateTruncOperatorConversion());
   druidOperatorMap.put(HiveToDateSqlOperator.INSTANCE, new 
DruidToDateOperatorConversion());
@@ -346,4 +348,33 @@ public class DruidSqlOperatorConverter {
 );
   }
 
+  public static class UnaryFunctionOperatorConversion implements 
org.apache.calcite.adapter.druid.DruidSqlOperatorConverter {
+
+private final SqlOperator operator;
+private final String druidOperator;
+
+public UnaryFunctionOperatorConversion(SqlOperator operator, String 
druidOperator) {
+  this.operator = operator;
+  this.druidOperator = druidOperator;
+}
+
+@Override public SqlOperator calciteOperator() {
+  return operator;
+}
+
+@Override public String toDruidExpression(RexNode rexNode, RelDataType 
rowType,
+DruidQuery druidQuery) {
+  final RexCall call = (RexCall) rexNode;
+
+  final List druidExpressions = 
DruidExpressions.toDruidExpressions(
+  druidQuery, rowType,
+  call.getOperands());
+
+  if (druidExpressions == null) {
+return null;
+  }
+
+  return DruidQuery.format("%s(%s)", druidOperator, 
Iterables.getOnlyElement(druidExpressions));
+}
+  }
 }

http://git-wip-us.apache.org/repos/asf/hive/blob/3a6ad266/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
--
diff --git a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out 
b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
index 89da36a..4e078aa 100644
--- a/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
+++ b/ql/src/test/results/clientpositive/druid/druidmini_test1.q.out
@@ -814,7 +814,7 @@ STAGE PLANS:
   properties:
 druid.fieldNames vc,vc0
 druid.fieldTypes boolean,boolean
-druid.query.json