Darathor
Citation :
But : Ce FIX corrige un bug au niveau des recherches en cas de trop grand nombre de résultats (en particulier quand on affiche la liste des messages postés par un membre ayant dans les 10000 posts ou plus).
Explications :Symptômes du bug : La première page de résultat s'affiche, mais les pages suivantes non (message d'erreur).
Cause : Le résutat de la recherche (liste d'id de posts) est stocké dans la un champ texte de la table phpbb_search_results, or par défaut ces champs ont une taille maximale de 65536 caractères... Donc avec de très gros nombre de posts trouvés, ça dépasse (et du coup la chaîne stockée n'est plus syntaxiquement correcte, ce qui entraine une erreur).
Solution : Remplacer le champ text par un champ de type MEDIUMTEXT (16 millions de caractères max, donc y a de la marge :P).
Remarque : Il n'est pas impossible que passer à ce type de champ ralentisse le traitement ou prenne un peu plus de place (je ne connais pas assez l'implémentation de MySQL pour être sûr) donc il vaut mieux n'appliquer ce fix que si l'on rencontre le bug (c'est à dire si l'on a une grosse base).
Auteur : Darathor (darathor@free.fr)
Version : 1.0 (25/06/2005)
Compatibilité phpBB : 2.0.15
Requête à effectuer dans phpMyadmin :
Code :
ALTER TABLE `phpbb_search_results` CHANGE `search_array` `search_array` MEDIUMTEXT NOT NULL;