VirtueMart Forum

VirtueMart 2 + 3 + 4 => General Questions => Topic started by: psm on March 02, 2019, 22:32:54 PM

Title: Module corresponding tables
Post by: psm on March 02, 2019, 22:32:54 PM
Hello,
please is there any way how to find which tables are used by module Cherry picker - advanced search for Virtuemart?

I have problem with error:  Too many keys specified; max 64 keys allowed when I import parameters and values of each product to custom fields.

I read it is possible to fix it by change type of tables from MyISAM to InnoDB. but I do not know which tables I should change.

Thank you
Title: Re: Module corresponding tables
Post by: Jörgen on March 03, 2019, 08:40:31 AM
You have not given any VM, Joomla or PHP versions, buta since this is actually not a VM question, this should be directed to cherry picker.

The used db files are of course shown in the cherry picker code, check this for database calls.

Search through the database and you will probably see tables named cherry_picker or similar.

Jörgen @ Kreativ Fotografi


Title: Re: Module corresponding tables
Post by: psm on March 03, 2019, 09:45:05 AM
Thank you and which code shoul contain this information, please? I know it must follow some predefined structure.

And can be this problem solve by change type of tables to InnoDB?

Title: Re: Module corresponding tables
Post by: Studio 42 on March 03, 2019, 13:05:34 PM
Check in your cherry picker Module the loaded files, you should see the tables inside this files
Title: Re: Module corresponding tables
Post by: psm on March 07, 2019, 21:45:43 PM
And how can I chcek loaded files, please?
Title: Re: Module corresponding tables
Post by: Studio 42 on March 08, 2019, 03:30:31 AM
You have do a screenshot, the main files are in mod_cherry... folder.
If you dont see any query, then you have to check in function buildfiltertable ....
Title: Re: Module corresponding tables
Post by: psm on March 10, 2019, 10:46:30 AM
Hello,
just for notice: after we imported 12000 products with 10 custom fields in average for 1 product from supplier this module stopped to work. (For example with 200 products this module works well.)

Finally I changed all tables in DB to InnoDB type and it did not help.

I found one command for create temporary table by Cherry Picker module. Could you please advice me if this part of module can be problematic and how to solve it?

$selectStatement = "SELECT  ". implode(', ', $columns) .
            " FROM (". implode(', ', $tables) .") ". implode(' ', $joins) .
            " WHERE ". implode(' AND ', $where) .
            " GROUP BY vpc.virtuemart_product_id";

    // In case Dynamic Mode enabled after the Static Mode, we need to clear Static table
    if ($filtersTableMode == CP_FILTER_TABLE_DYNAMIC) {
        $this->deleteFiltersTable();

        $q = "CREATE TEMPORARY TABLE `#__cp_filters`".
        " (". $tableOptions .") ENGINE=MyISAM  DEFAULT CHARSET=utf8".
        " (". $selectStatement .")";
    } else {
        $q = "CREATE TABLE `#__cp_filters`".
        " (". $tableOptions .") ENGINE=MyISAM  DEFAULT CHARSET=utf8".
        " (". $selectStatement .")";
    }

I already tried to change engine in code to InnoDb but it did not help too.

Module developer still do not respond to my emails.

Thank you very much.
Title: Re: Module corresponding tables
Post by: Studio 42 on March 10, 2019, 11:09:53 AM
Sorry but this is not a virtuemart problem. You have to know or see the code to help you, i think that no one can give you an answer here, you have to hire someone to do it.