Subject | Random updates? |
---|---|
Author | Svein Erling Tysvær |
Post date | 2011-09-07T06:44:24Z |
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?
Set
[Non-text portions of this message have been removed]
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?
Set
[Non-text portions of this message have been removed]