Tabnine Logo
RelDataTypeFactory.createStructType
Code IndexAdd Tabnine to your IDE (free)

How to use
createStructType
method
in
org.apache.calcite.rel.type.RelDataTypeFactory

Best Java code snippets using org.apache.calcite.rel.type.RelDataTypeFactory.createStructType (Showing top 20 results out of 315)

origin: apache/flink

public RelDataType getParameterRowType(SqlNode sqlQuery) {
  // NOTE: We assume that bind variables occur in depth-first tree
  // traversal in the same order that they occurred in the SQL text.
  final List<RelDataType> types = new ArrayList<>();
  // NOTE: but parameters on fetch/offset would be counted twice
  // as they are counted in the SqlOrderBy call and the inner SqlSelect call
  final Set<SqlNode> alreadyVisited = new HashSet<>();
  sqlQuery.accept(
    new SqlShuttle() {
      @Override public SqlNode visit(SqlDynamicParam param) {
        if (alreadyVisited.add(param)) {
          RelDataType type = getValidatedNodeType(param);
          types.add(type);
        }
        return param;
      }
    });
  return typeFactory.createStructType(
    types,
    new AbstractList<String>() {
      @Override public String get(int index) {
        return "?" + index;
      }
      @Override public int size() {
        return types.size();
      }
    });
}
origin: apache/drill

private RelDataType getRelDataType(StructTypeInfo structTypeInfo) {
 final List<String> fieldNames = structTypeInfo.getAllStructFieldNames();
 final List<RelDataType> relDataTypes = structTypeInfo.getAllStructFieldTypeInfos().stream()
   .map(this::convertToRelDataType)
   .collect(Collectors.toList());
 return typeFactory.createStructType(relDataTypes, fieldNames);
}
origin: apache/drill

@Override
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 HiveToRelDataTypeConverter dataTypeConverter = new HiveToRelDataTypeConverter(typeFactory);
 final List<String> fieldNames = new ArrayList<>();
 final List<RelDataType> fieldTypes = Stream.of(hiveTable.getColumnListsCache().getTableSchemaColumns(), hiveTable.getPartitionKeys())
     .flatMap(Collection::stream)
     .peek(hiveField -> fieldNames.add(hiveField.getName()))
     .map(dataTypeConverter::convertToNullableRelDataType)
     .collect(Collectors.toList());
 return typeFactory.createStructType(fieldTypes, fieldNames);
}
origin: apache/hive

public static RelDataType convert(StructTypeInfo structType,
 final RelDataTypeFactory dtFactory) throws CalciteSemanticException {
 List<RelDataType> fTypes = new ArrayList<RelDataType>(structType.getAllStructFieldTypeInfos().size());
 for (TypeInfo ti : structType.getAllStructFieldTypeInfos()) {
  fTypes.add(convert(ti,dtFactory));
 }
 return dtFactory.createStructType(fTypes, structType.getAllStructFieldNames());
}
origin: apache/drill

@Override
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 ArrayList<RelDataType> typeList = new ArrayList<>();
 ArrayList<String> fieldNameList = new ArrayList<>();
 fieldNameList.add(ROW_KEY);
 typeList.add(typeFactory.createSqlType(SqlTypeName.ANY));
 Set<byte[]> families = tableDesc.getFamiliesKeys();
 for (byte[] family : families) {
  fieldNameList.add(Bytes.toString(family));
  typeList.add(typeFactory.createMapType(typeFactory.createSqlType(SqlTypeName.VARCHAR), typeFactory.createSqlType(SqlTypeName.ANY)));
 }
 return typeFactory.createStructType(typeList, fieldNameList);
}
origin: apache/hive

/*********************** Convert Hive Types To Calcite Types ***********************/
public static RelDataType getType(RelOptCluster cluster,
 List<ColumnInfo> cInfoLst) throws CalciteSemanticException {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 RelDataTypeFactory dtFactory = rexBuilder.getTypeFactory();
 List<RelDataType> fieldTypes = new LinkedList<RelDataType>();
 List<String> fieldNames = new LinkedList<String>();
 for (ColumnInfo ci : cInfoLst) {
  fieldTypes.add(convert(ci.getType(), dtFactory));
  fieldNames.add(ci.getInternalName());
 }
 return dtFactory.createStructType(fieldTypes, fieldNames);
}
origin: apache/drill

public static RelDataType convert(StructTypeInfo structType,
 final RelDataTypeFactory dtFactory) throws CalciteSemanticException {
 List<RelDataType> fTypes = new ArrayList<RelDataType>(structType.getAllStructFieldTypeInfos().size());
 for (TypeInfo ti : structType.getAllStructFieldTypeInfos()) {
  fTypes.add(convert(ti,dtFactory));
 }
 return dtFactory.createStructType(fTypes, structType.getAllStructFieldNames());
}
origin: apache/flink

  typeList.add(type);
rowTypes.add(typeFactory.createStructType(typeList, aliasList));
origin: apache/drill

