merge mysql-5.1->mysql-5.1-security
This commit is contained in:
commit
65fbeccd23
@ -2365,3 +2365,8 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set storage_engine=MyISAM;
|
||||
Variable_name Value
|
||||
Handler_read_key 0
|
||||
f1
|
||||
Variable_name Value
|
||||
Handler_read_key 1
|
||||
|
@ -1389,6 +1389,17 @@ eval set storage_engine=$default;
|
||||
-- disable_query_log
|
||||
SET GLOBAL innodb_thread_concurrency = @innodb_thread_concurrency_orig;
|
||||
|
||||
#
|
||||
# Test fix for bug 13117023. InnoDB increments HA_READ_KEY_COUNT (aka
|
||||
# HANDLER_READ_KEY) when it should not.
|
||||
#
|
||||
create table t1 (f1 integer primary key) engine=innodb;
|
||||
flush status;
|
||||
show status like "handler_read_key";
|
||||
select f1 from t1;
|
||||
show status like "handler_read_key";
|
||||
drop table t1;
|
||||
|
||||
#######################################################################
|
||||
# #
|
||||
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
|
||||
|
@ -3257,3 +3257,14 @@ Handler_update 1
|
||||
Variable_name Value
|
||||
Handler_delete 1
|
||||
DROP TABLE bug58912;
|
||||
create table t1 (f1 integer primary key) engine=innodb;
|
||||
flush status;
|
||||
show status like "handler_read_key";
|
||||
Variable_name Value
|
||||
Handler_read_key 0
|
||||
select f1 from t1;
|
||||
f1
|
||||
show status like "handler_read_key";
|
||||
Variable_name Value
|
||||
Handler_read_key 1
|
||||
drop table t1;
|
||||
|
@ -2571,6 +2571,17 @@ SET GLOBAL innodb_thread_concurrency = @innodb_thread_concurrency_orig;
|
||||
# Clean up after the Bug#55284/Bug#58912 test case.
|
||||
DROP TABLE bug58912;
|
||||
|
||||
#
|
||||
# Test fix for bug 13117023. InnoDB increments HA_READ_KEY_COUNT (aka
|
||||
# HANDLER_READ_KEY) when it should not.
|
||||
#
|
||||
create table t1 (f1 integer primary key) engine=innodb;
|
||||
flush status;
|
||||
show status like "handler_read_key";
|
||||
select f1 from t1;
|
||||
show status like "handler_read_key";
|
||||
drop table t1;
|
||||
|
||||
#######################################################################
|
||||
# #
|
||||
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
|
||||
|
@ -4802,7 +4802,6 @@ ha_innobase::innobase_get_index(
|
||||
dict_index_t* index = 0;
|
||||
|
||||
DBUG_ENTER("innobase_get_index");
|
||||
ha_statistic_increment(&SSV::ha_read_key_count);
|
||||
|
||||
ut_ad(user_thd == ha_thd());
|
||||
ut_a(prebuilt->trx == thd_to_trx(user_thd));
|
||||
|
@ -1,3 +1,14 @@
|
||||
2011-12-13 The InnoDB Team
|
||||
|
||||
* handler/ha_innodb.cc, innodb.test, innodb.result:
|
||||
Fix Bug#13117023: InnoDB was incrementing the handler_read_key,
|
||||
also the SSV::ha_read_key_count, at the wrong place.
|
||||
|
||||
2011-12-10 The InnoDB Team
|
||||
|
||||
* include/page0page.h, page/page0page.c:
|
||||
Fix Bug#13418887 ERROR IN DIAGNOSTIC FUNCTION PAGE_REC_PRINT()
|
||||
|
||||
2011-11-10 The InnoDB Team
|
||||
|
||||
* handler/ha_innodb.cc, row/row0ins.c, innodb_replace.test:
|
||||
|
@ -5520,7 +5520,6 @@ ha_innobase::innobase_get_index(
|
||||
dict_index_t* index = 0;
|
||||
|
||||
DBUG_ENTER("innobase_get_index");
|
||||
ha_statistic_increment(&SSV::ha_read_key_count);
|
||||
|
||||
if (keynr != MAX_KEY && table->s->keys > 0) {
|
||||
key = table->key_info + keynr;
|
||||
|
@ -892,6 +892,7 @@ page_parse_create(
|
||||
ulint comp, /*!< in: nonzero=compact page format */
|
||||
buf_block_t* block, /*!< in: block or NULL */
|
||||
mtr_t* mtr); /*!< in: mtr or NULL */
|
||||
#ifndef UNIV_HOTBACKUP
|
||||
/************************************************************//**
|
||||
Prints record contents including the data relevant only in
|
||||
the index page context. */
|
||||
@ -901,6 +902,7 @@ page_rec_print(
|
||||
/*===========*/
|
||||
const rec_t* rec, /*!< in: physical record */
|
||||
const ulint* offsets);/*!< in: record descriptor */
|
||||
# ifdef UNIV_BTR_PRINT
|
||||
/***************************************************************//**
|
||||
This is used to print the contents of the directory for
|
||||
debugging purposes. */
|
||||
@ -940,6 +942,8 @@ page_print(
|
||||
in directory */
|
||||
ulint rn); /*!< in: print rn first and last records
|
||||
in directory */
|
||||
# endif /* UNIV_BTR_PRINT */
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
/***************************************************************//**
|
||||
The following is used to validate a record on a page. This function
|
||||
differs from rec_validate as it can also check the n_owned field and
|
||||
|
@ -1613,13 +1613,14 @@ page_rec_print(
|
||||
" n_owned: %lu; heap_no: %lu; next rec: %lu\n",
|
||||
(ulong) rec_get_n_owned_old(rec),
|
||||
(ulong) rec_get_heap_no_old(rec),
|
||||
(ulong) rec_get_next_offs(rec, TRUE));
|
||||
(ulong) rec_get_next_offs(rec, FALSE));
|
||||
}
|
||||
|
||||
page_rec_check(rec);
|
||||
rec_validate(rec, offsets);
|
||||
}
|
||||
|
||||
# ifdef UNIV_BTR_PRINT
|
||||
/***************************************************************//**
|
||||
This is used to print the contents of the directory for
|
||||
debugging purposes. */
|
||||
@ -1780,6 +1781,7 @@ page_print(
|
||||
page_dir_print(page, dn);
|
||||
page_print_list(block, index, rn);
|
||||
}
|
||||
# endif /* UNIV_BTR_PRINT */
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
|
||||
/***************************************************************//**
|
||||
|
Loading…
x
Reference in New Issue
Block a user