Commit 98997702 authored by unknown's avatar unknown

Merge chilla.local:/home/mydev/mysql-5.0-amain

into  chilla.local:/home/mydev/mysql-5.0-axmrg
parents db2ccdea 01580b21
...@@ -14,3 +14,11 @@ test.v1 check status OK ...@@ -14,3 +14,11 @@ test.v1 check status OK
test.t2 check status OK test.t2 check status OK
drop view v1; drop view v1;
drop table t1, t2; drop table t1, t2;
CREATE TEMPORARY TABLE t1(a INT);
CHECK TABLE t1;
Table Op Msg_type Msg_text
test.t1 check status OK
REPAIR TABLE t1;
Table Op Msg_type Msg_text
test.t1 repair status OK
DROP TABLE t1;
...@@ -36,3 +36,12 @@ Create view v1 as Select * from t1; ...@@ -36,3 +36,12 @@ Create view v1 as Select * from t1;
Check Table v1,t2; Check Table v1,t2;
drop view v1; drop view v1;
drop table t1, t2; drop table t1, t2;
#
# BUG#26325 - TEMPORARY TABLE "corrupt" after first read, according to CHECK
# TABLE
#
CREATE TEMPORARY TABLE t1(a INT);
CHECK TABLE t1;
REPAIR TABLE t1;
DROP TABLE t1;
...@@ -1997,7 +1997,13 @@ static bool update_frm_version(TABLE *table, bool needs_lock) ...@@ -1997,7 +1997,13 @@ static bool update_frm_version(TABLE *table, bool needs_lock)
int result= 1; int result= 1;
DBUG_ENTER("update_frm_version"); DBUG_ENTER("update_frm_version");
if (table->s->mysql_version != MYSQL_VERSION_ID) /*
No need to update frm version in case table was created or checked
by server with the same version. This also ensures that we do not
update frm version for temporary tables as this code doesn't support
temporary tables.
*/
if (table->s->mysql_version == MYSQL_VERSION_ID)
DBUG_RETURN(0); DBUG_RETURN(0);
strxnmov(path, sizeof(path)-1, mysql_data_home, "/", table->s->db, "/", strxnmov(path, sizeof(path)-1, mysql_data_home, "/", table->s->db, "/",
......
...@@ -3789,11 +3789,9 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, ...@@ -3789,11 +3789,9 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
{ {
VOID(pthread_mutex_lock(&LOCK_open)); VOID(pthread_mutex_lock(&LOCK_open));
wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN); wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN);
table->file->external_lock(thd, F_WRLCK); VOID(pthread_mutex_unlock(&LOCK_open));
alter_table_manage_keys(table, table->file->indexes_are_disabled(), alter_table_manage_keys(table, table->file->indexes_are_disabled(),
alter_info->keys_onoff); alter_info->keys_onoff);
table->file->external_lock(thd, F_UNLCK);
VOID(pthread_mutex_unlock(&LOCK_open));
error= ha_commit_stmt(thd); error= ha_commit_stmt(thd);
if (ha_commit(thd)) if (ha_commit(thd))
error= 1; error= 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment