From 8027fca378a3c5992d30a07f606dd0f0fbcee2a1 Mon Sep 17 00:00:00 2001 From: Thomas Rabaix Date: Tue, 24 Jan 2012 23:34:20 +0100 Subject: [PATCH] Add SqlWalker::HINT_DISTINCT constant --- lib/Doctrine/ORM/Query/SqlWalker.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/Doctrine/ORM/Query/SqlWalker.php b/lib/Doctrine/ORM/Query/SqlWalker.php index c91eae147..13910054c 100644 --- a/lib/Doctrine/ORM/Query/SqlWalker.php +++ b/lib/Doctrine/ORM/Query/SqlWalker.php @@ -39,6 +39,11 @@ use Doctrine\DBAL\LockMode, */ class SqlWalker implements TreeWalker { + /** + * @var string + */ + const HINT_DISTINCT = 'doctrine.distinct'; + /** * @var ResultSetMapping */ @@ -591,7 +596,7 @@ class SqlWalker implements TreeWalker $sqlSelectExpressions = array_filter(array_map(array($this, 'walkSelectExpression'), $selectClause->selectExpressions)); if ($this->_query->getHint(Query::HINT_INTERNAL_ITERATION) == true && $selectClause->isDistinct) { - $this->_query->setHint('doctrine.distinct', true); + $this->_query->setHint(self::HINT_DISTINCT, true); } $addMetaColumns = ! $this->_query->getHint(Query::HINT_FORCE_PARTIAL_LOAD) && @@ -815,7 +820,7 @@ class SqlWalker implements TreeWalker // Ensure we got the owning side, since it has all mapping info $assoc = ( ! $relation['isOwningSide']) ? $targetClass->associationMappings[$relation['mappedBy']] : $relation; - if ($this->_query->getHint(Query::HINT_INTERNAL_ITERATION) == true && (!$this->_query->getHint('doctrine.distinct') || isset($this->_selectedClasses[$joinedDqlAlias]))) { + if ($this->_query->getHint(Query::HINT_INTERNAL_ITERATION) == true && (!$this->_query->getHint(self::HINT_DISTINCT) || isset($this->_selectedClasses[$joinedDqlAlias]))) { if ($relation['type'] == ClassMetadata::ONE_TO_MANY || $relation['type'] == ClassMetadata::MANY_TO_MANY) { throw QueryException::iterateWithFetchJoinNotAllowed($assoc); }