mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix for bug #28415 "Some ALTER TABLE statements no longer work under LOCK
TABLES" and failures of alter_table.test on Windows which occured after pushing fix for bugs #20662, #20903, #24508, #24738 (various problems with CREATE TABLE SELECT). ALTER TABLE statements which were handled using "fast" alter table optimization were not properly working under LOCK TABLES if table was transactional (for all table types under Windows). Code implementing "fast" version of ALTER TABLE tried to open and lock table using open_ltable() after renaming .FRM files (which corresponds to renaming tables in normal case) in some cases (for transactional tables or on Windows). This caused problems under LOCK TABLES and conflicted with name-lock taken by ALTER TABLE RENAME on target tables. This patch solves this issue by using reopen_name_locked_table() instead of open_ltable().
This commit is contained in:
@ -733,4 +733,15 @@ k a c
|
||||
11 15 1
|
||||
12 20 1
|
||||
drop table t2;
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (i int);
|
||||
alter table t1 modify i int default 1;
|
||||
alter table t1 modify i int default 2, rename t2;
|
||||
lock table t2 write;
|
||||
alter table t2 modify i int default 3;
|
||||
unlock tables;
|
||||
lock table t2 write;
|
||||
alter table t2 modify i int default 4, rename t1;
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
Reference in New Issue
Block a user