Le Mercredi 30 Mars 2005 22:37, nicodache a écrit :
> ca sera pas trop difficilement gérable, pour autant que GLPI utilise
> du code SQL un peu plus standard que le bouzin de MySQL.

Pour savoir où sont les problèmes, démarrer MySQL en mode ANSI ou rajouter:
SET GLOBAL sql_mode='ansi';
en première requête après la connection.

C'est la moyen le plus rapide de valider du SQL 92 dans MySQL.

> en SQL92, une transaction commence toujours par un begin, et se
> termine par un commit. Le plus dur dans l'histoire sera simplement
> d'avoir la même "interface" pour chaque fonction de chaque dbms, et
> pour cela, je propose déja qu'on se base sur le nom des fonctions de
> la classe DBmysql (glpi/glpi/common/classe.php), en modifiant les
> paramètres la ou il faut (insert_id($table) - PostGre ne peut sortir
> le dernier identifiant que pour une table, pas pour toute la base de
> donnée, ce qui est assez logique au passage).

C'est là que se situe le plus complexe pour les fonctions étendues. Mais c'est 
normalement le boulot du pilote sous jacent. Des fonctions comme 
last_insert_id() n'ont pas de définition claire en ANSI (ni en SQL99 
d'ailleurs). Idem pour les procédures stockées, les jointures (OUTER JOIN 
implémentés différemment selon les SGBD)...

D'où un besoin de réflexion avant de porter pour un type particulier de SGBD.

> Cependant, je suis tout à fait d'accord pour la réunion sur IRC hein ;-)

D'accord aussi ;)

-- 
JCR
aka DJ Anubis
LAB Project Initiator and coordinator

Attachment: pgpETZP0rRvj2.pgp
Description: PGP signature

Reply via email to