Expand description
Define all property of plan tree node, which actually represent property of the nodeβs result.
We have physical property Order
and Distribution
which is on batch or stream operator,
also, we have logical property which all PlanNode
has.
We have not give any common abstract trait for the property yet. They are not so much and we
donβt need get a common behavior now. we can treat them as different traits of the
PlanNode
now and refactor them when our optimizer need more
(such as an optimizer based on the Volcano/Cascades model).
Modules§
- cardinality π
- distribution πβA -> Bβ represent A satisfies B x only as a required property x can used as both required x and provided property x βββββ xββββββββ βAnyβββββββββββββββββββ€singleβ βββ²ββ xββββββββ β x β x β x βββββ΄βββββ xββββββββββββ βAnyShardββββββββββββββββ€SomeShard β βββββ²βββββ xββββββββββββ β x βββββ΄ββββββββββββ xββββββββββββββββ ββββββββββββββββ βShardByKey(a,b)βββββ¬ββββ€HashShard(a,b)β βHashShard(b,a)β βββββ²βββ²βββββββββ β xββββββββββββββββ ββ¬ββββββββββββββ β β β x β β β βββββββββββββββββββββββ β β x β ββ΄βββββββββββββ xββββββββββββββ β βShardByKey(a)βββββ€HashShard(a)β β βββββββββββββββ xββββββββββββββ β x ββ΄βββββββββββββ xββββββββββββββ βShardByKey(b)ββββββββ€HashShard(b)β βββββββββββββββ xββββββββββββββ x x
- func_
dep π - monotonicity π
- order π
Structs§
- The cardinality of the output rows of a plan node. Bounds are inclusive.
FunctionalDependency
represent a dependency of from β> to.FunctionalDependencySet
contains the functional dependencies.- A map from column index to its monotonicity.
Enums§
- the distribution property provided by a operator.
- The upper bound of the
Cardinality
. - Represents the monotonicity of a column.
- Represents the derivation of the monotonicity of a column. This enum aims to unify the βnon-decreasing analysisβ and watermark derivation.
- the distribution property requirement.
Functions§
- Analyze the monotonicity of an expression.