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

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

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

RelDataTypeFactory.builder介绍

[英]Creates a org.apache.calcite.rel.type.RelDataTypeFactory.FieldInfoBuilder. But since FieldInfoBuilder is deprecated, we recommend that you use its base class Builder, which is not deprecated.
[中]创建一个组织。阿帕奇。方解石雷尔。类型雷尔数据类型工厂。FieldInfoBuilder。但由于FieldInfoBuilder已被弃用,我们建议您使用它的基类生成器,而基类生成器未被弃用。

代码示例

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

@Override
public RelDataType getRowType(
    RelDataTypeFactory relDataTypeFactory) {
  RelDataTypeFactory.FieldInfoBuilder b = relDataTypeFactory.builder();
  for (FieldType f : fields) {
    b.add(f.name, f.relDataType);
  }
  return b.build();
}

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

@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 builder.build();
}

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

final List<Integer> groupList = groupSet.asList();
assert groupList.size() == groupSet.cardinality();
final RelDataTypeFactory.FieldInfoBuilder builder = typeFactory.builder();
final List<RelDataTypeField> fieldList = inputRowType.getFieldList();
final Set<String> containedNames = Sets.newHashSet();

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

final List<Integer> groupList = groupSet.asList();
assert groupList.size() == groupSet.cardinality();
final RelDataTypeFactory.FieldInfoBuilder builder = typeFactory.builder();
final List<RelDataTypeField> fieldList = inputRowType.getFieldList();
final Set<String> containedNames = Sets.newHashSet();

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

final List<ImmutableIntList> sources = new ArrayList<>();
final Set<ImmutableIntList> sourceSet = new HashSet<>();
final RelDataTypeFactory.Builder b = typeFactory.builder();
if (names != null) {
  for (String name : names) {

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

FieldInfoBuilder fieldInfo = getCluster().getTypeFactory().builder();
fieldInfo.addAll(this.rowType.getFieldList());
fieldInfo.addAll(newFieldList);
RelDataTypeFactory.FieldInfoBuilder fieldInfo = getCluster().getTypeFactory().builder();
fieldInfo.addAll(this.rowType.getFieldList());
fieldInfo.addAll(newFieldList);

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

FieldInfoBuilder fieldInfo = getCluster().getTypeFactory().builder();
fieldInfo.addAll(newFields);
fieldInfo.addAll(newFieldList);

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

tupleList(fieldNames.length, values);
final RelDataTypeFactory.FieldInfoBuilder rowTypeBuilder =
  cluster.getTypeFactory().builder();
for (final Ord<String> fieldName : Ord.zip(fieldNames)) {
 final String name =

代码示例来源:origin: apache/incubator-druid

final RelDataTypeFactory.Builder builder = typeFactory.builder();
for (final String columnName : columnNames) {
 final ValueType columnType = getColumnType(columnName);

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

tupleList(fieldNames.length, values);
final RelDataTypeFactory.FieldInfoBuilder rowTypeBuilder =
    cluster.getTypeFactory().builder();
for (final Ord<String> fieldName : Ord.zip(fieldNames)) {
 final String name =

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

public void onMatch(RelOptRuleCall call) {
  final Filter filter = call.rel(0);
  final Project project = call.rel(1);
  final List<RexNode> newProjects = new ArrayList<>(project.getProjects());
  newProjects.add(filter.getCondition());
  final RelOptCluster cluster = filter.getCluster();
  RelDataType newRowType =
    cluster.getTypeFactory().builder()
      .addAll(project.getRowType().getFieldList())
      .add("condition", Util.last(newProjects).getType())
      .build();
  final RelNode newProject =
    project.copy(project.getTraitSet(),
      project.getInput(),
      newProjects,
      newRowType);
  final RexInputRef newCondition =
    cluster.getRexBuilder().makeInputRef(newProject,
      newProjects.size() - 1);
  call.transformTo(filter.copy(filter.getTraitSet(), newProject, newCondition));
 }
}

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

== SqlMatchRecognize.RowsPerMatchOption.ALL_ROWS;
final RelDataTypeFactory.Builder typeBuilder = typeFactory.builder();

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

private static RelDataType makeStruct(
  RelDataTypeFactory typeFactory,
  RelDataType type) {
 if (type.isStruct()) {
  return type;
 }
 return typeFactory.builder().add("$0", type).build();
}

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

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

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

public static TranslatableTable str(Object o, Object p) {
 assertThat(RexLiteral.validConstant(o, Litmus.THROW), is(true));
 assertThat(RexLiteral.validConstant(p, Litmus.THROW), is(true));
 return new ViewTable(Object.class, typeFactory ->
   typeFactory.builder().add("c", SqlTypeName.VARCHAR, 100).build(),
   "values " + CalciteSqlDialect.DEFAULT.quoteStringLiteral(o.toString())
     + ", " + CalciteSqlDialect.DEFAULT.quoteStringLiteral(p.toString()),
   ImmutableList.of(), Arrays.asList("view"));
}

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

public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 return typeFactory.builder()
   .add("ID", SqlTypeName.INTEGER)
   .add("MAPFIELD", SqlTypeName.ANY)
   .add("NESTEDMAPFIELD", SqlTypeName.ANY)
   .add("ARRAYFIELD", SqlTypeName.ANY)
   .add("STRINGARRAYFIELD", SqlTypeName.ANY)
   .build();
}

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

public RelDataType getRowType(RelDataTypeFactory typeFactory) {
 return typeFactory.builder()
   .add("country", SqlTypeName.VARCHAR)
   .add("latitude", SqlTypeName.DECIMAL).nullable(true)
   .add("longitude", SqlTypeName.DECIMAL).nullable(true)
   .add("name", SqlTypeName.VARCHAR)
   .build();
}

相关文章