本文整理了Java中org.apache.calcite.rex.RexLiteral.isNullLiteral
方法的一些代码示例,展示了RexLiteral.isNullLiteral
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexLiteral.isNullLiteral
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexLiteral
类名称:RexLiteral
方法名:isNullLiteral
暂无
代码示例来源:origin: apache/incubator-druid
operands.size() > 2 && !RexLiteral.isNullLiteral(operands.get(2))
? Calcites.calciteDateTimeLiteralToJoda(operands.get(2), plannerContext.getTimeZone())
: null;
final DateTimeZone timeZone =
operands.size() > 3 && !RexLiteral.isNullLiteral(operands.get(3))
? DateTimes.inferTzFromString(RexLiteral.stringValue(operands.get(3)))
: plannerContext.getTimeZone();
代码示例来源:origin: apache/incubator-druid
final String pattern = call.getOperands().size() > 1 && !RexLiteral.isNullLiteral(call.getOperands().get(1))
? RexLiteral.stringValue(call.getOperands().get(1))
: "yyyy-MM-dd'T'HH:mm:ss.SSSZZ";
final DateTimeZone timeZone = call.getOperands().size() > 2 && !RexLiteral.isNullLiteral(call.getOperands().get(2))
? DateTimes.inferTzFromString(RexLiteral.stringValue(call.getOperands().get(2)))
: plannerContext.getTimeZone();
代码示例来源:origin: apache/incubator-druid
@Override
public DruidExpression toDruidExpression(
final PlannerContext plannerContext,
final RowSignature rowSignature,
final RexNode rexNode
)
{
final RexCall call = (RexCall) rexNode;
final RexNode timeArg = call.getOperands().get(0);
final DruidExpression timeExpression = Expressions.toDruidExpression(plannerContext, rowSignature, timeArg);
if (timeExpression == null) {
return null;
}
final TimestampExtractExprMacro.Unit unit = TimestampExtractExprMacro.Unit.valueOf(
StringUtils.toUpperCase(RexLiteral.stringValue(call.getOperands().get(1)))
);
final DateTimeZone timeZone = call.getOperands().size() > 2 && !RexLiteral.isNullLiteral(call.getOperands().get(2))
? DateTimes.inferTzFromString(RexLiteral.stringValue(call.getOperands().get(2)))
: plannerContext.getTimeZone();
return applyTimeExtract(timeExpression, unit, timeZone);
}
}
代码示例来源:origin: apache/incubator-druid
final boolean flip = RexLiteral.isNullLiteral(caseCall.getOperands().get(1))
&& !RexLiteral.isNullLiteral(caseCall.getOperands().get(2));
final RexNode arg1 = caseCall.getOperands().get(flip ? 2 : 1);
final RexNode arg2 = caseCall.getOperands().get(flip ? 1 : 2);
if (aggregateCall.getAggregation().getKind() == SqlKind.COUNT && RexLiteral.isNullLiteral(arg2)) {
newProjects.add(arg1);
newProjects.add(filter);
&& !RexLiteral.isNullLiteral(arg1)
&& RexLiteral.isNullLiteral(arg2)) {
aggregateCall.getName()
);
} else if (RexLiteral.isNullLiteral(arg2) /* Case A1 */
|| (aggregateCall.getAggregation().getKind() == SqlKind.SUM
&& Calcites.isIntLiteral(arg2)
代码示例来源:origin: apache/incubator-druid
if (RexLiteral.isNullLiteral(rexNode)) {
return DruidExpression.fromExpression(DruidExpression.nullLiteral());
} else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) {
return DruidExpression.fromExpression(DruidExpression.stringLiteral(RexLiteral.stringValue(rexNode)));
} else if (SqlTypeName.TIMESTAMP == sqlTypeName || SqlTypeName.DATE == sqlTypeName) {
if (RexLiteral.isNullLiteral(rexNode)) {
return DruidExpression.fromExpression(DruidExpression.nullLiteral());
} else {
代码示例来源:origin: apache/hive
if (RexLiteral.isNullLiteral(expr.e)) {
projectPullUpPredicates.add(rexBuilder.makeCall(SqlStdOperatorTable.IS_NULL,
rexBuilder.makeInputRef(project, expr.i)));
代码示例来源:origin: apache/drill
if (RexLiteral.isNullLiteral(expr.e)) {
projectPullUpPredicates.add(rexBuilder.makeCall(SqlStdOperatorTable.IS_NULL,
rexBuilder.makeInputRef(project, expr.i)));
代码示例来源:origin: org.apache.kylin/atopcalcite
private RexNode castNullLiteralIfNeeded(RexNode node, RelDataType type) {
if (!RexLiteral.isNullLiteral(node)) {
return node;
}
return rexBuilder.makeCast(type, node);
}
代码示例来源:origin: Qihoo360/Quicksql
private RexNode castNullLiteralIfNeeded(RexNode node, RelDataType type) {
if (!RexLiteral.isNullLiteral(node)) {
return node;
}
return rexBuilder.makeCast(type, node);
}
代码示例来源:origin: org.apache.calcite/calcite-core
private RexNode castNullLiteralIfNeeded(RexNode node, RelDataType type) {
if (!RexLiteral.isNullLiteral(node)) {
return node;
}
return rexBuilder.makeCast(type, node);
}
代码示例来源:origin: org.apache.flink/flink-table_2.10
private RexNode castNullLiteralIfNeeded(RexNode node, RelDataType type) {
if (!RexLiteral.isNullLiteral(node)) {
return node;
}
return rexBuilder.makeCast(type, node);
}
代码示例来源:origin: dremio/dremio-oss
private static void verifyRowType(final ImmutableList<ImmutableList<RexLiteral>> tuples, RelDataType rowType){
for (List<RexLiteral> tuple : tuples) {
assert (tuple.size() == rowType.getFieldCount());
for (Pair<RexLiteral, RelDataTypeField> pair : Pair.zip(tuple, rowType.getFieldList())) {
RexLiteral literal = pair.left;
RelDataType fieldType = pair.right.getType();
if ((!(RexLiteral.isNullLiteral(literal)))
&& (!(SqlTypeUtil.canAssignFrom(fieldType, literal.getType())))) {
throw new AssertionError("to " + fieldType + " from " + literal);
}
}
}
}
代码示例来源:origin: org.apache.druid/druid-sql
operands.size() > 2 && !RexLiteral.isNullLiteral(operands.get(2))
? Calcites.calciteDateTimeLiteralToJoda(operands.get(2), plannerContext.getTimeZone())
: null;
final DateTimeZone timeZone =
operands.size() > 3 && !RexLiteral.isNullLiteral(operands.get(3))
? DateTimes.inferTzfromString(RexLiteral.stringValue(operands.get(3)))
: plannerContext.getTimeZone();
代码示例来源:origin: org.apache.druid/druid-sql
final String pattern = call.getOperands().size() > 1 && !RexLiteral.isNullLiteral(call.getOperands().get(1))
? RexLiteral.stringValue(call.getOperands().get(1))
: "yyyy-MM-dd'T'HH:mm:ss.SSSZZ";
final DateTimeZone timeZone = call.getOperands().size() > 2 && !RexLiteral.isNullLiteral(call.getOperands().get(2))
? DateTimes.inferTzfromString(RexLiteral.stringValue(call.getOperands().get(2)))
: plannerContext.getTimeZone();
代码示例来源:origin: org.apache.calcite/calcite-core
switch (term.getKind()) {
case LITERAL:
if (RexLiteral.isNullLiteral(term)) {
if (unknownAs == FALSE) {
terms.remove(i);
代码示例来源:origin: Qihoo360/Quicksql
switch (term.getKind()) {
case LITERAL:
if (RexLiteral.isNullLiteral(term)) {
if (unknownAs == FALSE) {
terms.remove(i);
代码示例来源:origin: Qihoo360/Quicksql
/** Returns true if all tuples match rowType; otherwise, assert on
* mismatch. */
private boolean assertRowType() {
for (List<RexLiteral> tuple : tuples) {
assert tuple.size() == rowType.getFieldCount();
for (Pair<RexLiteral, RelDataTypeField> pair
: Pair.zip(tuple, rowType.getFieldList())) {
RexLiteral literal = pair.left;
RelDataType fieldType = pair.right.getType();
// TODO jvs 19-Feb-2006: strengthen this a bit. For example,
// overflow, rounding, and padding/truncation must already have
// been dealt with.
if (!RexLiteral.isNullLiteral(literal)) {
assert SqlTypeUtil.canAssignFrom(fieldType, literal.getType())
: "to " + fieldType + " from " + literal;
}
}
}
return true;
}
代码示例来源:origin: org.apache.calcite/calcite-core
/** Returns true if all tuples match rowType; otherwise, assert on
* mismatch. */
private boolean assertRowType() {
for (List<RexLiteral> tuple : tuples) {
assert tuple.size() == rowType.getFieldCount();
for (Pair<RexLiteral, RelDataTypeField> pair
: Pair.zip(tuple, rowType.getFieldList())) {
RexLiteral literal = pair.left;
RelDataType fieldType = pair.right.getType();
// TODO jvs 19-Feb-2006: strengthen this a bit. For example,
// overflow, rounding, and padding/truncation must already have
// been dealt with.
if (!RexLiteral.isNullLiteral(literal)) {
assert SqlTypeUtil.canAssignFrom(fieldType, literal.getType())
: "to " + fieldType + " from " + literal;
}
}
}
return true;
}
代码示例来源:origin: org.apache.druid/druid-sql
@Override
public DruidExpression toDruidExpression(
final PlannerContext plannerContext,
final RowSignature rowSignature,
final RexNode rexNode
)
{
final RexCall call = (RexCall) rexNode;
final RexNode timeArg = call.getOperands().get(0);
final DruidExpression timeExpression = Expressions.toDruidExpression(plannerContext, rowSignature, timeArg);
if (timeExpression == null) {
return null;
}
final TimestampExtractExprMacro.Unit unit = TimestampExtractExprMacro.Unit.valueOf(
StringUtils.toUpperCase(RexLiteral.stringValue(call.getOperands().get(1)))
);
final DateTimeZone timeZone = call.getOperands().size() > 2 && !RexLiteral.isNullLiteral(call.getOperands().get(2))
? DateTimes.inferTzfromString(RexLiteral.stringValue(call.getOperands().get(2)))
: plannerContext.getTimeZone();
return applyTimeExtract(timeExpression, unit, timeZone);
}
}
代码示例来源:origin: Qihoo360/Quicksql
case LITERAL:
if (a.getType().getSqlTypeName() == SqlTypeName.BOOLEAN
&& !RexLiteral.isNullLiteral(a)) {
return rexBuilder.makeLiteral(!RexLiteral.booleanValue(a));
内容来源于网络,如有侵权,请联系作者删除!