mirror of
https://github.com/MariaDB/server.git
synced 2025-05-13 01:01:44 +03:00

Fixes the following bugs: - Bug #33349: possible race condition revolving around data dictionary and repartitioning Introduce retry/sleep logic as a workaround for a transient bug where ::open fails for partitioned tables randomly if we are using one file per table. - Bug #34053: normal users can enable innodb_monitor logging In CREATE TABLE and DROP TABLE check whether the table in question is one of the magic innodb_monitor tables and whether the user has enough rights to mess with it before doing anything else. - Bug #22868: 'Thread thrashing' with > 50 concurrent conns under an upd-intensive workloadw - Bug #29560: InnoDB >= 5.0.30 hangs on adaptive hash rw-lock 'waiting for an X-lock' This is a combination of changes that forward port the scalability fix applied to 5.0 through r1001. It reverts changes r149 and r122 (these were 5.1 specific changes made in lieu of scalability fix of 5.0) Then it applies r1001 to 5.0 which is the original scalability fix. Finally it applies r2082 which fixes an issue with the original fix. - Bug #30930: Add auxiliary function to retrieve THD::thread_id Add thd_get_thread_id() function. Also make check_global_access() function visible to InnoDB under INNODB_COMPATIBILITY_HOOKS #define.
50 lines
1.3 KiB
Plaintext
50 lines
1.3 KiB
Plaintext
#
|
|
# Make sure http://bugs.mysql.com/34053 remains fixed.
|
|
#
|
|
|
|
-- source include/have_innodb.inc
|
|
|
|
SET storage_engine=InnoDB;
|
|
|
|
# we do not really care about what gets printed, we are only
|
|
# interested in getting success or failure according to our
|
|
# expectations
|
|
-- disable_query_log
|
|
-- disable_result_log
|
|
|
|
GRANT USAGE ON *.* TO 'shane'@'localhost' IDENTIFIED BY '12345';
|
|
FLUSH PRIVILEGES;
|
|
|
|
-- connect (con1,localhost,shane,12345,)
|
|
|
|
-- connection con1
|
|
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
|
|
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
|
|
CREATE TABLE innodb_monitorx (a INT) ENGINE=INNODB;
|
|
DROP TABLE innodb_monitorx;
|
|
CREATE TABLE innodb_monito (a INT) ENGINE=INNODB;
|
|
DROP TABLE innodb_monito;
|
|
CREATE TABLE xinnodb_monitor (a INT) ENGINE=INNODB;
|
|
DROP TABLE xinnodb_monitor;
|
|
CREATE TABLE nnodb_monitor (a INT) ENGINE=INNODB;
|
|
DROP TABLE nnodb_monitor;
|
|
|
|
-- connection default
|
|
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
|
|
CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
|
|
|
|
-- connection con1
|
|
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
DROP TABLE innodb_monitor;
|
|
-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
DROP TABLE innodb_mem_validate;
|
|
|
|
-- connection default
|
|
DROP TABLE innodb_monitor;
|
|
DROP TABLE innodb_mem_validate;
|
|
DROP USER 'shane'@'localhost';
|
|
|
|
-- disconnect con1
|