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

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

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

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();
}

相关文章