I've run over some comment in a core file which is about database compatible mode:

In www/app/code/core/Mage/Core/Helper/Data.php:

class Mage_Core_Helper_Data extends Mage_Core_Helper_Abstract

    # ...

     * Check whether database compatible mode is used (configs enable it for MySQL by default).
     * @return bool

    public function useDbCompatibleMode()
        $connType = (string) Mage::getConfig()->getNode(self::XML_PATH_CONNECTION_TYPE);
        $path = 'global/resource/connection/types/' . $connType . '/compatibleMode';
        $value = (string) Mage::getConfig()->getNode($path);
        return (bool) $value;

    # ...

This mode is new to me and I'm unable to find further references to it so I thought I put it here into Q&A.


I can't find anything about it. Neither in MySQL context nor in PHP context. Maybe it is something very old implemented in MySQL several years ago?

More details: If you search the magento source for DbCompatibleMode, you find:


Diggin deeper shows code fragments such as:

if (Mage::helper('core')->useDbCompatibleMode()) {
    $column['type']     = 'int';
    $column['is_null']  = true;
} else {
    $column['type']     = Varien_Db_Ddl_Table::TYPE_INTEGER;
    $column['nullable'] = true;
    $column['comment']  = 'Bundle Price View ' . $attributeCode . ' column';

But this still doesn't make sense. In MySQL INT and INTEGER are the synonyms. And in SQL92, INTEGER is the name of the row type, therefore this can't be a SQL92 compatibility mode.

  • I honor your comment, but it's placed as an answer which I think does not fit. Please move it into the comment section below the question. – hakre Feb 1 '16 at 10:57
  • I think this is the best answer you can get, therefore it is good where it is. If one gives a better one I'm ok deleting it – Fabian Blechschmidt Feb 1 '16 at 10:59
  • added more details, but still no satisfying answer – Fabian Blechschmidt Feb 1 '16 at 11:08
  • Well perhaps having a comment is unique to a certain database? It might have been that once other database types as Mysql were taken into consideration and that was meant by compatible? – hakre Feb 1 '16 at 12:12

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.