mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Using a MEMORY table BTREE index for scanning for updatable rows could lead to an infinite loop. Everytime a key was inserted into a btree index, the position in the index scan was cleared. The search started from the beginning and found the same key again. Now we do not clear the position on key insert an more.
This commit is contained in:
@ -280,4 +280,19 @@ a
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 CHAR(3),
|
||||
c2 INTEGER,
|
||||
KEY USING BTREE(c1),
|
||||
KEY USING BTREE(c2)
|
||||
) ENGINE= MEMORY;
|
||||
INSERT INTO t1 VALUES ('ABC',0), ('A',0), ('B',0), ('C',0);
|
||||
UPDATE t1 SET c2= c2 + 1 WHERE c1 = 'A';
|
||||
SELECT * FROM t1;
|
||||
c1 c2
|
||||
ABC 0
|
||||
A 1
|
||||
B 0
|
||||
C 0
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
||||
|
Reference in New Issue
Block a user