本文整理了Java中org.apache.calcite.plan.RelOptUtil.getFieldTypeList
方法的一些代码示例,展示了RelOptUtil.getFieldTypeList
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelOptUtil.getFieldTypeList
方法的具体详情如下:
包路径:org.apache.calcite.plan.RelOptUtil
类名称:RelOptUtil
方法名:getFieldTypeList
[英]Returns a list of the types of the fields in a given struct type. The list is immutable.
[中]返回给定结构类型中字段类型的列表。这个列表是不变的。
代码示例来源:origin: apache/hive
topProjExprs = RexUtil.fixUp(rexBuilder, topProjExprs, RelOptUtil.getFieldTypeList(fkInput.getRowType()));
代码示例来源:origin: Qihoo360/Quicksql
/**
* Creates a RexChecker with a given input row type.
*
* <p>If <code>fail</code> is true, the checker will throw an
* {@link AssertionError} if an invalid node is found and assertions are
* enabled.
*
* <p>Otherwise, each method returns whether its part of the tree is valid.
*
* @param inputRowType Input row type
* @param context Context of the enclosing {@link RelNode}, or null
* @param litmus What to do if an invalid node is detected
*/
public RexChecker(final RelDataType inputRowType, RelNode.Context context,
Litmus litmus) {
this(RelOptUtil.getFieldTypeList(inputRowType), context, litmus);
}
代码示例来源:origin: org.apache.calcite/calcite-core
/**
* Creates a RexChecker with a given input row type.
*
* <p>If <code>fail</code> is true, the checker will throw an
* {@link AssertionError} if an invalid node is found and assertions are
* enabled.
*
* <p>Otherwise, each method returns whether its part of the tree is valid.
*
* @param inputRowType Input row type
* @param context Context of the enclosing {@link RelNode}, or null
* @param litmus What to do if an invalid node is detected
*/
public RexChecker(final RelDataType inputRowType, RelNode.Context context,
Litmus litmus) {
this(RelOptUtil.getFieldTypeList(inputRowType), context, litmus);
}
代码示例来源:origin: Qihoo360/Quicksql
@Deprecated // to be removed before 2.0
public static List<RexNode> fixUp(final RexBuilder rexBuilder,
List<RexNode> nodes, final RelDataType rowType) {
final List<RelDataType> typeList = RelOptUtil.getFieldTypeList(rowType);
return fixUp(rexBuilder, nodes, typeList);
}
代码示例来源:origin: org.apache.calcite/calcite-core
@Deprecated // to be removed before 2.0
public static List<RexNode> fixUp(final RexBuilder rexBuilder,
List<RexNode> nodes, final RelDataType rowType) {
final List<RelDataType> typeList = RelOptUtil.getFieldTypeList(rowType);
return fixUp(rexBuilder, nodes, typeList);
}
代码示例来源:origin: Qihoo360/Quicksql
/** Builds an equi-join condition from a set of left and right keys. */
public static @Nonnull RexNode createEquiJoinCondition(
final RelNode left, final List<Integer> leftKeys,
final RelNode right, final List<Integer> rightKeys,
final RexBuilder rexBuilder) {
final List<RelDataType> leftTypes =
RelOptUtil.getFieldTypeList(left.getRowType());
final List<RelDataType> rightTypes =
RelOptUtil.getFieldTypeList(right.getRowType());
return RexUtil.composeConjunction(rexBuilder,
new AbstractList<RexNode>() {
@Override public RexNode get(int index) {
final int leftKey = leftKeys.get(index);
final int rightKey = rightKeys.get(index);
return rexBuilder.makeCall(SqlStdOperatorTable.EQUALS,
rexBuilder.makeInputRef(leftTypes.get(leftKey), leftKey),
rexBuilder.makeInputRef(rightTypes.get(rightKey),
leftTypes.size() + rightKey));
}
@Override public int size() {
return leftKeys.size();
}
});
}
代码示例来源:origin: org.apache.calcite/calcite-core
/** Builds an equi-join condition from a set of left and right keys. */
public static @Nonnull RexNode createEquiJoinCondition(
final RelNode left, final List<Integer> leftKeys,
final RelNode right, final List<Integer> rightKeys,
final RexBuilder rexBuilder) {
final List<RelDataType> leftTypes =
RelOptUtil.getFieldTypeList(left.getRowType());
final List<RelDataType> rightTypes =
RelOptUtil.getFieldTypeList(right.getRowType());
return RexUtil.composeConjunction(rexBuilder,
new AbstractList<RexNode>() {
@Override public RexNode get(int index) {
final int leftKey = leftKeys.get(index);
final int rightKey = rightKeys.get(index);
return rexBuilder.makeCall(SqlStdOperatorTable.EQUALS,
rexBuilder.makeInputRef(leftTypes.get(leftKey), leftKey),
rexBuilder.makeInputRef(rightTypes.get(rightKey),
leftTypes.size() + rightKey));
}
@Override public int size() {
return leftKeys.size();
}
});
}
代码示例来源:origin: Qihoo360/Quicksql
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
final List<RelDataType> typeList = new ArrayList<>();
final List<Integer> fieldCounts = new ArrayList<>();
for (Table table : tables) {
final RelDataType rowType = table.getRowType(typeFactory);
typeList.addAll(RelOptUtil.getFieldTypeList(rowType));
fieldCounts.add(rowType.getFieldCount());
}
// Compute fieldCounts the first time this method is called. Safe to assume
// that the field counts will be the same whichever type factory is used.
if (this.fieldCounts == null) {
this.fieldCounts = ImmutableIntList.copyOf(fieldCounts);
}
return typeFactory.createStructType(typeList, lattice.uniqueColumnNames);
}
代码示例来源:origin: org.apache.calcite/calcite-core
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
final List<RelDataType> typeList = new ArrayList<>();
final List<Integer> fieldCounts = new ArrayList<>();
for (Table table : tables) {
final RelDataType rowType = table.getRowType(typeFactory);
typeList.addAll(RelOptUtil.getFieldTypeList(rowType));
fieldCounts.add(rowType.getFieldCount());
}
// Compute fieldCounts the first time this method is called. Safe to assume
// that the field counts will be the same whichever type factory is used.
if (this.fieldCounts == null) {
this.fieldCounts = ImmutableIntList.copyOf(fieldCounts);
}
return typeFactory.createStructType(typeList, lattice.uniqueColumnNames());
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
/** Returns a rowType having all unique field name.
*
* @param rowType : input rowType
* @param typeFactory : type factory used to create a new row type.
* @return a rowType having all unique field name.
*/
public static RelDataType uniqifyFieldName(final RelDataType rowType, final RelDataTypeFactory typeFactory) {
return typeFactory.createStructType(RelOptUtil.getFieldTypeList(rowType),
SqlValidatorUtil.uniquify(rowType.getFieldNames(), SqlValidatorUtil.EXPR_SUGGESTER, true));
}
代码示例来源:origin: dremio/dremio-oss
/** Returns a rowType having all unique field name.
*
* @param rowType : input rowType
* @param typeFactory : type factory used to create a new row type.
* @return
*/
public static RelDataType uniqifyFieldName(final RelDataType rowType, final RelDataTypeFactory typeFactory) {
return typeFactory.createStructType(RelOptUtil.getFieldTypeList(rowType),
SqlValidatorUtil.uniquify(rowType.getFieldNames()));
}
代码示例来源:origin: org.apache.kylin/atopcalcite
.addAll(RelOptUtil.getFieldTypeList(leftRel.getRowType()))
.addAll(RelOptUtil.getFieldTypeList(rightRel.getRowType())).build();
final RexNode joinFilter = RexUtil.composeConjunction(rexBuilder,
RexUtil.fixUp(rexBuilder, joinFilters, fieldTypes), false);
RexUtil.fixUp(rexBuilder, aboveFilters, RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
代码示例来源:origin: Qihoo360/Quicksql
.addAll(RelOptUtil.getFieldTypeList(leftRel.getRowType()))
.addAll(RelOptUtil.getFieldTypeList(rightRel.getRowType())).build();
final RexNode joinFilter =
RexUtil.composeConjunction(rexBuilder,
RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
代码示例来源:origin: org.apache.calcite/calcite-core
.addAll(RelOptUtil.getFieldTypeList(leftRel.getRowType()))
.addAll(RelOptUtil.getFieldTypeList(rightRel.getRowType())).build();
final RexNode joinFilter =
RexUtil.composeConjunction(rexBuilder,
RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
代码示例来源:origin: Qihoo360/Quicksql
relBuilder.filter(
RexUtil.fixUp(rexBuilder, aboveFilters,
RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
代码示例来源:origin: org.apache.calcite/calcite-core
relBuilder.filter(
RexUtil.fixUp(rexBuilder, aboveFilters,
RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
代码示例来源:origin: com.alibaba.blink/flink-table
.addAll(RelOptUtil.getFieldTypeList(leftRel.getRowType()))
.addAll(RelOptUtil.getFieldTypeList(rightRel.getRowType())).build();
final List<RexNode> leftJoinFilters = com.google.common.collect.ImmutableList.<RexNode>builder()
.addAll(deterministicJoinFilters)
RelOptUtil.getFieldTypeList(relBuilder.peek().getRowType())));
内容来源于网络,如有侵权,请联系作者删除!