Autant éviter les trolls, donc d'accord
Oui, l'idée est d'avancer et de ne pas polluer cette liste ...
Il faudrait faire le point de toutes les requètes sql utilisées par
SPIP.
Voir à la fin de ce message, liste établie par Fred Renaudin en juin
sur une 1.4 beta.
En fonction des SGBD visés, la syntaxe peut être différente, ou les
fonctionnalités (procédures stockées par exemple). C'est un point à
prendre en compte.
Je ne suis pas sûr que l'on ait besoin de procédures stockées,
l'essentiel des traitements fonctionnels devant tant que possible
rester dans le code PHP de SPIP pour qu'il soit présent une seule
fois.
On dirait une approche modules ;-D
Bof, pour moi les modules au sens où tu sembles les entendre (modules
fonctionnels, à priori) peuvent reposer aussi sur cette méthode, mais
c'est surtout la base pour une approche de modularité technique, un
type de framework technique.
Je pense personnellement qu'il faut dès maintenant se fixer une
liste de SGBD à intégrer.
C'est simple, les discussions que nous avons eu jusqu'à présent
semblait rendre PostgreSQL intéressant pour une personne, et Oracle
pour 4 ...
Après ça, faire en sorte que les requètes soient admises par tous.
C'est le rôle des librairies.
Les librairies doivent servir uniquement aux opérations de base
d'accès aux données, pas à la logique fonctionnelle de l'appli.
Voir également ce que l'on peut faire de "spécifique" à tel ou tel
SGBD (Proc stockée encore) et surtout tracer les modifs à faire dans
le code SPIP, notemment à l'install.
cf remarques précédentes.
-Nicolas
PS: liste des requêtes de SPIP
---------8<--------------------------------------------------
Partie front-office
Spip_pass.php3 :
Lg 33-34 : SELECT
Lg 37 : NUM_ROWS
Lg 38 : FETCH_ARRAY
Lg 58 : INSERT
Spip_image.php3 :
Lg 222-227 :SELECT
Lg 228 :FETCH_ARRAY
Lg 240 :UPDATE
Lg 245 :INSERT + AUTO-INCREMENT
Lg 247 :INSERT_ID
Lg 250 :INSERT
Lg 289 :INSERT + AUTO-INCREMENT
Lg 291 :INSERT_ID
Lg 292 :UPDATE
Lg 317 :UPDATE
Lg 322 :UPDATE
Lg 328 :UPDATE
Lg 364 :SELECT + FETCH_ARRAY
Lg 417 :SELECT
Lg 421-423 :UPDATE + DELETE
Inc-url-standard.php3 :
Lg 46-48 :SELECT + FETCH_ARRAY
Inc-url-html.php3 :
Lg 46-48 :SELECT + FETCH_ARRAY
Inc-stats.php3 :
Lg 16 :SELECT
Lg 19 :FETCH_ARRAY
Lg 27-30 :UPDATE
Inc-public.php3 :
Lg 89 :SELECT
Lg 91 :FETCH_ARRAY
Lg 224 :SELECT + INTERVAL
Lg 227 :FETCH_ARRAY
Lg 232 :DELETE
Inc-forum.php3 :
Lg 27 :SELECT
Lg 29 :FETCH_OBJECT
Lg 86 :SELECT
Lg 88 :DETCH_ARRAY
Lg 161-171 :SELECT + FETCH_OBJECT
Lg 182 :INSERT+NOW
Lg 185 :INSERT_ID
Lg 188-192 :SELECT + FETCH_ARRAY
Lg 214 :SELECT + AS + GROUP BY
Lg 216-217 :NUM_ROWS + FETCH_ARRAY
Lg 310 :SELECT + FETCH_ARRAY
Lg 317 :SELECT + NUM_ROWS
Lg 329 :FETCH_ARRAY
Lg 428 :SELECT
Lg 431 :FETCH_ARRAY
Lg 438 :DELETE
Lg 458 :DELETE
Lg 470 :INSERT
Lg 478 :UPDATE + NOW
Lg 491 :SELECT + FETCH_ARRAY
Lg 498 :SELECT + FETCH_ARRAY
Lg 538 :UPDATE
Lg 569 :SELECT + FETCH_ARRAY
Spip-cache.php3 :
Lg 15 :DELETE
Inc-formulaires.php3 :
Lg 13 :SELECT
Lg 15 :NUM_ROWS
Lg 31-33 :SELECT + NUM_ROWS
Lg 54 :SELECT + NUM_ROWS + FETCH_ARRAY
Lg 69 :SELECT + FETCH_ARRAY
Lg 83 :SELECT + NUM_ROWS
Lg 93 :SELECT + NUM_ROWS
Lg 105 :UPDATE
Lg 118 :SELECT + FETCH_ARRAY
Lg 142 :SELECT + NUM_ROWS
Lg 169 :SELECT + NUM_ROWS
Lg 183 :SELECT + FETCH_ARRAY
Lg 215 :INSERT + NOW
Lg 227 :SELECT + FETCH_ARRAY
Lg 289 :SELECT + NUM_ROWS + FETCH_ARRAY
Lg 305 :DELETE
Lg 322 :INSERT
Lg 392 :INSERT + NOW
Inc-cache.php3 :
Lg 122 :DELETE
Inc-calcul.php3 :
Lg 79 :SELECT + FETCH_ARRAY
Lg 104 :SELECT + FETCH_ARRAY
Lg 120 :SELECT + FETCH_OBJECT
Lg 166 :SELECT + FETCH_ARRAY
Lg 218 :SELECT + LEFT JOIN + FETCH_ARRAY
Lg 335 :SELECT + FETCH_ARRAY
Lg 397-415 :SELECT + FETCH_ARRAY
Inc-calcul-quel.php3 :
Toute la page
BACKOFFICE
Statistiques_tous.php3 :
Lg 42 :SELECT + MAX + FETCH_ARRAY
Lg 50 :SELECT + LIMIT
Statiqtiques_recents.php3 :
Lg 43 :SELECT + MAX + FETCH_ARRAY
Lg 51 :SELECT + DATE_SUB + LIMIT
Statistiques.php3 :
Lg 51 :SELECT + FETCH_ARRAY
Lg 58 :SELECT + SUM + FETCH_ARRAY
Lg 82 :SELECT + FETCH_ARRAY
Lg 137 :SELECT + COUNT + FETCH_ARRAY
Lg 143 :SELECT + COUNT + FETCH_ARRAY
Lg 147 :SELECT + COUNT + FETCH_ARRAY
Lg 160 :SELECT + FETCH_ARRAY
Sites-tous.php3 :
Lg 7 :DELETE
Lg 26-32 :SELECT
Lg 45 :SELECT
Lg 48 :SELECT
Sites-edit.php3 :
Lg 18 :SELECT + LIMIT + FETCH_ARRAY
Lg 35 :SELECT + FETCH_ARRAY
Lg 66 :SELECT + FETCH_ARRAY
Lg 172 :SELECT + FETCH_ARRAY
Sites.php3 :
Lg 77 :DELETE + DATE
Lg 80 :INSERT + NOW + INSERT_ID
Lg 86 :INSERT + FETCH_ARRAY
Lg 112 :UPDATE
Lg 132 :UPDATE
Lg 136 :UPDATE + NOW
Lg 156 :UPDATE
Lg 182 :UPDATE + DATE
Lg 200 :SELECT + FETCH_ARRAY
Lg 415 :SELECT
Lg 443 :SELECT
Rubriques-edit.php3 :
Lg 8 :INSERT + INSERT_ID
Lg 31 :SELECT + FETCH_ARRAY
Lg 57 :SELECT + FETCH_ARRAY
Lg 76 :SELECT + FETCH_ARRAY
Lg 147 :SELECT + COUNT + FETCH_ARRAY
Recherche.php3 :
Lg 18 :SELECT + LIKE + LIMIT
Optimiser.php3 :
Lg 17 :SELECT + FETCH_ARRAY
Lg 24-30 :DELETE + DATE
Lg 39 :SELECT + FETCH_ARRAY
Lg 46-50 :DELETE
Lg 59 :SELECT + FETCH_ARRAY
Lg 66 :DELETE
Lg 76 :DELETE + DATE
Lg 79 :SELECT + FETCH_ARRAY
Lg 86 :DELETE
Lg 95 :SELECT + FETCH_ARRAY
Lg 102-106 :DELETE
Lg 110 :SELECT + DATE + FETCH_ARRAY
Lg 115 :SELECT + NUM_ROWS
Lg 118 :DELETE
Lg 128 :SELECT + FETCH_ARRAY
Lg 135 :DELETE
Lg 138 :DELETE + DATE
Lg 149 :SELECT + FETCH_ARRAY
Lg 154 :SELECT + FETCH_ARRAY
Lg 162-164 :DELETE
Lg 173 :DELETE + DATE
Lg 176 :SELECT + FETCH_ARRAY
Lg 183 :DELETE
Lg 191 :OPTIMIZE
Naviguer.php3 :
Lg 16 :SELECT + FETCH_ARRAY
Lg 54 :SELECT + NUM_ROWS + FETCH_ARRAY
Lg 80 :SELECT + COUNT + FETCH_ARRAY
Lg 96 :UPDATE
Lg 109 :SELECT + FETCH_ARRAY
Lg 190 :SELECT + LIMIT + NUM_ROWS
Lg 338-fin :SELECT + DATE
Mots-types.php3 :
Lg 9 :SELECT + INSERT_ID
Lg 15 :SELECT + FETCH_ARRAY
Mots-tous.php3 :
Lg 6 :DELETE
Lg 11 :SELECT + FETCH_ARRAY
Lg 22-41 :SELECT + COUNT + FIND_IN_SET + FETCH_ROWS
Lg 57 :UPDATE
Lg 60 :UPDATE
Lg 69 :DELETE
Lg 130 -167 :SELECT + COUNT + FIND_IN_SET + FETCH_ARRAY
Lg 177 :SELECT + FETCH_ARRAY
Lg 236 :SELECT + NUM_ROWS + FETCH_ARRAY
Lg 252 :SELECT + COUNT + FETCH_ARRAY
Mots-edit.php3 :
Lg 23-31 :INSERT + INSERT_ID + DELETE
Lg 40 :SELECT + FETCH_ARRAY
Lg 45 :UPDATE
Lg 67 :SELECT + FETCH_ARRAY
Lg 191-205 :SELECT + FIND_IN_SET + LIMIT
Lg 218 :SELECT + FETCH_ARRAY
Lg 251 :SELECT + FETCH_ARRAY
Jour 2 -> seulement les requetes plus complexes
Message_edit.php3 :
Lg 13 :DELETE + DATE
Lg 19 :INSERT + INSRET_ID
Lg 24 :INSERT + HEURE
Message.php3 :
Lg 8 :SELECT + COUNT
Lg 85 :UPDATE + DATE
Lg 90 :DELETE + NOW
Lg 564 :SELECT + LIMIT
Install.php3 :
Lg 68 :SELECT + COUNT + NUM_ROWS
Lg 146 :CREATE_DB + SELECT_DB + NUM_ROWS
Lg 200 :LIST_DBS
Lg 210 :DB_NAME
Lg 260 :ERRNO
Index.php3 :
Lg 179 :NUM_ROWS
Lg 295 :SELECT + DATE
Lg 319-337 :SELECT + LIMIT + NUM_ROWS
Inc-site.php3 :
Lg 99 :UPDATE + NOW
Lg 146 :INSERT + DATE + INSERT_ID
Lg 191 :INSERT_ID
Lg 198 :UPDATE + NOW
Lg 230 :NUM_ROWS
Lg 298 :FETCH_ROW
Lg 338 :NUM_ROWS
Lg 451-fin :DATE
Inc-presentation.php3 :
Lg 37 :SELECT + DATE
Lg 268- 309 :LIMIT
Lg 330-538 :NUM_ROWS + FREE_RESULT
Lg 570 :NUM_ROWS
Lg 677 :FREE_RESULT
Lg 685 :DATE
Lg 1289 :NUM_ROWS
Lg 1297 :DATE + NUM_ROWS
Lg 1426 :DATE + INTERVAL + NUM_ROWS
Inc_mots.php3 :
Lg 100-103 :NUM_ROWS
Lg 208 :NUM_ROWS
Lg 222 :NUM_ROWS
Lg 352 : !=
Inc-mail.php3 :
Lg 162 :DATE + NUM_ROWS + FREE_RESULT
Lg 177 :DATE + NUM_ROWS
Lg 205 :DATE + NUM_ROWS
Inc-index.php3 :
Lg 63 :DELAYED IGNORE
Lg 159 :DATE
Lg 217 :DATE
Inc_import.php3 :
Lg 198 :REPLACE
Lg 281 :REPLACE
Lg 430-452 :DATE
Inc-export.php3 :
Lg 60 :NUM_ROWS
Lg 62 :LIMIT
Lg 77 :NUM_ROWS
Lg 72 :LIMIT
Lg 99 :NUM_FIELDS + FIELD_NAME
Lg 115-169 :FREE_RESULT
Lg 177 :FREE_RESULT
Inc-connect.php3 :
Tout :CONNECT + SELECT_DB + NUM_ROWS
Inc-base.php3 :
Tout :CREATE TABLE
:INSERT IGNORE
:ALTER TABLE
:DISTINCT
:DROP TABLE
:LENGTH
inc-auth.php3 :
lg 138 :NUM_ROWS
lg 168 :DATE
lg 176 :NUM_ROWS
inc.php3 :
lg 190-209 :LIMIT
lg 229 :DATE
lg 321-341 :MAX + GROUP BY
lg 371 :DISTINCT + DATE
lg 392 :DISTINCT
forum-admin.php3 :
lg 24 :DATE
lg 90 :LIMIT
forum.php3 :
lg 23 :DATE
lg 91 :DATE
export.php3 :
lg 19&39 :FREE_RESULT
lg 71 :DISTICT
delete-all.php3 :
DROP TABLE
Controle-petition.php3 :
Lg 35 :DATE
Lg 73 :NUM_ROWS
Lg 169 :DATE
Controle-forum.php3 :
Lg 176 :NUM_ROWS
Lg 290 :DATE
Lg 306 :DATE + LIMIT
Calendrier.php3 :
Lg 60-85 :DATE
Breves-voir.php3 :
Lg 77 :DATE
Breves-edit.php3 :
Lg 11&14 :DATE + INSERT_ID
Breves.php3 :
Lg 32 :DATE + NUM_ROWS
Lg 52 :FIND IN SET + LIMIT
Lg 57 :NUM_ROWS
Lg 150 :DATE
Auteurs-edit.php3 :
Lg 149 :FIND IN SET + LIMIT + DATE
Auteurs.php3 :
Lg 244 :FIND IN SET
Lg 254 :FIND IN SET
Auteur-info.php3 :
Lg 52 :INSERT_ID
Auteur_connexion.php3 :
Lg 79 :NUM_ROWS
Lg 299 &320 :NUM_ROWS
Articles_tous.php3 :
Lg 173 :FREE_RESULT
Articles_pages.php3 :
Lg 13 :LIMIT + NUM_ROWS
Articles-forum.php3 :
Lg 72 :DATE
Articles-edit.php3 :
Lg 23&28 :DATE + INSERT_ID
Lg 64&76 :NUM_ROWS
Articles.php3 :
Lg 42 :NUM_ROWS
Lg 78 :DATE
Lg 101 :DATE
Lg 118 :DATE
Lg 278 :DATE + NUM_ROWS
Lg 433 :REPLACE
Lg 445 :NUM_ROWS
Lg 550 :LIMIT
Lg 950 :NUM_ROWS
Lg 1054&1061:NUM_ROWS
Lg 1311 :DATE + LIMIT
Messagerie.php3 :
Lg 50 :DATE
Lg 64 :NUM_ROWS
Lg 146 :FREE_RESULT
Lg 156-fin :DATE
---------8<--------------------------------------------------