org.apache.iotdb.db.qp.Planner
Transform the syntax tree parsed by SQL into logical plans, logical optimizations, and physical plans.
SQL parsing
SQL parsing using Antlr4
antlr/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
mvn clean compile -pl antlr
Generated code location :antlr/target/generated-sources/antlr4
Logical plan generator
org.apache.iotdb.db.qp.strategy.LogicalGenerator
Logical plan optimizer
There are currently three logical plan optimizers
org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer
The path optimizer splices query paths in SQL, interacts with MManager, removes wildcards, and performs path checking.
org.apache.iotdb.db.qp.strategy.optimizer.RemoveNotOptimizer
The predicate de-optimizer removes the non-operators in the predicate logic.
org.apache.iotdb.db.qp.strategy.optimizer.DnfFilterOptimizer
Turn predicates into disjunctive normal form.
org.apache.iotdb.db.qp.strategy.optimizer.MergeSingleFilterOptimizer
Combine predicates of the same path logically.
Physical plan generator
org.apache.iotdb.db.qp.strategy.PhysicalGenerator