Class LogicalTableScan

All Implemented Interfaces:
Cloneable, RelOptNode, Hintable, RelNode

public final class LogicalTableScan extends TableScan
A LogicalTableScan reads all the rows from a RelOptTable.

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.