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

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

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

RexLiteral.value介绍

[英]The value of this literal. Must be consistent with its type, as per #valueMatchesType. For example, you can't store an Integer value here just because you feel like it -- all numbers are represented by a BigDecimal. But since this field is private, it doesn't really matter how the values are stored.
[中]这个文本的值。根据#valueMatchesType,必须与其类型一致。例如,你不能仅仅因为喜欢就在这里存储一个整数值——所有的数字都用一个大十进制来表示。但由于这个字段是私有的,所以值的存储方式并不重要。

代码示例

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

/**
 * Translates "literal" (a TIMESTAMP or DATE literal) to milliseconds since the epoch using the provided
 * session time zone.
 *
 * @param literal  TIMESTAMP or DATE literal
 * @param timeZone session time zone
 *
 * @return milliseconds time
 */
public static DateTime calciteDateTimeLiteralToJoda(final RexNode literal, final DateTimeZone timeZone)
{
 final SqlTypeName typeName = literal.getType().getSqlTypeName();
 if (literal.getKind() != SqlKind.LITERAL || (typeName != SqlTypeName.TIMESTAMP && typeName != SqlTypeName.DATE)) {
  throw new IAE("Expected literal but got[%s]", literal.getKind());
 }
 if (typeName == SqlTypeName.TIMESTAMP) {
  final TimestampString timestampString = (TimestampString) RexLiteral.value(literal);
  return CALCITE_TIMESTAMP_PARSER.parse(timestampString.toString()).withZoneRetainFields(timeZone);
 } else if (typeName == SqlTypeName.DATE) {
  final DateString dateString = (DateString) RexLiteral.value(literal);
  return CALCITE_DATE_PARSER.parse(dateString.toString()).withZoneRetainFields(timeZone);
 } else {
  throw new IAE("Expected TIMESTAMP or DATE but got[%s]", typeName);
 }
}

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

final float probability = ((Number) RexLiteral.value(probabilityArg)).floatValue();
final int resolution;
 resolution = ((Number) RexLiteral.value(resolutionArg)).intValue();
} else {
 resolution = ApproximateHistogram.DEFAULT_HISTOGRAM_SIZE;

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

return DruidExpression.fromExpression(DruidExpression.nullLiteral());
} else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) {
 return DruidExpression.fromExpression(DruidExpression.numberLiteral((Number) RexLiteral.value(rexNode)));
} else if (SqlTypeFamily.INTERVAL_DAY_TIME == sqlTypeName.getFamily()) {
 final long milliseconds = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpression.fromExpression(DruidExpression.numberLiteral(milliseconds));
} else if (SqlTypeFamily.INTERVAL_YEAR_MONTH == sqlTypeName.getFamily()) {
 final long months = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpression.fromExpression(DruidExpression.numberLiteral(months));
} else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) {

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

final RexLiteral rhsLiteral = (RexLiteral) rhs;
if (SqlTypeName.NUMERIC_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.value(rhsLiteral));
} else if (SqlTypeName.CHAR_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.stringValue(rhsLiteral));

代码示例来源:origin: apache/drill

