mirror of
https://github.com/MariaDB/server.git
synced 2025-01-24 15:54:37 +01:00
55aa43e2f5
Problem: we may create a deadlock committing changes in the mysql_alter_table() when LOCK_open is set. Moreover, "in some variants of the ALTER TABLE commit happens earlier, outside of LOCK_open, in other later - inside. It's no good, a storage engine code that is called in between could expect a consistency - either there is a transaction or there is not". Fix: move the commit to happen earlier and outside of the LOCK_open. mysql-test/r/innodb_mysql.result: Fix for bug #28652: MySQL (with-debug=full) asserts when alter table operations - test result. mysql-test/t/innodb_mysql.test: Fix for bug #28652: MySQL (with-debug=full) asserts when alter table operations - test case. sql/sql_table.cc: Fix for bug #28652: MySQL (with-debug=full) asserts when alter table operations - commit moved to happen earlier in the mysql_alter_table(), now we commit changes at the same time as in case when a temporary table is used.
14 lines
366 B
Text
14 lines
366 B
Text
# t/innodb_mysql.test
|
|
#
|
|
# Last update:
|
|
# 2006-07-26 ML test refactored (MySQL 5.1)
|
|
# main testing code t/innodb_mysql.test -> include/mix1.inc
|
|
#
|
|
|
|
-- source include/have_innodb.inc
|
|
let $engine_type= InnoDB;
|
|
let $other_engine_type= MEMORY;
|
|
# InnoDB does support FOREIGN KEYFOREIGN KEYs
|
|
let $test_foreign_keys= 1;
|
|
|
|
--source include/mix1.inc
|