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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.