Bug produit pack sur prestashop (group_concat_max_len)

mars 15th, 2013 | by | php, prestashop

Mar
15

Un "bug" rencontré sur prestashop suivant la configuration de votre serveur.

Prestashop utilise la fonction mysql GROUP_CONCAT pour récupérer les packs dans lequel le produit se trouve.
Comme ce produit se trouvait dans environ 500 packs sur le site cela provoquait une erreur SQL car le GROUP_CONCAT finissait comme ceci :

954,955,956,) ORDER...

La concaténation du résultat était trop grosse, s’arrêtait donc au milieu et provoquait une erreur de syntaxe.
Pour contrer cela, il faut augmenter la valeur de group_concat_max_len.
Soit en faisant

SET SESSION group_concat_max_len = 1000000

Soit en changeant directement la valeur par défaut dans votre fichier /etc/mysql/my.cnf ou .cfg dans le groupe [mysqld]

group_concat_max_len=1000000

Puis de redémarrer vos services.

En espérant que cela vous évite quelques heures de recherche 😉

Authored by

Laisser un commentaire