Skip to content

Commit

Permalink
fix: using deprecated calcite cast method
Browse files Browse the repository at this point in the history
Signed-off-by: mbwhite <whitemat@uk.ibm.com>
  • Loading branch information
mbwhite committed Mar 15, 2024
1 parent f54ed40 commit 9063134
Show file tree
Hide file tree
Showing 7 changed files with 9 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -407,10 +407,6 @@ public static Expression.WindowFunctionInvocation windowFunction(
.build();
}

public static Expression cast(Type type, Expression expression) {
return cast(type, expression, Expression.FailureBehavior.UNSPECIFIED);
}

public static Expression cast(
Type type, Expression expression, Expression.FailureBehavior failureBehavior) {
return Expression.Cast.builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import io.substrait.isthmus.AggregateFunctions;
import io.substrait.isthmus.SubstraitRelVisitor;
import io.substrait.isthmus.TypeConverter;
import io.substrait.isthmus.expression.FunctionConverter.GenericCall;
import io.substrait.type.Type;
import java.util.Collections;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.substrait.expression.AbstractExpressionVisitor;
import io.substrait.expression.EnumArg;
import io.substrait.expression.Expression;
import io.substrait.expression.Expression.FailureBehavior;
import io.substrait.expression.Expression.SingleOrList;
import io.substrait.expression.Expression.Switch;
import io.substrait.expression.FieldReference;
Expand Down Expand Up @@ -478,8 +479,10 @@ private String convert(FunctionArg a) {

@Override
public RexNode visit(Expression.Cast expr) throws RuntimeException {

var safeCast = expr.failureBehavior() == FailureBehavior.RETURN_NULL;
return rexBuilder.makeAbstractCast(
typeConverter.toCalcite(typeFactory, expr.getType()), expr.input().accept(this));
typeConverter.toCalcite(typeFactory, expr.getType()), expr.input().accept(this), safeCast);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,7 @@ private static List<Expression> coerceArguments(List<Expression> arguments, Type
}

private static Expression coerceArgument(Expression argument, Type type) {
System.out.println("From " + argument);
var typeMatches = isMatch(type, argument.getType());
if (!typeMatches) {
return ExpressionCreator.cast(type, argument, Expression.FailureBehavior.THROW_EXCEPTION);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import io.substrait.extension.SimpleExtension;
import io.substrait.isthmus.CallConverter;
import io.substrait.isthmus.TypeConverter;
import io.substrait.isthmus.expression.FunctionConverter.GenericCall;
import io.substrait.type.Type;
import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import io.substrait.expression.WindowBound;
import io.substrait.extension.SimpleExtension;
import io.substrait.isthmus.AggregateFunctions;
import io.substrait.isthmus.expression.FunctionConverter.GenericCall;
import io.substrait.relation.ConsistentPartitionWindow;
import io.substrait.type.Type;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ public void castFailureCondition() {
b.fieldReference(input, 0),
Expression.FailureBehavior.THROW_EXCEPTION),
ExpressionCreator.cast(
R.I64, b.fieldReference(input, 0), Expression.FailureBehavior.RETURN_NULL)),
R.I32, b.fieldReference(input, 0), Expression.FailureBehavior.RETURN_NULL)),
b.remap(1, 2),
b.namedScan(List.of("test"), List.of("col1"), List.of(R.STRING)));

Expand Down

0 comments on commit 9063134

Please sign in to comment.