This problem hasn't received any comments, and - as I am rather 
interested in an explanation - I will try to revive the thread.

A couple of days ago SET wrote:
<<
This morning I got very surprised. I ran (something similar to)

UPDATE MyTable M
SET M.MyField = 'Y'
WHERE M.MyPK = :MyPK

repeatedly in Database Workbench (4.1.2.0) because a program I have 
gave me a strange message.

Sometimes this updates one row in the table, sometimes not. Running

SELECT * FROM MyTable M
WHERE M.MyPK = :MyPK

always returns a row, though the values varies depending on whether 
the above update altered the row or not.

I've tried recreating the PK and various other stuff, the only thing 
that seems to help is to use a constant rather than a parameter (not 
a good solution as this is done iteratively in my program). MyPK is 
an integer, so it should not be related to floating point values. The 
server should be Firebird 2.1.3 SS, I think the database was restored 
from a backup when it was moved from Fb 1.5.

Has anyone encountered anything similar or has a clue as to what this may be?
 >>


One more observation:
It also fails with Firebird 2.5.0 (backup made with Fb/2.1, restored with 2.5)
Also, DBW is using IBO components (not the latest ones).  I belive 
SET also tested with a Delphi program, in which case IBO components 
were used as well.


Any takers?

-- 
Aage J.


Reply via email to