Subject | Re: Random updates? |
---|---|
Author | Aage Johansen |
Post date | 2011-09-09T22:15:37Z |
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?
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.
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.