public final class LogicalTableScan
extends org.apache.calcite.rel.core.TableScan
LogicalTableScan reads all the rows from a RelOptTable.
This class is copied from Calcite because the explainTerms(org.apache.calcite.rel.RelWriter) should consider hints.
If the table is a net.sf.saffron.ext.JdbcTable, then this is literally possible.
But for other kinds of tables, there may be many ways to read the data from the table. For some
kinds of table, it may not even be possible to read all of the rows unless some narrowing
constraint is applied.
In the example of the net.sf.saffron.ext.ReflectSchema schema,
select from fields
cannot be implemented, but
select from fields as f
where f.getClass().getName().equals("java.lang.String")
can. It is the optimizer's responsibility to find these ways, by applying transformation rules.
| 构造器和说明 |
|---|
LogicalTableScan(org.apache.calcite.rel.RelInput input)
Creates a LogicalTableScan by parsing serialized output.
|
LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelOptTable table)
已过时。
|
LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.hint.RelHint> hints,
org.apache.calcite.plan.RelOptTable table)
Creates a LogicalTableScan.
|
LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.plan.RelOptTable table)
已过时。
|
| 限定符和类型 | 方法和说明 |
|---|---|
org.apache.calcite.rel.RelNode |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs) |
static LogicalTableScan |
create(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelOptTable relOptTable,
List<org.apache.calcite.rel.hint.RelHint> hints)
Creates a LogicalTableScan.
|
org.apache.calcite.rel.RelWriter |
explainTerms(org.apache.calcite.rel.RelWriter pw) |
org.apache.calcite.rel.RelNode |
withHints(List<org.apache.calcite.rel.hint.RelHint> hintList) |
accept, computeSelfCost, deriveRowType, estimateRowCount, getHints, getTable, identity, identity, projectaccept, childrenAccept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toStringpublic LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.hint.RelHint> hints,
org.apache.calcite.plan.RelOptTable table)
Use create(org.apache.calcite.plan.RelOptCluster, org.apache.calcite.plan.RelOptTable, java.util.List<org.apache.calcite.rel.hint.RelHint>) unless you know what you're doing.
@Deprecated public LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.plan.RelOptTable table)
@Deprecated public LogicalTableScan(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptTable table)
public LogicalTableScan(org.apache.calcite.rel.RelInput input)
public org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs)
copy 在接口中 org.apache.calcite.rel.RelNodecopy 在类中 org.apache.calcite.rel.AbstractRelNodepublic org.apache.calcite.rel.RelWriter explainTerms(org.apache.calcite.rel.RelWriter pw)
explainTerms 在类中 org.apache.calcite.rel.core.TableScanpublic static LogicalTableScan create(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelOptTable relOptTable, List<org.apache.calcite.rel.hint.RelHint> hints)
cluster - ClusterrelOptTable - Tablehints - The hintspublic org.apache.calcite.rel.RelNode withHints(List<org.apache.calcite.rel.hint.RelHint> hintList)
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.