RelDataType lType = literal.getType();
if (RexLiteral.value(literal) == null) {
 switch (literal.getType().getSqlTypeName()) {
 case BOOLEAN:

代码示例来源:origin: apache/hive

RelDataType lType = literal.getType();
if (RexLiteral.value(literal) == null) {
 switch (literal.getType().getSqlTypeName()) {
 case BOOLEAN:

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

@Override public <T> T getOperandLiteralValue(int ordinal, Class<T> clazz) {
 final RexNode node = operands.get(ordinal);
 if (node instanceof RexLiteral) {
  return ((RexLiteral) node).getValueAs(clazz);
 }
 return clazz.cast(RexLiteral.value(node));
}

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

@Override public <T> T getOperandLiteralValue(int ordinal, Class<T> clazz) {
 final RexNode node = operands.get(ordinal);
 if (node instanceof RexLiteral) {
  return ((RexLiteral) node).getValueAs(clazz);
 }
 return clazz.cast(RexLiteral.value(node));
}

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

public RexNode visitLiteral(RexLiteral literal) {
 // Get the value as is
 return new RexLiteral(RexLiteral.value(literal), copy(literal.getType()),
   literal.getTypeName());
}

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

public RexNode visitLiteral(RexLiteral literal) {
 // Get the value as is
 return new RexLiteral(RexLiteral.value(literal), copy(literal.getType()),
   literal.getTypeName());
}

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

final RexLiteral rhsLiteral = (RexLiteral) rexNode;
if (SqlTypeName.NUMERIC_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.value(rhsLiteral));
} else if (SqlTypeName.CHAR_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.stringValue(rhsLiteral));

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

} else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) {
 return DruidExpressions.numberLiteral((Number) RexLiteral
   .value(rexNode));
} else if (SqlTypeFamily.INTERVAL_DAY_TIME == sqlTypeName.getFamily()) {
 final long milliseconds = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpressions.numberLiteral(milliseconds);
} else if (SqlTypeFamily.INTERVAL_YEAR_MONTH == sqlTypeName.getFamily()) {
 final long months = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpressions.numberLiteral(months);
} else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) {

代码示例来源:origin: org.apache.druid/druid-sql

/**
 * Translates "literal" (a TIMESTAMP or DATE literal) to milliseconds since the epoch using the provided
 * session time zone.
 *
 * @param literal  TIMESTAMP or DATE literal
 * @param timeZone session time zone
 *
 * @return milliseconds time
 */
public static DateTime calciteDateTimeLiteralToJoda(final RexNode literal, final DateTimeZone timeZone)
{
 final SqlTypeName typeName = literal.getType().getSqlTypeName();
 if (literal.getKind() != SqlKind.LITERAL || (typeName != SqlTypeName.TIMESTAMP && typeName != SqlTypeName.DATE)) {
  throw new IAE("Expected literal but got[%s]", literal.getKind());
 }
 if (typeName == SqlTypeName.TIMESTAMP) {
  final TimestampString timestampString = (TimestampString) RexLiteral.value(literal);
  return CALCITE_TIMESTAMP_PARSER.parse(timestampString.toString()).withZoneRetainFields(timeZone);
 } else if (typeName == SqlTypeName.DATE) {
  final DateString dateString = (DateString) RexLiteral.value(literal);
  return CALCITE_DATE_PARSER.parse(dateString.toString()).withZoneRetainFields(timeZone);
 } else {
  throw new IAE("Expected TIMESTAMP or DATE but got[%s]", typeName);
 }
}

代码示例来源:origin: org.apache.druid.extensions/druid-histogram

final float probability = ((Number) RexLiteral.value(probabilityArg)).floatValue();
final int resolution;
 resolution = ((Number) RexLiteral.value(resolutionArg)).intValue();
} else {
 resolution = ApproximateHistogram.DEFAULT_HISTOGRAM_SIZE;

代码示例来源:origin: io.druid.extensions/druid-histogram

final float probability = ((Number) RexLiteral.value(probabilityArg)).floatValue();
final int resolution;
 resolution = ((Number) RexLiteral.value(resolutionArg)).intValue();
} else {
 resolution = ApproximateHistogram.DEFAULT_HISTOGRAM_SIZE;

代码示例来源:origin: org.apache.druid/druid-sql

return DruidExpression.fromExpression(DruidExpression.nullLiteral());
} else if (SqlTypeName.NUMERIC_TYPES.contains(sqlTypeName)) {
 return DruidExpression.fromExpression(DruidExpression.numberLiteral((Number) RexLiteral.value(rexNode)));
} else if (SqlTypeFamily.INTERVAL_DAY_TIME == sqlTypeName.getFamily()) {
 final long milliseconds = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpression.fromExpression(DruidExpression.numberLiteral(milliseconds));
} else if (SqlTypeFamily.INTERVAL_YEAR_MONTH == sqlTypeName.getFamily()) {
 final long months = ((Number) RexLiteral.value(rexNode)).longValue();
 return DruidExpression.fromExpression(DruidExpression.numberLiteral(months));
} else if (SqlTypeName.STRING_TYPES.contains(sqlTypeName)) {

代码示例来源:origin: org.apache.druid/druid-sql

final RexLiteral rhsLiteral = (RexLiteral) rhs;
if (SqlTypeName.NUMERIC_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.value(rhsLiteral));
} else if (SqlTypeName.CHAR_TYPES.contains(rhsLiteral.getTypeName())) {
 val = String.valueOf(RexLiteral.stringValue(rhsLiteral));

相关文章