1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fix for bug #35392: Delete all statement does not execute properly

after few delete statements

Problem: changing a file size might require that it must be 
unmapped beforehand.
  
Fix: unmap the file before changing its size.


mysql-test/r/temp_table.result:
  Fix for bug #35392: Delete all statement does not execute properly 
  after few delete statements
    - test result.
mysql-test/t/temp_table.test:
  Fix for bug #35392: Delete all statement does not execute properly 
  after few delete statements
    - test case.
storage/myisam/mi_delete_all.c:
  Fix for bug #35392: Delete all statement does not execute properly 
  after few delete statements
    - unmap file before changing its size as it's required 
      by SetEndOfFile() function (see my_chsize()).
    - as no other threads allowed to perform concurrent inserts 
      when delete_all is called, mmap_lock locking removed.
This commit is contained in:
unknown
2008-03-28 19:16:52 +04:00
parent 9d0385d62b
commit 0795e14ca0
3 changed files with 32 additions and 4 deletions

View File

@ -184,3 +184,14 @@ select * from t1;
a
42
drop table t1;
CREATE TEMPORARY TABLE t1(a INT, b VARCHAR(20));
INSERT INTO t1 VALUES(1, 'val1'), (2, 'val2'), (3, 'val3');
DELETE FROM t1 WHERE a=1;
SELECT count(*) FROM t1;
count(*)
2
DELETE FROM t1;
SELECT * FROM t1;
a b
DROP TABLE t1;
End of 5.1 tests