bonjour,

A dbapi cursor is skipping NEXTVAL, but only on the first insert.
Insertions are performed within a dbproc. Next inserts are correct.
So the first insert of this dbproc is at NEXTVAL + 1

Here is the python code :

r = curseur.execute ("CALL PC_FLUXFINANCIER (?,?,?,?,?,?,?)",
            (nofacture,\
             datefacture,\
             fournisseur,\
             datereglement,\
             modereglement,\
             nocompte))

For testing purpose, I tried :

curseur.execute("INSERT INTO FLUXFINANCIER (columns...) VALUES
(values...)")
insert is correct, at NEXTVAL
then I inserted a row with the dbproc : insert is performed at NEXTVAL +
1, skipping a value for the key NOPIECE.

Here is the table :

CREATE TABLE FLUXFINANCIER
(
    NOPIECE SMALLINT NOT NULL DEFAULT SERIAL PRIMARY KEY,
    NOFACTURE VARCHAR(15),
    DATEFACTURE DATE NOT NULL,
    IDETABLISSEMENT VARCHAR (8) NOT NULL,
    DATEREGLEMENT DATE,
    IDMODEREGLEMENT FIXED(2),
    NOCOMPTE VARCHAR(11)
)


Here is the dbproc :

CREATE DBPROC PC_FLUXFINANCIER
(
    IN nofacture VARCHAR(15),
    IN datefacture DATE,
    IN idetablissement VARCHAR(8),
    IN datereglement DATE,
    IN idmodereglement FIXED(2),
    IN nocompte VARCHAR(11),
    OUT r SMALLINT
)
AS
TRY
    BEGIN
        INSERT INTO JM.FLUXFINANCIER
            (
                NOFACTURE,
                DATEFACTURE,
                IDETABLISSEMENT,
                DATEREGLEMENT,
                IDMODEREGLEMENT,
                NOCOMPTE
            )
            VALUES
            (
                :nofacture,
                :datefacture,
                :idetablissement,
                :datereglement,
                :idmodereglement,
                :nocompte
            );
        SET r = JM.FLUXFINANCIER.CURRVAL;
    END;
CATCH
    STOP ($RC, $ERRMSG);

bug ??

Maxdb 7.6.00.12 on Linux Debian. Python 2.3

-- 
jm



-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to