402k products in this database for this merchant.
Check out this link for the errors/warnings.
{link saved}
Any ideas?
Thanks.
[SELECT SQL_CALC_FOUND_ROWS * , MIN( price ) AS minPrice, MAX( price ) AS maxPrice, COUNT( id ) AS numMerchants FROM `pt_products` WHERE merchant = 'SportsMemorabilia.com' GROUP BY name LIMIT 0,10][Incorrect key file for table '/var/mysqltmp/#sql_79f4_0.MYI'; try to repair it]
Thanks Doobe,
That does indicate that an index file has become corrupted rather than a table crash. To run the repair, create a new file repair.php in your Price Tapestry installation folder containing the following code:
<?php
set_time_limit(0);
require("includes/common.php");
$sql = "REPAIR TABLE `".$config_databaseTablePrefix."products`";
database_queryModify($sql,$result);
print "Done.";
?>
Upload, and browse to repair.php to run MySQL's internal re-indexing process and that should resolve the problem - if not let me know and I'll help you investigate further...
Cheers,
David.
--
PriceTapestry.com
OK. Tried this and still seeing the same error. I used both products and pt_products as the databaseTablePrefix.
It only happens when trying to access the merchant filter. If I choose category and navigate to a category I know that merchant is in everything comes up fine. Products still display, it is just when I try to use the merchant filter.
Hi Doobe,
$config_databaseTablePrefix pulls in the pt_ part of the table name, making it pt_products. A browse by category would use the category index whereas this error is occurring on the merchant query which would use the merchant index, so the next thing I would suggest to try is to drop and re-create that index, which can be done with the following dbmod.php script. As above, create this script in and browse to once from the Price Tapestry installation folder:
<?php
set_time_limit(0);
require("includes/common.php");
$sql = "DROP INDEX merchant ON `".$config_databaseTablePrefix."products`";
database_queryModify($sql,$result);
$sql = "CREATE INDEX merchant ON `".$config_databaseTablePrefix."products` (merchant)";
database_queryModify($sql,$result);
print "Done.";
?>
Hope this helps!
Cheers,
David.
--
PriceTapestry.com
Hi Doobe,
That's a strange one - I see that other merchants are working just fine so it's not a MySQL table crash or anything like that. Please could you enable database debug mode by changing line 6 of config.advanced.php as follows:
$config_databaseDebugMode = TRUE;
...then view the page again and let me know the extended MySQL error message that is displayed that should indicate the problem...
Thanks,
David.
--
PriceTapestry.com