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)

Reply via email to