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

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

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

RexLiteral.stringValue介绍

暂无

代码示例

代码示例来源:origin: apache/incubator-druid

@Nullable
 @Override
 public DimFilter toDruidFilter(
   PlannerContext plannerContext,
   RowSignature rowSignature,
   RexNode rexNode
 )
 {
  final List<RexNode> operands = ((RexCall) rexNode).getOperands();
  final DruidExpression druidExpression = Expressions.toDruidExpression(
    plannerContext,
    rowSignature,
    operands.get(0)
  );
  if (druidExpression == null || !druidExpression.isSimpleExtraction()) {
   return null;
  }
  return new LikeDimFilter(
    druidExpression.getSimpleExtraction().getColumn(),
    RexLiteral.stringValue(operands.get(1)),
    operands.size() > 2 ? RexLiteral.stringValue(operands.get(2)) : null,
    druidExpression.getSimpleExtraction().getExtractionFn()
  );
 }
}

代码示例来源:origin: apache/incubator-druid

&& (operands.size() <= 3 || operands.get(3).isA(SqlKind.LITERAL))) {
final Period period = new Period(RexLiteral.stringValue(operands.get(1)));
final DateTime origin =
  operands.size() > 2 && !RexLiteral.isNullLiteral(operands.get(2))
final DateTimeZone timeZone =
  operands.size() > 3 && !RexLiteral.isNullLiteral(operands.get(3))
  ? DateTimes.inferTzFromString(RexLiteral.stringValue(operands.get(3)))
  : plannerContext.getTimeZone();
final PeriodGranularity granularity = new PeriodGranularity(period, origin, timeZone);

代码示例来源: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

? 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

String base64EncodedBloomKFilter = RexLiteral.stringValue(operands.get(1));
final byte[] decoded = StringUtils.decodeBase64String(base64EncodedBloomKFilter);
BloomKFilter filter;

代码示例来源:origin: apache/incubator-druid

val = String.valueOf(RexLiteral.value(rhsLiteral));
} else if (SqlTypeName.CHAR_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.stringValue(rhsLiteral));
} else if (SqlTypeName.TIMESTAMP == rhsLiteral.getTypeName() || SqlTypeName.DATE == rhsLiteral.getTypeName()) {
 val = String.valueOf(

代码示例来源:origin: apache/incubator-druid

return DruidExpression.fromExpression(DruidExpression.numberLiteral(months));
} else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) {
 return DruidExpression.fromExpression(DruidExpression.stringLiteral(RexLiteral.stringValue(rexNode)));
} else if (SqlTypeName.TIMESTAMP == sqlTypeName || SqlTypeName.DATE == sqlTypeName) {
 if (RexLiteral.isNullLiteral(rexNode)) {

代码示例来源:origin: Qihoo360/Quicksql

String stringValue() {
 return RexLiteral.stringValue(literal);
}

代码示例来源:origin: dremio/dremio-oss

public String stringValue() {
 return RexLiteral.stringValue(literal);
}

代码示例来源:origin: Qihoo360/Quicksql

private NamedFieldExpression(RexLiteral literal) {
 this.name = literal == null ? null : RexLiteral.stringValue(literal);
}

代码示例来源:origin: Qihoo360/Quicksql

@SuppressWarnings("deprecation")
@Override public String getStringLiteralOperand(int ordinal) {
 return RexLiteral.stringValue(operands.get(ordinal));
}

代码示例来源:origin: org.apache.calcite/calcite-core

@SuppressWarnings("deprecation")
@Override public String getStringLiteralOperand(int ordinal) {
 return RexLiteral.stringValue(operands.get(ordinal));
}

代码示例来源:origin: org.apache.calcite/calcite-core

int registerExpression(RexNode node) {
 switch (node.getKind()) {
 case AS:
  final List<RexNode> operands = ((RexCall) node).operands;
  int i = registerExpression(operands.get(0));
  names.set(i, RexLiteral.stringValue(operands.get(1)));
  return i;
 }
 int i = extraNodes.indexOf(node);
 if (i < 0) {
  i = extraNodes.size();
  extraNodes.add(node);
  names.add(null);
 }
 return i;
}

代码示例来源:origin: Qihoo360/Quicksql

int registerExpression(RexNode node) {
 switch (node.getKind()) {
 case AS:
  final List<RexNode> operands = ((RexCall) node).operands;
  int i = registerExpression(operands.get(0));
  names.set(i, RexLiteral.stringValue(operands.get(1)));
  return i;
 }
 int i = extraNodes.indexOf(node);
 if (i < 0) {
  i = extraNodes.size();
  extraNodes.add(node);
  names.add(null);
 }
 return i;
}

代码示例来源:origin: Qihoo360/Quicksql

@Override public SqlNode toSql(RexProgram program, RexNode rex) {
  if (rex.getKind() == SqlKind.LITERAL) {
   final RexLiteral literal = (RexLiteral) rex;
   if (literal.getTypeName().getFamily() == SqlTypeFamily.CHARACTER) {
    return new SqlIdentifier(RexLiteral.stringValue(literal), POS);
   }
  }
  return super.toSql(program, rex);
 }
}

代码示例来源:origin: org.apache.calcite/calcite-core

@Override public SqlNode toSql(RexProgram program, RexNode rex) {
  if (rex.getKind() == SqlKind.LITERAL) {
   final RexLiteral literal = (RexLiteral) rex;
   if (literal.getTypeName().getFamily() == SqlTypeFamily.CHARACTER) {
    return new SqlIdentifier(RexLiteral.stringValue(literal), POS);
   }
  }
  return super.toSql(program, rex);
 }
}

代码示例来源:origin: org.apache.drill.exec/drill-java-exec

private static PathSegment convertLiteral(RexLiteral literal) {
 switch (literal.getType().getSqlTypeName()) {
  case CHAR:
   return new PathSegment.NameSegment(RexLiteral.stringValue(literal));
  case INTEGER:
   return new PathSegment.ArraySegment(RexLiteral.intValue(literal));
  default:
   return null;
 }
}

代码示例来源:origin: dremio/dremio-oss

private PathSegment convertLiteral(RexLiteral literal) {
 switch (literal.getType().getSqlTypeName().getFamily()) {
 case CHARACTER:
  return new NameSegment(RexLiteral.stringValue(literal));
 case NUMERIC:
  return new ArraySegment(RexLiteral.intValue(literal));
 default:
  return null;
 }
}

代码示例来源:origin: dremio/dremio-oss

Object value() {
 if (isIntegral()) {
  return longValue();
 } else if (isFloatingPoint()) {
  return doubleValue();
 } else if (isBoolean()) {
  return booleanValue();
 } else if (isString()) {
  return RexLiteral.stringValue(literal);
 } else {
  return rawValue();
 }
}

代码示例来源:origin: Qihoo360/Quicksql

Object value() {
 if (isIntegral()) {
  return longValue();
 } else if (isFloatingPoint()) {
  return doubleValue();
 } else if (isBoolean()) {
  return booleanValue();
 } else if (isString()) {
  return RexLiteral.stringValue(literal);
 } else {
  return rawValue();
 }
}

相关文章