本文整理了Java中org.apache.calcite.rex.RexLiteral.getTypeName
方法的一些代码示例,展示了RexLiteral.getTypeName
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexLiteral.getTypeName
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexLiteral
类名称:RexLiteral
方法名:getTypeName
暂无
代码示例来源:origin: apache/drill
if (pattern.getTypeName() == SqlTypeName.DECIMAL ||
pattern.getTypeName() == SqlTypeName.INTEGER) {
patternStr = pattern.getValue().toString();
} else if (pattern.getTypeName() == SqlTypeName.CHAR) {
patternStr = pattern.getValue2().toString();
if (pattern.getTypeName() == SqlTypeName.DECIMAL ||
pattern.getTypeName() == SqlTypeName.INTEGER) {
patternStr = pattern.getValue().toString();
} else if (pattern.getTypeName() == SqlTypeName.CHAR) {
patternStr = pattern.getValue2().toString();
if (escape.getTypeName() == SqlTypeName.DECIMAL ||
escape.getTypeName() == SqlTypeName.INTEGER) {
escapeStr = escape.getValue().toString();
} else if (escape.getTypeName() == SqlTypeName.CHAR) {
escapeStr = escape.getValue2().toString();
代码示例来源:origin: apache/incubator-druid
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));
} else if (SqlTypeName.TIMESTAMP == rhsLiteral.getTypeName() || SqlTypeName.DATE == rhsLiteral.getTypeName()) {
val = String.valueOf(
Calcites.calciteDateTimeLiteralToJoda(
代码示例来源:origin: dremio/dremio-oss
public static boolean isLiteralNull(RexLiteral literal) {
return literal.getTypeName().getName().equals("NULL");
}
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
public static boolean isLiteralNull(RexLiteral literal) {
return literal.getTypeName().getName().equals("NULL");
}
}
代码示例来源:origin: org.apache.calcite/calcite-druid
final String val;
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));
} else if (SqlTypeName.TIMESTAMP_WITH_LOCAL_TIME_ZONE == rhsLiteral.getTypeName()
|| SqlTypeName.TIMESTAMP == rhsLiteral.getTypeName()
|| SqlTypeName.DATE == rhsLiteral.getTypeName()) {
Long millisSinceEpoch = DruidDateTimeUtils.literalValue(rexNode);
if (millisSinceEpoch == null) {
throw new AssertionError(
"Cannot translate Literal" + rexNode + " of type "
+ rhsLiteral.getTypeName() + " to TimestampString");
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
@Override
public Boolean visitCall(RexCall call) {
if (call.getOperator() == SqlStdOperatorTable.ITEM) {
final RexNode op0 = call.getOperands().get(0);
final RexNode op1 = call.getOperands().get(1);
if (op0 instanceof RexInputRef &&
op1 instanceof RexLiteral && ((RexLiteral) op1).getTypeName() == SqlTypeName.CHAR) {
return true;
} else if (op0 instanceof RexCall &&
op1 instanceof RexLiteral && ((RexLiteral) op1).getTypeName() == SqlTypeName.CHAR) {
return op0.accept(this);
}
}
return false;
}
代码示例来源:origin: dremio/dremio-oss
private static boolean isLimit0(RexNode fetch) {
if (fetch != null && fetch.isA(SqlKind.LITERAL)) {
RexLiteral l = (RexLiteral) fetch;
switch (l.getTypeName()) {
case BIGINT:
case INTEGER:
case DECIMAL:
if (((long) l.getValue2()) == 0) {
return true;
}
}
}
return false;
}
代码示例来源:origin: dremio/dremio-oss
@Override
public StateHolder visitLiteral(RexLiteral literal) {
if(literal.getTypeName().getName().equals("NULL")){
return new StateHolder(Type.OTHER, literal);
}
return new StateHolder(Type.LITERAL, literal);
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
public static boolean isLimit0(RexNode fetch) {
if (fetch != null && fetch.isA(SqlKind.LITERAL)) {
RexLiteral l = (RexLiteral) fetch;
switch (l.getTypeName()) {
case BIGINT:
case INTEGER:
case DECIMAL:
if (((long) l.getValue2()) == 0) {
return true;
}
}
}
return false;
}
代码示例来源:origin: dremio/dremio-oss
@Override
public Boolean visitCall(RexCall call) {
if (call.getOperator() == SqlStdOperatorTable.ITEM) {
final RexNode op0 = call.getOperands().get(0);
final RexNode op1 = call.getOperands().get(1);
if (op0 instanceof RexInputRef &&
op1 instanceof RexLiteral && ((RexLiteral) op1).getTypeName().getFamily() == SqlTypeFamily.CHARACTER) {
return true;
} else if (op0 instanceof RexCall &&
op1 instanceof RexLiteral && ((RexLiteral) op1).getTypeName().getFamily() == SqlTypeFamily.CHARACTER) {
return op0.accept(this);
}
}
return false;
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
if (operands.get(0) instanceof RexLiteral) {
oplit = (RexLiteral) operands.get(0);
if (oplit.getTypeName() == SqlTypeName.CHAR) {
newLiteral = builder.makeLiteral(((NlsString) oplit.getValue()).getValue() + "%");
input = operands.get(1);
if (oplit.getTypeName() == SqlTypeName.CHAR) {
newLiteral = builder.makeLiteral(((NlsString) oplit.getValue()).getValue() + "%");
input = operands.get(0);
代码示例来源: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-core
private Calendar timestampValue(RexLiteral timeLiteral) {
switch (timeLiteral.getTypeName()) {
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
final TimeZone tz = TimeZone.getTimeZone(this.timeZone);
return Util.calendar(
SqlFunctions.timestampWithLocalTimeZoneToTimestamp(
timeLiteral.getValueAs(Long.class), tz));
case TIMESTAMP:
return Util.calendar(timeLiteral.getValueAs(Long.class));
case DATE:
// Cast date to timestamp with local time zone
final DateString d = timeLiteral.getValueAs(DateString.class);
return Util.calendar(d.getMillisSinceEpoch());
default:
throw Util.unexpected(timeLiteral.getTypeName());
}
}
代码示例来源:origin: Qihoo360/Quicksql
private Calendar timestampValue(RexLiteral timeLiteral) {
switch (timeLiteral.getTypeName()) {
case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
final TimeZone tz = TimeZone.getTimeZone(this.timeZone);
return Util.calendar(
SqlFunctions.timestampWithLocalTimeZoneToTimestamp(
timeLiteral.getValueAs(Long.class), tz));
case TIMESTAMP:
return Util.calendar(timeLiteral.getValueAs(Long.class));
case DATE:
// Cast date to timestamp with local time zone
final DateString d = timeLiteral.getValueAs(DateString.class);
return Util.calendar(d.getMillisSinceEpoch());
default:
throw Util.unexpected(timeLiteral.getTypeName());
}
}
代码示例来源: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: dremio/dremio-oss
switch(literal.getTypeName()){
case DECIMAL:
case INTEGER:
代码示例来源:origin: org.apache.calcite/calcite-core
@Override public String visitLiteral(RexLiteral literal) {
RelDataType type = literal.getType();
if (type.getSqlTypeName() == SqlTypeName.BOOLEAN) {
if (literal.isNull()) {
return "nullBool";
}
return literal.toString() + "Literal";
}
if (type.getSqlTypeName() == SqlTypeName.INTEGER) {
if (literal.isNull()) {
return "nullInt";
}
return "literal(" + literal.getValue() + ")";
}
if (type.getSqlTypeName() == SqlTypeName.VARCHAR) {
if (literal.isNull()) {
return "nullVarchar";
}
}
return "/*" + literal.getTypeName().getName() + "*/" + literal.toString();
}
代码示例来源:origin: Qihoo360/Quicksql
@Override public String visitLiteral(RexLiteral literal) {
RelDataType type = literal.getType();
if (type.getSqlTypeName() == SqlTypeName.BOOLEAN) {
if (literal.isNull()) {
return "nullBool";
}
return literal.toString() + "Literal";
}
if (type.getSqlTypeName() == SqlTypeName.INTEGER) {
if (literal.isNull()) {
return "nullInt";
}
return "literal(" + literal.getValue() + ")";
}
if (type.getSqlTypeName() == SqlTypeName.VARCHAR) {
if (literal.isNull()) {
return "nullVarchar";
}
}
return "/*" + literal.getTypeName().getName() + "*/" + literal.toString();
}
内容来源于网络,如有侵权,请联系作者删除!