I have this definition (in 7.6.0.27, reduced to the bare minimum):
CREATE TABLE dba.testtable (id INTEGER PRIMARY KEY, test INTEGER)
//
INSERT INTO dba.testtable VALUES (1, 1)
//
CREATE FUNCTION dba.testfunc RETURNS INTEGER AS
VAR i INTEGER;
UPDATE dba.testtable SET test = test + 1 WHERE id = 1;
SELECT test INTO :i FROM dba.testtable WHERE id = 1;
RETURN i;
//
CREATE DBPROC dba.testproc(IN id INTEGER, OUT result INTEGER) AS
UPDATE dba.testtable SET test = test + 1 WHERE id = 1;
SELECT test INTO :result FROM dba.testtable WHERE id = 1;
RETURN;
Looks very nice and foolproof.
Except it's run between one and three times, depending on
how I call it:
- dba.testproc from python: Runs 1 time.
- dba.testfunc from SQL Studio: Runs 2 times.
- dba.testfunc from python: Runs 3 times.
The python bug in the last case looks to me to be the combination
of what SQL Studio does and the same bug that causes sequences to
increase by 2 when .NEXTVAL is queried, but the other two results I
can't explain at all.
--
Christian Ullrich
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]