Fix support for orderByPosition (ORDER BY 1 ASC/ORDER BY 1 DESC) #345
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently the PHPSQLCreator will ignore the Order direction when using a positional ORDER BY clause (i.e. ORDER BY 1 ASC, ORDER BY 3 DESC). The reason seems that the OrderBuilder reuses the PositionBuilder (which is also used in GROUP BY statements). This PositionBuilder does not take into account a position.
In SQL it is valid to use a positional order by and being able to sort ascending and descending, so I think this should be reflected by the PHPSQLCreator. That's why i've decided create a new OrderByPositionBuilder which does take into account the order direction. The orderbyposition test has also been updated to reflect this change.