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.
