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

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

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

RexLiteral.getType介绍

暂无

代码示例

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

@Override
public ASTNode visitLiteral(RexLiteral literal) {
 if (RexUtil.isNull(literal) && literal.getType().getSqlTypeName() != SqlTypeName.NULL
   && rexBuilder != null) {
  // It is NULL value with different type, we need to introduce a CAST
  // to keep it
  if(nullLiteralMap.containsKey(literal)) {
   return ASTBuilder.literal(literal, useTypeQualInLiteral);
  }
  nullLiteralMap.put(literal, true);
  RexNode r = rexBuilder.makeAbstractCast(literal.getType(), literal);
  return r.accept(this);
 }
 return ASTBuilder.literal(literal, useTypeQualInLiteral);
}

代码示例来源: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: apache/kylin

if (temp.getType().getFamily() != SqlTypeFamily.NUMERIC || !(temp.getValue() instanceof BigDecimal)) {
  return null;// only numeric constants now

代码示例来源: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: apache/hive

BigDecimal maxVal = new BigDecimal(max.floatValue());
BigDecimal minVal = new BigDecimal(min.floatValue());
RexLiteral maxLiteral = rexBuilder.makeExactLiteral(maxVal, literal.getType());
RexLiteral minLiteral = rexBuilder.makeExactLiteral(minVal, literal.getType());

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

BigDecimal maxVal = new BigDecimal(max.floatValue());
BigDecimal minVal = new BigDecimal(min.floatValue());
RexLiteral maxLiteral = rexBuilder.makeExactLiteral(maxVal, literal.getType());
RexLiteral minLiteral = rexBuilder.makeExactLiteral(minVal, literal.getType());

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

public static ASTNode literal(RexLiteral literal, boolean useTypeQualInLiteral) {
 Object val = null;
 int type = 0;
 SqlTypeName sqlType = literal.getType().getSqlTypeName();

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

@Override
public ExprNodeDesc visitLiteral(RexLiteral literal) {
 RelDataType lType = literal.getType();
  switch (literal.getType().getSqlTypeName()) {
  case BOOLEAN:
   return new ExprNodeConstantDesc(TypeInfoFactory.booleanTypeInfo, null);
  switch (literal.getType().getSqlTypeName()) {
  case BOOLEAN:
   return new ExprNodeConstantDesc(TypeInfoFactory.booleanTypeInfo, Boolean.valueOf(RexLiteral

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

@Override
public ExprNodeDesc visitLiteral(RexLiteral literal) {
 RelDataType lType = literal.getType();
  switch (literal.getType().getSqlTypeName()) {
  case BOOLEAN:
   return new ExprNodeConstantDesc(TypeInfoFactory.booleanTypeInfo, null);
  switch (literal.getType().getSqlTypeName()) {
  case BOOLEAN:
   return new ExprNodeConstantDesc(TypeInfoFactory.booleanTypeInfo, Boolean.valueOf(RexLiteral

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

public static ASTNode literal(RexLiteral literal, boolean useTypeQualInLiteral) {
 Object val = null;
 int type = 0;
 SqlTypeName sqlType = literal.getType().getSqlTypeName();

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

@Override public RexNode visitLiteral(RexLiteral literal) {
  RexInputRef ref = constantPool.get(literal);
  if (ref != null) {
   return ref;
  }
  constants.add(literal);
  ref = new RexInputRef(constantPool.size() + inputFieldCount,
    literal.getType());
  constantPool.put(literal, ref);
  return ref;
 }
};

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

@Override public RexNode visitLiteral(RexLiteral literal) {
  RexInputRef ref = constantPool.get(literal);
  if (ref != null) {
   return ref;
  }
  constants.add(literal);
  ref = new RexInputRef(constantPool.size() + inputFieldCount,
    literal.getType());
  constantPool.put(literal, ref);
  return ref;
 }
};

代码示例来源:origin: dremio/dremio-oss

public boolean isIntegral() {
 return SqlTypeName.INT_TYPES.contains(literal.getType().getSqlTypeName());
}

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

boolean isBoolean() {
 return SqlTypeName.BOOLEAN_TYPES.contains(literal.getType().getSqlTypeName());
}

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

@Override public RelDataType get(int index) {
 return index < childFieldCount
   ? childRowType.getFieldList().get(index).getType()
   : constants.get(index - childFieldCount).getType();
}

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

@Override public RelDataType get(int index) {
 return index < childFieldCount
   ? childRowType.getFieldList().get(index).getType()
   : constants.get(index - childFieldCount).getType();
}

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

@Override public String visitLiteral(RexLiteral literal) {
 if (literal.getValue() == null) {
  return "null";
 }
 return "\"literal\":\""
  + RexToLixTranslator.translateLiteral(literal, literal.getType(),
   typeFactory, RexImpTable.NullAs.NOT_POSSIBLE)
  + "\"";
}

代码示例来源:origin: dremio/dremio-oss

private static void verifyRowType(final ImmutableList<ImmutableList<RexLiteral>> tuples, RelDataType rowType){
  for (List<RexLiteral> tuple : tuples) {
   assert (tuple.size() == rowType.getFieldCount());
   for (Pair<RexLiteral, RelDataTypeField> pair : Pair.zip(tuple, rowType.getFieldList())) {
    RexLiteral literal = pair.left;
    RelDataType fieldType = pair.right.getType();
    if ((!(RexLiteral.isNullLiteral(literal)))
      && (!(SqlTypeUtil.canAssignFrom(fieldType, literal.getType())))) {
     throw new AssertionError("to " + fieldType + " from " + literal);
    }
   }
  }
}

代码示例来源: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;
 }
}

相关文章