You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ma...@apache.org on 2017/03/17 18:11:24 UTC
phoenix git commit: PHOENIX-3743 Add Row-Value-Constructor support
Repository: phoenix
Updated Branches:
refs/heads/calcite db78bd6fd -> cc9115cb0
PHOENIX-3743 Add Row-Value-Constructor support
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/cc9115cb
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/cc9115cb
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/cc9115cb
Branch: refs/heads/calcite
Commit: cc9115cb07e35a7f7587a17715e77a12efffe984
Parents: db78bd6
Author: maryannxue <ma...@gmail.com>
Authored: Fri Mar 17 11:11:18 2017 -0700
Committer: maryannxue <ma...@gmail.com>
Committed: Fri Mar 17 11:11:18 2017 -0700
----------------------------------------------------------------------
.../org/apache/phoenix/calcite/CalciteUtils.java | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/cc9115cb/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
index d37306a..0b098f0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
@@ -88,6 +88,7 @@ import org.apache.phoenix.expression.ModulusExpression;
import org.apache.phoenix.expression.NotExpression;
import org.apache.phoenix.expression.OrExpression;
import org.apache.phoenix.expression.ReinterpretCastExpression;
+import org.apache.phoenix.expression.RowValueConstructorExpression;
import org.apache.phoenix.expression.StringBasedLikeExpression;
import org.apache.phoenix.expression.TimestampAddExpression;
import org.apache.phoenix.expression.TimestampSubtractExpression;
@@ -719,6 +720,22 @@ public class CalciteUtils {
}
});
+ EXPRESSION_MAP.put(SqlKind.ROW, new ExpressionFactory() {
+
+ @Override
+ public Expression newExpression(RexNode node, PhoenixRelImplementor implementor) {
+ List<Expression> children = convertChildren((RexCall) node, implementor);
+ boolean isConstant = true;
+ for (Expression child : children) {
+ if (!child.isStateless()) {
+ isConstant = false;
+ break;
+ }
+ }
+ return new RowValueConstructorExpression(children, isConstant);
+ }
+
+ });
EXPRESSION_MAP.put(SqlKind.INPUT_REF, new ExpressionFactory() {
@Override