org.apache.calcite.rel.type.RelDataTypeFactory.createArrayType()方法的使用及代码示例

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

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

RelDataTypeFactory.createArrayType介绍

[英]Creates an array type. Arrays are ordered collections of elements.
[中]创建一个数组类型。数组是元素的有序集合。

代码示例

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

public static RelDataType convert(ListTypeInfo lstType,
 RelDataTypeFactory dtFactory) throws CalciteSemanticException {
 RelDataType elemType = convert(lstType.getListElementTypeInfo(), dtFactory);
 return dtFactory.createArrayType(elemType, -1);
}

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

public static RelDataType convert(ListTypeInfo lstType,
 RelDataTypeFactory dtFactory) throws CalciteSemanticException {
 RelDataType elemType = convert(lstType.getListElementTypeInfo(), dtFactory);
 return dtFactory.createArrayType(elemType, -1);
}

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

private RelDataType getRelDataType(ListTypeInfo listTypeInfo) {
 RelDataType listElemTypeInfo = convertToRelDataType(listTypeInfo.getListElementTypeInfo());
 return typeFactory.createArrayType(listElemTypeInfo, -1);
}

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

if (sqlTypeName == SqlTypeName.ARRAY) {
  String innerTypeName = dataType.getName().split("<|>")[1];
  result = typeFactory.createArrayType(createSqlType(typeFactory, DataType.getType(innerTypeName), false),
      -1);
} else if (precision >= 0 && scale >= 0)

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

public static RelDataType createArrayType(
  RelDataTypeFactory typeFactory,
  RelDataType type,
  boolean nullable) {
 RelDataType ret = typeFactory.createArrayType(type, -1);
 return typeFactory.createTypeWithNullability(ret, nullable);
}

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

public static RelDataType createArrayType(
  RelDataTypeFactory typeFactory,
  RelDataType type,
  boolean nullable) {
 RelDataType ret = typeFactory.createArrayType(type, -1);
 return typeFactory.createTypeWithNullability(ret, nullable);
}

代码示例来源:origin: org.apache.kylin/atopcalcite

public static RelDataType createArrayType(
    RelDataTypeFactory typeFactory,
    RelDataType type,
    boolean nullable) {
  RelDataType ret = typeFactory.createArrayType(type, -1);
  return typeFactory.createTypeWithNullability(ret, nullable);
}

代码示例来源:origin: com.facebook.presto.hive/hive-apache

public static RelDataType convert(ListTypeInfo lstType,
 RelDataTypeFactory dtFactory) throws CalciteSemanticException {
 RelDataType elemType = convert(lstType.getListElementTypeInfo(), dtFactory);
 return dtFactory.createArrayType(elemType, -1);
}

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

@Override public RelDataType getReturnType(RelDataTypeFactory typeFactory) {
 return typeFactory.createArrayType(
   typeFactory.createSqlType(SqlTypeName.INTEGER), -1);
}

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

@Override public RelDataType getReturnType(RelDataTypeFactory typeFactory) {
 return typeFactory.createArrayType(
   typeFactory.createSqlType(SqlTypeName.INTEGER), -1);
}

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

public RelDataType getReturnType(RelDataTypeFactory typeFactory) {
 return typeFactory.createArrayType(
   typeFactory.createSqlType(SqlTypeName.DOUBLE), -1);
}

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

public RelDataType getReturnType(RelDataTypeFactory typeFactory) {
 return typeFactory.createArrayType(
   typeFactory.createSqlType(SqlTypeName.DOUBLE), -1);
}

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

public List<RelProtoDataType> getParams() {
  return ImmutableList.of(
    typeFactory -> typeFactory.createArrayType(
      typeFactory.createSqlType(SqlTypeName.DOUBLE), -1),
    typeFactory -> typeFactory.createSqlType(SqlTypeName.INTEGER));
 }
}

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

public List<RelProtoDataType> getParams() {
  return ImmutableList.of(
    typeFactory -> typeFactory.createArrayType(
      typeFactory.createSqlType(SqlTypeName.DOUBLE), -1),
    typeFactory -> typeFactory.createSqlType(SqlTypeName.INTEGER));
 }
}

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

@Override public List<RelProtoDataType> getParams() {
  return ImmutableList.of(
    typeFactory -> typeFactory.createArrayType(
      typeFactory.createSqlType(SqlTypeName.INTEGER), -1),
    typeFactory -> typeFactory.createSqlType(SqlTypeName.INTEGER));
 }
}

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

