Author: marcimat@free.fr
Date: 2007-12-10 14:41:39 +0100 (lun, 10 déc 2007)
New Revision: 10935
Log:
Intégration d'un portage SQLite, qui gère les versions 2 et 3 de ce serveur.
Origine des travaux (pour historique) : http://zone.spip.org/trac/spip-zone/browser/dev/sqlite/
Introduction d'une constante _DIR_DB qui correspond à l'emplacement des fichiers de base de données sqlite. Par défaut : _DIR_ETC/bases/ soit 'config/bases/'
Au chargement de sqlite, celui ci essaie de charger les modules php sqlite s'ils ne sont pas chargés (cas de Ouvaton notamment). L'installation propose alors le/les choix supplémentaires 'SQLite 2' et/ou 'SQLite 3', selon les versions présentes.
Quelques menus changements sont nécessaires :
- passer $serveur à sql_errno et sql_error
- éviter que menu_rubriques.php génère des IN ( , x , y , z) mais bien IN (0, x ,y ,z); Nota : je me demande si le zero est utile.
- predef_ou_cache() de install.php semble nécessiter des parenthèses supplémentaires sinon ouvaton n'est pas content (?)
- inc/auth.php : l'update sur la table auteur ne peut se faire en sqlite que s'il n'y a pas sur le même $link une ressource en lecture sur la même table. Si $res = $link->query('SELECT spip_auteurs...'); alors il faut faire unset($res); avant un $link->query('UPDATE spip_auteurs...');
Modified:
spip/ecrire/base/abstract_sql.php
spip/ecrire/exec/menu_rubriques.php
spip/ecrire/inc/auth.php
spip/ecrire/inc/install.php
spip/ecrire/install/etape_2.php
spip/ecrire/req/mysql.php
spip/ecrire/req/pg.php