/** * Constructor with parameters * Array of arguments with keys * - 'metadata' Enterprise_Mview_Model_Metadata * - 'connection' Varien_Db_Adapter_Interface * - 'factory' Enterprise_Mview_Model_Factory * - 'value' int|decimal|string|double * * @param array $args */ public function __construct(array $args) { parent::__construct($args); if (isset($args['value'])) { $this->_keyColumnIdValue = $args['value']; } }
/** * Move data from temporary flat table into regular flat table. * * @return Enterprise_Catalog_Model_Index_Action_Product_Refresh_Changelog */ protected function _moveDataToFlatTable() { $flatTable = $this->_productHelper->getFlatTableName($this->_storeId); if (!$this->_connection->isTableExists($flatTable)) { parent::_moveDataToFlatTable(); } else { $describe = $this->_connection->describeTable($this->_productHelper->getFlatTableName($this->_storeId)); $columns = $this->_productHelper->getFlatColumns(); $columns = array_keys(array_intersect_key($describe, $columns)); $select = $this->_connection->select(); $select->from(array('tf' => $this->_getTemporaryTableName($this->_productHelper->getFlatTableName($this->_storeId))), $columns); $sql = $select->insertFromSelect($flatTable, $columns); $this->_connection->query($sql); //drop "temporary" table after reindex $this->_connection->dropTable($this->_getTemporaryTableName($this->_productHelper->getFlatTableName($this->_storeId))); } return $this; }