You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by 徐保荣 <lu...@aloudata.com> on 2022/02/15 04:07:20 UTC
Some questions about lattices
hello,
I'm reading code about star materialized views ,These problems keeps making me puzzled.
can you tell me some information about the lattice and star-materialization-view ?
from the code ,I find two place about star-materialization-view:
1. before use materialization by UnifyRule
private static List<RelNode> substitute(
RelNode root, RelOptMaterialization materialization,
List<SubstitutionVisitor.UnifyRule> materializationRules) {
// First, if the materialization is in terms of a star table, rewrite
// the query in terms of the star table.
if (materialization.starRelOptTable != null) {
RelNode newRoot = RelOptMaterialization.tryUseStar(root,
materialization.starRelOptTable);
}
2. AggregateStarTableRule,and it use lattice.
What I don't understand that why star match in the two place? why the lattices only used in the second one?
I also confused about lattice's effecttions. is it just a Schema description for star aggreation view?
from the official website document,the lattice's introduction is as follows:
A lattice is a framework for creating and populating materialized views, and for recognizing that a materialized view can be used to solve a particular query.
but in the project,I only find it used in AggregateStarTableRule
I don't find any code about that: a lattice is a partially ordered set where any two elements have a unique greatest lower bound and least upper bound
I look forward to hearing from you very much
thanks
rules transformation
Permalink