org.apache.calcite.rel.RelNode.getTable()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(97)

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

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;
 });
}

相关文章