|
From: | Eldy |
Subject: | Re: [Dolibarr-dev] Install postgres sur sarge |
Date: | Sat, 05 Mar 2005 15:21:54 +0100 |
User-agent: | Mozilla Thunderbird 1.0 (Windows/20041206) |
Francois Tigeot wrote:
On y arrive presque, il ne reste plus que 5 erreurs de ce type: Création de la table llx_contact_facture Error DB_ERROR ERROR: syntax error at or near ")" at character 282 Elles sont causées par la définition des indexes dans les tables suivantes: llx_contact_facture llx_user_param llx_so_gr llx_usergroup_rights llx_usergroup_user Le code sql est toujours du même type: CREATE INDEX idx_llx_contact_facture_fk_soc__fk_contact ON llx_contact_facture (); A vue de nez, je dirais qu'il manque le nom de la colonne.
C'est corrigé.
En fait, l'index y est bien souos mysql mais il n'y a pas de définition explicite. Quand on a une directive de type UNIQUE(champ1, champ2, ...) sous mysql, mysql crée en plus de la contrainte automatiquement un index (il en choisit le nom tout seul, souvent en prenant le nom du premier champ de la liste même si l'index est composé de plusieurs champs). La conversion pgsql doit donc bien générer la contrainte UNIQUE mais aussi l'INDEX, sauf si postgres fonctionne comme mysql en créant automatiquement l'index associé. A ma connaissance seul Mysql le fait, même Oracle ne le fait pas systématiquement, et pourtant mettre une contrainte unique sans index est une erreur en termes de performances. N'étant pas sur si l'index associé à la contrainte est généré ou non en automatique par pgsql (et sur toutes les versions), je génère l'ordre. Si il y est déjà, cela n'a pas de conséquences néfastes, quand on crée 2 index sur la même clé, même avec un nom différent, le sgbd devrait ignorer le deuxième (sauf mysql qui en crée 2, mais cette fois c'est lui qui agit mal car l'intérêt technique est nul, décidemment le SGBD parfait n'existe pas !).Ceci dit, j'ai regardé rapidement les tables mysql équivalentes, et je n'y ai pas trouvé de définition d'index. Il serait peut-être plus simple de ne pas en mettre non plus dans les tables postgres.
A retester donc avec les 5 dernières erreurs de corrigées... -- Laurent Destailleur. --------------------------------------------------------------- EMail: address@hidden AWStats : http://awstats.sourceforge.net AWBot : http://awbot.sourceforge.net CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net
[Prev in Thread] | Current Thread | [Next in Thread] |