MergeToComprehensions
This phase merges nested nodes of types Bind, Filter, GroupBy, SortBy, Take, Drop, CollectionCast and Distinct to Comprehension nodes. Nodes can be merged if they occur in the following order:
[Source] -> Filter (where) -> GroupBy -> SortBy / (Distinct | Filter (having)) -> Take / Drop
Aliasing Binds and CollectionCasts are allowed everywhere in the chain. Any out of order operation starts a new chain with a subquery as the source.
Attributes
- Source
- MergeToComprehensions.scala
- Graph
-
- Supertypes
Members list
Type members
Classlikes
Attributes
- Source
- MergeToComprehensions.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
FwdPathOnTypeSymbol.type
Types
Attributes
- Source
- MergeToComprehensions.scala
A map from a TypeSymbol and a field on top of it to a new Symbol
A map from a TypeSymbol and a field on top of it to a new Symbol
Attributes
- Source
- MergeToComprehensions.scala
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
Attributes
- Source
- MergeToComprehensions.scala
Run the phase
Apply the replacements and current selection of a Comprehension to a new Node that will be merged into the Comprehension.
Apply the replacements and current selection of a Comprehension to a new Node that will be merged into the Comprehension.
Attributes
- Source
- MergeToComprehensions.scala
Lift a valid top-level or source Node into a subquery
Attributes
- Source
- MergeToComprehensions.scala
Remove purely aliasing Bind mappings, apply the conversion to the source, then inject the mappings back into the source's mappings.
Remove purely aliasing Bind mappings, apply the conversion to the source, then inject the mappings back into the source's mappings.
Attributes
- Source
- MergeToComprehensions.scala
Merge the common operations Bind, Filter and CollectionCast into an existing Comprehension. This method is used at different stages of the pipeline. If the Comprehension already contains a Distinct clause, it is pushed into a subquery.
Merge the common operations Bind, Filter and CollectionCast into an existing Comprehension. This method is used at different stages of the pipeline. If the Comprehension already contains a Distinct clause, it is pushed into a subquery.
Attributes
- Source
- MergeToComprehensions.scala
Attributes
- Source
- MergeToComprehensions.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