-
- Téléchargements
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.
parent
8a3f9bcf
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Veuillez vous inscrire ou vous se connecter pour commenter