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 |
|---|---|
private |
RelMdTableReferences() |
public static final RelMetadataProvider SOURCE
public MetadataDef<BuiltInMetadata.TableReferences> getDef()
getDef in interface MetadataHandler<BuiltInMetadata.TableReferences>public Set<RexTableInputRef.RelTableRef> getTableReferences(RelNode rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(HepRelVertex rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(RelSubset rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(TableScan rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Aggregate rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Join rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Union rel, RelMetadataQuery mq)
Union.
For Union operator, we might be able to extract multiple table references.
public Set<RexTableInputRef.RelTableRef> getTableReferences(Project rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Filter rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Sort rel, RelMetadataQuery mq)
public Set<RexTableInputRef.RelTableRef> getTableReferences(Exchange rel, RelMetadataQuery mq)
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.