Julian Hyde created CALCITE-1101:
------------------------------------
Summary: Extend Schema SPI to provide materialized views
Key: CALCITE-1101
URL: https://issues.apache.org/jira/browse/CALCITE-1101
Project: Calcite
Issue Type: Bug
Reporter: Julian Hyde
Assignee: Julian Hyde
Currently the way to get materialized views is via MaterializationService, but
it would be simpler to get them from a new method Schema.getMaterializedViews().
Some thoughts:
* The method should return materialized views not just in the current schema,
and therefore
* The method should be filtered by Table (or Tables)
* The objects returned can not include RelNode (RelNode can only be created in
the context of a statement, and the Schema is created before the first
statement; furthermore, holding onto RelNode would be a resource leak). But
they should provide the means to create a RelNode (given sufficient context).
* Maybe the objects returned indicate something about the mapping
Taking all this, we get {code}List<Foo> getMaterializedViews(Table... tables);
class Foo {
public final Table view;
public final List<Table> referencedTables;
public final TileKey tileKey; // may be null
public final String sql; // may be null; for information only
public RelNode rel(Context context);
}
{code}
Maybe we can obsolete {{CalciteSchema.getTableBySql}}.
Cc [~maryannxue], [~jamestaylor].
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)