Issue Details (XML | Word | Printable)

Key: CORE-1830
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Vlad Khorsun
Reporter: Vlad Khorsun
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Possible index corruption with multiply updates of the same record in the same transaction and using of savepoints

Created: 11/Apr/08 08:30 AM   Updated: 17/Mar/09 05:41 AM
Component/s: Engine
Affects Version/s: 1.0.3, 2.0.0, 1.5.4, 2.0.1, 2.0.2, 2.0.3, 1.5.5, 2.1.0, 2.0.4
Fix Version/s: 2.5 Alpha 1, 2.1.1, 2.0.5, 1.5.6

Time Tracking:
Not Specified

Issue Links:
Relate
 

Planning Status: Unspecified


 Description  « Hide
CREATE TABLE A
(
  ID CHAR(1), NAME VARCHAR(255)
);

CREATE INDEX IDX_A ON A (ID);
CREATE EXCEPTION EX_PERM 'AAA';
COMMIT ;

INSERT INTO A (ID) VALUES ('1');
SELECT * FROM A WHERE ID = '1'

-- record is present

EXECUTE BLOCK AS
BEGIN
  UPDATE A SET NAME = 'xxx';
  UPDATE A SET ID = '2';
  EXCEPTION EX_PERM;
END
SELECT * FROM A -- record with ID = 1 is present
SELECT * FROM A WHERE ID = '1' -- no record is returned

COMMIT; -- corruption - index is missed entries


I tested it with HEAD only but i think this is very old bug

 All   Comments   Work Log   Change History   Version Control   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Vlad Khorsun added a comment - 13/May/08 04:08 AM
Backported into v2.1.1

Vlad Khorsun added a comment - 13/May/08 05:14 AM
Backported into 2.0.5 and 1.5.6