Le plus long a été de modifier et vérifier le code de création des
tables et d’installation. Ce n’est pas compliqué, c’est méthodique.
Moi aussi je suis le portage, mais je suis un peu plus à la bourre que
toi. Mais les remarques sont à peu près les mêmes.
Je suis sur un spip 1.7 et un postgreSQL 7.4.1
Plus quelques bugs découvert dans le code.
Le site est visible sur http://rilk.com/spip17/pg/
Démonstration demo:123456
J'aimerais savoir si vous accepteriez en retour de ce test
1) des commentaires ?
2) des patches ?
Les patches que je propose rendent le SQL plus standard, i.e je compte
supprimé:
- SELECT * FROM ... GROUP BY
- valeur escaped avec des " (remplacer par des ' )
- et autres détails.
Acceptez vous de supprimer l'usage de REPLACE dans le code ? et des
INSERT multiple ?
Techniquement, j'ai surtout modifié ecrire/install.php3,
Moi j'ai fait un script SQL à coté pour créer les bases from scratch.
Rajouter l'intégrité référentielle etc ....
ecrire/inc_db_mysql.php3.
Je devrais d'ailleurs renommer ce dernier fichier en
ecrire/inc_db_pgsql.php3 mais je ne sais pas encore comment faire pour
proposer en choix le type de BD lors de l'install. **
J'avais pensé faire un lien symbolique lors de l'installation avec
inc_db qui pointe soit sur inc_db_pgsql.php3 ou sur la version Mysql.
Bon pour les windowsiens ... ca risque de coincer !
J'ai modifié traite_query() qui me convertit les requetes MySQL en
PgSQL. Pas simple (surtout REPLACE), mais ca marche.
Oui c'est pas super logique, j'ai tenté un insert et si ça rate, je fais
fais un delete avant ... c'est pas top mais bon .. REPLACE n'est pas
un ordre SQL standard.
Je n'ai pas encore trouvé de solution satisfaisante pour les dates
inexistantes 0000-00-00 et pour les nom de colonnes qui commence par
des chiffres (0minirezo, 1comite, 6forum).
J'avais pensé pour ma part, utiliser des triggers sur insert et update
pour altérer les dates invalides. Et inverser les chiffres dans les noms
de colonnes ( ex: 0minirezo devient minirezo0)
J'ai une question un peu connexe, l'équipe SPIP désire t'elle se lancer
dans la voie de la compatibilité PostgreSQL (ou autre) ? et la maintenir
au fil des versions ? Ou cela restera des patches valables version par
version ?
Cordialement,
Jean-Gérard Pailloncy
Cordialement,
Arnaud Brugnon