FlattenProjections
Flatten all Pure node contents into a single StructNode.
After this phase, all Pure nodes produce a StructNode of primitive fields. As a side-effect, nested NominalTypes are eliminated.
Attributes
- Source
- FlattenProjections.scala
- Graph
-
- Supertypes
Members list
Type members
Inherited types
The immutable state of the phase that can also be accessed by other phases.
The immutable state of the phase that can also be accessed by other phases.
Attributes
- Inherited from:
- Phase
- Source
- QueryCompiler.scala
Value members
Concrete methods
Run the phase
Flatten a projection into a StructNode.
Flatten a projection into a StructNode.
Value parameters
- collapse
-
If set to true, duplicate definitions are combined into a single one. This must not be used in the top-level Bind because the definitions have to match the top-level type (which is used later in
createResultSetMapping). Any duplicates there will be eliminated inhoistClientOps. It is also disabled directly under a Union because the columns on both sides have to match up.
Attributes
- Source
- FlattenProjections.scala
Split a path into the shortest part with a NominalType and the rest on top of it. Returns None if there is no NominalType with one of the candidate TypeSymbols in the path, otherwise returns Some(base, rest, tsym) where tsym is the symbol that was found and base is the Node in the path which has a NominalType of that symbol. rest is a (possibly empty) path of symbols on top of base.
Split a path into the shortest part with a NominalType and the rest on top of it. Returns None if there is no NominalType with one of the candidate TypeSymbols in the path, otherwise returns Some(base, rest, tsym) where tsym is the symbol that was found and base is the Node in the path which has a NominalType of that symbol. rest is a (possibly empty) path of symbols on top of base.
Attributes
- Source
- FlattenProjections.scala
Inherited methods
Attributes
- Inherited from:
- Function1
Attributes
- Inherited from:
- Function1
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes
- Returns
-
a string representation of the object.
- Definition Classes
-
Function1 -> Any
- Inherited from:
- Function1
Concrete fields
The unique name of the phase