private RexNode simplify(RexNode e) { final RexSimplify simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, RexUtil.EXECUTOR) .withParanoid(true); return simplify.simplifyUnknownAs(e, RexUnknownAs.UNKNOWN); }
private RexNode verify(RexNode before, RexUnknownAs unknownAs, Function<RexSimplify, RexNode> simplifier) { final RexNode simplified = simplifier.apply(withParanoid(false)); if (!paranoid) { return simplified;
private RexNode simplify(RexNode e) { final RexSimplify simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, RexUtil.EXECUTOR) .withParanoid(true); return simplify.simplifyUnknownAs(e, RexUnknownAs.UNKNOWN); }
private RexNode verify(RexNode before, RexUnknownAs unknownAs, Function<RexSimplify, RexNode> simplifier) { final RexNode simplified = simplifier.apply(withParanoid(false)); if (!paranoid) { return simplified;
/** Tests a CASE condition that contains division, */ @Test public void testSimplifyCaseDiv2() { // FIXME: RexInterpreter currently evaluates children beforehand. simplify = simplify.withParanoid(false); RexNode caseNode = case_( eq(vIntNotNull(), literal(0)), trueLiteral, gt(div(literal(3), vIntNotNull()), literal(1)), trueLiteral, falseLiteral); checkSimplifyUnchanged(caseNode); }
@Test public void testSimplifyCaseCompactionDiv() { // FIXME: RexInterpreter currently evaluates children beforehand. simplify = simplify.withParanoid(false); RexNode caseNode = case_(vBool(0), vInt(0), eq(div(literal(3), vIntNotNull()), literal(11)), vInt(0), vInt(1)); // expectation here is that the 2 branches are not merged. checkSimplifyUnchanged(caseNode); }
/** Tests a CASE value branch that contains division. */ @Test public void testSimplifyCaseDiv1() { // FIXME: RexInterpreter currently evaluates children beforehand. simplify = simplify.withParanoid(false); RexNode caseNode = case_( ne(vIntNotNull(), literal(0)), eq(div(literal(3), vIntNotNull()), literal(11)), falseLiteral); checkSimplifyUnchanged(caseNode); }
public void setUp() { typeFactory = new JavaTypeFactoryImpl(RelDataTypeSystem.DEFAULT); rexBuilder = new RexBuilder(typeFactory); executor = new RexExecutorImpl(new DummyTestDataContext()); simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, executor) .withParanoid(true); trueLiteral = rexBuilder.makeLiteral(true); falseLiteral = rexBuilder.makeLiteral(false); nonNullableInt = typeFactory.createSqlType(SqlTypeName.INTEGER); nullableInt = typeFactory.createTypeWithNullability(nonNullableInt, true); nullInt = rexBuilder.makeNullLiteral(nullableInt); nonNullableBool = typeFactory.createSqlType(SqlTypeName.BOOLEAN); nullableBool = typeFactory.createTypeWithNullability(nonNullableBool, true); nullBool = rexBuilder.makeNullLiteral(nullableBool); nonNullableVarchar = typeFactory.createSqlType(SqlTypeName.VARCHAR); nullableVarchar = typeFactory.createTypeWithNullability(nonNullableVarchar, true); nullVarchar = rexBuilder.makeNullLiteral(nullableVarchar); }
public void setUp() { typeFactory = new JavaTypeFactoryImpl(RelDataTypeSystem.DEFAULT); rexBuilder = new RexBuilder(typeFactory); executor = new RexExecutorImpl(new DummyTestDataContext()); simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, executor) .withParanoid(true); trueLiteral = rexBuilder.makeLiteral(true); falseLiteral = rexBuilder.makeLiteral(false); nonNullableInt = typeFactory.createSqlType(SqlTypeName.INTEGER); nullableInt = typeFactory.createTypeWithNullability(nonNullableInt, true); nullInt = rexBuilder.makeNullLiteral(nullableInt); nonNullableBool = typeFactory.createSqlType(SqlTypeName.BOOLEAN); nullableBool = typeFactory.createTypeWithNullability(nonNullableBool, true); nullBool = rexBuilder.makeNullLiteral(nullableBool); nonNullableVarchar = typeFactory.createSqlType(SqlTypeName.VARCHAR); nullableVarchar = typeFactory.createTypeWithNullability(nonNullableVarchar, true); nullVarchar = rexBuilder.makeNullLiteral(nullableVarchar); }
simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, executor) .withParanoid(true); checker = new RexImplicationChecker(rexBuilder, executor, rowType);
simplify = new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, executor) .withParanoid(true); checker = new RexImplicationChecker(rexBuilder, executor, rowType);