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