Repository: phoenix Updated Branches: refs/heads/calcite 463a52a43 -> cca7daaea
PHOENIX-3690 PHOENIX-3690 Support declaring default values in Phoenix-Calcite: addendum to support new interface after CALCITE-1702(Kevin Liew) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/cca7daae Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/cca7daae Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/cca7daae Branch: refs/heads/calcite Commit: cca7daaea02b61f93f23f2ec6828c8831350b29e Parents: 463a52a Author: Rajeshbabu Chintaguntla <[email protected]> Authored: Mon Apr 3 11:21:35 2017 +0530 Committer: Rajeshbabu Chintaguntla <[email protected]> Committed: Mon Apr 3 11:21:35 2017 +0530 ---------------------------------------------------------------------- .../org/apache/phoenix/calcite/CalciteUtils.java | 4 ++-- .../org/apache/phoenix/calcite/PhoenixTable.java | 16 ++++++++-------- pom.xml | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/cca7daae/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 0b098f0..32e89a4 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 @@ -1398,7 +1398,7 @@ public class CalciteUtils { @SuppressWarnings("rawtypes") public static RexNode convertColumnExpressionToLiteral(PColumn column, - Expression defaultExpression, RelDataTypeFactory typeFactory, RexBuilder rexBuilder) { + Expression defaultExpression, RexBuilder rexBuilder) { ImmutableBytesWritable key = new ImmutableBytesWritable(); defaultExpression.evaluate(null, key); column.getDataType().coerceBytes(key, null, @@ -1412,7 +1412,7 @@ public class CalciteUtils { defaultExpression.getSortOrder(), defaultExpression.getMaxLength(), defaultExpression.getScale()); RelDataType pDataTypeToRelDataType = - CalciteUtils.pDataTypeToRelDataType(typeFactory, + CalciteUtils.pDataTypeToRelDataType(rexBuilder.getTypeFactory(), defaultExpression.getDataType(), defaultExpression.getMaxLength(), defaultExpression.getScale(), column.getArraySize()); return rexBuilder.makeLiteral((Comparable)object, pDataTypeToRelDataType,true); http://git-wip-us.apache.org/repos/asf/phoenix/blob/cca7daae/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixTable.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixTable.java b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixTable.java index 93e8be3..74d1b25 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixTable.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/PhoenixTable.java @@ -23,6 +23,7 @@ import org.apache.calcite.schema.Statistic; import org.apache.calcite.schema.TranslatableTable; import org.apache.calcite.schema.Wrapper; import org.apache.calcite.schema.impl.AbstractTable; +import org.apache.calcite.sql2rel.InitializerContext; import org.apache.calcite.sql2rel.InitializerExpressionFactory; import org.apache.calcite.sql2rel.NullInitializerExpressionFactory; import org.apache.calcite.util.ImmutableBitSet; @@ -204,31 +205,30 @@ public class PhoenixTable extends AbstractTable return null; } - public static class PhoenixTableInitializerExpressionFactory extends + static class PhoenixTableInitializerExpressionFactory extends NullInitializerExpressionFactory { - private final RelDataTypeFactory typeFactory; private final RexBuilder rexBuilder; private final PhoenixConnection pc; private final TableMapping tableMapping; - public PhoenixTableInitializerExpressionFactory(RelDataTypeFactory typeFactory, + PhoenixTableInitializerExpressionFactory(RelDataTypeFactory typeFactory, PhoenixConnection pc, TableMapping tableMapping) { - super(typeFactory); - this.typeFactory = typeFactory; + super(); this.rexBuilder = new RexBuilder(typeFactory); this.pc = pc; this.tableMapping = tableMapping; } - public RexNode newColumnDefaultValue(RelOptTable table, int iColumn) { + public RexNode newColumnDefaultValue(RelOptTable table, int iColumn, + InitializerContext context) { PColumn column = tableMapping.getMappedColumns().get(iColumn); String expressionStr = column.getExpressionStr(); if(expressionStr == null) { - return super.newColumnDefaultValue(table, iColumn); + return super.newColumnDefaultValue(table, iColumn, context); } Expression defaultExpression = CalciteUtils.parseExpressionFromStr(expressionStr, pc); return CalciteUtils.convertColumnExpressionToLiteral(column, defaultExpression, - typeFactory, rexBuilder); + rexBuilder); } } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/cca7daae/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 10487b5..95dfe12 100644 --- a/pom.xml +++ b/pom.xml @@ -99,7 +99,7 @@ <jodatime.version>1.6</jodatime.version> <joni.version>2.1.2</joni.version> <avatica.version>1.9.0</avatica.version> - <calcite.version>1.12.0-SNAPSHOT</calcite.version> + <calcite.version>1.13.0-SNAPSHOT</calcite.version> <jettyVersion>8.1.7.v20120910</jettyVersion> <tephra.version>0.9.0-incubating</tephra.version> <spark.version>2.0.2</spark.version>
