本文整理了Java中org.apache.calcite.rex.RexBuilder.makeRangeReference
方法的一些代码示例,展示了RexBuilder.makeRangeReference
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RexBuilder.makeRangeReference
方法的具体详情如下:
包路径:org.apache.calcite.rex.RexBuilder
类名称:RexBuilder
方法名:makeRangeReference
[英]Creates a reference to all the fields in the row. That is, the whole row as a single record object.
[中]创建对行中所有字段的引用。也就是说,将整行作为单个记录对象。
代码示例来源:origin: org.apache.calcite/calcite-core
/**
* Creates an expression with which to reference the expression whose
* offset in its from-list is {@code offset}.
*/
RexNode lookup(
int offset,
LookupContext lookupContext) {
Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
return rexBuilder.makeRangeReference(
pair.left.getRowType(),
pair.right,
false);
}
代码示例来源:origin: org.apache.kylin/atopcalcite
/**
* Creates an expression with which to reference the expression whose
* offset in its from-list is {@code offset}.
*/
RexNode lookup(
int offset,
LookupContext lookupContext) {
Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
return rexBuilder.makeRangeReference(
pair.left.getRowType(),
pair.right,
false);
}
代码示例来源:origin: Qihoo360/Quicksql
/**
* Creates an expression with which to reference the expression whose
* offset in its from-list is {@code offset}.
*/
RexNode lookup(
int offset,
LookupContext lookupContext) {
Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
return rexBuilder.makeRangeReference(
pair.left.getRowType(),
pair.right,
false);
}
代码示例来源:origin: Qihoo360/Quicksql
List<RexNode> toRexList(
FunctionExpression expression,
RelNode... inputs) {
List<RexNode> list = new ArrayList<>();
RexBuilder rexBuilder = cluster.getRexBuilder();
for (RelNode input : inputs) {
list.add(rexBuilder.makeRangeReference(input));
}
return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
.bind(expression.parameterList, list)
.toRexList(expression.body);
}
代码示例来源:origin: org.apache.flink/flink-table_2.10
/**
* Creates an expression with which to reference the expression whose
* offset in its from-list is {@code offset}.
*/
RexNode lookup(
int offset,
LookupContext lookupContext) {
Pair<RelNode, Integer> pair = lookupContext.findRel(offset);
return rexBuilder.makeRangeReference(
pair.left.getRowType(),
pair.right,
false);
}
代码示例来源:origin: org.apache.calcite/calcite-core
List<RexNode> toRexList(
FunctionExpression expression,
RelNode... inputs) {
List<RexNode> list = new ArrayList<>();
RexBuilder rexBuilder = cluster.getRexBuilder();
for (RelNode input : inputs) {
list.add(rexBuilder.makeRangeReference(input));
}
return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
.bind(expression.parameterList, list)
.toRexList(expression.body);
}
代码示例来源:origin: org.apache.calcite/calcite-core
RexNode toRex(
FunctionExpression expression,
RelNode... inputs) {
List<RexNode> list = new ArrayList<>();
RexBuilder rexBuilder = cluster.getRexBuilder();
for (RelNode input : inputs) {
list.add(rexBuilder.makeRangeReference(input));
}
return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
.bind(expression.parameterList, list)
.toRex(expression.body);
}
}
代码示例来源:origin: Qihoo360/Quicksql
RexNode toRex(
FunctionExpression expression,
RelNode... inputs) {
List<RexNode> list = new ArrayList<>();
RexBuilder rexBuilder = cluster.getRexBuilder();
for (RelNode input : inputs) {
list.add(rexBuilder.makeRangeReference(input));
}
return CalcitePrepareImpl.EmptyScalarTranslator.empty(rexBuilder)
.bind(expression.parameterList, list)
.toRex(expression.body);
}
}
代码示例来源:origin: Qihoo360/Quicksql
private List<RexNode> toRex(
RelNode child, FunctionExpression expression) {
RexBuilder rexBuilder = cluster.getRexBuilder();
List<RexNode> list =
Collections.singletonList(
rexBuilder.makeRangeReference(child));
CalcitePrepareImpl.ScalarTranslator translator =
CalcitePrepareImpl.EmptyScalarTranslator
.empty(rexBuilder)
.bind(expression.parameterList, list);
final List<RexNode> rexList = new ArrayList<>();
final Expression simple = Blocks.simple(expression.body);
for (Expression expression1 : fieldExpressions(simple)) {
rexList.add(translator.toRex(expression1));
}
return rexList;
}
代码示例来源:origin: org.apache.calcite/calcite-core
private List<RexNode> toRex(
RelNode child, FunctionExpression expression) {
RexBuilder rexBuilder = cluster.getRexBuilder();
List<RexNode> list =
Collections.singletonList(
rexBuilder.makeRangeReference(child));
CalcitePrepareImpl.ScalarTranslator translator =
CalcitePrepareImpl.EmptyScalarTranslator
.empty(rexBuilder)
.bind(expression.parameterList, list);
final List<RexNode> rexList = new ArrayList<>();
final Expression simple = Blocks.simple(expression.body);
for (Expression expression1 : fieldExpressions(simple)) {
rexList.add(translator.toRex(expression1));
}
return rexList;
}
代码示例来源:origin: org.apache.calcite/calcite-core
RelDataType sourceRowType = source.getRowType();
final RexNode sourceRef =
rexBuilder.makeRangeReference(sourceRowType, 0, false);
final List<String> targetColumnNames = new ArrayList<>();
final List<RexNode> columnExprs = new ArrayList<>();
代码示例来源:origin: Qihoo360/Quicksql
RelDataType sourceRowType = source.getRowType();
final RexNode sourceRef =
rexBuilder.makeRangeReference(sourceRowType, 0, false);
final List<String> targetColumnNames = new ArrayList<>();
final List<RexNode> columnExprs = new ArrayList<>();
代码示例来源:origin: org.apache.calcite/calcite-core
public void rewriteRel(TableScan rel) {
RelNode newRel = rel.getTable().toRel(toRelContext);
if (!SqlTypeUtil.isFlat(rel.getRowType())) {
final List<Pair<RexNode, String>> flattenedExpList = new ArrayList<>();
flattenInputs(rel.getRowType().getFieldList(),
rexBuilder.makeRangeReference(newRel),
flattenedExpList);
newRel = relBuilder.push(newRel)
.projectNamed(Pair.left(flattenedExpList),
Pair.right(flattenedExpList), true)
.build();
}
setNewForOldRel(rel, newRel);
}
代码示例来源:origin: Qihoo360/Quicksql
public void rewriteRel(TableScan rel) {
RelNode newRel = rel.getTable().toRel(toRelContext);
if (!SqlTypeUtil.isFlat(rel.getRowType())) {
final List<Pair<RexNode, String>> flattenedExpList = new ArrayList<>();
flattenInputs(rel.getRowType().getFieldList(),
rexBuilder.makeRangeReference(newRel),
flattenedExpList);
newRel = relBuilder.push(newRel)
.projectNamed(Pair.left(flattenedExpList),
Pair.right(flattenedExpList), true)
.build();
}
setNewForOldRel(rel, newRel);
}
代码示例来源:origin: org.apache.calcite/calcite-core
RexNode sourceRef = rexBuilder.makeRangeReference(scan);
return createInsertBlackboard(table, sourceRef,
table.getRowType().getFieldNames());
代码示例来源:origin: Qihoo360/Quicksql
RexNode sourceRef = rexBuilder.makeRangeReference(scan);
return createInsertBlackboard(table, sourceRef,
table.getRowType().getFieldNames());
代码示例来源:origin: org.apache.calcite/calcite-core
SqlStdOperatorTable.EQUALS,
rexBuilder.makeFieldAccess(
rexBuilder.makeRangeReference(scan),
"deptno", true),
rexBuilder.makeExactLiteral(BigDecimal.TEN)));
代码示例来源:origin: Qihoo360/Quicksql
SqlStdOperatorTable.EQUALS,
rexBuilder.makeFieldAccess(
rexBuilder.makeRangeReference(scan),
"deptno", true),
rexBuilder.makeExactLiteral(BigDecimal.TEN)));
代码示例来源:origin: Qihoo360/Quicksql
rexBuilder.makeCall(SqlStdOperatorTable.GREATER_THAN,
rexBuilder.makeFieldAccess(
rexBuilder.makeRangeReference(tableRel), "i", true),
rexBuilder.makeExactLiteral(BigDecimal.ONE));
final LogicalFilter filter =
代码示例来源:origin: org.apache.calcite/calcite-core
rexBuilder.makeCall(SqlStdOperatorTable.GREATER_THAN,
rexBuilder.makeFieldAccess(
rexBuilder.makeRangeReference(tableRel), "i", true),
rexBuilder.makeExactLiteral(BigDecimal.ONE));
final LogicalFilter filter =
内容来源于网络,如有侵权,请联系作者删除!