- oct. 06, 2007
-
-
esj a rédigé
-
esj a rédigé
Tiens, il y a encore des spip_query sur INSERT. Deux de moins. Et un UPDATE de moins. Et améliorations du traducteur MySQL->PG, qui traite les fonctions SQL plus intelligement.
-
esj a rédigé
Encore mâcher le travail pour PG. En revanche, il a raison de refuser des dates dont le jour ou le mois sont nuls, c'est nul.
-
esj a rédigé
Ce qu'il est pénible, Postgres, à demander des GroupBy même lorsqu'il n'y a pas de jointures, sous prétexte qu'il y a un tri. J'espère au moins qu'il optimise après. Et ça suffit pour exiger tout un tas de nouveaux cas de traduction. Vivement le passage de l'espace privé en squelette, c'est le compilateur qui fera tout ce boulot.
-
- oct. 05, 2007
-
-
Christian Lefebvre a rédigé
-
Fil a rédigé
on isole la gestion du fix pour MSIE (et on le rend surchargeable) ; le script est maintenant envoye inline, c'est plus rapide et meilleur en bande passante (et encore plus moche en 'voir source' mais peu importe)
-
esj a rédigé
Les fonctions d'abstraction {{{sql_update}}} et {{{sql_updateq}}} se distinguent maintenant par le fait que la première n'effectue aucun traitement sur les opérandes de SET, alors que la seconde introduit des apostrophes pour les types non numériques, et transcode les fonctions et opérandes de dates selon le serveur (MySQL/PG). Cette répartition des rôles permet d'abstraire tous les cas d'utilisation d'UPDATE. Traitement manuel des cas nécessitant {{{sql_update}}}, qui sont autant d'exemples.
-
esj a rédigé
-
esj a rédigé
Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..UPDATE.*SET[^,]*WHERE.*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query."UPDATE *\([^ ]*\) *SET *\([^ ,=]*\) *= *" *. *_q(\([^)]*\)) *. *" *WHERE *\(.*;\)/sql_updateq("\1", array("\2" => \3), "\4/;' $i > x mv x $i done }}} et retrait d'une transformation mal venue dans inc:forum. Attention pour ceux qui réutilisent ces scripts: les Regexp sont parfois spécifiques à l'état actuel du code de SPIP.
-
esj a rédigé
Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..UPDATE.*SET[^,]*WHERE.*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query."UPDATE *\([^ ]*\) *SET *\([^ ,=]*\) *= *\([^,"$W+,)]*[^$, ]\) *WHERE *\(.*;\)/sql_updateq("\1", array("\2" => \3), "\4/;s/ => [^$a-z]\(\$[a-z0-9_]*\)[^a-z_]/ => \1/' $i > x mv x $i done }}} et retrait de deux transformations mal venues. Attention pour ceux qui réutilisent ces scripts: les Regexp sont parfois spécifiques à l'état actuel du code de SPIP.
-
Fil a rédigé
-
esj a rédigé
-
Fil a rédigé
-
esj a rédigé
Installation plus propre, sans message d'erreur. Attention, la fonction d'abstraction {{{showbase}}} introduite [10371] change légèrement de spécification: si son argument est fourni, il est pris tel quel comme opérande de ILIKE. Rien de changé si ps d'argument.
-
esj a rédigé
-
esj a rédigé
Blindage du script d'admin et de destruction de la base: il y a des destructions partielles qui pouvaient empêcher de reprendre la main.
-
- oct. 04, 2007
-
-
esj a rédigé
Abstraction de WHERE et ORDER (plus aucun spip_query-SELECT avec eux hormis les inévitables, et ils sont compatibles avec PG).
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^E]* ORDER BY[^GL]*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query..SELECT *\(.*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^E]*[^ ]\) *ORDER BY *\([^HL]*;\) *$/sql_select("\1", "\2", "\3", "", "\4/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x mv x $i done }}} et interventions manuelles dans inc/auth et mots_edit.
-
esj a rédigé
Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^E]* ORDER BY[^GL]*LIMIT[^H]*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query..SELECT *\(.*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^E]*[^ ]\) *ORDER BY *\([^HL]*[^ ]\) *LIMIT *\([^H]*;\)$/sql_select("\1", "\2", "\3", "", "\4", "\5/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x mv x $i done }}} Et une intervention manuelle préalable dans action/rss.php
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^HYL]*BY[^HYL]*BY[^GL]*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query..SELECT *\(.*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^HYL]*\)GROUP BY\([^HYL]*\)ORDER BY\([^GL]*;\)$/sql_select("\1", "\2", "\3", "\4", "\5/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x mv x $i done }}}
-
esj a rédigé
-
esj a rédigé
-
esj a rédigé
Abstraction des clauses avec WHERE et GROUP BY, plus quelques cas sans GROUP BY pas encore au carré lors du dépot précédent. Dépot obtenu partiellement par: {{{ for i in $(grep -l 'spip_query..SELECT[^D]*FROM.*WHERE[^GYL]*GROUP BY[^HYL]*;' [a-i]*/*php) do # Pour la clause DISTINCT, laisser intact pour le moment. sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^GYL]*\) *GROUP BY *\([^HYL]*;\)$/sql_select("\1", "\2", "\3", \"\4/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x mv x $i done }}}
-
esj a rédigé
Abstraction de requêtes avec WHERE. Application du sed précédent après mise en page au carré de qq occurrences de spip_query.
-
esj a rédigé
Zut, [10497] a abstrait inc/meta contrairement à ce qu'il dit, et effectivement à l'install ça bloque tout. Revert.
-
- oct. 03, 2007
-
-
Christian Lefebvre a rédigé
-
esj a rédigé
Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres. La Regexp précédent était trop restrictive dans sa manière d'exclure les requêtes avec GROUP BY, ORDER BY et LIMIT. Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^YT]*;' [a-i]*/*php) do # Pour la clause DISTINCT, laisser intact pour le moment. sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^YT]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x echo $i mv x $i done }}} et une suppressions manuelle de lourdeurs syntaxiques résultantes, et ajout d'une Include. Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
-
esj a rédigé
Manque le include(abstract_sql) dans certaines actions. On le charge au niveau de public.php, car de toutes façons le role des actions est d'écrire en base, a priori toutes en ont besoin.
-
esj a rédigé
-
Fil a rédigé
isset() ne suffit pas comme test, lorsque comme dans sedna on a un < INCLURE () {id_syndic=#ENV{id_syndic,''} } > : l'env existe mais vaut '', et ne correspond donc pas a une rubrique donnee l'erreur affichee etait : MySQL error lang FROM spip_rubriques WHERE id_rubrique=
-
esj a rédigé
Abstraction de tous les appels {{{ spip_query("SELECT ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres. Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..SELECT.*FROM.*WHERE[^A-Z]*;$' [a-i]*/*php) do # Pour la clause DISTINCT, laisser intact pour le moment. sed 's/spip_query..SELECT *\([^D]*[^ ]\) *FROM *\(.*[^ ]\) *WHERE *\([^A-Z]*;\)$/sql_select("\1", "\2", "\3/;s/ "" *\.//;s/ch(sql_select\(.*\));/sel\1;/' $i > x echo $i mv x $i done #}}} et deux suppressions manuelles de lourdeurs syntaxiques résultantes. Pas d'intervention sur le fichier inc/meta: au test, include manquant. À controler.
-
esj a rédigé
Abstraction de tous les appels {{{ spip_query("DELETE ..... WHERE ... }}} pour que les champs de type Date dans la clause WHERE soient transformé pour Postgres. Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..DELETE FROM' */*php) do sed 's/spip_query..DELETE FROM *\([^ \t].*[^[[ \t]\) *WHERE */sql_delete("\1", "/;s/"" \.//' $i > x mv x $i done }}} et suppression manuelles de qq lourdeurs syntaxiques résultantes.
-
esj a rédigé
Suite de [10485]: la hierarchie de id_rubrique c'est id_parent, et il n'est pas toujours dans les requêtes SQL compilées. (Pierre Fiches).
-
esj a rédigé
Retrait en dehors de inc/texte de la fonction produisant les liens <a href ... en fonction de type_urls via charger_generer_url. Il faudrait réussir à unifier tout ça en unique charger_fonction.
-
esj a rédigé
Traitement différencié MySQL/PostGres pour l'auto-réparation, en particulier pour les chaînes de langues.
-