public class RelMdTableReferences extends Object implements MetadataHandler<BuiltInMetadata.TableReferences>
RelMetadataQuery.getTableReferences(org.apache.calcite.rel.RelNode) for the
standard logical algebra.
The goal of this provider is to return all tables used by a given
expression identified uniquely by a RexTableInputRef.RelTableRef.
Each unique identifier RexTableInputRef.RelTableRef of a table will equal to the
identifier obtained running RelMdExpressionLineage over the same plan
node for an expression that refers to the same table.
If tables cannot be obtained, we return null.
| Modifier and Type | Field and Description |
|---|---|
static RelMetadataProvider |
SOURCE |
| Modifier | Constructor and Description |
|---|---|
protected |
RelMdTableReferences() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithandlerMethodspublic static final RelMetadataProvider SOURCE
public MetadataDef<BuiltInMetadata.TableReferences> getDef()
getDef in interface MetadataHandler<BuiltInMetadata.TableReferences>public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(RelNode rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(RelSubset rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(TableScan rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Aggregate rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Join rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(SetOp rel, RelMetadataQuery mq)
For Union operator, we might be able to extract multiple table references.
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Project rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Filter rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Calc rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Sort rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(TableModify rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Exchange rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Window rel, RelMetadataQuery mq)
public @Nullable Set<RexTableInputRef.RelTableRef> getTableReferences(Sample rel, RelMetadataQuery mq)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.