/*********************** Convert Hive Types To Calcite Types ***********************/
public static RelDataType getType(RelOptCluster cluster,
 List<ColumnInfo> cInfoLst) throws CalciteSemanticException {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 RelDataTypeFactory dtFactory = rexBuilder.getTypeFactory();
 List<RelDataType> fieldTypes = new LinkedList<RelDataType>();
 List<String> fieldNames = new LinkedList<String>();
 for (ColumnInfo ci : cInfoLst) {
  fieldTypes.add(convert(ci.getType(), dtFactory));
  fieldNames.add(ci.getInternalName());
 }
 return dtFactory.createStructType(fieldTypes, fieldNames);
}
origin: apache/drill

@Override
public RelDataType getRowType(final RelDataTypeFactory typeFactory) {
 List<String> names = Lists.newArrayList();
 List<RelDataType> types = Lists.newArrayList();
 convertToRelDataType(typeFactory, names, types);
 return typeFactory.createStructType(types, names);
}
origin: apache/hive

public static RelDataType getType(RelOptCluster cluster, RowResolver rr,
 List<String> neededCols) throws CalciteSemanticException {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 RelDataTypeFactory dtFactory = rexBuilder.getTypeFactory();
 RowSchema rs = rr.getRowSchema();
 List<RelDataType> fieldTypes = new LinkedList<RelDataType>();
 List<String> fieldNames = new LinkedList<String>();
 for (ColumnInfo ci : rs.getSignature()) {
  if (neededCols == null || neededCols.contains(ci.getInternalName())) {
   fieldTypes.add(convert(ci.getType(), dtFactory));
   fieldNames.add(ci.getInternalName());
  }
 }
 return dtFactory.createStructType(fieldTypes, fieldNames);
}
origin: apache/incubator-druid

 private PlannerResult planExplanation(
   final RelNode rel,
   final SqlExplain explain,
   final Set<String> datasourceNames
 )
 {
  final String explanation = RelOptUtil.dumpPlan("", rel, explain.getFormat(), explain.getDetailLevel());
  final Supplier<Sequence<Object[]>> resultsSupplier = Suppliers.ofInstance(
    Sequences.simple(ImmutableList.of(new Object[]{explanation})));
  final RelDataTypeFactory typeFactory = rel.getCluster().getTypeFactory();
  return new PlannerResult(
    resultsSupplier,
    typeFactory.createStructType(
      ImmutableList.of(Calcites.createSqlType(typeFactory, SqlTypeName.VARCHAR)),
      ImmutableList.of("PLAN")
    ),
    datasourceNames
  );
 }
}
origin: apache/drill

public static RelDataType getType(RelOptCluster cluster, RowResolver rr,
 List<String> neededCols) throws CalciteSemanticException {
 RexBuilder rexBuilder = cluster.getRexBuilder();
 RelDataTypeFactory dtFactory = rexBuilder.getTypeFactory();
 RowSchema rs = rr.getRowSchema();
 List<RelDataType> fieldTypes = new LinkedList<RelDataType>();
 List<String> fieldNames = new LinkedList<String>();
 for (ColumnInfo ci : rs.getSignature()) {
  if (neededCols == null || neededCols.contains(ci.getInternalName())) {
   fieldTypes.add(convert(ci.getType(), dtFactory));
   fieldNames.add(ci.getInternalName());
  }
 }
 return dtFactory.createStructType(fieldTypes, fieldNames);
}
origin: apache/kylin

@Override
public void implementRewrite(RewriteImplementor implementor) {
  Map<String, RelDataType> rewriteFields = this.context.rewriteFields;
  for (Map.Entry<String, RelDataType> rewriteField : rewriteFields.entrySet()) {
    String fieldName = rewriteField.getKey();
    RelDataTypeField field = rowType.getField(fieldName, true, false);
    if (field != null) {
      RelDataType fieldType = field.getType();
      rewriteField.setValue(fieldType);
    }
  }
  // add dynamic field to the table scan if join not exist
  if (!this.context.hasJoin && !this.context.dynamicFields.isEmpty()) {
    Map<TblColRef, RelDataType> dynFields = this.context.dynamicFields;
    List<TblColRef> newCols = Lists.newArrayList(this.columnRowType.getAllColumns());
    List<RelDataTypeField> newFieldList = Lists.newArrayList(this.rowType.getFieldList());
    int paramIndex = this.rowType.getFieldList().size();
    for (TblColRef fieldCol : dynFields.keySet()) {
      newCols.add(fieldCol);
      RelDataType fieldType = dynFields.get(fieldCol);
      RelDataTypeField newField = new RelDataTypeFieldImpl(fieldCol.getName(), paramIndex++, fieldType);
      newFieldList.add(newField);
    }
    // rebuild row type
    RelDataTypeFactory.FieldInfoBuilder fieldInfo = getCluster().getTypeFactory().builder();
    fieldInfo.addAll(newFieldList);
    this.rowType = getCluster().getTypeFactory().createStructType(fieldInfo);
    this.columnRowType = new ColumnRowType(newCols);
  }
}
origin: apache/drill

