diff options
author | unknown <tsmith@maint1.mysql.com> | 2006-08-01 21:59:58 +0200 |
---|---|---|
committer | unknown <tsmith@maint1.mysql.com> | 2006-08-01 21:59:58 +0200 |
commit | 75e40b161b5cbbea28eca2641e6dfadaf09267a1 (patch) | |
tree | 195dc86dc4ffee1c3ceca3e742282a2bf9633a2b /sql/ha_innodb.cc | |
parent | edeea349b9cf8125c3ca19eff144b1334fddad28 (diff) | |
download | mariadb-git-75e40b161b5cbbea28eca2641e6dfadaf09267a1.tar.gz |
Applied innodb-5.0-ss677 snapshot.
Fixes:
- bug #19834: Using cursors when running in READ-COMMITTED can cause InnoDB to crash
- bug #21112: InnoDB slow with > 100,000 .ibd files
- bug #21113: Duplicate printout in SHOW INNODB STATUS
innobase/fil/fil0fil.c:
Applied innodb-5.0-ss677 snapshot.
Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug #21112.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-5.0-ss677 snapshot.
ibuf_print(): Don't print redundant information. Fixes bug #21113.
sql/ha_innodb.cc:
Applied innodb-5.0-ss677 snapshot.
ha_innobase::start_stmt(): patch from Heikki:
Do not call read_view_close_for_mysql(). (Bug #19834)
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r-- | sql/ha_innodb.cc | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 6aadce0191a..472506f9903 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -5943,14 +5943,6 @@ ha_innobase::start_stmt( innobase_release_stat_resources(trx); - if (trx->isolation_level <= TRX_ISO_READ_COMMITTED - && trx->global_read_view) { - /* At low transaction isolation levels we let - each consistent read set its own snapshot */ - - read_view_close_for_mysql(trx); - } - prebuilt->sql_stat_start = TRUE; prebuilt->hint_need_to_fetch_extra_cols = 0; prebuilt->read_just_key = 0; @@ -6684,17 +6676,17 @@ ha_innobase::store_lock( && !thd->tablespace_op && thd->lex->sql_command != SQLCOM_TRUNCATE && thd->lex->sql_command != SQLCOM_OPTIMIZE + #ifdef __WIN__ - /* - for alter table on win32 for succesfull operation - completion it is used TL_WRITE(=10) lock instead of - TL_WRITE_ALLOW_READ(=6), however here in innodb handler - TL_WRITE is lifted to TL_WRITE_ALLOW_WRITE, which causes - race condition when several clients do alter table - simultaneously (bug #17264). This fix avoids the problem. - */ - && thd->lex->sql_command != SQLCOM_ALTER_TABLE + /* For alter table on win32 for succesful operation + completion it is used TL_WRITE(=10) lock instead of + TL_WRITE_ALLOW_READ(=6), however here in innodb handler + TL_WRITE is lifted to TL_WRITE_ALLOW_WRITE, which causes + race condition when several clients do alter table + simultaneously (bug #17264). This fix avoids the problem. */ + && thd->lex->sql_command != SQLCOM_ALTER_TABLE #endif + && thd->lex->sql_command != SQLCOM_CREATE_TABLE) { lock_type = TL_WRITE_ALLOW_WRITE; |