newChildRexNodeLst.add(cluster.getRexBuilder().makeNullLiteral( newChildRexNodeLst.get(newChildRexNodeLst.size()-1).getType()));
newChildRexNodeLst.add(cluster.getRexBuilder().makeNullLiteral( newChildRexNodeLst.get(newChildRexNodeLst.size()-1).getType().getSqlTypeName()));
case IS_NULL: conditions.put(conjCall.operands.get(0).toString(), relBuilder.getRexBuilder().makeNullLiteral( conjCall.operands.get(0).getType().getSqlTypeName()));
groupKey = groupKeyIter.next(); } else { rexNodes.add(rexBuilder.makeNullLiteral(type));
fixUpProjects.add(rexBuilder.makeInputRef(newAggregate, j++)); } else { fixUpProjects.add(rexBuilder.makeNullLiteral(aggregate.getRowType().getFieldList().get(i).getType()));
case IS_NULL: conditions.put(conjCall.operands.get(0).toString(), relBuilder.getRexBuilder().makeNullLiteral( conjCall.operands.get(0).getType().getSqlTypeName()));
literal = e.rel.getCluster().getRexBuilder().makeNullLiteral(getAggTypeForScalarSub(e)); e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN)); switch (logic) { case TRUE_FALSE_UNKNOWN: b = e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN);
@Test public void testTimeFloor() { testExpression( rexBuilder.makeCall( new TimeFloorOperatorConversion().calciteOperator(), timestampLiteral(DateTimes.of("2000-02-03T04:05:06Z")), rexBuilder.makeLiteral("PT1H") ), DruidExpression.fromExpression("timestamp_floor(949550706000,'PT1H',null,'UTC')"), DateTimes.of("2000-02-03T04:00:00").getMillis() ); testExpression( rexBuilder.makeCall( new TimeFloorOperatorConversion().calciteOperator(), inputRef("t"), rexBuilder.makeLiteral("P1D"), rexBuilder.makeNullLiteral(typeFactory.createSqlType(SqlTypeName.TIMESTAMP)), rexBuilder.makeLiteral("America/Los_Angeles") ), DruidExpression.fromExpression("timestamp_floor(\"t\",'P1D',null,'America/Los_Angeles')"), DateTimes.of("2000-02-02T08:00:00").getMillis() ); }
literal = e.rel.getCluster().getRexBuilder().makeNullLiteral(getAggTypeForScalarSub(e)); operands.add(builder.or(keyIsNulls), e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN)); switch (logic) { case TRUE_FALSE_UNKNOWN: b = e.rel.getCluster().getRexBuilder().makeNullLiteral(SqlTypeName.BOOLEAN);
rexBuilder.makeCall( new StrposOperatorConversion().calciteOperator(), rexBuilder.makeNullLiteral(typeFactory.createSqlType(SqlTypeName.VARCHAR)), rexBuilder.makeLiteral("ax") ),
/** @deprecated Use {@link #makeNullLiteral(RelDataType)} */ @Deprecated // to be removed before 2.0 public RexNode makeNullLiteral(SqlTypeName typeName, int precision) { return makeNullLiteral(typeFactory.createSqlType(typeName, precision)); }
/** @deprecated Use {@link #makeNullLiteral(RelDataType)} */ @Deprecated // to be removed before 2.0 public RexNode makeNullLiteral(SqlTypeName typeName) { return makeNullLiteral(typeFactory.createSqlType(typeName)); }
/** @deprecated Use {@link #makeNullLiteral(RelDataType)} */ @Deprecated // to be removed before 2.0 public RexNode makeNullLiteral(SqlTypeName typeName) { return makeNullLiteral(typeFactory.createSqlType(typeName)); }
protected RexNode literal(String value) { if (value == null) { return rexBuilder.makeNullLiteral(nullableVarchar); } return rexBuilder.makeLiteral(value, nonNullableVarchar, false); }
protected RexNode literal(Integer value) { if (value == null) { return rexBuilder.makeNullLiteral(nullableInt); } return literal(value.intValue()); }
/** * Creates null literal with given type. * For instance: {@code null_(tInt())} * * @param type type of required null * @return null literal of a given type */ protected RexLiteral null_(RelDataType type) { return rexBuilder.makeNullLiteral(nullable(type)); }
protected RexNode literal(Boolean value) { if (value == null) { return rexBuilder.makeNullLiteral(nullableBool); } return literal(value.booleanValue()); }
protected RexNode literal(Integer value) { if (value == null) { return rexBuilder.makeNullLiteral(nullableInt); } return literal(value.intValue()); }
protected RexNode literal(Boolean value) { if (value == null) { return rexBuilder.makeNullLiteral(nullableBool); } return literal(value.booleanValue()); }
@Test public void nullEquality(){ final RexNode node = builder.makeCall(SqlStdOperatorTable.EQUALS, builder.makeInputRef(factory.createSqlType(SqlTypeName.BIGINT), 0), builder.makeNullLiteral(SqlTypeName.BIGINT) ); FindSimpleFilters finder = new FindSimpleFilters(builder); StateHolder holder = node.accept(finder); ImmutableList<RexCall> conditions = holder.getConditions(); assertEquals(0, conditions.size()); assertTrue(holder.hasRemainingExpression()); }