@Override
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 List<String> names = Lists.newArrayList();
 List<RelDataType> types = Lists.newArrayList();
 for (ColumnSchema column : schema.getColumns()) {
  names.add(column.getName());
  RelDataType type = getSqlTypeFromKuduType(typeFactory, column.getType());
  type = typeFactory.createTypeWithNullability(type, column.isNullable());
  types.add(type);
 }
 return typeFactory.createStructType(types, names);
}
origin: apache/kylin

@Override
public RelDataType deriveRowType() {
  final List<RelDataTypeField> fieldList = table.getRowType().getFieldList();
  final RelDataTypeFactory.FieldInfoBuilder builder = getCluster().getTypeFactory().builder();
  for (int field : fields) {
    builder.add(fieldList.get(field));
  }
  return getCluster().getTypeFactory().createStructType(builder);
}
origin: apache/flink

return typeFactory.createStructType(fields);
origin: apache/kylin

@SuppressWarnings("deprecation")
private RelDataType deriveRowType(RelDataTypeFactory typeFactory) {
  RelDataTypeFactory.FieldInfoBuilder fieldInfo = typeFactory.builder();
  for (ColumnDesc column : sourceColumns) {
    RelDataType sqlType = createSqlType(typeFactory, column.getUpgradedType(), column.isNullable());
    sqlType = SqlTypeUtil.addCharsetAndCollation(sqlType, typeFactory);
    fieldInfo.add(column.getName(), sqlType);
  }
  return typeFactory.createStructType(fieldInfo);
}
origin: apache/flink

protected RelDataType getLogicalTargetRowType(
  RelDataType targetRowType,
  SqlInsert insert) {
  if (insert.getTargetColumnList() == null
    && conformance.isInsertSubsetColumnsAllowed()) {
    // Target an implicit subset of columns.
    final SqlNode source = insert.getSource();
    final RelDataType sourceRowType = getNamespace(source).getRowType();
    final RelDataType logicalSourceRowType =
      getLogicalSourceRowType(sourceRowType, insert);
    final RelDataType implicitTargetRowType =
      typeFactory.createStructType(
        targetRowType.getFieldList()
          .subList(0, logicalSourceRowType.getFieldCount()));
    final SqlValidatorNamespace targetNamespace = getNamespace(insert);
    validateNamespace(targetNamespace, implicitTargetRowType);
    return implicitTargetRowType;
  } else {
    // Either the set of columns are explicitly targeted, or target the full
    // set of columns.
    return targetRowType;
  }
}
origin: apache/flink

return typeFactory.createStructType(fieldList);
org.apache.calcite.rel.typeRelDataTypeFactorycreateStructType

Javadoc

Creates a type that represents a structured collection of fieldList, obtaining the field information from a list of (name, type) pairs.

Popular methods of RelDataTypeFactory

  • createSqlType
    Creates a SQL type with precision and scale.
  • createTypeWithNullability
    Creates a type that is the same as another type but with possibly different nullability. The output
  • builder
    Creates a org.apache.calcite.rel.type.RelDataTypeFactory.FieldInfoBuilder. But since FieldInfoBuilde
  • createMapType
    Creates a map type. Maps are unordered collections of key/value pairs.
  • getTypeSystem
    Returns the type system.
  • createArrayType
    Creates an array type. Arrays are ordered collections of elements.
  • createJavaType
    Creates a type that corresponds to a Java class.
  • createSqlIntervalType
    Creates a SQL interval type.
  • createTypeWithCharsetAndCollation
    Creates a type that is the same as another type but with possibly different charset or collation. Fo
  • leastRestrictive
    Returns the most general of a set of types (that is, one type to which they can all be cast), or nul
  • createMultisetType
    Creates a multiset type. Multisets are unordered collections of elements.
  • copyType
    Duplicates a type, making a deep copy. Normally, this is a no-op, since canonical type objects are r
  • createMultisetType,
  • copyType,
  • createUnknownType,
  • getDefaultCharset,
  • createJoinType,
  • useDoubleMultiplication

Popular in Java

  • Reactive rest calls using spring rest template
  • onRequestPermissionsResult (Fragment)
  • getExternalFilesDir (Context)
  • notifyDataSetChanged (ArrayAdapter)
  • Pointer (com.sun.jna)
    An abstraction for a native pointer data type. A Pointer instance represents, on the Java side, a na
  • Manifest (java.util.jar)
    The Manifest class is used to obtain attribute information for a JarFile and its entries.
  • Filter (javax.servlet)
    A filter is an object that performs filtering tasks on either the request to a resource (a servlet o
  • JFrame (javax.swing)
  • Loader (org.hibernate.loader)
    Abstract superclass of object loading (and querying) strategies. This class implements useful common
  • Scheduler (org.quartz)
    This is the main interface of a Quartz Scheduler. A Scheduler maintains a registry of org.quartz.Job
  • Top Sublime Text plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now