trouver_table('spip_articles') recherchait la table reellement nommee...
trouver_table('spip_articles') recherchait la table reellement nommee spip_articles en base, sans changer le prefixe, ce qui obligeait, le cas echeant, a gerer le prefixe en amont de l'appel.
Ce comportement est incoherent avec le reste de l'api SQL car si on est sur une base avec prefixe 'truc_' et qu'une table 'spip_articles' est trouvee par trouver_table, la requete sql que l'on essayera de faire juste apres sur cette table sera en fait realisee sur truc_articles, puisque toutes les sql_xx renomment le prefixe automatiquement (sauf sql_showtable qui dispose d'un argument pour activer ce renommage, par defaut a false).
On introduit donc un argument $table_spip sur trouver_table, en 3eme position pour ne pas changer la signature, par defaut a true, ce qui correspond a l'usage general.
trouver_table('spip_articles') trouvera donc 'truc_articles' dans une base avec prefixe truc.
Pour trouver la vrai table spip_articles, il faut faire, le cas echeant trouver_table('spip_articles','',false);
Sachant qu'il n'est de toute facon pas possible de faire un sql_select sur cette table par l'api SQL, sauf peut etre en quotant le nom de la table avec les `spip_articles`
Ce changement risquant d'introduire des petits bugs, on le fait des maintenant pour avoir le temps de les detecter.
Corrolairement, dans une <BOUCLE_xx(spip_articles)>, c'est toujours la table principale qui est prise en compte, avec renommage du prefixe, idem pour les jointures.
Chargement en cours
Veuillez vous inscrire ou vous se connecter pour commenter