CDbCriteria unserialize issue

__wakeup function does not update parameters in select and join statements

For example

$a = new CDbCriteria();

$a->condition = "text = :param";

$a->join = "INNER JOIN tblX on tableX.id = t.id AND tblX.data = :param";

$a->params = array(’:param’=>‘mydata’);

after unserialized the serialize cdbcriteria object appears like this

$a->condition = "text = :ycp0";

$a->join = "INNER JOIN tblX on tableX.id = t.id AND tblX.data = :param";

$a->params = array(’:ycp0’=>‘mypara’);

Please note that the condition in join statement can be moved under where clause but its not possible with some complex joins contain union and where conditions.

Anyone experienced this issue before?