/** * Batched insert of specified select * * @param Varien_Db_Select $select * @param string $table * @param array $fields * @param bool $mode * @param int $step * @return int */ public function insertBatchFromSelect(Varien_Db_Select $select, $table, array $fields = array(), $mode = false, $step = 10000) { $limitOffset = 0; $totalAffectedRows = 0; do { $select->limit($step, $limitOffset); $result = $this->query($this->insertFromSelect($select, $table, $fields, $mode)); $affectedRows = $result->rowCount(); $totalAffectedRows += $affectedRows; $limitOffset += $step; } while ($affectedRows > 0); return $totalAffectedRows; }
/** * Set Mysql specific limit * * @param Varien_Db_Select $select * @return Enterprise_CustomerSegment_Model_Resource_Helper_Mysql4 */ public function setOneRowLimit(Varien_Db_Select $select) { $select->limit(1); return $this; }
/** * Sets limit for rules specific select * * @param Varien_Db_Select $select * @param int $limit * @return void */ public function setRuleLimit(Varien_Db_Select $select, $limit) { $select->limit($limit); }
/** * Retrieve purchasable products from the database * * @param Varien_Db_Select $query Query * @param int $page Cursor * @param int $perPage Page size * * @return array */ private function _retrievePurchasablePage(Varien_Db_Select $query, $page, $perPage) { $query->limit($perPage, $perPage * ($page - 1)); return $query->query()->fetchAll(); }