Projet

Général

Profil

Actions

Anomalie #311

fermé

Bug recherche adhérant (filtre nom)

Ajouté par Mathdesc Mathdesc il y a plus de 11 ans. Mis à jour il y a plus de 11 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
Database
Version cible:
Début:
03/08/2012
Echéance:
% réalisé:

100%

Temps estimé:
Version utilisée:

Description

La recherche retourne toujours vide sur beaucoup de noms d'adhérants ajoutés
avant la migration (i.e v0.62 -> v7) ...mais pas sur tous, c'est étrange.
(ceux ajoutés après ne posent pas de pb.)
Plus étrange, le fait de "modifier" la fiche même si aucun changement
n'est effectué dessus (juste clic sur le bouton enregistrer) permet
au filtre nom sur ce membre de remarcher.
??
(le filtre url marche convenablement sur tous.)


Demandes liées 1 (0 ouverte1 fermée)

Dupliqué par Galette - Anomalie #224: non réponse lors du flitrage sur [NOM]Rejeté30/03/2012

Actions

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

Serait-il possible de me filer (ici ou par mail direct au besoin) une ou deux instructions INSERT pour créer des adhérents « foireux » ?

Je n'ai pas de données 0.62, je ne serai pas en mesure de reproduire le problème.

Mis à jour par Frédéric Mathis il y a plus de 11 ans

Salut Mathdesc,

J'ai les mêmes symptômes que toi, j'ai migré d'un 0.62 vers la 0.70.
J'ai un peu creusé la question et je me suis aperçu que lorsque le champ pseudo_adh contient la valeur NULL la recherche sur le filtre NOM ne fonctionne plus. D'après la structure de la table de base de la 0.70, NULL semble être une valeur normale. J'ai fait la manipulation et contre manipulation pour vérifier ma théorie, peut-être peux-tu faire la même chose.
Il semblerait que lorsqu'on ouvre en modification et qu'on enregistre sans rien faire, ce champ se vide de la valeur NULL, ce qui expliquerait pourquoi en faisant cette manipulation cela fonctionne après.

Johan,
Je ne peux pas te fournir d'insert car j'ai fait des modifications dans ma base de données de la 0.62, mais peut être que ça sera limpide pour toi avec ce que j'ai écris plus haut.

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

  • Assigné à mis à Johan Cwiklinski
  • Catégorie mis à Database

Frédéric Mathis a écrit :

Johan,
Je ne peux pas te fournir d'insert car j'ai fait des modifications dans ma base de données de la 0.62, mais peut être que ça sera limpide pour toi avec ce que j'ai écris plus haut.

Ok, en effet, je devrai avoir assez d'infos pour trouver ce qui cloche... Enfin, je vais essayer déjà ;)

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

  • Version cible mis à 0.7.1

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

Ok, j'ai compris. Lors de la recherche par nom, on concatène les champs nom, prénom et pseudo dans la requête directement.

Il semble que ce soit la concaténation avec un NULL qui pose le souci. Je ne pense pas que ce filtre soit incorrect, il faut donc corriger la base de données.

L'ensemble de requête qui suit devrait corriger le problème :

UPDATE galette_adherents SET pseudo_adh = '' WHERE pseudo_adh IS NULL;
UPDATE galette_adherents SET nom_adh = '' WHERE nom_adh IS NULL;
UPDATE galette_adherents SET prenom_adh = '' WHERE prenom_adh IS NULL;

Les champs pseudo et prénom sont marqués comme pouvant être NULL, je corrigerai ça dans les scripts de mise à jour en 0.7.1. Si l'un d'entre vous peut me confirmer queles requêtes fonctionnent bien sous Mysql,ce serait sympa :)

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

À vrai dire, ce n'est pas nécessaire pour nom_adh.

Mis à jour par Mathdesc Mathdesc il y a plus de 11 ans

Johan Cwiklinski a écrit :

Ok, j'ai compris. Lors de la recherche par nom, on concatène les champs nom, prénom et pseudo dans la requête directement.
Il semble que ce soit la concaténation avec un NULL qui pose le souci. Je ne pense pas que ce filtre soit incorrect, il faut donc corriger la base de données.

Je suis d'accord;
Au vu du schéma table adhérants, j'imagine qu'une même requête sql soit executée quelque soit le filtre effectivement demandé (nom,prénom,pseudo) a l'avantage
du cache, s'il advient que l'utilisateur change de filtre sans modifier le motif de recherche.

À vrai dire, ce n'est pas nécessaire pour nom_adh.

UPDATE galette_adherents SET pseudo_adh = '' WHERE pseudo_adh IS NULL;

C'est correct et juste suffisant. :)

Bien joué Johan, Frédéric, mille mercis.

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

  • Statut changé de Nouveau à Résolu
  • % réalisé changé de 0 à 100

Mis à jour par Frédéric Mathis il y a plus de 11 ans

Mathdesc Mathdesc a écrit :

Johan Cwiklinski a écrit :

Ok, j'ai compris. Lors de la recherche par nom, on concatène les champs nom, prénom et pseudo dans la requête directement.
Il semble que ce soit la concaténation avec un NULL qui pose le souci. Je ne pense pas que ce filtre soit incorrect, il faut donc corriger la base de données.

Je suis d'accord;
Au vu du schéma table adhérants, j'imagine qu'une même requête sql soit executée quelque soit le filtre effectivement demandé (nom,prénom,pseudo) a l'avantage
du cache, s'il advient que l'utilisateur change de filtre sans modifier le motif de recherche.

À vrai dire, ce n'est pas nécessaire pour nom_adh.

[...]
C'est correct et juste suffisant. :)

Bien joué Johan, Frédéric, mille mercis.

Salut,

C'est toujours un plaisir d'aider la communauté ... et puis j'ai 4 années de tests et validations sur logiciels derrière moi ... ça aide !

J'ai appliqué la requête sur ma base de données de la 0.7, ça fonctionne très bien, du coup le fait-on sur prenom_adh sachant que ce n'est pas utile sur nom_adh ?

Fred

Mis à jour par Johan Cwiklinski il y a plus de 11 ans

  • Statut changé de Résolu à Fermé

Frédéric Mathis a écrit :

C'est toujours un plaisir d'aider la communauté ... et puis j'ai 4 années de tests et validations sur logiciels derrière moi ... ça aide !

Ça peut, oui :-)

J'ai appliqué la requête sur ma base de données de la 0.7, ça fonctionne très bien, du coup le fait-on sur prenom_adh sachant que ce n'est pas utile sur nom_adh ?

Oui, il faut le faire aussi sur prenom_adh, le même problème pourrait se reproduire (peu de chances avec les 0.7.x mais bon... autant faire les choses correctement ;))

Merci !

Actions

Formats disponibles : Atom PDF