[SPIP Zone] a2a cassé en sqlite

Yo,

Je viens de remarquer que le plugin a2a est cassé en sqlite, certainement depuis un bon moment car ça semble remonter à l'introduction de la fonctionnalité de typage des liens.

En effet, sous mysql on a l'erreur suivante dans les logs à chaque insertion d'un lien :

2019-07-30 15:52:07 127.0.0.1 (pid 5084) :Pri:ERREUR: Erreur 1062 de mysql: Duplicate entry '1237-1989-' for key 'PRIMARY'
in /home/bb/zone/_plugins_/a2a/trunk/action/a2a.php L56 [sql_insertq(),action_a2a_lier_article_dist(),formulaires_ajoute_a2a_traiter(),traiter_formulaires_dynamiques()]
INSERT INTO spip_articles_lies (id_article,id_article_lie,rang,type_liaison) VALUES (1237,1989,1,'')

Alors que sqlite est plus permissif et insère tranquillement le lien en double. On se retrouve donc avec deux liens affichés dans le privés, et la suppression de ceux-ci ne fait absolument rien.

Cela vient certainement de cette partie du code https://zone.spip.net/trac/spip-zone/browser/spip-zone/plugins/a2a/trunk/action/a2a.php#L29 mais l'indentation utilisée dans ce fichier n'aide pas vraiment à la compréhension du code ^^

PS : je viens déjà de corriger une typo qui aurait potentiellement pu poser problème sur certaines conf cf https://zone.spip.net/trac/spip-zone/changeset/116181

++
b_b

Yo,
possible. Je suis en vacances. Si tu veux modifier/corriger gogogo. Si
t'a besoins encore de discuter > semaine prochaine tu me relance ?
Le mardi 30 juillet 2019 à 16:51 +0200, Bruno Bergot a écrit :

Yo,

Je viens de remarquer que le plugin a2a est cassé en sqlite,
certainement depuis un bon moment car ça semble remonter à
l'introduction de la fonctionnalité de typage des liens.

En effet, sous mysql on a l'erreur suivante dans les logs à chaque
insertion d'un lien :

2019-07-30 15:52:07 127.0.0.1 (pid 5084) :Pri:ERREUR: Erreur 1062 de
mysql: Duplicate entry '1237-1989-' for key 'PRIMARY'
in /home/bb/zone/_plugins_/a2a/trunk/action/a2a.php L56
[sql_insertq(),action_a2a_lier_article_dist(),formulaires_ajoute_a2a_t
raiter(),traiter_formulaires_dynamiques()]
INSERT INTO spip_articles_lies
(id_article,id_article_lie,rang,type_liaison) VALUES (1237,1989,1,'')

Alors que sqlite est plus permissif et insère tranquillement le lien
en
double. On se retrouve donc avec deux liens affichés dans le privés,
et
la suppression de ceux-ci ne fait absolument rien.

Cela vient certainement de cette partie du code

https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/a2a/trunk/action/a2a.php#L29

mais l'indentation utilisée dans ce fichier n'aide pas vraiment à la
compréhension du code ^^

PS : je viens déjà de corriger une typo qui aurait potentiellement pu
poser problème sur certaines conf cf
https://zone.spip.net/trac/spip-zone/changeset/116181

++
b_b

Yop,

Petite relance amicale, car en l'état le plugin est inutilisable chez un hébergeur douillet pour SPIP (je ne donnerai pas de nom !).

++
b_b

Le 30/07/2019 à 18:41, Maïeul Rouquette a écrit :

Yo,
possible. Je suis en vacances. Si tu veux modifier/corriger gogogo. Si
t'a besoins encore de discuter > semaine prochaine tu me relance ?
Le mardi 30 juillet 2019 à 16:51 +0200, Bruno Bergot a écrit :

Yo,

Je viens de remarquer que le plugin a2a est cassé en sqlite,
certainement depuis un bon moment car ça semble remonter à
l'introduction de la fonctionnalité de typage des liens.

En effet, sous mysql on a l'erreur suivante dans les logs à chaque
insertion d'un lien :

2019-07-30 15:52:07 127.0.0.1 (pid 5084) :Pri:ERREUR: Erreur 1062 de
mysql: Duplicate entry '1237-1989-' for key 'PRIMARY'
in /home/bb/zone/_plugins_/a2a/trunk/action/a2a.php L56
[sql_insertq(),action_a2a_lier_article_dist(),formulaires_ajoute_a2a_t
raiter(),traiter_formulaires_dynamiques()]
INSERT INTO spip_articles_lies
(id_article,id_article_lie,rang,type_liaison) VALUES (1237,1989,1,'')

Alors que sqlite est plus permissif et insère tranquillement le lien
en
double. On se retrouve donc avec deux liens affichés dans le privés,
et
la suppression de ceux-ci ne fait absolument rien.

Cela vient certainement de cette partie du code

https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/a2a/trunk/action/a2a.php#L29

  mais l'indentation utilisée dans ce fichier n'aide pas vraiment à la
compréhension du code ^^

PS : je viens déjà de corriger une typo qui aurait potentiellement pu
poser problème sur certaines conf cf
https://zone.spip.net/trac/spip-zone/changeset/116181

++
b_b

Le 30/08/2019 à 17:11, Bruno Bergot a écrit :

Yop,

Petite relance amicale, car en l'état le plugin est inutilisable chez un hébergeur douillet pour SPIP (je ne donnerai pas de nom !).

++

Voilà, c'est fait. J'en ai profité pour mutualiser du code. Lors de la mise à jour du plugin, si on est en sqlite, cela supprime les liaisons doublonnées.

Il y avait également un bug sur des installations neuve, le type de liaison était null, et pas '' par défaut, ce qui empêchait la suppression des liaisons. Mais c'est corrigé.

Nickel, merci pour les utilisateurs de sqlite :wink:

++
b_b

Le 30/08/2019 à 21:54, Maïeul a écrit :

Voilà, c'est fait. J'en ai profité pour mutualiser du code. Lors de la mise à jour du plugin, si on est en sqlite, cela supprime les liaisons doublonnées.

Il y avait également un bug sur des installations neuve, le type de liaison était null, et pas '' par défaut, ce qui empêchait la suppression des liaisons. Mais c'est corrigé.