/** * Method to do selects. * * @param Criteria $criteria The Criteria object used to build the SELECT statement. * @param PropelPDO $con * @return array Array of selected Objects * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function doSelect(Criteria $criteria, PropelPDO $con = null) { $criteriaForSelect = SphinxLogServerPeer::prepareCriteriaForSelect($criteria); $queryDB = kQueryCache::QUERY_DB_UNDEFINED; $cacheKey = null; $cachedResult = kQueryCache::getCachedQueryResults($criteriaForSelect, kQueryCache::QUERY_TYPE_SELECT, 'SphinxLogServerPeer', $cacheKey, $queryDB); if ($cachedResult !== null) { $cacheKey = null; SphinxLogServerPeer::filterSelectResults($cachedResult, $criteriaForSelect); SphinxLogServerPeer::updateInstancePool($cachedResult); return $cachedResult; } $con = SphinxLogServerPeer::alternativeCon($con, $queryDB); $queryResult = SphinxLogServerPeer::populateObjects(BasePeer::doSelect($criteriaForSelect, $con)); if ($criteriaForSelect instanceof KalturaCriteria) { $criteriaForSelect->applyResultsSort($queryResult); } if ($cacheKey !== null) { kQueryCache::cacheQueryResults($cacheKey, $queryResult); $cacheKey = null; } SphinxLogServerPeer::filterSelectResults($queryResult, $criteria); SphinxLogServerPeer::addInstancesToPool($queryResult); return $queryResult; }