/** * Prepare affected product */ protected function _prepareAffectedProduct() { /** @var $modelCondition Mage_Catalog_Model_Product_Condition */ $modelCondition = $this->_factory->getModel('catalog/product_condition'); $productCondition = $modelCondition->setTable($this->_resource->getTable('catalogrule/affected_product'))->setPkFieldName('product_id'); $this->_app->dispatchEvent('catalogrule_after_apply', array('product' => $this->_getProduct(), 'product_condition' => $productCondition)); $this->_connection->delete($this->_resource->getTable('catalogrule/affected_product')); }
/** * @param Mage_Customer_Model_Customer $customer */ protected function _moveAttributesData($customer) { $attributes = array('po_limit' => $this->_poLimitId, 'po_credit' => $this->_poCreditId); foreach ($attributes as $attributeCode => $attributeId) { try { $select = $this->_db->select()->from($customer->getResource()->getTable('customer_entity_int'), array('value'))->where('attribute_id = ?', $attributeId)->where('entity_id = ?', $customer->getId()); $value = $this->_db->fetchOne($select); if ((int) $value > 0) { $this->_db->insert($customer->getResource()->getTable('customer_entity_decimal'), array('entity_type_id' => $customer->getEntityTypeId(), 'attribute_id' => $attributeId, 'entity_id' => $customer->getId(), 'value' => (int) $value)); } } catch (Exception $e) { } try { $this->_db->delete($customer->getResource()->getTable('customer_entity_int'), 'entity_type_id = ' . $customer->getEntityTypeId() . ' AND attribute_id = ' . $attributeId . ' AND ' . 'entity_id = ' . $customer->getId()); } catch (Exception $e) { } } }
/** * Garbage collection * * @param int $sessMaxLifeTime ignored * @return boolean */ public function gc($sessMaxLifeTime) { if ($this->_automaticCleaningFactor > 0) { if ($this->_automaticCleaningFactor == 1 || rand(1, $this->_automaticCleaningFactor) == 1) { $where = array('session_expires < ?' => Varien_Date::toTimestamp(true)); $this->_write->delete($this->_sessionTable, $where); } } return true; }
/** * Refresh materialized view * * @return Enterprise_Mview_Model_Action_Mview_Refresh * @throws Exception */ public function execute() { try { $insert = $this->_connection->insertFromSelect($this->_connection->select()->from($this->_metadata->getViewName()), $this->_metadata->getTableName()); $this->_connection->delete($this->_metadata->getTableName()); $this->_connection->query($insert); $this->_metadata->setValidStatus()->setVersionId($this->_selectLastVersionId())->save(); } catch (Exception $e) { $this->_metadata->setInvalidStatus()->save(); throw $e; } return $this; }
/** * Method deletes old row in the mview table and insert new one from view. * * @return Enterprise_Mview_Model_Action_Mview_Create * @throws Enterprise_Mview_Exception */ public function execute() { $this->_validate(); $this->_connection->beginTransaction(); try { $this->_connection->delete($this->_metadata->getTableName(), array($this->_metadata->getKeyColumn() . '=?' => $this->_keyColumnIdValue)); $this->_connection->query($this->_getInsertSql()); $this->_connection->commit(); } catch (Exception $e) { $this->_connection->rollBack(); throw new Enterprise_Mview_Exception($e->getMessage(), $e->getCode()); } return $this; }
/** * Refresh rows by ids from changelog * * @return Enterprise_Mview_Model_Action_Mview_Refresh_Changelog * @throws Enterprise_Mview_Exception */ public function execute() { $this->_validate(); $this->_connection->beginTransaction(); try { $this->_connection->delete($this->_metadata->getTableName(), array($this->_metadata->getKeyColumn() . ' IN ( ' . $this->_selectChangedIds() . ' )')); $this->_connection->query($this->_connection->insertFromSelect($this->_selectChangedRows(), $this->_metadata->getTableName())); $this->_metadata->setVersionId($this->_selectLastVersionId()); $this->_metadata->save(); $this->_connection->commit(); } catch (Exception $e) { $this->_connection->rollBack(); $this->_metadata->setOutOfDateStatus()->save(); throw new Enterprise_Mview_Exception($e->getMessage(), $e->getCode()); } return $this; }
/** * Garbage collection * * @param int $maxLifeTime * @return boolean */ public function gc($maxLifeTime) { $where = array('session_expires < ?' => time() - $maxLifeTime); $this->_write->delete($this->_sessionTable, $where); return true; }
/** * Clear changelog table * * @return Enterprise_Mview_Model_Action_Changelog_Clear */ public function execute() { $this->_connection->delete($this->_metadata->getChangelogName(), array('version_id < ?' => $this->_metadata->getVersionId())); return $this; }
/** * Delete custom option type values * * @param array $optionIds * @return Mage_ImportExport_Model_Import_Entity_Product_Option */ protected function _deleteSpecificTypeValues(array $optionIds) { $this->_connection->delete($this->_tables['catalog_product_option_type_value'], $this->_connection->quoteInto('option_id IN (?)', $optionIds)); return $this; }