diff options
author | unknown <marko@hundin.mysql.fi> | 2005-01-12 14:08:25 +0200 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-01-12 14:08:25 +0200 |
commit | b895e877724fdd1fe6735fd20a74ea439f486582 (patch) | |
tree | 4eec3dc026c118a91fb5221591634c9a4dbce658 /innobase/include/row0mysql.h | |
parent | 267407e4ab0c2a1089f3f4e19fe5b1ee76116e35 (diff) | |
parent | e8e48614012d968d59606d4994d9e3ab6aa61eee (diff) | |
download | mariadb-git-b895e877724fdd1fe6735fd20a74ea439f486582.tar.gz |
Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
Diffstat (limited to 'innobase/include/row0mysql.h')
-rw-r--r-- | innobase/include/row0mysql.h | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/innobase/include/row0mysql.h b/innobase/include/row0mysql.h index 062dae4e60c..13773ed380d 100644 --- a/innobase/include/row0mysql.h +++ b/innobase/include/row0mysql.h @@ -367,25 +367,7 @@ row_drop_table_for_mysql( /************************************************************************* Discards the tablespace of a table which stored in an .ibd file. Discarding means that this function deletes the .ibd file and assigns a new table id for -the table. Also the flag table->ibd_file_missing is set TRUE. - -How do we prevent crashes caused by ongoing operations on the table? Old -operations could try to access non-existent pages. - -1) SQL queries, INSERT, SELECT, ...: we must get an exclusive MySQL table lock -on the table before we can do DISCARD TABLESPACE. Then there are no running -queries on the table. -2) Purge and rollback: we assign a new table id for the table. Since purge and -rollback look for the table based on the table id, they see the table as -'dropped' and discard their operations. -3) Insert buffer: we remove all entries for the tablespace in the insert -buffer tree; as long as the tablespace mem object does not exist, ongoing -insert buffer page merges are discarded in buf0rea.c. If we recreate the -tablespace mem object with IMPORT TABLESPACE later, then the tablespace will -have the same id, but the tablespace_version field in the mem object is -different, and ongoing old insert buffer page merges get discarded. -4) Linear readahead and random readahead: we use the same method as in 3) to -discard ongoing operations. */ +the table. Also the flag table->ibd_file_missing is set TRUE. */ int row_discard_tablespace_for_mysql( |