Merge mysql.com:/home/ram/work/b28652/b28652.5.0
into mysql.com:/home/ram/work/b28652/b28652.5.1 mysql-test/include/mix1.inc: manual merge mysql-test/r/innodb_mysql.result: manual merge sql/sql_table.cc: manual merge
This commit is contained in:
commit
ec30069a2e
@ -633,6 +633,14 @@ EXPLAIN SELECT COUNT(*) FROM t2 WHERE stat_id IN (1,3) AND acct_id=785;
|
|||||||
|
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #28652: assert when alter innodb table operation
|
||||||
|
#
|
||||||
|
create table t1(a int) engine=innodb;
|
||||||
|
alter table t1 comment '123';
|
||||||
|
show create table t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -621,6 +621,14 @@ EXPLAIN SELECT COUNT(*) FROM t2 WHERE stat_id IN (1,3) AND acct_id=785;
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t2 range idx1,idx2 idx1 9 NULL 2 Using where; Using index
|
1 SIMPLE t2 range idx1,idx2 idx1 9 NULL 2 Using where; Using index
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
|
create table t1(a int) engine=innodb;
|
||||||
|
alter table t1 comment '123';
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) default NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='123'
|
||||||
|
drop table t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
CREATE TABLE t1 (a int, b int);
|
CREATE TABLE t1 (a int, b int);
|
||||||
insert into t1 values (1,1),(1,2);
|
insert into t1 values (1,1),(1,2);
|
||||||
|
@ -6385,6 +6385,9 @@ view_err:
|
|||||||
alter_info->keys_onoff);
|
alter_info->keys_onoff);
|
||||||
table->file->ha_external_lock(thd, F_UNLCK);
|
table->file->ha_external_lock(thd, F_UNLCK);
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||||
|
error= ha_commit_stmt(thd);
|
||||||
|
if (ha_commit(thd))
|
||||||
|
error= 1;
|
||||||
}
|
}
|
||||||
thd->count_cuted_fields= CHECK_FIELD_IGNORE;
|
thd->count_cuted_fields= CHECK_FIELD_IGNORE;
|
||||||
|
|
||||||
@ -6787,20 +6790,6 @@ view_err:
|
|||||||
}
|
}
|
||||||
VOID(pthread_mutex_unlock(&LOCK_open));
|
VOID(pthread_mutex_unlock(&LOCK_open));
|
||||||
broadcast_refresh();
|
broadcast_refresh();
|
||||||
/*
|
|
||||||
The ALTER TABLE is always in its own transaction.
|
|
||||||
Commit must not be called while LOCK_open is locked. It could call
|
|
||||||
wait_if_global_read_lock(), which could create a deadlock if called
|
|
||||||
with LOCK_open.
|
|
||||||
*/
|
|
||||||
if (!committed)
|
|
||||||
{
|
|
||||||
error = ha_commit_stmt(thd);
|
|
||||||
if (ha_commit(thd))
|
|
||||||
error=1;
|
|
||||||
if (error)
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
thd->proc_info="end";
|
thd->proc_info="end";
|
||||||
|
|
||||||
ha_binlog_log_query(thd, create_info->db_type, LOGCOM_ALTER_TABLE,
|
ha_binlog_log_query(thd, create_info->db_type, LOGCOM_ALTER_TABLE,
|
||||||
@ -7045,8 +7034,12 @@ copy_data_between_tables(TABLE *from,TABLE *to,
|
|||||||
}
|
}
|
||||||
to->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
|
to->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
|
||||||
|
|
||||||
ha_enable_transaction(thd,TRUE);
|
if (ha_enable_transaction(thd, TRUE))
|
||||||
|
{
|
||||||
|
error= 1;
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Ensure that the new table is saved properly to disk so that we
|
Ensure that the new table is saved properly to disk so that we
|
||||||
can do a rename
|
can do a rename
|
||||||
|
Loading…
x
Reference in New Issue
Block a user