本文整理了Java中org.apache.calcite.rel.RelNode.getTable
方法的一些代码示例,展示了RelNode.getTable
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelNode.getTable
方法的具体详情如下:
包路径:org.apache.calcite.rel.RelNode
类名称:RelNode
方法名:getTable
[英]If this relational expression represents an access to a table, returns that table, otherwise returns null.
[中]如果此关系表达式表示对表的访问,则返回该表,否则返回null。
代码示例来源:origin: apache/drill
@Override public boolean equals(Object obj) {
return obj == this
|| obj instanceof MutableScan
&& rel.getTable().equals(((MutableScan) obj).rel.getTable());
}
代码示例来源:origin: apache/drill
@Override public int hashCode() {
return rel.getTable().hashCode();
}
代码示例来源:origin: apache/drill
@Override public StringBuilder digest(StringBuilder buf) {
return buf.append("Scan(table: ")
.append(rel.getTable().getQualifiedName()).append(")");
}
}
代码示例来源:origin: apache/hive
private static String deriveAlias(RelNode rel) {
if (rel instanceof TableScan) {
final List<String> names = rel.getTable().getQualifiedName();
if (!names.isEmpty()) {
return Util.last(names);
}
}
return null;
}
代码示例来源:origin: apache/drill
private static String deriveAlias(RelNode rel) {
if (rel instanceof TableScan) {
final List<String> names = rel.getTable().getQualifiedName();
if (!names.isEmpty()) {
return Util.last(names);
}
}
return null;
}
代码示例来源:origin: apache/hive
private RelNode copyNodeScan(RelNode scan) {
final RelNode newScan;
if (scan instanceof DruidQuery) {
final DruidQuery dq = (DruidQuery) scan;
// Ideally we should use HiveRelNode convention. However, since Volcano planner
// throws in that case because DruidQuery does not implement the interface,
// we set it as Bindable. Currently, we do not use convention in Hive, hence that
// should be fine.
// TODO: If we want to make use of convention (e.g., while directly generating operator
// tree instead of AST), this should be changed.
newScan = DruidQuery.create(optCluster, optCluster.traitSetOf(BindableConvention.INSTANCE),
scan.getTable(), dq.getDruidTable(),
ImmutableList.<RelNode>of(dq.getTableScan()));
} else {
newScan = new HiveTableScan(optCluster, optCluster.traitSetOf(HiveRelNode.CONVENTION),
(RelOptHiveTable) scan.getTable(), ((RelOptHiveTable) scan.getTable()).getName(),
null, false, false);
}
return newScan;
}
}
代码示例来源:origin: apache/incubator-druid
public static PartialDruidQuery create(final RelNode scanRel)
{
final Supplier<RelBuilder> builderSupplier = () -> RelFactories.LOGICAL_BUILDER.create(
scanRel.getCluster(),
scanRel.getTable().getRelOptSchema()
);
return new PartialDruidQuery(builderSupplier, scanRel, null, null, null, null, null, null, null, null);
}
代码示例来源:origin: apache/drill
@Override
public RelOptMaterialization apply(RelOptMaterialization materialization) {
final RelNode viewScan = materialization.tableRel;
final RelNode newViewScan;
if (viewScan instanceof DruidQuery) {
final DruidQuery dq = (DruidQuery) viewScan;
newViewScan = DruidQuery.create(optCluster, optCluster.traitSetOf(HiveRelNode.CONVENTION),
viewScan.getTable(), dq.getDruidTable(),
ImmutableList.<RelNode>of(dq.getTableScan()));
} else {
newViewScan = new HiveTableScan(optCluster, optCluster.traitSetOf(HiveRelNode.CONVENTION),
(RelOptHiveTable) viewScan.getTable(), viewScan.getTable().getQualifiedName().get(0),
null, false, false);
}
return new RelOptMaterialization(newViewScan, materialization.queryRel, null);
}
}
代码示例来源:origin: apache/hive
null, viewScan.getTable().getQualifiedName());
if (opType == OpType.CREATE) {
LOG.debug("Created materialized view for rewriting: " + viewScan.getTable().getQualifiedName());
代码示例来源:origin: apache/drill
cq.put(vk, materialization);
if (LOG.isDebugEnabled()) {
LOG.debug("Cached materialized view for rewriting: " + tableRel.getTable().getQualifiedName());
代码示例来源:origin: apache/hive
@Override
public void visit(RelNode node, int ordinal, RelNode parent) {
if (node instanceof TableScan) {
// We can continue
// TODO: Need to check that this is the same MV that we are rebuilding
RelOptHiveTable hiveTable = (RelOptHiveTable) node.getTable();
if (!hiveTable.getHiveTableMD().isMaterializedView()) {
// If it is not a materialized view, we do not rewrite it
throw new ReturnedValue(false);
}
if (containsAggregate && !AcidUtils.isFullAcidTable(hiveTable.getHiveTableMD())) {
// If it contains an aggregate and it is not a full acid table,
// we do not rewrite it (we need MERGE support)
throw new ReturnedValue(false);
}
} else if (node instanceof Project) {
// We can continue
super.visit(node, ordinal, parent);
} else {
throw new ReturnedValue(false);
}
}
}.go(union.getInput(1));
代码示例来源:origin: apache/hive
if (viewScan instanceof Project) {
cachedMaterializedViewTable = (RelOptHiveTable) viewScan.getInput(0).getTable();
} else {
cachedMaterializedViewTable = (RelOptHiveTable) viewScan.getTable();
代码示例来源:origin: apache/hive
mq.getNodeTypes(rel);
for (RelNode scan : nodeTypes.get(TableScan.class)) {
if (((RelOptHiveTable) scan.getTable()).getHiveTableMD().isMaterializedView()) {
usesMaterializedViews = true;
break;
代码示例来源:origin: org.apache.samza/samza-sql
private SqlIOConfig resolveSourceConfig(RelNode relNode) {
String sourceName = String.join(".", relNode.getTable().getQualifiedName());
SqlIOConfig sourceConfig = ioResolver.fetchSourceInfo(sourceName);
if (sourceConfig == null) {
throw new SamzaException("Unsupported source found in join statement: " + sourceName);
}
return sourceConfig;
}
代码示例来源:origin: org.apache.calcite/calcite-core
String getAlias() {
if (lastAlias != null) {
return lastAlias;
} else {
RelNode top = peek();
if (top instanceof TableScan) {
return Util.last(top.getTable().getQualifiedName());
} else {
return null;
}
}
}
代码示例来源:origin: org.apache.calcite/calcite-core
@Override public void visit(RelNode node, int ordinal, RelNode parent) {
if (node instanceof TableScan) {
final RelOptCluster cluster = node.getCluster();
final RelOptTable.ToRelContext context =
ViewExpanders.simpleContext(cluster);
final RelNode r = node.getTable().toRel(context);
planner.registerClass(r);
}
super.visit(node, ordinal, parent);
}
};
代码示例来源:origin: Qihoo360/Quicksql
@Override
public void visit(RelNode node, int ordinal, RelNode parent) {
if (node instanceof TableScan) {
final RelOptCluster cluster = node.getCluster();
final RelOptTable.ToRelContext context =
RelOptUtil.getContext(cluster);
final RelNode r = node.getTable().toRel(context);
plan.registerClass(r);
}
super.visit(node, ordinal, parent);
}
};
代码示例来源:origin: org.apache.calcite/calcite-core
@Test public void testAllPredicates() {
final Project rel = (Project) convertSql("select * from emp, dept");
final Join join = (Join) rel.getInput();
final RelOptTable empTable = join.getInput(0).getTable();
final RelOptTable deptTable = join.getInput(1).getTable();
Frameworks.withPlanner((cluster, relOptSchema, rootSchema) -> {
checkAllPredicates(cluster, empTable, deptTable);
return null;
});
}
代码示例来源:origin: Qihoo360/Quicksql
/** Unit test for
* {@link org.apache.calcite.rel.metadata.RelMdPredicates#getPredicates(Join, RelMetadataQuery)}. */
@Test public void testPredicates() {
final Project rel = (Project) convertSql("select * from emp, dept");
final Join join = (Join) rel.getInput();
final RelOptTable empTable = join.getInput(0).getTable();
final RelOptTable deptTable = join.getInput(1).getTable();
Frameworks.withPlanner((cluster, relOptSchema, rootSchema) -> {
checkPredicates(cluster, empTable, deptTable);
return null;
});
}
代码示例来源:origin: Qihoo360/Quicksql
@Test public void testAllPredicates() {
final Project rel = (Project) convertSql("select * from emp, dept");
final Join join = (Join) rel.getInput();
final RelOptTable empTable = join.getInput(0).getTable();
final RelOptTable deptTable = join.getInput(1).getTable();
Frameworks.withPlanner((cluster, relOptSchema, rootSchema) -> {
checkAllPredicates(cluster, empTable, deptTable);
return null;
});
}
内容来源于网络,如有侵权,请联系作者删除!