1
0
mirror of synced 2025-02-20 14:13:15 +03:00

Perf. improvement on hydrating joined resultsets, part 2.

This commit is contained in:
romanb 2008-04-12 20:24:28 +00:00
parent 3d8a37b2b4
commit 234253edd1

View File

@ -180,8 +180,6 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract
$listeners[$componentName]->preHydrate($event);
//--
$element = $driver->getElement($data, $componentName);
$parent = $map['parent'];
$relation = $map['relation'];
$relationAlias = $map['relation']->getAlias();
@ -198,6 +196,7 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract
// append element
if (isset($nonemptyComponents[$dqlAlias])) {
if ( ! isset($identifierMap[$path][$id[$parent]][$id[$dqlAlias]])) {
$element = $driver->getElement($data, $componentName);
// just event stuff
$event->set('data', $element);
$listeners[$componentName]->postHydrate($event);
@ -228,6 +227,7 @@ class Doctrine_Hydrator extends Doctrine_Hydrator_Abstract
if ( ! isset($nonemptyComponents[$dqlAlias])) {
$prev[$parent][$relationAlias] = $driver->getNullPointer();
} else {
$element = $driver->getElement($data, $componentName);
$prev[$parent][$relationAlias] = $element;
}
}