diff --git a/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java b/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java index c8dd5090294..b425227f19f 100644 --- a/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java +++ b/core/src/main/java/org/apache/calcite/rel/rules/ReduceDecimalsRule.java @@ -939,7 +939,8 @@ private RexNode expandTimes(RexCall call, List operands) { // a lower scale, then the number should be scaled down. int divisor = scaleA + scaleB - call.getType().getScale(); - if (builder.getTypeFactory().useDoubleMultiplication( + if (builder.getTypeFactory().getTypeSystem().shouldUseDoubleMultiplication( + builder.getTypeFactory(), typeA, typeB)) { // Approximate implementation: diff --git a/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java b/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java index 9a0f32d843a..3763d19140d 100644 --- a/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java +++ b/core/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.java @@ -39,7 +39,6 @@ import org.apache.calcite.sql.SqlKind; import org.apache.calcite.sql.fun.SqlQuantifyOperator; import org.apache.calcite.sql.fun.SqlStdOperatorTable; -import org.apache.calcite.sql.type.SqlTypeName; import org.apache.calcite.sql2rel.RelDecorrelator; import org.apache.calcite.tools.RelBuilder; import org.apache.calcite.tools.RelBuilderFactory; @@ -198,7 +197,7 @@ private RexNode rewriteSome(RexSubQuery e, Set variablesSet, builder.field("q", "m"))), builder.literal(true), builder .call(SqlStdOperatorTable.GREATER_THAN, builder.field("q", "c"), builder.field("q", "d")), - e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN), builder + builder.getRexBuilder().constantNull(), builder .call(RelOptUtil.op(op.comparisonKind, null), e.operands.get(0), builder.field("q", "m"))); } else { @@ -241,7 +240,7 @@ private RexNode rewriteSome(RexSubQuery e, Set variablesSet, builder.field("q", "m"))), builder.literal(true), builder .call(SqlStdOperatorTable.GREATER_THAN, builder.field("q", "c"), builder.field("q", "d")), - e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN), builder + builder.getRexBuilder().constantNull(), builder .call(RelOptUtil.op(op.comparisonKind, null), e.operands.get(0), builder.field("q", "m"))); } diff --git a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java index b8af869b835..a559b8d658f 100644 --- a/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java +++ b/core/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.java @@ -460,6 +460,7 @@ private List fieldsOf(Class clazz) { * {@link RelDataTypeSystem#deriveDecimalMultiplyType(RelDataTypeFactory, RelDataType, RelDataType)} * to get the return type for the operation. */ + @Deprecated public RelDataType createDecimalProduct( RelDataType type1, RelDataType type2) { @@ -471,6 +472,7 @@ public RelDataType createDecimalProduct( * {@link RelDataTypeSystem#shouldUseDoubleMultiplication(RelDataTypeFactory, RelDataType, RelDataType)} * to get if double should be used for multiplication. */ + @Deprecated public boolean useDoubleMultiplication( RelDataType type1, RelDataType type2) { @@ -482,6 +484,7 @@ public boolean useDoubleMultiplication( * {@link RelDataTypeSystem#deriveDecimalDivideType(RelDataTypeFactory, RelDataType, RelDataType)} * to get the return type for the operation. */ + @Deprecated public RelDataType createDecimalQuotient( RelDataType type1, RelDataType type2) { diff --git a/pom.xml b/pom.xml index b18109b4091..f6791d2370c 100644 --- a/pom.xml +++ b/pom.xml @@ -745,7 +745,10 @@ limitations under the License. - -Xlint:deprecation + + -Xlint:deprecation + -Werror +