Re: favoris : enregistrements multiples avec m ême clé multiple
JLuc <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le cas "favoris" manifeste ça de manière assez simple mais dans les autres cas, il n'y a pas forcément une clé multiple ; et indépendamment du symptôme visible = "création d'un double enregistrement" dans la table MYSQL, il y a tout le code qui se déroule en double sans détecter cette situation ! -- ce qui peut avoir des effets pas désirables du tout -- Le 30/11/2020 à 12:27, JLuc a écrit : > C'est avec le plugin favoris, > un peu personnalisé mais ça ne doit pas impacter le sujet. > Globalement ça se passe comme ça en 3 lignes successives (et donc dans un même hit) : > 1) on teste et il n'y a pas de favoris pour un couple (id_auteur, id_objet) > 2) on enregistre ce favori > 3) Après enregistrement, il y a *plusieurs* favoris avec ce couple > > J'imagine que ça se passe quand l'utilisateur doubleclique "Mettre en favori" : > il y a alors 2 process qui voient simultanément que ce favori n'existe pas, > et qui l'ajoutent identiquement à la table. > > Y a t il une autre explication ? > Et comment éviter cela ? > > Dans spip_favoris il y a un index > auteur_objet BTREE (id_auteur, id_objet, objet) > > Serait ce possible de le rendre UNIQUE ? > > Dans le cas de "favoris" là il n'y a pas de conséquences graves > mais c'est inquiétant de pas maîtriser les enregistrements dans la table > ... surtout pour des cas similaires sur d'autres tables plus critiques.