Modification de la compilation de jointures en 3.1 ?

RastaPopoulos <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Cas concret, une boucle dans le plugin Sélections éditoriales *qui n'a 
pas bougé* :

(SELECTIONS selections_liens){!orphelins}{auteurs_liens.id_auteur?}

Cette boucle contient *une jointure explicite* demandée. Le compilateur 
DOIT l'ajouter normalement, ce n'est pas facultatif, on la demande 
explicitement.

La seconde différence *hors* compilateur qui a changé aussi, c'est que 
Cédric à modifier {orphelins} pour ajouter une "subquery". Mais ce point 
n'est pas censé être lié à la jointure, c'est dans une des conditions du 
"where".


Voici sur les deux versions :


## En SPIP 3.0

SELECT selections.id_selection, 0 AS points, '', L2.id_objet, L2.objet, 
selections.titre AS titre_rang, selections.titre
FROM spip_selections AS 'selections'
INNER JOIN spip_selections_liens AS L2 ON ( L2.id_selection = 
selections.id_selection )
WHERE selections.id_selection  IN (
SELECT DISTINCT id_selection
FROM spip_selections_liens AS oooo)
GROUP BY selections.id_selection
ORDER BY 0+selections.titre, id_objet

## En SPIP 3.1

SELECT selections.id_selection, 0 AS points, '', L1.id_objet, L1.objet, 
selections.titre AS titre_rang, selections.titre
FROM spip_selections AS `selections`
INNER JOIN spip_auteurs_liens AS L1 ON ( L1.id_objet = 
ctions.id_selection AND L1.objet='selection')
WHERE selections.id_selection  IN (SELECT * FROM(
SELECT DISTINCT id_selection
FROM spip_selections_liens AS oooo) AS subquery)
GROUP BY selections.id_selection
ORDER BY 0+selections.titre, id_objet


En 3.1, quand on vire {auteurs_liens.id_auteur?}, alors ça remet la 
bonne jointure "spip_selections_liens". Mais en 3.0 ça marche direct 
sans rien changer.

-- 
RastaPopoulos
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.