Mehdi Rande a écrit :

Qu'est ce que vous entendez exactement par insertion multi-lignes?
des insert type INSERT INTO X (...) VALUES (....), (....) ?
ou des INSERT INTO X (...) SELECT .... FROM Y WHERE .... ?
Normalement il ne devrait pas y avoir du premier type, le deuxième par
contre est assez souvent utilisé mais il est supporté par postgres 8.1.

Je parle effectivement de INSERT INTO X (...) VALUES (....), (....). Ce n'est supporté qu'à partir de pgsql 8.2.
Les inserts simples ne me posent évidemment pas de soucis ;)


Pourriez-vous me donner l'erreur exact? le script semble tourner
correctement sur mes vm etch.

Je précise de nouveau que j'utilise OBM 2.1.10:
 - Lancement du script /scripts/2.1/install_obmdb_2.1.sh
 - Erreurs lors des appels à admin_data_index.php -a data_update -m group:

------------------------------------------------------------------------------
*** Public Groups : 9 to update
------------------------------------------------------------------------------

Group #1 (id=4) Admin :
Warning: pg_query(): Query failed: ERREUR: erreur de syntaxe sur ou près de « , » at character 107 in /var/www/obm/obminclude/phplib/db_pgsql.inc on line 85 </td></tr></table><b>Database error:</b> Invalid SQL: INSERT INTO of_usergroup (
      of_usergroup_group_id,
      of_usergroup_user_id
    ) VALUES ('4', '6'), ('4', '7')<br>
<b>PostgreSQL Error</b>: 1 (ERREUR: erreur de syntaxe sur ou près de « , » at character 107)<br>
Problem !
Group #2 (id=5) Commercial :
Warning: pg_query(): Query failed: ERREUR: erreur de syntaxe sur ou près de « , » at character 107 in /var/www/obm/obminclude/phplib/db_pgsql.inc on line 85 </td></tr></table><b>Database error:</b> Invalid SQL: INSERT INTO of_usergroup (
      of_usergroup_group_id,
      of_usergroup_user_id
    ) VALUES ('5', '6'), ('5', '7')<br>
<b>PostgreSQL Error</b>: 1 (ERREUR: erreur de syntaxe sur ou près de « , » at character 107)<br>
Problem !
Group #3 (id=6) Production :
Warning: pg_query(): Query failed: ERREUR: erreur de syntaxe sur ou près de « , » at character 107 in /var/www/obm/obminclude/phplib/db_pgsql.inc on line 85 </td></tr></table><b>Database error:</b> Invalid SQL: INSERT INTO of_usergroup (
      of_usergroup_group_id,
      of_usergroup_user_id
    ) VALUES ('6', '6'), ('6', '7')<br>
<b>PostgreSQL Error</b>: 1 (ERREUR: erreur de syntaxe sur ou près de « , » at character 107)<br>
Problem !
Group #4 (id=7) grpTest00 :
Warning: pg_query(): Query failed: ERREUR: erreur de syntaxe sur ou près de « , » at character 107 in /var/www/obm/obminclude/phplib/db_pgsql.inc on line 85 </td></tr></table><b>Database error:</b> Invalid SQL: INSERT INTO of_usergroup (
      of_usergroup_group_id,
      of_usergroup_user_id
    ) VALUES ('7', '6'), ('7', '7')<br>
<b>PostgreSQL Error</b>: 1 (ERREUR: erreur de syntaxe sur ou près de « , » at character 107)<br>
Problem !


Pour les groupes 5 à 9 pas de problème. J'ai inséré manuellement ces enregistrements dans la-table-qui-va-bien. Mais je m'inquiétais de l'utilisation de ces inserts multi-lignes dans le reste du code PHP. (j'avoue que j'ai pas cherché)



L'environnement Debian GNU/Linux 'etch' est également l'une de nos cible
de prédilection, cependant il faut avouer que le support de postgresql
dans la 2.1 laisse à désirer. Si certains modules marche correctement
avec ce SGBD d'autre reste instables.
Nous avons actuellement entamé un gros chantier pour le support complet
de postgresql dans la version 2.2. Si vous ne désirez qu'utiliser les
fonctionnalités de crm (contacts, sociétés, ...) et l'agenda, la version
2.1 fonctionne correctement sous postgresql cependant si vous désirez
utilisé les fonctionnalités de groupware (mail, ldap...), le mieux pour
un passage en production avec postgresql en SGBD  est attendre la
version 2.2.


C'est noté concernant la probable instabilité de certains modules.

J'ai également rencontré pas mal de soucis avec les scripts et libs perl fournis dans la version 2.1. En vrac et non exhaustif:
 * - mauvaise syntaxe 'connect' DBI/DBD avec postgresql dans OBM::dbUtils
 * - utilisation de croak sans Carp dans OBM::Ldap::ldapEngine
* - requêtes erronées genre LEFT JOIN avec des double-quotes au lieu de simple-quotes ou extrêmement orientées MySQL genre INSERT IGNORE, ...

Etant donné que j'étais très surpris de rencontrer autant de désagréments, j'ai jeté un oeil dans le svn pour vérifier s'il existait quelques correctifs et je me suis attardé sur la version 2.2 qui corrige effectivement pas mal de trucs.

Une dernière question.
Actuellement la plate-forme tourne avec MySQL. Afin de correctement tester le produit dans son entier (http/sgdbr/ldap/smtp/imap/...), est-il préférable que je reste en 2.1 et Mysql afin d'éviter les déconvenues ou bien passer 2.2 et rester avec Postgre ? (à noter que le test est un véritable test, c'est à dire pas uniquement technique, mais également avec des utilisateurs) ?


Merci, bonne fin de journée.
_______________________________________________
Obm mailing list
[email protected]
http://www.list.aliasource.fr/mailman/listinfo/obm

Répondre à