dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Support Postgres


From: Eldy
Subject: Re: [Dolibarr-dev] Support Postgres
Date: Thu, 03 Mar 2005 00:13:05 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

Francois Tigeot wrote:

On Wed, Mar 02, 2005 at 09:02:18PM +0100, Eldy wrote:
Sinon, il y a le problème du type "double" qui devrait être remplacé par
"money".

(au passage, je suis surpris que le type "double" soit utilisé pour gérer
des valeurs monétaires. Ca peut facilement entraîner des erreurs de
précision. Un "decimal(10,2)" aurait été moins choquant...)

Ce type est en effet plus recommandé (disons decimal(10,5)). Pour l'instant, ce point n'est pas trop génant, lorsque les pb d'arrondis se manifesteront (ce sera le cas quand Dolibarr sera multidevises, on y est pas encore), on pourra toujours corriger. Les 2 types n'étant pas incompatbiles. En attendant, on va laisser comme ça. Pour ce qui est de l'utilisation du type money, il est trop propre à pgsql. Cela provoquerait d'autres problèmes de comptabilité de code à terme. Je pense qu'on peut s'en sortir avec ce type (et à terme le decimal).

Euh, ça ne va pas être possible: le type "double" est spécifique à MySQL.

Je me suis mal exprimé, je proposais "money" uniquement pour la partie
Postgres.
Dans l'histoire, le seul type sql standard est "decimal".

Ok, en attendant le decimal (sur mysql qui se convertira en decimal sous pgsql) , je transforme le double en real.

Je suis preneur du prochain message d'erreur...

Il commence à y en avoir suffisamment peu pour que je mette toute la
liste:

psql -U pgsql -h wapiti dolibarr < llx_adherent.sql
ERROR:  syntax error at or near "(" at character 1001
psql -U pgsql -h wapiti dolibarr < llx_adherent_options.sql
ERROR:  syntax error at or near "(" at character 157
psql -U pgsql -h wapiti dolibarr < llx_bank_class.sql
ERROR:  syntax error at or near "(" at character 106
psql -U pgsql -h wapiti dolibarr < llx_const.sql
ERROR:  syntax error at or near "(" at character 262
psql -U pgsql -h wapiti dolibarr < llx_facture.sql
ERROR:  syntax error at or near "(" at character 1003
psql -U pgsql -h wapiti dolibarr < llx_facture_fourn.sql
ERROR:  syntax error at or near "(" at character 680
psql -U pgsql -h wapiti dolibarr < llx_fichinter.sql
ERROR:  syntax error at or near "(" at character 523
psql -U pgsql -h wapiti dolibarr < llx_groupart.sql
NOTICE:  CREATE TABLE will create implicit sequence "llx_groupart_rowid_seq" for "serial" 
column "llx_groupart.rowid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "llx_groupart_pkey" for 
table "llx_groupart"
ERROR:  column "artiste" does not exist
psql -U pgsql -h wapiti dolibarr < llx_livre.sql
ERROR:  syntax error at or near "(" at character 460
psql -U pgsql -h wapiti dolibarr < llx_product.sql
NOTICE:  CREATE TABLE will create implicit sequence "llx_product_rowid_seq" for "serial" 
column "llx_product.rowid"
ERROR:  type "double" does not exist
psql -U pgsql -h wapiti dolibarr < llx_projet.sql
ERROR:  syntax error at or near "(" at character 396
psql -U pgsql -h wapiti dolibarr < llx_propal.sql
ERROR:  syntax error at or near "(" at character 892
psql -U pgsql -h wapiti dolibarr < llx_user.sql
ERROR:  syntax error at or near "(" at character 573
psql -U pgsql -h wapiti dolibarr < llx_societe.sql
ERROR:  syntax error at or near "(" at character 2306
psql -U pgsql -h wapiti dolibarr < llx_user_rights.sql
ERROR:  syntax error at or near "(" at character 147
psql -U pgsql -h wapiti dolibarr < llx_product_price.sql
NOTICE:  CREATE TABLE will create implicit sequence "llx_product_price_rowid_seq" for 
"serial" column "llx_product_price.rowid"
ERROR:  type "double" does not exist

On dirait que la majorité est causée par des définitions de table qui se
finissent par une contrainte, comme dans llx_adherent.sql:

        create table llx_adherent
        (
          ...
          "datefin"          timestamp, -- date de fin de validité de la 
cotisation
          "note"             text,
"UNIQUE" INDEX(login)
        );

Je pense que ça passerait mieux avec une ligne UNIQUE(login), sans le
"INDEX".

J'ai modifié le script pour gérer le UNIQUE INDEX.
A retester...

--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net






reply via email to

[Prev in Thread] Current Thread [Next in Thread]