pub fn generate_dependency_orderings(
dependencies: &Dependencies,
dependency_map: &DependencyMap,
) -> Vec<LexOrdering>Expand description
Generates all possible orderings where dependencies are satisfied for the current projection expression.
§Example
If dependencies is a + b ASC and the dependency map holds dependencies
a ASC–>[c ASC]b ASC–>[d DESC],
This function generates these two sort orders
[c ASC, d DESC, a + b ASC][d DESC, c ASC, a + b ASC]
§Parameters
dependencies- Set of relevant expressions.dependency_map- Map of dependencies for expressions that may appear independencies.
§Returns
A vector of lexical orderings (Vec<LexOrdering>) representing all valid
orderings based on the given dependencies.