[SPIP Zone] [Spip-zone-commit] r108552 - _plugins_/mailsubscribers/trunk

Hello,

concernant ce commit je pense qu’il y a erreur, les requêtes étaient bonne et la bonne pratique est bien l’utilisation de sql_quote.
Ici les dates ne sont plus échappées et c’est une erreur en SQLite notamment !

--
Cédric

On 18 janv. 2018 à 10:47 +0100, spip-zone-commit@rezo.net, wrote:

Author: peetdu@gmail.com
Date: 2018-01-18 10:47:38 +0100 (Thu, 18 Jan 2018)
New Revision: 108552

Modified:
_plugins_/mailsubscribers/trunk/mailsubscribers_administrations.php
_plugins_/mailsubscribers/trunk/mailsubscribers_autorisations.php
_plugins_/mailsubscribers/trunk/mailsubscribers_fonctions.php
_plugins_/mailsubscribers/trunk/mailsubscribers_pipelines.php
_plugins_/mailsubscribers/trunk/paquet.xml
Log:
bugfix sur les requêtes d’optimisation de base : les inscriptions et les listes mises à la poubelle n’étaient pas supprimées

Details: Connexion · GitLab

_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit

Le 18/01/2018 à 16:10, cedric@yterium.com a écrit :

concernant ce commit je pense qu’il y a erreur, les requêtes étaient bonne et la bonne pratique est bien l’utilisation de sql_quote.
Ici les dates ne sont plus échappées et c’est une erreur en SQLite notamment !

Yop,

Je suis tombé sur ce problème par hasard, en constatant que des listes supprimées par un utilisateur depuis belle lurette étaient toujours en place.

Du coup, j'ai fait quelques tests (sous MySQL)

pré-requis : J'ai bien en base une liste à la poubelle

En faisant un dump de la requête (avec sql_quote) j'obtiens ceci :
DELETE FROM spip_mailsubscribinglists WHERE statut='poubelle' AND date < '\'2018-01-17 10:30:52\'' AND maj < '\'2018-01-17 10:30:52\''

et sous MySQL il ne se passe rien

Le dump avec la requête que j'ai commité (inspiré directement de ce que propose la Fabrique) :
DELETE FROM `arlea`.spip_mailsubscribinglists WHERE statut='poubelle' AND maj < '2018-01-17 10:30:52'

et là ça marche bien.

Mais je n'ai pas tester avec SQLite effectivement

Quid ?
Peetdu

OK my bad, la date venant du pipeline est deja quotee, donc tu as raison.
J’ai juste complete en remettant une condition qui avait sautee.

--
Cédric

On 18 janv. 2018 à 18:20 +0100, Peetdu <peetdu@gmail.com>, wrote:

Le 18/01/2018 à 16:10, cedric@yterium.com a écrit :
> concernant ce commit je pense qu’il y a erreur, les requêtes étaient
> bonne et la bonne pratique est bien l’utilisation de sql_quote.
> Ici les dates ne sont plus échappées et c’est une erreur en SQLite
> notamment !

Yop,

Je suis tombé sur ce problème par hasard, en constatant que des listes
supprimées par un utilisateur depuis belle lurette étaient toujours en
place.

Du coup, j'ai fait quelques tests (sous MySQL)

pré-requis : J'ai bien en base une liste à la poubelle

En faisant un dump de la requête (avec sql_quote) j'obtiens ceci :
DELETE FROM spip_mailsubscribinglists WHERE statut='poubelle' AND date <
'\'2018-01-17 10:30:52\'' AND maj < '\'2018-01-17 10:30:52\''

et sous MySQL il ne se passe rien

Le dump avec la requête que j'ai commité (inspiré directement de ce que
propose la Fabrique) :
DELETE FROM `arlea`.spip_mailsubscribinglists WHERE statut='poubelle'
AND maj < '2018-01-17 10:30:52'

et là ça marche bien.

Mais je n'ai pas tester avec SQLite effectivement

Quid ?
Peetdu

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone