ZF-8190: Undefined variable in Zend_Db_Select


The changes in Zend_Db_Select in 1.9.4 release started to raise an undefined variable notice:

( ! ) Notice: Undefined variable: lastFromCorrelationName in /data/html/ on line 840

To reproduce:

$adapter = Zend_Db_Table::getDefaultAdapter();

$select = $adapter->select()
    ->from('sometable', 'id');

$select2 = $adapter->select()
    ->from(null, 'COUNT(*) FROM (' . $select->__toString() . ') AS count');

$result = $adapter->fetchCol($select2);

The variable {{$lastFromCorrelationName}} is declared in Zend_Db_Select on line 810, inside an {{if}} statement, but is used outside it, on line 840.

Moving the declaration to just outside the {{if}} (line 800) corrects the problem, and all unit tests still pass.

Tested in trunk and the bug is still present.


Attaching the patch to solve this issue.

Solved in SVN r18750(trunk), r18751(1.9branch)