/** * 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 = ApiServerPeer::prepareCriteriaForSelect($criteria); $queryDB = kQueryCache::QUERY_DB_UNDEFINED; $cacheKey = null; $cachedResult = kQueryCache::getCachedQueryResults($criteriaForSelect, kQueryCache::QUERY_TYPE_SELECT, 'ApiServerPeer', $cacheKey, $queryDB); if ($cachedResult !== null) { $cacheKey = null; ApiServerPeer::filterSelectResults($cachedResult, $criteriaForSelect); ApiServerPeer::updateInstancePool($cachedResult); return $cachedResult; } $con = ApiServerPeer::alternativeCon($con, $queryDB); $queryResult = ApiServerPeer::populateObjects(BasePeer::doSelect($criteriaForSelect, $con)); if ($criteriaForSelect instanceof KalturaCriteria) { $criteriaForSelect->applyResultsSort($queryResult); } if ($cacheKey !== null) { kQueryCache::cacheQueryResults($cacheKey, $queryResult); $cacheKey = null; } ApiServerPeer::filterSelectResults($queryResult, $criteria); ApiServerPeer::addInstancesToPool($queryResult); return $queryResult; }