本文整理了Java中org.apache.calcite.rex.RexLiteral.value
方法的一些代码示例,展示了RexLiteral.value
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexLiteral.value
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexLiteral
类名称: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));
内容来源于网络,如有侵权,请联系作者删除!