The already existing follow-up check throwing "Not all identifier properties can be found in the ResultSetMapping: %s" is a much more technical description.
If $sqlIdentifier is empty (count 0) it can be concluded that there are no mapped results. An alternative error message could thus be "The Paginator does not support queries without mapped results." (line 153).
Possibly '!=' on line 154 could be replaced by '>' because i think this is the only situation that can occur. But since i don't know this for sure, i left it like i found it.
Didn't use elseif in this commit as per Stof his suggestion.
The already existing follow-up check throwing "Not all identifier properties can be found in the ResultSetMapping: %s" is a much more technical description.
If $sqlIdentifier is empty (count 0) it can be concluded that there are no mapped results. An alternative error message could thus be "The Paginator does not support queries without mapped results." (line 153).
Possibly '!=' on line 154 could be replaced by '>' because i think this is the only situation that can occur. But since i don't know this for sure, i left it like i found it.
In postgresql environment, when some hidden fields are used in orderBy clause,
they're not property added because $rsm->scalarMappings don't have information about them.
ORDER BY removed from all count queries when on SQL Server
Fixed SQLServer ORDER BY problem in paginator CountOutputWalker
Added test to check query with ORDER BY and SQLServerPlatform
A CountSqlWalker and LimitSubquerySqlWalker have been implemented. By
default the Paginator will use these SQL walkers. When a query already
uses custom SQL walkers, the Paginator will fall back to the existing
TreeWalker implementations. Improvements:
* Support for more complex DQL queries using named mixed results with
GROUP BY and HAVING. For example:
SELECT g, u, COUNT(u.id) AS userCount
FROM Entity\Group g LEFT JOIN g.users u
GROUP BY g.id
HAVING userCount > 0
* Support for entities with composite primary keys in the CountSqlWalker
and LimitSubquerySqlWalker. Only the WhereInWalker still needs to be
updated for full composite primary key support. But someone smarter
than me needs to look at that and figure out how to build a WHERE IN
query that can select rows based on multiple columns.
The Pagination tool throws an exception on a DQL query like:
SELECT u FROM User u WHERE NOT (u INSTANCE OF Person)
This is because Paginate does not know about the
Doctrine\ORM\Query\AST\ConditionalFactor which implements the NOT
operator. This patch adds support for that.