Merge branch 'GH-572'
This commit is contained in:
commit
3ba0562006
@ -79,6 +79,10 @@ class CountOutputWalker extends SqlWalker
|
|||||||
*/
|
*/
|
||||||
public function walkSelectStatement(SelectStatement $AST)
|
public function walkSelectStatement(SelectStatement $AST)
|
||||||
{
|
{
|
||||||
|
if ($this->platform->getName() === "mssql") {
|
||||||
|
$AST->orderByClause = null;
|
||||||
|
}
|
||||||
|
|
||||||
$sql = parent::walkSelectStatement($AST);
|
$sql = parent::walkSelectStatement($AST);
|
||||||
|
|
||||||
// Find out the SQL alias of the identifier column of the root entity
|
// Find out the SQL alias of the identifier column of the root entity
|
||||||
|
@ -41,5 +41,22 @@ class CountOutputWalkerTest extends PaginationTestCase
|
|||||||
"SELECT COUNT(*) AS dctrn_count FROM (SELECT DISTINCT id1 FROM (SELECT count(u0_.id) AS sclr0, g1_.id AS id1, u0_.id AS id2 FROM groups g1_ LEFT JOIN user_group u2_ ON g1_.id = u2_.group_id LEFT JOIN User u0_ ON u0_.id = u2_.user_id GROUP BY g1_.id HAVING sclr0 > 0) dctrn_result) dctrn_table", $query->getSql()
|
"SELECT COUNT(*) AS dctrn_count FROM (SELECT DISTINCT id1 FROM (SELECT count(u0_.id) AS sclr0, g1_.id AS id1, u0_.id AS id2 FROM groups g1_ LEFT JOIN user_group u2_ ON g1_.id = u2_.group_id LEFT JOIN User u0_ ON u0_.id = u2_.user_id GROUP BY g1_.id HAVING sclr0 > 0) dctrn_result) dctrn_table", $query->getSql()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testCountQueryOrderBySqlServer()
|
||||||
|
{
|
||||||
|
if ($this->entityManager->getConnection()->getDatabasePlatform()->getName() !== "mssql") {
|
||||||
|
$this->markTestSkipped('SQLServer only test.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = $this->entityManager->createQuery(
|
||||||
|
'SELECT p FROM Doctrine\Tests\ORM\Tools\Pagination\BlogPost p ORDER BY p.id');
|
||||||
|
$query->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, 'Doctrine\ORM\Tools\Pagination\CountOutputWalker');
|
||||||
|
$query->setFirstResult(null)->setMaxResults(null);
|
||||||
|
|
||||||
|
$this->assertEquals(
|
||||||
|
"SELECT COUNT(*) AS dctrn_count FROM (SELECT DISTINCT id0 FROM (SELECT b0_.id AS id0, b0_.author_id AS author_id1, b0_.category_id AS category_id2 FROM BlogPost b0_) dctrn_result) dctrn_table",
|
||||||
|
$query->getSql()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user