1
0
mirror of synced 2025-03-21 07:23:55 +03:00

#1277 DDC-3346 DDC-3531 - moved selectColumnListSql into the newly created CachedPersisterContext

This commit is contained in:
Marco Pivetta 2015-01-22 18:05:29 +01:00
parent 4c62d3bfda
commit 55930a3402
4 changed files with 13 additions and 42 deletions

View File

@ -1187,8 +1187,8 @@ class BasicEntityPersister implements EntityPersister
protected function getSelectColumnsSQL(/*$hasLimitClause = false*/)
{
//if ( ! $hasLimitClause && $this->selectColumnListSql !== null) {
if ($this->selectColumnListSql !== null) {
return $this->selectColumnListSql;
if ($this->cachedPersisterContexts['noLimits']->selectColumnListSql !== null) {
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
$columnList = array();
@ -1288,9 +1288,9 @@ class BasicEntityPersister implements EntityPersister
$this->selectJoinSql .= implode(' AND ', $joinCondition);
}
$this->selectColumnListSql = implode(', ', $columnList);
$this->cachedPersisterContexts['noLimits']->selectColumnListSql = implode(', ', $columnList);
return $this->selectColumnListSql;
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
/**

View File

@ -48,40 +48,11 @@ class CachedPersisterContext
*/
public $rsm;
/**
* The map of column names to DBAL mapping types of all prepared columns used
* when INSERTing or UPDATEing an entity.
*
* @var array
*
* @see \Doctrine\ORM\Persisters\Entity\BasicEntityPersister#prepareInsertData($entity)
* @see \Doctrine\ORM\Persisters\Entity\BasicEntityPersister#prepareUpdateData($entity)
*/
public $columnTypes = array();
/**
* The map of quoted column names.
*
* @var array
*
* @see \Doctrine\ORM\Persisters\Entity\BasicEntityPersister#prepareInsertData($entity)
* @see \Doctrine\ORM\Persisters\Entity\BasicEntityPersister#prepareUpdateData($entity)
*/
public $quotedColumns = array();
/**
* The INSERT SQL statement used for entities handled by this persister.
* This SQL is only generated once per request, if at all.
*
* @var string
*/
public $insertSql = '';
/**
* The SELECT column list SQL fragment used for querying entities by this persister.
* This SQL fragment is only generated once per request, if at all.
*
* @var string
* @var string|null
*/
public $selectColumnListSql;

View File

@ -420,8 +420,8 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister
protected function getSelectColumnsSQL()
{
// Create the column list fragment only once
if ($this->selectColumnListSql !== null) {
return $this->selectColumnListSql;
if ($this->cachedPersisterContexts['noLimits']->selectColumnListSql !== null) {
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
$columnList = array();
@ -523,9 +523,9 @@ class JoinedSubclassPersister extends AbstractEntityInheritancePersister
}
}
$this->selectColumnListSql = implode(', ', $columnList);
$this->cachedPersisterContexts['noLimits']->selectColumnListSql = implode(', ', $columnList);
return $this->selectColumnListSql;
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
/**

View File

@ -48,8 +48,8 @@ class SingleTablePersister extends AbstractEntityInheritancePersister
*/
protected function getSelectColumnsSQL()
{
if ($this->selectColumnListSql !== null) {
return $this->selectColumnListSql;
if ($this->cachedPersisterContexts['noLimits']->selectColumnListSql !== null) {
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
$columnList[] = parent::getSelectColumnsSQL();
@ -106,9 +106,9 @@ class SingleTablePersister extends AbstractEntityInheritancePersister
}
}
$this->selectColumnListSql = implode(', ', $columnList);
$this->cachedPersisterContexts['noLimits']->selectColumnListSql = implode(', ', $columnList);
return $this->selectColumnListSql;
return $this->cachedPersisterContexts['noLimits']->selectColumnListSql;
}
/**