Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[FIX] Bug si messages trop longs (1.0)

Poster un nouveau sujet Répondre au sujet

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 25 Juin 2005 15:30
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
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;

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
Dernière édition par Darathor le 04 Juil 2006 16:53; édité 1 fois
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum