In SQL Server, Order By
clauses are only allowed in sub-queries if the sub-query has a TOP
or OFFSET
modifier.
This phase expands inner joins adding the correct aliases so they will function.
This phase expands inner joins adding the correct aliases so they will function. Unfortunately, since it introduces aliases into the clauses that don't actually exist in the inner expressions, it is not technically type-safe but will not result in a Quat error since Quats cannot check for Ident scoping. For a better implementation, that uses a well-typed FlatMap/FlatJoin cascade, have a look here: Better Typed ExpandJoin which uses FlatMap/FlatJoin
The reason the above implementation is not currently used is because ExpandNestedQueries
does not
yet use Quat fields for expansion. Once this is changed, using that implementation here
should be reconsidered.
In SQL Server,
Order By
clauses are only allowed in sub-queries if the sub-query has aTOP
orOFFSET
modifier. Otherwise an exception will be thrown. This transformation adds a 'dummy'OFFSET 0
in this scenario (if anOffset
clause does not exist already).