@Override public List<RelProtoDataType> getParams() {
  return ImmutableList.of(
    typeFactory -> typeFactory.createArrayType(
      typeFactory.createSqlType(SqlTypeName.INTEGER), -1),
    typeFactory -> typeFactory.createSqlType(SqlTypeName.INTEGER));
 }
}

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

protected RelDataType convertToStruct(RelDataType type) {
 // "MULTISET [<expr>, ...]" needs to be wrapped in a record if
 // <expr> has a scalar type.
 // For example, "MULTISET [8, 9]" has type
 // "RECORD(INTEGER EXPR$0 NOT NULL) NOT NULL MULTISET NOT NULL".
 final RelDataType componentType = type.getComponentType();
 if (componentType == null || componentType.isStruct()) {
  return type;
 }
 final RelDataTypeFactory typeFactory = validator.getTypeFactory();
 final RelDataType structType = toStruct(componentType, getNode());
 final RelDataType collectionType;
 switch (type.getSqlTypeName()) {
 case ARRAY:
  collectionType = typeFactory.createArrayType(structType, -1);
  break;
 case MULTISET:
  collectionType = typeFactory.createMultisetType(structType, -1);
  break;
 default:
  throw new AssertionError(type);
 }
 return typeFactory.createTypeWithNullability(collectionType,
   type.isNullable());
}

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

protected RelDataType convertToStruct(RelDataType type) {
 // "MULTISET [<expr>, ...]" needs to be wrapped in a record if
 // <expr> has a scalar type.
 // For example, "MULTISET [8, 9]" has type
 // "RECORD(INTEGER EXPR$0 NOT NULL) NOT NULL MULTISET NOT NULL".
 final RelDataType componentType = type.getComponentType();
 if (componentType == null || componentType.isStruct()) {
  return type;
 }
 final RelDataTypeFactory typeFactory = validator.getTypeFactory();
 final RelDataType structType = toStruct(componentType, getNode());
 final RelDataType collectionType;
 switch (type.getSqlTypeName()) {
 case ARRAY:
  collectionType = typeFactory.createArrayType(structType, -1);
  break;
 case MULTISET:
  collectionType = typeFactory.createMultisetType(structType, -1);
  break;
 default:
  throw new AssertionError(type);
 }
 return typeFactory.createTypeWithNullability(collectionType,
   type.isNullable());
}

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

public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 RelDataType nullableVarcharType = typeFactory
   .createTypeWithNullability(typeFactory.createSqlType(SqlTypeName.VARCHAR), true);
 RelDataType nullableIntegerType = typeFactory
   .createTypeWithNullability(typeFactory.createSqlType(SqlTypeName.INTEGER), true);
 RelDataType nullableMapType = typeFactory
   .createTypeWithNullability(
     typeFactory.createMapType(nullableVarcharType, nullableIntegerType),
     true);
 return typeFactory.builder()
   .add("ID", SqlTypeName.INTEGER)
   .add("MAPFIELD",
     typeFactory.createTypeWithNullability(
      typeFactory.createMapType(nullableVarcharType, nullableIntegerType), true))
   .add("NESTEDMAPFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createMapType(nullableVarcharType, nullableMapType), true))
   .add("ARRAYFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createArrayType(nullableIntegerType, -1L), true))
   .add("STRINGARRAYFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createArrayType(nullableVarcharType, -1L), true))
   .build();
}

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

public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 RelDataType nullableVarcharType = typeFactory
   .createTypeWithNullability(typeFactory.createSqlType(SqlTypeName.VARCHAR), true);
 RelDataType nullableIntegerType = typeFactory
   .createTypeWithNullability(typeFactory.createSqlType(SqlTypeName.INTEGER), true);
 RelDataType nullableMapType = typeFactory
   .createTypeWithNullability(
     typeFactory.createMapType(nullableVarcharType, nullableIntegerType),
     true);
 return typeFactory.builder()
   .add("ID", SqlTypeName.INTEGER)
   .add("MAPFIELD",
     typeFactory.createTypeWithNullability(
      typeFactory.createMapType(nullableVarcharType, nullableIntegerType), true))
   .add("NESTEDMAPFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createMapType(nullableVarcharType, nullableMapType), true))
   .add("ARRAYFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createArrayType(nullableIntegerType, -1L), true))
   .add("STRINGARRAYFIELD", typeFactory
     .createTypeWithNullability(
       typeFactory.createArrayType(nullableVarcharType, -1L), true))
   .build();
}

相关文章