org.apache.calcite.rex.RexLiteral.isNullLiteral()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.4k)|赞(0)|评价(0)|浏览(134)

本文整理了Java中org.apache.calcite.rex.RexLiteral.isNullLiteral方法的一些代码示例,展示了RexLiteral.isNullLiteral的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexLiteral.isNullLiteral方法的具体详情如下:
包路径:org.apache.calcite.rex.RexLiteral
类名称:RexLiteral
方法名:isNullLiteral

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));

相关文章