doctrine/doctrine2 — pull request #298 by sandermarechal (2012-03-06 15:33:33+00:00)
Title: Pagination using SQL walkers

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.