when I try to save a product I get this error:

Fatal error: Call to undefined method Magento_Db_Adapter_Pdo_Mysql::dropTemporaryTable() in /magento/app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php on line 149.

The product is correctly saved but it hangs on this error and it don’t redirect to success page and shows this fatal error.

Please help !!

  • Are you sure this is ce-1.7? I cant seam to find that file in my instance. – Marius Nov 30 '13 at 21:20

This file app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php is part of magento 1.8

protected function _createTemporaryTable()

This method should be part of Varien_Db_Adapter_Pdo_Mysql which is parent of Magento_Db_Adapter_Pdo_Mysql

public function dropTemporaryTable($tableName, $schemaName = null)
    $table = $this->quoteIdentifier($this->_getTableName($tableName, $schemaName));
    $query = 'DROP TEMPORARY TABLE IF EXISTS ' . $table;

    return $this;

To solve this issue please check your Varien_Db_Adapter_Pdo_Mysql in line 2471 for the missing method. If it is not there you have two options:

  1. remove all magento core files and copy a fresh version 1.7.x into your project (which is very hard)
  2. copy version 1.8 into your project, remove all files from the core which are not part of 1.8 (diff v 1.8 against your project) to remove e.g. Mage_GoogleShopping

The problem is, that your project is not completly one or the other version, therefore new methods are called, but the lib is not up to date.


Have you override any core file recently?

Try to disable local and community modules one by one in the admin panel to see if there is a confict with one of them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.