Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
5a0e1aa4
Commit
5a0e1aa4
authored
Dec 15, 2011
by
Georgi Kodinov
Browse files
Options
Browse Files
Download
Plain Diff
merge mysql-5.1->mysql-5.1-security
parents
336c57f9
22b38304
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
56 additions
and
3 deletions
+56
-3
mysql-test/suite/innodb/r/innodb.result
mysql-test/suite/innodb/r/innodb.result
+5
-0
mysql-test/suite/innodb/t/innodb.test
mysql-test/suite/innodb/t/innodb.test
+11
-0
mysql-test/suite/innodb_plugin/r/innodb.result
mysql-test/suite/innodb_plugin/r/innodb.result
+11
-0
mysql-test/suite/innodb_plugin/t/innodb.test
mysql-test/suite/innodb_plugin/t/innodb.test
+11
-0
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.cc
+0
-1
storage/innodb_plugin/ChangeLog
storage/innodb_plugin/ChangeLog
+11
-0
storage/innodb_plugin/handler/ha_innodb.cc
storage/innodb_plugin/handler/ha_innodb.cc
+0
-1
storage/innodb_plugin/include/page0page.h
storage/innodb_plugin/include/page0page.h
+4
-0
storage/innodb_plugin/page/page0page.c
storage/innodb_plugin/page/page0page.c
+3
-1
No files found.
mysql-test/suite/innodb/r/innodb.result
View file @
5a0e1aa4
...
@@ -2365,3 +2365,8 @@ t1 CREATE TABLE `t1` (
...
@@ -2365,3 +2365,8 @@ t1 CREATE TABLE `t1` (
)
ENGINE=InnoDB DEFAULT CHARSET=latin1
)
ENGINE=InnoDB DEFAULT CHARSET=latin1
drop table t1;
drop table t1;
set storage_engine=MyISAM;
set storage_engine=MyISAM;
Variable_name Value
Handler_read_key 0
f1
Variable_name Value
Handler_read_key 1
mysql-test/suite/innodb/t/innodb.test
View file @
5a0e1aa4
...
@@ -1389,6 +1389,17 @@ eval set storage_engine=$default;
...
@@ -1389,6 +1389,17 @@ eval set storage_engine=$default;
--
disable_query_log
--
disable_query_log
SET
GLOBAL
innodb_thread_concurrency
=
@
innodb_thread_concurrency_orig
;
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. #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
...
...
mysql-test/suite/innodb_plugin/r/innodb.result
View file @
5a0e1aa4
...
@@ -3257,3 +3257,14 @@ Handler_update 1
...
@@ -3257,3 +3257,14 @@ Handler_update 1
Variable_name Value
Variable_name Value
Handler_delete 1
Handler_delete 1
DROP TABLE bug58912;
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;
mysql-test/suite/innodb_plugin/t/innodb.test
View file @
5a0e1aa4
...
@@ -2571,6 +2571,17 @@ SET GLOBAL innodb_thread_concurrency = @innodb_thread_concurrency_orig;
...
@@ -2571,6 +2571,17 @@ SET GLOBAL innodb_thread_concurrency = @innodb_thread_concurrency_orig;
# Clean up after the Bug#55284/Bug#58912 test case.
# Clean up after the Bug#55284/Bug#58912 test case.
DROP
TABLE
bug58912
;
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. #
# Please, DO NOT TOUCH this file as well as the innodb.result file. #
...
...
storage/innobase/handler/ha_innodb.cc
View file @
5a0e1aa4
...
@@ -4802,7 +4802,6 @@ ha_innobase::innobase_get_index(
...
@@ -4802,7 +4802,6 @@ ha_innobase::innobase_get_index(
dict_index_t
*
index
=
0
;
dict_index_t
*
index
=
0
;
DBUG_ENTER
(
"innobase_get_index"
);
DBUG_ENTER
(
"innobase_get_index"
);
ha_statistic_increment
(
&
SSV
::
ha_read_key_count
);
ut_ad
(
user_thd
==
ha_thd
());
ut_ad
(
user_thd
==
ha_thd
());
ut_a
(
prebuilt
->
trx
==
thd_to_trx
(
user_thd
));
ut_a
(
prebuilt
->
trx
==
thd_to_trx
(
user_thd
));
...
...
storage/innodb_plugin/ChangeLog
View file @
5a0e1aa4
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
2011-11-10 The InnoDB Team
* handler/ha_innodb.cc, row/row0ins.c, innodb_replace.test:
* handler/ha_innodb.cc, row/row0ins.c, innodb_replace.test:
...
...
storage/innodb_plugin/handler/ha_innodb.cc
View file @
5a0e1aa4
...
@@ -5520,7 +5520,6 @@ ha_innobase::innobase_get_index(
...
@@ -5520,7 +5520,6 @@ ha_innobase::innobase_get_index(
dict_index_t
*
index
=
0
;
dict_index_t
*
index
=
0
;
DBUG_ENTER
(
"innobase_get_index"
);
DBUG_ENTER
(
"innobase_get_index"
);
ha_statistic_increment
(
&
SSV
::
ha_read_key_count
);
if
(
keynr
!=
MAX_KEY
&&
table
->
s
->
keys
>
0
)
{
if
(
keynr
!=
MAX_KEY
&&
table
->
s
->
keys
>
0
)
{
key
=
table
->
key_info
+
keynr
;
key
=
table
->
key_info
+
keynr
;
...
...
storage/innodb_plugin/include/page0page.h
View file @
5a0e1aa4
...
@@ -892,6 +892,7 @@ page_parse_create(
...
@@ -892,6 +892,7 @@ page_parse_create(
ulint
comp
,
/*!< in: nonzero=compact page format */
ulint
comp
,
/*!< in: nonzero=compact page format */
buf_block_t
*
block
,
/*!< in: block or NULL */
buf_block_t
*
block
,
/*!< in: block or NULL */
mtr_t
*
mtr
);
/*!< in: mtr or NULL */
mtr_t
*
mtr
);
/*!< in: mtr or NULL */
#ifndef UNIV_HOTBACKUP
/************************************************************//**
/************************************************************//**
Prints record contents including the data relevant only in
Prints record contents including the data relevant only in
the index page context. */
the index page context. */
...
@@ -901,6 +902,7 @@ page_rec_print(
...
@@ -901,6 +902,7 @@ page_rec_print(
/*===========*/
/*===========*/
const
rec_t
*
rec
,
/*!< in: physical record */
const
rec_t
*
rec
,
/*!< in: physical record */
const
ulint
*
offsets
);
/*!< in: record descriptor */
const
ulint
*
offsets
);
/*!< in: record descriptor */
# ifdef UNIV_BTR_PRINT
/***************************************************************//**
/***************************************************************//**
This is used to print the contents of the directory for
This is used to print the contents of the directory for
debugging purposes. */
debugging purposes. */
...
@@ -940,6 +942,8 @@ page_print(
...
@@ -940,6 +942,8 @@ page_print(
in directory */
in directory */
ulint
rn
);
/*!< in: print rn first and last records
ulint
rn
);
/*!< in: print rn first and last records
in directory */
in directory */
# endif
/* UNIV_BTR_PRINT */
#endif
/* !UNIV_HOTBACKUP */
/***************************************************************//**
/***************************************************************//**
The following is used to validate a record on a page. This function
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
differs from rec_validate as it can also check the n_owned field and
...
...
storage/innodb_plugin/page/page0page.c
View file @
5a0e1aa4
...
@@ -1613,13 +1613,14 @@ page_rec_print(
...
@@ -1613,13 +1613,14 @@ page_rec_print(
" n_owned: %lu; heap_no: %lu; next rec: %lu
\n
"
,
" n_owned: %lu; heap_no: %lu; next rec: %lu
\n
"
,
(
ulong
)
rec_get_n_owned_old
(
rec
),
(
ulong
)
rec_get_n_owned_old
(
rec
),
(
ulong
)
rec_get_heap_no_old
(
rec
),
(
ulong
)
rec_get_heap_no_old
(
rec
),
(
ulong
)
rec_get_next_offs
(
rec
,
TRU
E
));
(
ulong
)
rec_get_next_offs
(
rec
,
FALS
E
));
}
}
page_rec_check
(
rec
);
page_rec_check
(
rec
);
rec_validate
(
rec
,
offsets
);
rec_validate
(
rec
,
offsets
);
}
}
# ifdef UNIV_BTR_PRINT
/***************************************************************//**
/***************************************************************//**
This is used to print the contents of the directory for
This is used to print the contents of the directory for
debugging purposes. */
debugging purposes. */
...
@@ -1780,6 +1781,7 @@ page_print(
...
@@ -1780,6 +1781,7 @@ page_print(
page_dir_print
(
page
,
dn
);
page_dir_print
(
page
,
dn
);
page_print_list
(
block
,
index
,
rn
);
page_print_list
(
block
,
index
,
rn
);
}
}
# endif
/* UNIV_BTR_PRINT */
#endif
/* !UNIV_HOTBACKUP */
#endif
/* !UNIV_HOTBACKUP */
/***************************************************************//**
/***************************************************************//**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment