spip/spip
-
Par Cerdic, le 18 février 2021 à 20h26min :
Retour sur d711e9c740a7fda98e3049d9ee5322e631363fc3 et fix #4465 :
l'absence de clause where sur les jointures objet/id_objet permet en effet d'optimiser les boucles de type
`<BOUCLE(ARTICLES){id_document ?}>`
mais a contrario comme indique par #4465 l'optimisation d'une boucle
`<BOUCLE(DEPOTS){id_mot=1}>#ID_DEPOT</BOUCLE> est trop forte car la jointure saute du fait que la table principale est enlevee du from et on a plus le where sur objet.
On s'en tire on reinserant de nouveau le where en doublon de la clause de jointure,
mais en le pointant d'une cle qui l'associe a la jointure,
ce qui permet a calculer_select de savoir que ce where saute si la jointure saute et de faire correctement son travail dans les 2 cas
Il faut esperer que ca ne nous cree pas un nouveau cas limite, ou pas avant 12 ans en tout cas 
*Modifié*
ecrire/public/compiler.php
ecrire/public/composer.php
ecrire/public/jointures.php
Détails : https://git.spip.net/spip/spip/commit/81b3f6dd22d699986ca2d5a068959ec0011b4253