Commit 0fdb3bcf authored by Sergei Golubchik's avatar Sergei Golubchik

10.0-base merge (roles)

parents 7dc48ae3 fef41669
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
@DPATCH@ @DPATCH@
--- old/scripts/mysql_system_tables_data.sql 2008-12-04 22:59:44.000000000 +0100 --- old/scripts/mysql_system_tables_data.sql 2008-12-04 22:59:44.000000000 +0100
+++ new/scripts/mysql_system_tables_data.sql 2008-12-04 23:00:07.000000000 +0100 +++ new/scripts/mysql_system_tables_data.sql 2008-12-04 23:00:07.000000000 +0100
@@ -26,8 +26,6 @@ @@ -31,8 +31,6 @@
-- Fill "db" table with default grants for anyone to -- Fill "db" table with default grants for anyone to
-- access database 'test' and 'test_%' if "db" table didn't exist -- access database 'test' and 'test_%' if "db" table didn't exist
CREATE TEMPORARY TABLE tmp_db LIKE db; CREATE TEMPORARY TABLE tmp_db LIKE db;
...@@ -19,12 +19,12 @@ ...@@ -19,12 +19,12 @@
INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0; INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0;
DROP TABLE tmp_db; DROP TABLE tmp_db;
@@ -40,8 +38,6 @@ @@ -44,8 +42,6 @@
REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','' FROM dual WHERE LOWER( @current_hostname) != 'localhost'; REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N' FROM dual WHERE LOWER( @current_hostname) != 'localhost';
REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','',''); REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N');
REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','',''); REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','','N','N');
-INSERT INTO tmp_user (host,user) VALUES ('localhost',''); -INSERT INTO tmp_user (host,user) VALUES ('localhost','');
-INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost'; -INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost';
INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0; INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
DROP TABLE tmp_user; DROP TABLE tmp_user;
...@@ -327,6 +327,9 @@ struct st_my_file_info ...@@ -327,6 +327,9 @@ struct st_my_file_info
extern struct st_my_file_info *my_file_info; extern struct st_my_file_info *my_file_info;
/* Free function pointer */
typedef void (*FREE_FUNC)(void *);
typedef struct st_dynamic_array typedef struct st_dynamic_array
{ {
uchar *buffer; uchar *buffer;
...@@ -792,6 +795,7 @@ extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, uint max_elements); ...@@ -792,6 +795,7 @@ extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, uint max_elements);
extern void get_dynamic(DYNAMIC_ARRAY *array, void *element, uint array_index); extern void get_dynamic(DYNAMIC_ARRAY *array, void *element, uint array_index);
extern void delete_dynamic(DYNAMIC_ARRAY *array); extern void delete_dynamic(DYNAMIC_ARRAY *array);
extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index); extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);
extern void delete_dynamic_with_callback(DYNAMIC_ARRAY *array, FREE_FUNC f);
extern void freeze_size(DYNAMIC_ARRAY *array); extern void freeze_size(DYNAMIC_ARRAY *array);
extern int get_index_dynamic(DYNAMIC_ARRAY *array, void *element); extern int get_index_dynamic(DYNAMIC_ARRAY *array, void *element);
#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element) #define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)
......
...@@ -26,9 +26,9 @@ ...@@ -26,9 +26,9 @@
C_MODE_START C_MODE_START
void parse_user(const char *user_id_str, size_t user_id_len, int parse_user(const char *user_id_str, size_t user_id_len,
char *user_name_str, size_t *user_name_len, char *user_name_str, size_t *user_name_len,
char *host_name_str, size_t *host_name_len); char *host_name_str, size_t *host_name_len);
C_MODE_END C_MODE_END
......
...@@ -69,6 +69,7 @@ BEGIN ...@@ -69,6 +69,7 @@ BEGIN
mysql.host, mysql.host,
mysql.proc, mysql.proc,
mysql.procs_priv, mysql.procs_priv,
mysql.roles_mapping,
mysql.tables_priv, mysql.tables_priv,
mysql.time_zone, mysql.time_zone,
mysql.time_zone_leap_second, mysql.time_zone_leap_second,
......
...@@ -182,6 +182,7 @@ my $DEFAULT_SUITES= join(',', map { "$_-" } qw( ...@@ -182,6 +182,7 @@ my $DEFAULT_SUITES= join(',', map { "$_-" } qw(
percona percona
perfschema perfschema
plugins plugins
roles
rpl rpl
sphinx sphinx
sys_vars sys_vars
......
...@@ -26,6 +26,7 @@ plugin ...@@ -26,6 +26,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -20,6 +20,7 @@ plugin ...@@ -20,6 +20,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -59,6 +60,7 @@ plugin ...@@ -59,6 +60,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -106,6 +108,7 @@ plugin ...@@ -106,6 +108,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
......
...@@ -569,7 +569,7 @@ USE test; ...@@ -569,7 +569,7 @@ USE test;
SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
SET GLOBAL event_scheduler = ON; SET GLOBAL event_scheduler = ON;
CREATE TABLE events_test.event_log CREATE TABLE events_test.event_log
(id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp) (id int KEY AUTO_INCREMENT, ev_nm char(40), ev_cnt int, ev_tm timestamp)
......
This diff is collapsed.
...@@ -36,7 +36,7 @@ select @@sql_mode; ...@@ -36,7 +36,7 @@ select @@sql_mode;
@@sql_mode @@sql_mode
NO_AUTO_CREATE_USER NO_AUTO_CREATE_USER
grant select on `my\_1`.* to mysqltest_4@localhost with grant option; grant select on `my\_1`.* to mysqltest_4@localhost with grant option;
ERROR 42000: Can't find any matching row in the user table ERROR 28000: Can't find any matching row in the user table
grant select on `my\_1`.* to mysqltest_4@localhost identified by 'mypass' grant select on `my\_1`.* to mysqltest_4@localhost identified by 'mypass'
with grant option; with grant option;
show grants for mysqltest_1@localhost; show grants for mysqltest_1@localhost;
...@@ -335,7 +335,7 @@ delete from mysql.user where user like 'mysqltest\_1'; ...@@ -335,7 +335,7 @@ delete from mysql.user where user like 'mysqltest\_1';
flush privileges; flush privileges;
drop database mysqltest_1; drop database mysqltest_1;
set password = password("changed"); set password = password("changed");
ERROR 42000: Can't find any matching row in the user table ERROR 42000: You are using MariaDB as an anonymous user and anonymous users are not allowed to change passwords
lock table mysql.user write; lock table mysql.user write;
flush privileges; flush privileges;
grant all on *.* to 'mysqltest_1'@'localhost'; grant all on *.* to 'mysqltest_1'@'localhost';
......
...@@ -7,11 +7,11 @@ flush status; ...@@ -7,11 +7,11 @@ flush status;
show grants for current_user; show grants for current_user;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
create database if not exists mysqltest; create database if not exists mysqltest;
create table mysqltest.t1 (a int,b int,c int); create table mysqltest.t1 (a int,b int,c int);
create table mysqltest.t2 (a int,b int,c int); create table mysqltest.t2 (a int,b int,c int);
......
...@@ -7,11 +7,11 @@ flush status; ...@@ -7,11 +7,11 @@ flush status;
show grants for current_user; show grants for current_user;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
create database if not exists mysqltest; create database if not exists mysqltest;
create table mysqltest.t1 (a int,b int,c int); create table mysqltest.t1 (a int,b int,c int);
create table mysqltest.t2 (a int,b int,c int); create table mysqltest.t2 (a int,b int,c int);
......
...@@ -19,12 +19,15 @@ c2.column_name LIKE '%SCHEMA%' ...@@ -19,12 +19,15 @@ c2.column_name LIKE '%SCHEMA%'
) )
AND t.table_name NOT LIKE 'innodb%'; AND t.table_name NOT LIKE 'innodb%';
table_name column_name table_name column_name
ALL_PLUGINS PLUGIN_NAME
APPLICABLE_ROLES GRANTEE
CHARACTER_SETS CHARACTER_SET_NAME CHARACTER_SETS CHARACTER_SET_NAME
CLIENT_STATISTICS CLIENT CLIENT_STATISTICS CLIENT
COLLATIONS COLLATION_NAME COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA COLUMN_PRIVILEGES TABLE_SCHEMA
ENABLED_ROLES ROLE_NAME
ENGINES ENGINE ENGINES ENGINE
EVENTS EVENT_SCHEMA EVENTS EVENT_SCHEMA
FILES TABLE_SCHEMA FILES TABLE_SCHEMA
...@@ -36,7 +39,6 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA ...@@ -36,7 +39,6 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
PARAMETERS SPECIFIC_SCHEMA PARAMETERS SPECIFIC_SCHEMA
PARTITIONS TABLE_SCHEMA PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME PLUGINS PLUGIN_NAME
ALL_PLUGINS PLUGIN_NAME
PROCESSLIST ID PROCESSLIST ID
PROFILING QUERY_ID PROFILING QUERY_ID
REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
...@@ -72,12 +74,15 @@ c2.column_name LIKE '%SCHEMA%' ...@@ -72,12 +74,15 @@ c2.column_name LIKE '%SCHEMA%'
) )
AND t.table_name NOT LIKE 'innodb%'; AND t.table_name NOT LIKE 'innodb%';
table_name column_name table_name column_name
ALL_PLUGINS PLUGIN_NAME
APPLICABLE_ROLES GRANTEE
CHARACTER_SETS CHARACTER_SET_NAME CHARACTER_SETS CHARACTER_SET_NAME
CLIENT_STATISTICS CLIENT CLIENT_STATISTICS CLIENT
COLLATIONS COLLATION_NAME COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA COLUMN_PRIVILEGES TABLE_SCHEMA
ENABLED_ROLES ROLE_NAME
ENGINES ENGINE ENGINES ENGINE
EVENTS EVENT_SCHEMA EVENTS EVENT_SCHEMA
FILES TABLE_SCHEMA FILES TABLE_SCHEMA
...@@ -89,7 +94,6 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA ...@@ -89,7 +94,6 @@ KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
PARAMETERS SPECIFIC_SCHEMA PARAMETERS SPECIFIC_SCHEMA
PARTITIONS TABLE_SCHEMA PARTITIONS TABLE_SCHEMA
PLUGINS PLUGIN_NAME PLUGINS PLUGIN_NAME
ALL_PLUGINS PLUGIN_NAME
PROCESSLIST ID PROCESSLIST ID
PROFILING QUERY_ID PROFILING QUERY_ID
REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
......
...@@ -47,12 +47,14 @@ table_name not like 'xtradb_%'; ...@@ -47,12 +47,14 @@ table_name not like 'xtradb_%';
select * from v1; select * from v1;
c c
ALL_PLUGINS ALL_PLUGINS
APPLICABLE_ROLES
CHARACTER_SETS CHARACTER_SETS
CLIENT_STATISTICS CLIENT_STATISTICS
COLLATIONS COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS COLUMNS
COLUMN_PRIVILEGES COLUMN_PRIVILEGES
ENABLED_ROLES
ENGINES ENGINES
EVENTS EVENTS
FILES FILES
...@@ -99,6 +101,7 @@ plugin ...@@ -99,6 +101,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
t1 t1
...@@ -650,8 +653,8 @@ select TABLE_NAME,TABLE_TYPE,ENGINE ...@@ -650,8 +653,8 @@ select TABLE_NAME,TABLE_TYPE,ENGINE
from information_schema.tables from information_schema.tables
where table_schema='information_schema' limit 2; where table_schema='information_schema' limit 2;
TABLE_NAME TABLE_TYPE ENGINE TABLE_NAME TABLE_TYPE ENGINE
CHARACTER_SETS SYSTEM VIEW MEMORY ALL_PLUGINS SYSTEM VIEW Aria
CLIENT_STATISTICS SYSTEM VIEW MEMORY APPLICABLE_ROLES SYSTEM VIEW MEMORY
show tables from information_schema like "T%"; show tables from information_schema like "T%";
Tables_in_information_schema (T%) Tables_in_information_schema (T%)
TABLES TABLES
...@@ -706,6 +709,7 @@ max_questions select,insert,update,references ...@@ -706,6 +709,7 @@ max_questions select,insert,update,references
max_connections select,insert,update,references max_connections select,insert,update,references
max_user_connections select,insert,update,references max_user_connections select,insert,update,references
authentication_string select,insert,update,references authentication_string select,insert,update,references
is_role select,insert,update,references
use test; use test;
create function sub1(i int) returns int create function sub1(i int) returns int
return i+1; return i+1;
...@@ -796,6 +800,7 @@ select table_schema,table_name, column_name from ...@@ -796,6 +800,7 @@ select table_schema,table_name, column_name from
information_schema.columns information_schema.columns
where data_type = 'longtext'; where data_type = 'longtext';
table_schema table_name column_name table_schema table_name column_name
information_schema ALL_PLUGINS PLUGIN_DESCRIPTION
information_schema COLUMNS COLUMN_DEFAULT information_schema COLUMNS COLUMN_DEFAULT
information_schema COLUMNS COLUMN_TYPE information_schema COLUMNS COLUMN_TYPE
information_schema EVENTS EVENT_DEFINITION information_schema EVENTS EVENT_DEFINITION
...@@ -804,7 +809,6 @@ information_schema PARTITIONS PARTITION_EXPRESSION ...@@ -804,7 +809,6 @@ information_schema PARTITIONS PARTITION_EXPRESSION
information_schema PARTITIONS SUBPARTITION_EXPRESSION information_schema PARTITIONS SUBPARTITION_EXPRESSION
information_schema PARTITIONS PARTITION_DESCRIPTION information_schema PARTITIONS PARTITION_DESCRIPTION
information_schema PLUGINS PLUGIN_DESCRIPTION information_schema PLUGINS PLUGIN_DESCRIPTION
information_schema ALL_PLUGINS PLUGIN_DESCRIPTION
information_schema PROCESSLIST INFO information_schema PROCESSLIST INFO
information_schema ROUTINES DTD_IDENTIFIER information_schema ROUTINES DTD_IDENTIFIER
information_schema ROUTINES ROUTINE_DEFINITION information_schema ROUTINES ROUTINE_DEFINITION
...@@ -1183,7 +1187,7 @@ group by column_type order by num; ...@@ -1183,7 +1187,7 @@ group by column_type order by num;
column_type group_concat(table_schema, '.', table_name) num column_type group_concat(table_schema, '.', table_name) num
varchar(27) information_schema.COLUMNS 1 varchar(27) information_schema.COLUMNS 1
varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2 varchar(7) information_schema.ROUTINES,information_schema.VIEWS 2
varchar(20) information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.ALL_PLUGINS,information_schema.ALL_PLUGINS,information_schema.ALL_PLUGINS,information_schema.PROFILING 9 varchar(20) information_schema.ALL_PLUGINS,information_schema.ALL_PLUGINS,information_schema.ALL_PLUGINS,information_schema.FILES,information_schema.FILES,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PLUGINS,information_schema.PROFILING 9
create table t1(f1 char(1) not null, f2 char(9) not null) create table t1(f1 char(1) not null, f2 char(9) not null)
default character set utf8; default character set utf8;
select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from select CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH from
......
...@@ -2,12 +2,14 @@ use INFORMATION_SCHEMA; ...@@ -2,12 +2,14 @@ use INFORMATION_SCHEMA;
show tables; show tables;
Tables_in_information_schema Tables_in_information_schema
ALL_PLUGINS ALL_PLUGINS
APPLICABLE_ROLES
CHARACTER_SETS CHARACTER_SETS
CLIENT_STATISTICS CLIENT_STATISTICS
COLLATIONS COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS COLUMNS
COLUMN_PRIVILEGES COLUMN_PRIVILEGES
ENABLED_ROLES
ENGINES ENGINES
EVENTS EVENTS
FILES FILES
...@@ -76,12 +78,14 @@ c2.column_name LIKE '%SCHEMA%' ...@@ -76,12 +78,14 @@ c2.column_name LIKE '%SCHEMA%'
) order by t.table_name; ) order by t.table_name;
table_name column_name table_name column_name
ALL_PLUGINS PLUGIN_NAME ALL_PLUGINS PLUGIN_NAME
APPLICABLE_ROLES GRANTEE
CHARACTER_SETS CHARACTER_SET_NAME CHARACTER_SETS CHARACTER_SET_NAME
CLIENT_STATISTICS CLIENT CLIENT_STATISTICS CLIENT
COLLATIONS COLLATION_NAME COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA COLUMN_PRIVILEGES TABLE_SCHEMA
ENABLED_ROLES ROLE_NAME
ENGINES ENGINE ENGINES ENGINE
EVENTS EVENT_SCHEMA EVENTS EVENT_SCHEMA
FILES TABLE_SCHEMA FILES TABLE_SCHEMA
...@@ -150,12 +154,14 @@ c2.column_name LIKE '%SCHEMA%' ...@@ -150,12 +154,14 @@ c2.column_name LIKE '%SCHEMA%'
) order by t.table_name; ) order by t.table_name;
table_name column_name table_name column_name
ALL_PLUGINS PLUGIN_NAME ALL_PLUGINS PLUGIN_NAME
APPLICABLE_ROLES GRANTEE
CHARACTER_SETS CHARACTER_SET_NAME CHARACTER_SETS CHARACTER_SET_NAME
CLIENT_STATISTICS CLIENT CLIENT_STATISTICS CLIENT
COLLATIONS COLLATION_NAME COLLATIONS COLLATION_NAME
COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME
COLUMNS TABLE_SCHEMA COLUMNS TABLE_SCHEMA
COLUMN_PRIVILEGES TABLE_SCHEMA COLUMN_PRIVILEGES TABLE_SCHEMA
ENABLED_ROLES ROLE_NAME
ENGINES ENGINE ENGINES ENGINE
EVENTS EVENT_SCHEMA EVENTS EVENT_SCHEMA
FILES TABLE_SCHEMA FILES TABLE_SCHEMA
...@@ -230,6 +236,7 @@ group by c2.column_type order by num limit 1) ...@@ -230,6 +236,7 @@ group by c2.column_type order by num limit 1)
group by t.table_name order by num1, t.table_name; group by t.table_name order by num1, t.table_name;
table_name group_concat(t.table_schema, '.', t.table_name) num1 table_name group_concat(t.table_schema, '.', t.table_name) num1
ALL_PLUGINS information_schema.ALL_PLUGINS 1 ALL_PLUGINS information_schema.ALL_PLUGINS 1
APPLICABLE_ROLES information_schema.APPLICABLE_ROLES 1
CHARACTER_SETS information_schema.CHARACTER_SETS 1 CHARACTER_SETS information_schema.CHARACTER_SETS 1
CLIENT_STATISTICS information_schema.CLIENT_STATISTICS 1 CLIENT_STATISTICS information_schema.CLIENT_STATISTICS 1
COLLATIONS information_schema.COLLATIONS 1 COLLATIONS information_schema.COLLATIONS 1
...@@ -293,12 +300,14 @@ VIEWS information_schema.VIEWS 1 ...@@ -293,12 +300,14 @@ VIEWS information_schema.VIEWS 1
Database: information_schema Database: information_schema
| Tables | | Tables |
| ALL_PLUGINS | | ALL_PLUGINS |
| APPLICABLE_ROLES |
| CHARACTER_SETS | | CHARACTER_SETS |
| CLIENT_STATISTICS | | CLIENT_STATISTICS |
| COLLATIONS | | COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY | | COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS | | COLUMNS |
| COLUMN_PRIVILEGES | | COLUMN_PRIVILEGES |
| ENABLED_ROLES |
| ENGINES | | ENGINES |
| EVENTS | | EVENTS |
| FILES | | FILES |
...@@ -357,12 +366,14 @@ Database: information_schema ...@@ -357,12 +366,14 @@ Database: information_schema
Database: INFORMATION_SCHEMA Database: INFORMATION_SCHEMA
| Tables | | Tables |
| ALL_PLUGINS | | ALL_PLUGINS |
| APPLICABLE_ROLES |
| CHARACTER_SETS | | CHARACTER_SETS |
| CLIENT_STATISTICS | | CLIENT_STATISTICS |
| COLLATIONS | | COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY | | COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS | | COLUMNS |
| COLUMN_PRIVILEGES | | COLUMN_PRIVILEGES |
| ENABLED_ROLES |
| ENGINES | | ENGINES |
| EVENTS | | EVENTS |
| FILES | | FILES |
...@@ -423,5 +434,5 @@ Wildcard: inf_rmation_schema ...@@ -423,5 +434,5 @@ Wildcard: inf_rmation_schema
| information_schema | | information_schema |
SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA; SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
table_schema count(*) table_schema count(*)
information_schema 59 information_schema 61
mysql 27 mysql 28
...@@ -5058,7 +5058,7 @@ EXPLAIN ...@@ -5058,7 +5058,7 @@ EXPLAIN
SELECT * FROM t1,t2 WHERE t1.a < 3 and t2.a IS NULL; SELECT * FROM t1,t2 WHERE t1.a < 3 and t2.a IS NULL;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 3 Using where; Using index 1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 3 Using where; Using index
1 SIMPLE t2 hash_range idx #hash#idx:idx 5:5 const 4 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNLH join) 1 SIMPLE t2 hash_range idx #hash#idx:idx 5:5 const 4 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNLH join)
SELECT * FROM t1,t2 WHERE t1.a < 3 and t2.a IS NULL; SELECT * FROM t1,t2 WHERE t1.a < 3 and t2.a IS NULL;
a a b a a b
1 NULL 10 1 NULL 10
...@@ -5637,4 +5637,51 @@ c ...@@ -5637,4 +5637,51 @@ c
set join_buffer_size=default; set join_buffer_size=default;
set optimizer_switch=@tmp_optimizer_switch; set optimizer_switch=@tmp_optimizer_switch;
DROP table t1,t2,t3; DROP table t1,t2,t3;
#
# MDEV-5123 Remove duplicated conditions pushed both to join_tab->select_cond and join_tab->cache_select->cond for blocked joins.
#
set join_cache_level=default;
set expensive_subquery_limit=0;
create table t1 (c1 int);
create table t2 (c2 int);
create table t3 (c3 int);
insert into t1 values (1), (2);
insert into t2 values (1), (2);
insert into t3 values (2);
explain
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
2 UNCACHEABLE SUBQUERY t3 system NULL NULL NULL NULL 1
set @counter=0;
select count(*) from t1 straight_join t2
where c1 = c2-0 and c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1);
count(*)
2
select @counter;
@counter
2
explain
select count(*) from t1 straight_join t2
where c1 = c2-0 and
c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1) and
c2 / 2 = 1;
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; Using join buffer (flat, BNL join)
2 UNCACHEABLE SUBQUERY t3 system NULL NULL NULL NULL 1
set @counter=0;
select count(*) from t1 straight_join t2
where c1 = c2-0 and
c2 <= (select max(c3) from t3 where c3 = 2 and @counter:=@counter+1) and
c2 / 2 = 1;
count(*)
1
select @counter;
@counter
2
drop table t1,t2,t3;
set expensive_subquery_limit=default;
set @@optimizer_switch=@save_optimizer_switch; set @@optimizer_switch=@save_optimizer_switch;
...@@ -747,27 +747,27 @@ ERROR HY000: Sort aborted: ...@@ -747,27 +747,27 @@ ERROR HY000: Sort aborted:
SHOW STATUS LIKE 'Handler_read%'; SHOW STATUS LIKE 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 4 Handler_read_key 5
Handler_read_last 0 Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
Handler_read_rnd_deleted 0 Handler_read_rnd_deleted 0
Handler_read_rnd_next 52 Handler_read_rnd_next 46
SHOW STATUS LIKE 'Handler_tmp%'; SHOW STATUS LIKE 'Handler_tmp%';
Variable_name Value Variable_name Value
Handler_tmp_update 0 Handler_tmp_update 0
Handler_tmp_write 66 Handler_tmp_write 70
FLUSH STATUS; FLUSH STATUS;
SELECT a AS field1, alias2.d AS field2, alias2.f AS field3, alias2.e AS field4, b AS field5 SELECT a AS field1, alias2.d AS field2, alias2.f AS field3, alias2.e AS field4, b AS field5
FROM t1, t2 AS alias2, t2 AS alias3 FROM t1, t2 AS alias2, t2 AS alias3
WHERE alias3.c IN ( SELECT 1 UNION SELECT 6 ) WHERE alias3.c IN ( SELECT 1 UNION SELECT 6 )
GROUP BY field1, field2, field3, field4, field5 GROUP BY field1, field2, field3, field4, field5
LIMIT ROWS EXAMINED 250; LIMIT ROWS EXAMINED 124;
field1 field2 field3 field4 field5 field1 field2 field3 field4 field5
00:21:38 06:07:10 a 2007-06-08 04:35:26 2007-05-28 00:00:00 00:21:38 06:07:10 a 2007-06-08 04:35:26 2007-05-28 00:00:00
Warnings: Warnings:
Warning 1931 Query execution was interrupted. The query examined at least 251 rows, which exceeds LIMIT ROWS EXAMINED (250). The query result may be incomplete. Warning 1931 Query execution was interrupted. The query examined at least 125 rows, which exceeds LIMIT ROWS EXAMINED (124). The query result may be incomplete.
SHOW STATUS LIKE 'Handler_read%'; SHOW STATUS LIKE 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
...@@ -777,11 +777,11 @@ Handler_read_next 0 ...@@ -777,11 +777,11 @@ Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 2 Handler_read_rnd 2
Handler_read_rnd_deleted 1 Handler_read_rnd_deleted 1
Handler_read_rnd_next 110 Handler_read_rnd_next 47
SHOW STATUS LIKE 'Handler_tmp%'; SHOW STATUS LIKE 'Handler_tmp%';
Variable_name Value Variable_name Value
Handler_tmp_update 0 Handler_tmp_update 0
Handler_tmp_write 133 Handler_tmp_write 70
drop table t1, t2; drop table t1, t2;
MDEV-161 LIMIT_ROWS EXAMINED: query with the limit and NOT EXISTS, without GROUP BY or aggregate, MDEV-161 LIMIT_ROWS EXAMINED: query with the limit and NOT EXISTS, without GROUP BY or aggregate,
......
...@@ -38,6 +38,7 @@ mysql.proc OK ...@@ -38,6 +38,7 @@ mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.renamed_general_log OK mysql.renamed_general_log OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -25,6 +25,7 @@ mysql.plugin OK ...@@ -25,6 +25,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -67,6 +68,7 @@ mysql.plugin OK ...@@ -67,6 +68,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -109,6 +111,7 @@ mysql.plugin OK ...@@ -109,6 +111,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -153,6 +156,7 @@ mysql.plugin OK ...@@ -153,6 +156,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -201,6 +205,7 @@ mysql.plugin OK ...@@ -201,6 +205,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -252,6 +257,7 @@ mysql.plugin OK ...@@ -252,6 +257,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -306,6 +312,7 @@ mysql.plugin OK ...@@ -306,6 +312,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -27,6 +27,7 @@ mysql.plugin OK ...@@ -27,6 +27,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
......
...@@ -21,6 +21,7 @@ mysql.plugin OK ...@@ -21,6 +21,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -54,6 +55,7 @@ mysql.plugin OK ...@@ -54,6 +55,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -81,6 +83,7 @@ mysql.plugin OK ...@@ -81,6 +83,7 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.proxies_priv OK mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK mysql.servers OK
mysql.table_stats OK mysql.table_stats OK
mysql.tables_priv OK mysql.tables_priv OK
...@@ -112,6 +115,7 @@ mysql.plugin Table is already up to date ...@@ -112,6 +115,7 @@ mysql.plugin Table is already up to date
mysql.proc Table is already up to date mysql.proc Table is already up to date
mysql.procs_priv Table is already up to date mysql.procs_priv Table is already up to date
mysql.proxies_priv Table is already up to date mysql.proxies_priv Table is already up to date
mysql.roles_mapping Table is already up to date
mysql.servers Table is already up to date mysql.servers Table is already up to date
mysql.table_stats Table is already up to date mysql.table_stats Table is already up to date
mysql.tables_priv Table is already up to date mysql.tables_priv Table is already up to date
......
...@@ -1185,7 +1185,7 @@ performance-schema-max-rwlock-instances 1724 ...@@ -1185,7 +1185,7 @@ performance-schema-max-rwlock-instances 1724
performance-schema-max-socket-classes 10 performance-schema-max-socket-classes 10
performance-schema-max-socket-instances 179 performance-schema-max-socket-instances 179
performance-schema-max-stage-classes 150 performance-schema-max-stage-classes 150
performance-schema-max-statement-classes 175 performance-schema-max-statement-classes 179
performance-schema-max-table-handles 445 performance-schema-max-table-handles 445
performance-schema-max-table-instances 445 performance-schema-max-table-instances 445
performance-schema-max-thread-classes 50 performance-schema-max-thread-classes 50
......
...@@ -36,8 +36,6 @@ USER() CURRENT_USER() ...@@ -36,8 +36,6 @@ USER() CURRENT_USER()
plug@localhost plug_dest@% plug@localhost plug_dest@%
## test SET PASSWORD ## test SET PASSWORD
SET PASSWORD = PASSWORD('plug_dest'); SET PASSWORD = PASSWORD('plug_dest');
Warnings:
Note 1699 SET PASSWORD has no significance for users authenticating via plugins
## test bad credentials ## test bad credentials
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES) ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD ## test bad default plugin : should get CR_AUTH_PLUGIN_CANNOT_LOAD
...@@ -116,7 +114,7 @@ ERROR 42000: There is no such grant defined for user 'grant_plug' on host '%' ...@@ -116,7 +114,7 @@ ERROR 42000: There is no such grant defined for user 'grant_plug' on host '%'
in grant_plug_dest_con in grant_plug_dest_con
## testing what an ordinary user can grant ## testing what an ordinary user can grant
this should fail : no rights to grant all this should fail : no rights to grant all
GRANT PROXY ON ''@'' TO grant_plug; GRANT PROXY ON ''@'%%' TO grant_plug;
ERROR 28000: Access denied for user 'grant_plug_dest'@'localhost' ERROR 28000: Access denied for user 'grant_plug_dest'@'localhost'
this should fail : not the same user this should fail : not the same user
GRANT PROXY ON grant_plug TO grant_plug_dest; GRANT PROXY ON grant_plug TO grant_plug_dest;
...@@ -139,15 +137,15 @@ ERROR 42000: You are not allowed to create a user with GRANT ...@@ -139,15 +137,15 @@ ERROR 42000: You are not allowed to create a user with GRANT
in default connection in default connection
# test what root can grant # test what root can grant
should work : root has PROXY to all users should work : root has PROXY to all users
GRANT PROXY ON ''@'' TO grant_plug; GRANT PROXY ON ''@'%%' TO grant_plug;
REVOKE PROXY ON ''@'' FROM grant_plug; REVOKE PROXY ON ''@'%%' FROM grant_plug;
should work : root has PROXY to all users should work : root has PROXY to all users
GRANT PROXY ON ''@'' TO proxy_admin IDENTIFIED BY 'test' GRANT PROXY ON ''@'%%' TO proxy_admin IDENTIFIED BY 'test'
WITH GRANT OPTION; WITH GRANT OPTION;
need USAGE : PROXY doesn't contain it. need USAGE : PROXY doesn't contain it.
GRANT USAGE on *.* TO proxy_admin; GRANT USAGE on *.* TO proxy_admin;
in proxy_admin_con; in proxy_admin_con;
should work : proxy_admin has proxy to ''@'' should work : proxy_admin has proxy to ''@'%%'
GRANT PROXY ON future_user TO grant_plug; GRANT PROXY ON future_user TO grant_plug;
in default connection in default connection
SHOW GRANTS FOR grant_plug; SHOW GRANTS FOR grant_plug;
...@@ -234,25 +232,25 @@ DROP USER plug_dest; ...@@ -234,25 +232,25 @@ DROP USER plug_dest;
# Bug #56798 : Wrong credentials assigned when using a proxy user. # Bug #56798 : Wrong credentials assigned when using a proxy user.
# #
GRANT ALL PRIVILEGES ON *.* TO power_user; GRANT ALL PRIVILEGES ON *.* TO power_user;
GRANT USAGE ON anonymous_db.* TO ''@'' GRANT USAGE ON anonymous_db.* TO ''@'%%'
IDENTIFIED WITH 'test_plugin_server' AS 'power_user'; IDENTIFIED WITH 'test_plugin_server' AS 'power_user';
GRANT PROXY ON power_user TO ''@''; GRANT PROXY ON power_user TO ''@'%%';
CREATE DATABASE confidential_db; CREATE DATABASE confidential_db;
SELECT user(),current_user(),@@proxy_user; SELECT user(),current_user(),@@proxy_user;
user() current_user() @@proxy_user user() current_user() @@proxy_user
test_login_user@localhost power_user@% ''@'' test_login_user@localhost power_user@% ''@'%%'
DROP USER power_user; DROP USER power_user;
DROP USER ''@''; DROP USER ''@'%%';
DROP DATABASE confidential_db; DROP DATABASE confidential_db;
# Test case #2 (crash with double grant proxy) # Test case #2 (crash with double grant proxy)
CREATE USER ''@'' IDENTIFIED WITH 'test_plugin_server' AS 'standard_user'; CREATE USER ''@'%%' IDENTIFIED WITH 'test_plugin_server' AS 'standard_user';
CREATE USER standard_user; CREATE USER standard_user;
CREATE DATABASE shared; CREATE DATABASE shared;
GRANT ALL PRIVILEGES ON shared.* TO standard_user; GRANT ALL PRIVILEGES ON shared.* TO standard_user;
GRANT PROXY ON standard_user TO ''@''; GRANT PROXY ON standard_user TO ''@'%%';
#should not crash #should not crash
GRANT PROXY ON standard_user TO ''@''; GRANT PROXY ON standard_user TO ''@'%%';
DROP USER ''@''; DROP USER ''@'%%';
DROP USER standard_user; DROP USER standard_user;
DROP DATABASE shared; DROP DATABASE shared;
# #
...@@ -426,8 +424,6 @@ SELECT USER(),CURRENT_USER(); ...@@ -426,8 +424,6 @@ SELECT USER(),CURRENT_USER();
USER() CURRENT_USER() USER() CURRENT_USER()
bug12818542@localhost bug12818542_dest@localhost bug12818542@localhost bug12818542_dest@localhost
SET PASSWORD = PASSWORD('bruhaha'); SET PASSWORD = PASSWORD('bruhaha');
Warnings:
Note 1699 SET PASSWORD has no significance for users authenticating via plugins
SELECT USER(),CURRENT_USER(); SELECT USER(),CURRENT_USER();
USER() CURRENT_USER() USER() CURRENT_USER()
bug12818542@localhost bug12818542_dest@localhost bug12818542@localhost bug12818542_dest@localhost
......
...@@ -303,7 +303,7 @@ grant_user test_plugin_server plug_dest ...@@ -303,7 +303,7 @@ grant_user test_plugin_server plug_dest
CREATE USER plug_dest; CREATE USER plug_dest;
DROP USER plug_dest; DROP USER plug_dest;
GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest; GRANT ALL PRIVILEGES ON test_user_db.* TO plug_dest;
ERROR 42000: Can't find any matching row in the user table ERROR 28000: Can't find any matching row in the user table
DROP USER grant_user; DROP USER grant_user;
GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest'; GRANT INSERT ON test_user_db.* TO grant_user IDENTIFIED WITH test_plugin_server AS 'plug_dest';
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root'; SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
......
...@@ -186,7 +186,7 @@ connection default; ...@@ -186,7 +186,7 @@ connection default;
disconnect plug_user; disconnect plug_user;
DROP USER new_user,new_dest,plug_dest; DROP USER new_user,new_dest,plug_dest;
========== test 2, 2.1, 2.2 ================================ ========== test 2, 2.1, 2.2 ================================
CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user'; CREATE USER ''@'%%' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd'; CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root'; SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
user plugin authentication_string user plugin authentication_string
...@@ -204,7 +204,7 @@ connection default; ...@@ -204,7 +204,7 @@ connection default;
disconnect proxy_con; disconnect proxy_con;
connect(proxy_con,localhost,proxy_user,proxied_user); connect(proxy_con,localhost,proxy_user,proxied_user);
ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES) ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES)
GRANT PROXY ON proxied_user TO ''@''; GRANT PROXY ON proxied_user TO ''@'%%';
connect(proxy_con,localhost,proxied_user,proxied_user_passwd); connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
SELECT USER(),CURRENT_USER(); SELECT USER(),CURRENT_USER();
USER() CURRENT_USER() USER() CURRENT_USER()
...@@ -218,11 +218,11 @@ proxy_user@localhost proxied_user@% ...@@ -218,11 +218,11 @@ proxy_user@localhost proxied_user@%
========== test 2.2.1 ====================================== ========== test 2.2.1 ======================================
SELECT @@proxy_user; SELECT @@proxy_user;
@@proxy_user @@proxy_user
''@'' ''@'%%'
connection default; connection default;
disconnect proxy_con; disconnect proxy_con;
DROP USER ''@'',proxied_user; DROP USER ''@'%%',proxied_user;
GRANT ALL PRIVILEGES ON test_user_db.* TO ''@'' GRANT ALL PRIVILEGES ON test_user_db.* TO ''@'%%'
IDENTIFIED WITH test_plugin_server AS 'proxied_user'; IDENTIFIED WITH test_plugin_server AS 'proxied_user';
CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd'; CREATE USER proxied_user IDENTIFIED BY 'proxied_user_passwd';
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root'; SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
...@@ -240,7 +240,7 @@ connection default; ...@@ -240,7 +240,7 @@ connection default;
disconnect proxy_con; disconnect proxy_con;
connect(proxy_con,localhost,proxy_user,proxied_user); connect(proxy_con,localhost,proxy_user,proxied_user);
ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES) ERROR 28000: Access denied for user 'proxy_user'@'localhost' (using password: YES)
GRANT PROXY ON proxied_user TO ''@''; GRANT PROXY ON proxied_user TO ''@'%%';
connect(proxy_con,localhost,proxied_user,proxied_user_passwd); connect(proxy_con,localhost,proxied_user,proxied_user_passwd);
SELECT USER(),CURRENT_USER(); SELECT USER(),CURRENT_USER();
USER() CURRENT_USER() USER() CURRENT_USER()
...@@ -253,21 +253,21 @@ USER() CURRENT_USER() ...@@ -253,21 +253,21 @@ USER() CURRENT_USER()
proxy_user@localhost proxied_user@% proxy_user@localhost proxied_user@%
SELECT @@proxy_user; SELECT @@proxy_user;
@@proxy_user @@proxy_user
''@'' ''@'%%'
connection default; connection default;
disconnect proxy_con; disconnect proxy_con;
DROP USER ''@'',proxied_user; DROP USER ''@'%%',proxied_user;
CREATE USER ''@'' IDENTIFIED WITH test_plugin_server AS 'proxied_user'; CREATE USER ''@'%%' IDENTIFIED WITH test_plugin_server AS 'proxied_user';
CREATE USER proxied_user_1 IDENTIFIED BY 'proxied_user_1_pwd'; CREATE USER proxied_user_1 IDENTIFIED BY 'proxied_user_1_pwd';
CREATE USER proxied_user_2 IDENTIFIED BY 'proxied_user_2_pwd'; CREATE USER proxied_user_2 IDENTIFIED BY 'proxied_user_2_pwd';
CREATE USER proxied_user_3 IDENTIFIED BY 'proxied_user_3_pwd'; CREATE USER proxied_user_3 IDENTIFIED BY 'proxied_user_3_pwd';
CREATE USER proxied_user_4 IDENTIFIED BY 'proxied_user_4_pwd'; CREATE USER proxied_user_4 IDENTIFIED BY 'proxied_user_4_pwd';
CREATE USER proxied_user_5 IDENTIFIED BY 'proxied_user_5_pwd'; CREATE USER proxied_user_5 IDENTIFIED BY 'proxied_user_5_pwd';
GRANT PROXY ON proxied_user_1 TO ''@''; GRANT PROXY ON proxied_user_1 TO ''@'%%';
GRANT PROXY ON proxied_user_2 TO ''@''; GRANT PROXY ON proxied_user_2 TO ''@'%%';
GRANT PROXY ON proxied_user_3 TO ''@''; GRANT PROXY ON proxied_user_3 TO ''@'%%';
GRANT PROXY ON proxied_user_4 TO ''@''; GRANT PROXY ON proxied_user_4 TO ''@'%%';
GRANT PROXY ON proxied_user_5 TO ''@''; GRANT PROXY ON proxied_user_5 TO ''@'%%';
SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root'; SELECT user,plugin,authentication_string FROM mysql.user WHERE user != 'root';
user plugin authentication_string user plugin authentication_string
test_plugin_server proxied_user test_plugin_server proxied_user
...@@ -322,7 +322,7 @@ disconnect proxy_con_2; ...@@ -322,7 +322,7 @@ disconnect proxy_con_2;
disconnect proxy_con_3; disconnect proxy_con_3;
disconnect proxy_con_4; disconnect proxy_con_4;
disconnect proxy_con_5; disconnect proxy_con_5;
DROP USER ''@'',proxied_user_1,proxied_user_2,proxied_user_3,proxied_user_4,proxied_user_5; DROP USER ''@'%%',proxied_user_1,proxied_user_2,proxied_user_3,proxied_user_4,proxied_user_5;
========== test 3 ========================================== ========== test 3 ==========================================
GRANT ALL PRIVILEGES ON *.* TO plug_user GRANT ALL PRIVILEGES ON *.* TO plug_user
IDENTIFIED WITH test_plugin_server AS 'plug_dest'; IDENTIFIED WITH test_plugin_server AS 'plug_dest';
......
...@@ -1201,13 +1201,13 @@ SET @aux= "SELECT COUNT(*) ...@@ -1201,13 +1201,13 @@ SET @aux= "SELECT COUNT(*)
prepare my_stmt from @aux; prepare my_stmt from @aux;
execute my_stmt; execute my_stmt;
COUNT(*) COUNT(*)
43 44
execute my_stmt; execute my_stmt;
COUNT(*) COUNT(*)
43 44
execute my_stmt; execute my_stmt;
COUNT(*) COUNT(*)
43 44
deallocate prepare my_stmt; deallocate prepare my_stmt;
drop procedure if exists p1| drop procedure if exists p1|
drop table if exists t1| drop table if exists t1|
......
...@@ -221,27 +221,27 @@ update t1 set y=x; ...@@ -221,27 +221,27 @@ update t1 set y=x;
explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0; explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0; explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1; explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1; explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y; explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y; explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Using join buffer (flat, BNL join)
explain select count(*) from t1 where x in (1); explain select count(*) from t1 where x in (1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref x x 5 const 1 Using index 1 SIMPLE t1 ref x x 5 const 1 Using index
......
...@@ -223,27 +223,27 @@ update t1 set y=x; ...@@ -223,27 +223,27 @@ update t1 set y=x;
explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0; explain select * from t1, t1 t2 where t1.y = 8 and t2.x between 7 and t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0; explain select * from t1, t1 t2 where t1.y = 8 and t2.x >= 7 and t2.x <= t1.y+0;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1; explain select * from t1, t1 t2 where t1.y = 2 and t2.x between t1.y-1 and t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1; explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= t1.y-1 and t2.x <= t1.y+1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 3 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y; explain select * from t1, t1 t2 where t1.y = 2 and t2.x between 0 and t1.y;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y; explain select * from t1, t1 t2 where t1.y = 2 and t2.x >= 0 and t2.x <= t1.y;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref y y 5 const 1 1 SIMPLE t1 ref y y 5 const 1
1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Rowid-ordered scan; Using join buffer (flat, BNL join) 1 SIMPLE t2 range x x 5 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using join buffer (flat, BNL join)
explain select count(*) from t1 where x in (1); explain select count(*) from t1 where x in (1);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref x x 5 const 1 Using index 1 SIMPLE t1 ref x x 5 const 1 Using index
......
...@@ -36,14 +36,14 @@ CREATE DEFINER=a@'' FUNCTION f3() RETURNS INT ...@@ -36,14 +36,14 @@ CREATE DEFINER=a@'' FUNCTION f3() RETURNS INT
RETURN 3; RETURN 3;
SHOW CREATE VIEW v3; SHOW CREATE VIEW v3;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`a`@`` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`c` AS `c` from `t1` latin1 latin1_swedish_ci v3 CREATE ALGORITHM=UNDEFINED DEFINER=`a`@`%` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`c` AS `c` from `t1` latin1 latin1_swedish_ci
SHOW CREATE PROCEDURE p3; SHOW CREATE PROCEDURE p3;
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p3 CREATE DEFINER=`a`@`` PROCEDURE `p3`() p3 CREATE DEFINER=`a`@`%` PROCEDURE `p3`()
SELECT 3 latin1 latin1_swedish_ci latin1_swedish_ci SELECT 3 latin1 latin1_swedish_ci latin1_swedish_ci
SHOW CREATE FUNCTION f3; SHOW CREATE FUNCTION f3;
Function sql_mode Create Function character_set_client collation_connection Database Collation Function sql_mode Create Function character_set_client collation_connection Database Collation
f3 CREATE DEFINER=`a`@`` FUNCTION `f3`() RETURNS int(11) f3 CREATE DEFINER=`a`@`%` FUNCTION `f3`() RETURNS int(11)
RETURN 3 latin1 latin1_swedish_ci latin1_swedish_ci RETURN 3 latin1 latin1_swedish_ci latin1_swedish_ci
DROP TRIGGER t1_bi; DROP TRIGGER t1_bi;
DROP TRIGGER ti_ai; DROP TRIGGER ti_ai;
......
...@@ -9,11 +9,11 @@ end| ...@@ -9,11 +9,11 @@ end|
call bug4902()| call bug4902()|
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
call bug4902()| call bug4902()|
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop procedure bug4902| drop procedure bug4902|
drop procedure if exists bug4902_2| drop procedure if exists bug4902_2|
create procedure bug4902_2() create procedure bug4902_2()
...@@ -156,11 +156,11 @@ create procedure 15298_2 () sql security definer show grants; ...@@ -156,11 +156,11 @@ create procedure 15298_2 () sql security definer show grants;
call 15298_1(); call 15298_1();
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
call 15298_2(); call 15298_2();
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop user mysqltest_1@localhost; drop user mysqltest_1@localhost;
drop procedure 15298_1; drop procedure 15298_1;
drop procedure 15298_2; drop procedure 15298_2;
......
...@@ -1474,7 +1474,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); ...@@ -1474,7 +1474,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Rowid-ordered scan 2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Using where; Rowid-ordered scan
SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
pk pk
2 2
...@@ -2158,7 +2158,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); ...@@ -2158,7 +2158,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition 2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Using where
SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
pk pk
2 2
......
...@@ -803,7 +803,7 @@ EXPLAIN EXTENDED SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk ...@@ -803,7 +803,7 @@ EXPLAIN EXTENDED SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk
id select_type table type possible_keys key key_len ref rows filtered Extra id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 11 func,func 1 100.00 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 11 func,func 1 100.00
2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 100.00 Using index condition; Rowid-ordered scan 2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 100.00 Using index condition; Using where; Rowid-ordered scan
Warnings: Warnings:
Note 1003 select `test`.`t1`.`pk` AS `pk` from `test`.`t1` semi join (`test`.`t2`) where ((`test`.`t2`.`pk` > 0)) Note 1003 select `test`.`t1`.`pk` AS `pk` from `test`.`t1` semi join (`test`.`t2`) where ((`test`.`t2`.`pk` > 0))
SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk > 0); SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk > 0);
......
...@@ -816,7 +816,7 @@ EXPLAIN EXTENDED SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk ...@@ -816,7 +816,7 @@ EXPLAIN EXTENDED SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk
id select_type table type possible_keys key key_len ref rows filtered Extra id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 11 func,func 1 100.00 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 11 func,func 1 100.00
2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 100.00 Using index condition; Rowid-ordered scan 2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 100.00 Using index condition; Using where; Rowid-ordered scan
Warnings: Warnings:
Note 1003 select `test`.`t1`.`pk` AS `pk` from `test`.`t1` semi join (`test`.`t2`) where ((`test`.`t2`.`pk` > 0)) Note 1003 select `test`.`t1`.`pk` AS `pk` from `test`.`t1` semi join (`test`.`t2`) where ((`test`.`t2`.`pk` > 0))
SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk > 0); SELECT pk FROM t1 WHERE (a, b) IN (SELECT a, b FROM t2 WHERE pk > 0);
......
...@@ -1511,7 +1511,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); ...@@ -1511,7 +1511,7 @@ EXPLAIN SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2 1 PRIMARY t1 ALL NULL NULL NULL NULL 2
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1
2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Rowid-ordered scan 2 MATERIALIZED t2 range PRIMARY PRIMARY 4 NULL 2 Using index condition; Using where; Rowid-ordered scan
SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0); SELECT pk FROM t1 WHERE (a) IN (SELECT a FROM t2 WHERE pk > 0);
pk pk
2 2
......
...@@ -19,6 +19,7 @@ plugin ...@@ -19,6 +19,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -128,6 +129,7 @@ user CREATE TABLE `user` ( ...@@ -128,6 +129,7 @@ user CREATE TABLE `user` (
`plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '', `plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '',
`authentication_string` text COLLATE utf8_bin NOT NULL, `authentication_string` text COLLATE utf8_bin NOT NULL,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`is_role` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
PRIMARY KEY (`Host`,`User`) PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'
show create table func; show create table func;
......
...@@ -19,6 +19,7 @@ plugin ...@@ -19,6 +19,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -125,6 +126,7 @@ user CREATE TABLE `user` ( ...@@ -125,6 +126,7 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT '0', `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0', `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) NOT NULL DEFAULT '0', `max_user_connections` int(11) NOT NULL DEFAULT '0',
`is_role` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '', `plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '',
`authentication_string` text COLLATE utf8_bin NOT NULL, `authentication_string` text COLLATE utf8_bin NOT NULL,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
......
...@@ -19,6 +19,7 @@ plugin ...@@ -19,6 +19,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -125,6 +126,7 @@ user CREATE TABLE `user` ( ...@@ -125,6 +126,7 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT '0', `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0', `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) NOT NULL DEFAULT '0', `max_user_connections` int(11) NOT NULL DEFAULT '0',
`is_role` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '', `plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '',
`authentication_string` text COLLATE utf8_bin NOT NULL, `authentication_string` text COLLATE utf8_bin NOT NULL,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
......
...@@ -19,6 +19,7 @@ plugin ...@@ -19,6 +19,7 @@ plugin
proc proc
procs_priv procs_priv
proxies_priv proxies_priv
roles_mapping
servers servers
slow_log slow_log
table_stats table_stats
...@@ -125,6 +126,7 @@ user CREATE TABLE `user` ( ...@@ -125,6 +126,7 @@ user CREATE TABLE `user` (
`max_updates` int(11) unsigned NOT NULL DEFAULT '0', `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0', `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) NOT NULL DEFAULT '0', `max_user_connections` int(11) NOT NULL DEFAULT '0',
`is_role` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '', `plugin` char(64) CHARACTER SET latin1 NOT NULL DEFAULT '',
`authentication_string` text COLLATE utf8_bin NOT NULL, `authentication_string` text COLLATE utf8_bin NOT NULL,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
......
...@@ -162,7 +162,7 @@ SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_n ...@@ -162,7 +162,7 @@ SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_n
trigger_name definer trigger_name definer
trg1 trg1
trg2 @ trg2 @
trg3 @abc@def@@ trg3 @abc@def@@%
trg4 @hostname trg4 @hostname
trg5 @abcdef@@@hostname trg5 @abcdef@@@hostname
...@@ -170,7 +170,7 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name; ...@@ -170,7 +170,7 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
def mysqltest_db1 trg1 INSERT def mysqltest_db1 t1 0 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW NULL latin1 latin1_swedish_ci latin1_swedish_ci def mysqltest_db1 trg1 INSERT def mysqltest_db1 t1 0 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW NULL latin1 latin1_swedish_ci latin1_swedish_ci
def mysqltest_db1 trg2 INSERT def mysqltest_db1 t1 0 NULL SET @a = 2 ROW AFTER NULL NULL OLD NEW NULL @ latin1 latin1_swedish_ci latin1_swedish_ci def mysqltest_db1 trg2 INSERT def mysqltest_db1 t1 0 NULL SET @a = 2 ROW AFTER NULL NULL OLD NEW NULL @ latin1 latin1_swedish_ci latin1_swedish_ci
def mysqltest_db1 trg3 UPDATE def mysqltest_db1 t1 0 NULL SET @a = 3 ROW BEFORE NULL NULL OLD NEW NULL @abc@def@@ latin1 latin1_swedish_ci latin1_swedish_ci def mysqltest_db1 trg3 UPDATE def mysqltest_db1 t1 0 NULL SET @a = 3 ROW BEFORE NULL NULL OLD NEW NULL @abc@def@@% latin1 latin1_swedish_ci latin1_swedish_ci
def mysqltest_db1 trg4 UPDATE def mysqltest_db1 t1 0 NULL SET @a = 4 ROW AFTER NULL NULL OLD NEW NULL @hostname latin1 latin1_swedish_ci latin1_swedish_ci def mysqltest_db1 trg4 UPDATE def mysqltest_db1 t1 0 NULL SET @a = 4 ROW AFTER NULL NULL OLD NEW NULL @hostname latin1 latin1_swedish_ci latin1_swedish_ci
def mysqltest_db1 trg5 DELETE def mysqltest_db1 t1 0 NULL SET @a = 5 ROW BEFORE NULL NULL OLD NEW NULL @abcdef@@@hostname latin1 latin1_swedish_ci latin1_swedish_ci def mysqltest_db1 trg5 DELETE def mysqltest_db1 t1 0 NULL SET @a = 5 ROW BEFORE NULL NULL OLD NEW NULL @abcdef@@@hostname latin1 latin1_swedish_ci latin1_swedish_ci
......
...@@ -523,13 +523,13 @@ drop user mysqltest_1@localhost; ...@@ -523,13 +523,13 @@ drop user mysqltest_1@localhost;
drop database mysqltest; drop database mysqltest;
create definer=some_user@`` sql security invoker view v1 as select 1; create definer=some_user@`` sql security invoker view v1 as select 1;
Warnings: Warnings:
Note 1449 The user specified as a definer ('some_user'@'') does not exist Note 1449 The user specified as a definer ('some_user'@'%') does not exist
create definer=some_user@localhost sql security invoker view v2 as select 1; create definer=some_user@localhost sql security invoker view v2 as select 1;
Warnings: Warnings:
Note 1449 The user specified as a definer ('some_user'@'localhost') does not exist Note 1449 The user specified as a definer ('some_user'@'localhost') does not exist
show create view v1; show create view v1;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` latin1 latin1_swedish_ci v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`%` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` latin1 latin1_swedish_ci
show create view v2; show create view v2;
View Create View character_set_client collation_connection View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select 1 AS `1` latin1 latin1_swedish_ci v2 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select 1 AS `1` latin1 latin1_swedish_ci
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
# #
--source include/federated.inc
--source have_federatedx.inc --source have_federatedx.inc
--source include/federated.inc
connection default; connection default;
......
--plugin-load-add=$HA_FEDERATEDX_SO --federated --plugin-load-add=$HA_FEDERATEDX_SO --loose-federated
...@@ -573,7 +573,7 @@ root@localhost ...@@ -573,7 +573,7 @@ root@localhost
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1; drop trigger trg1_1;
use priv_db; use priv_db;
......
...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1; ...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
######################################################################### #########################################################################
DESCRIBE information_schema.COLUMN_PRIVILEGES; DESCRIBE information_schema.COLUMN_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO TABLE_NAME varchar(64) NO
...@@ -38,7 +38,7 @@ IS_GRANTABLE varchar(3) NO ...@@ -38,7 +38,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES; SHOW CREATE TABLE information_schema.COLUMN_PRIVILEGES;
Table Create Table Table Create Table
COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
`GRANTEE` varchar(81) NOT NULL DEFAULT '', `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '', `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
...@@ -48,7 +48,7 @@ COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` ( ...@@ -48,7 +48,7 @@ COLUMN_PRIVILEGES CREATE TEMPORARY TABLE `COLUMN_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES; SHOW COLUMNS FROM information_schema.COLUMN_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO TABLE_NAME varchar(64) NO
......
...@@ -154,6 +154,10 @@ def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bi ...@@ -154,6 +154,10 @@ def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bi
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select,insert,update,references def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) select,insert,update,references
def mysql roles_mapping Admin_option 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql roles_mapping Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql roles_mapping Role 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
def mysql roles_mapping User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
...@@ -218,6 +222,7 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e ...@@ -218,6 +222,7 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user is_role 44 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references
def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned select,insert,update,references
...@@ -467,6 +472,10 @@ NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp ...@@ -467,6 +472,10 @@ NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1) NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77) 3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql roles_mapping Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql roles_mapping User char 16 48 utf8 utf8_bin char(16)
3.0000 mysql roles_mapping Role char 16 48 utf8 utf8_bin char(16)
3.0000 mysql roles_mapping Admin_option enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
...@@ -556,3 +565,4 @@ NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) ...@@ -556,3 +565,4 @@ NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64) 1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text 1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y') 3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql user is_role enum 1 3 utf8 utf8_general_ci enum('N','Y')
...@@ -154,6 +154,10 @@ def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bi ...@@ -154,6 +154,10 @@ def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL NULL utf8 utf8_bi
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL 0 NULL NULL timestamp on update CURRENT_TIMESTAMP
def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI def mysql proxies_priv User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1) def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL NULL tinyint(1)
def mysql roles_mapping Admin_option 4 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql roles_mapping Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql roles_mapping Role 3 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
def mysql roles_mapping User 2 NO char 16 48 NULL NULL NULL utf8 utf8_bin char(16) PRI
def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) def mysql servers Db 3 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) def mysql servers Host 2 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64) def mysql servers Owner 9 NO char 64 192 NULL NULL NULL utf8 utf8_general_ci char(64)
...@@ -218,6 +222,7 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e ...@@ -218,6 +222,7 @@ def mysql user Grant_priv 14 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci e
def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI def mysql user Host 1 NO char 60 180 NULL NULL NULL utf8 utf8_bin char(60) PRI
def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') def mysql user Index_priv 16 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') def mysql user Insert_priv 5 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user is_role 44 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y') def mysql user Lock_tables_priv 21 N NO enum 1 3 NULL NULL NULL utf8 utf8_general_ci enum('N','Y')
def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned def mysql user max_connections 39 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned def mysql user max_questions 37 0 NO int NULL NULL 10 0 NULL NULL NULL int(11) unsigned
...@@ -467,6 +472,10 @@ NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp ...@@ -467,6 +472,10 @@ NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1) NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77) 3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
3.0000 mysql roles_mapping Host char 60 180 utf8 utf8_bin char(60)
3.0000 mysql roles_mapping User char 16 48 utf8 utf8_bin char(16)
3.0000 mysql roles_mapping Role char 16 48 utf8 utf8_bin char(16)
3.0000 mysql roles_mapping Admin_option enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64) 3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
...@@ -556,3 +565,4 @@ NULL mysql user max_user_connections int NULL NULL NULL NULL int(11) ...@@ -556,3 +565,4 @@ NULL mysql user max_user_connections int NULL NULL NULL NULL int(11)
1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64) 1.0000 mysql user plugin char 64 64 latin1 latin1_swedish_ci char(64)
1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text 1.0000 mysql user authentication_string text 65535 65535 utf8 utf8_bin text
3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y') 3.0000 mysql user password_expired enum 1 3 utf8 utf8_general_ci enum('N','Y')
3.0000 mysql user is_role enum 1 3 utf8 utf8_general_ci enum('N','Y')
...@@ -124,6 +124,9 @@ def mysql PRIMARY def mysql proxies_priv Host ...@@ -124,6 +124,9 @@ def mysql PRIMARY def mysql proxies_priv Host
def mysql PRIMARY def mysql proxies_priv User def mysql PRIMARY def mysql proxies_priv User
def mysql PRIMARY def mysql proxies_priv Proxied_host def mysql PRIMARY def mysql proxies_priv Proxied_host
def mysql PRIMARY def mysql proxies_priv Proxied_user def mysql PRIMARY def mysql proxies_priv Proxied_user
def mysql Host def mysql roles_mapping Host
def mysql Host def mysql roles_mapping User
def mysql Host def mysql roles_mapping Role
def mysql PRIMARY def mysql servers Server_name def mysql PRIMARY def mysql servers Server_name
def mysql PRIMARY def mysql table_stats db_name def mysql PRIMARY def mysql table_stats db_name
def mysql PRIMARY def mysql table_stats table_name def mysql PRIMARY def mysql table_stats table_name
......
...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1; ...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
######################################################################### #########################################################################
DESCRIBE information_schema.SCHEMA_PRIVILEGES; DESCRIBE information_schema.SCHEMA_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
PRIVILEGE_TYPE varchar(64) NO PRIVILEGE_TYPE varchar(64) NO
...@@ -36,7 +36,7 @@ IS_GRANTABLE varchar(3) NO ...@@ -36,7 +36,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES; SHOW CREATE TABLE information_schema.SCHEMA_PRIVILEGES;
Table Create Table Table Create Table
SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
`GRANTEE` varchar(81) NOT NULL DEFAULT '', `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '', `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '', `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
...@@ -44,7 +44,7 @@ SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` ( ...@@ -44,7 +44,7 @@ SCHEMA_PRIVILEGES CREATE TEMPORARY TABLE `SCHEMA_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES; SHOW COLUMNS FROM information_schema.SCHEMA_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
PRIVILEGE_TYPE varchar(64) NO PRIVILEGE_TYPE varchar(64) NO
......
...@@ -131,6 +131,9 @@ def mysql proxies_priv mysql PRIMARY ...@@ -131,6 +131,9 @@ def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql PRIMARY def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql PRIMARY def mysql proxies_priv mysql PRIMARY
def mysql proxies_priv mysql Grantor def mysql proxies_priv mysql Grantor
def mysql roles_mapping mysql Host
def mysql roles_mapping mysql Host
def mysql roles_mapping mysql Host
def mysql servers mysql PRIMARY def mysql servers mysql PRIMARY
def mysql table_stats mysql PRIMARY def mysql table_stats mysql PRIMARY
def mysql table_stats mysql PRIMARY def mysql table_stats mysql PRIMARY
......
...@@ -59,6 +59,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE ...@@ -59,6 +59,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
......
...@@ -59,6 +59,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE ...@@ -59,6 +59,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
...@@ -133,6 +136,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE ...@@ -133,6 +136,9 @@ def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 1 Host A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 2 User A #CARD# NULL NULL BTREE
def mysql roles_mapping 0 mysql Host 3 Role A #CARD# NULL NULL BTREE
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
......
...@@ -78,6 +78,7 @@ def mysql PRIMARY mysql plugin ...@@ -78,6 +78,7 @@ def mysql PRIMARY mysql plugin
def mysql PRIMARY mysql proc def mysql PRIMARY mysql proc
def mysql PRIMARY mysql procs_priv def mysql PRIMARY mysql procs_priv
def mysql PRIMARY mysql proxies_priv def mysql PRIMARY mysql proxies_priv
def mysql Host mysql roles_mapping
def mysql PRIMARY mysql servers def mysql PRIMARY mysql servers
def mysql PRIMARY mysql table_stats def mysql PRIMARY mysql table_stats
def mysql PRIMARY mysql tables_priv def mysql PRIMARY mysql tables_priv
......
...@@ -28,6 +28,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY ...@@ -28,6 +28,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql table_stats PRIMARY KEY def mysql PRIMARY mysql table_stats PRIMARY KEY
......
...@@ -28,6 +28,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY ...@@ -28,6 +28,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql table_stats PRIMARY KEY def mysql PRIMARY mysql table_stats PRIMARY KEY
...@@ -63,6 +64,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY ...@@ -63,6 +64,7 @@ def mysql PRIMARY mysql plugin PRIMARY KEY
def mysql PRIMARY mysql proc PRIMARY KEY def mysql PRIMARY mysql proc PRIMARY KEY
def mysql PRIMARY mysql procs_priv PRIMARY KEY def mysql PRIMARY mysql procs_priv PRIMARY KEY
def mysql PRIMARY mysql proxies_priv PRIMARY KEY def mysql PRIMARY mysql proxies_priv PRIMARY KEY
def mysql Host mysql roles_mapping UNIQUE
def mysql PRIMARY mysql servers PRIMARY KEY def mysql PRIMARY mysql servers PRIMARY KEY
def mysql PRIMARY mysql tables_priv PRIMARY KEY def mysql PRIMARY mysql tables_priv PRIMARY KEY
def mysql PRIMARY mysql table_stats PRIMARY KEY def mysql PRIMARY mysql table_stats PRIMARY KEY
......
...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1; ...@@ -28,7 +28,7 @@ DROP FUNCTION test.f1;
######################################################################### #########################################################################
DESCRIBE information_schema.TABLE_PRIVILEGES; DESCRIBE information_schema.TABLE_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO TABLE_NAME varchar(64) NO
...@@ -37,7 +37,7 @@ IS_GRANTABLE varchar(3) NO ...@@ -37,7 +37,7 @@ IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES; SHOW CREATE TABLE information_schema.TABLE_PRIVILEGES;
Table Create Table Table Create Table
TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
`GRANTEE` varchar(81) NOT NULL DEFAULT '', `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '', `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '', `TABLE_SCHEMA` varchar(64) NOT NULL DEFAULT '',
`TABLE_NAME` varchar(64) NOT NULL DEFAULT '', `TABLE_NAME` varchar(64) NOT NULL DEFAULT '',
...@@ -46,7 +46,7 @@ TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` ( ...@@ -46,7 +46,7 @@ TABLE_PRIVILEGES CREATE TEMPORARY TABLE `TABLE_PRIVILEGES` (
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES; SHOW COLUMNS FROM information_schema.TABLE_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
TABLE_SCHEMA varchar(64) NO TABLE_SCHEMA varchar(64) NO
TABLE_NAME varchar(64) NO TABLE_NAME varchar(64) NO
......
...@@ -39,6 +39,29 @@ user_comment ...@@ -39,6 +39,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME APPLICABLE_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -177,6 +200,29 @@ user_comment ...@@ -177,6 +200,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME ENABLED_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME ENGINES TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -862,6 +908,29 @@ user_comment ...@@ -862,6 +908,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME APPLICABLE_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -1000,6 +1069,29 @@ user_comment ...@@ -1000,6 +1069,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME ENABLED_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME ENGINES TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
......
...@@ -39,6 +39,29 @@ user_comment ...@@ -39,6 +39,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME APPLICABLE_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -177,6 +200,29 @@ user_comment ...@@ -177,6 +200,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME ENABLED_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME ENGINES TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -862,6 +908,29 @@ user_comment ...@@ -862,6 +908,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME APPLICABLE_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME CHARACTER_SETS TABLE_NAME CHARACTER_SETS
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
...@@ -1000,6 +1069,29 @@ user_comment ...@@ -1000,6 +1069,29 @@ user_comment
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME ENABLED_ROLES
TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_general_ci
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA information_schema
TABLE_NAME ENGINES TABLE_NAME ENGINES
TABLE_TYPE SYSTEM VIEW TABLE_TYPE SYSTEM VIEW
ENGINE MEMORY ENGINE MEMORY
......
...@@ -451,6 +451,29 @@ user_comment User proxy privileges ...@@ -451,6 +451,29 @@ user_comment User proxy privileges
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA mysql TABLE_SCHEMA mysql
TABLE_NAME roles_mapping
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment Granted roles
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
TABLE_NAME servers TABLE_NAME servers
TABLE_TYPE BASE TABLE TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA ENGINE MYISAM_OR_MARIA
......
...@@ -451,6 +451,29 @@ user_comment User proxy privileges ...@@ -451,6 +451,29 @@ user_comment User proxy privileges
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA mysql TABLE_SCHEMA mysql
TABLE_NAME roles_mapping
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment Granted roles
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
TABLE_NAME servers TABLE_NAME servers
TABLE_TYPE BASE TABLE TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA ENGINE MYISAM_OR_MARIA
...@@ -1134,6 +1157,29 @@ user_comment User proxy privileges ...@@ -1134,6 +1157,29 @@ user_comment User proxy privileges
Separator ----------------------------------------------------- Separator -----------------------------------------------------
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA mysql TABLE_SCHEMA mysql
TABLE_NAME roles_mapping
TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA
VERSION 10
ROW_FORMAT Fixed
TABLE_ROWS #TBLR#
AVG_ROW_LENGTH #ARL#
DATA_LENGTH #DL#
MAX_DATA_LENGTH #MDL#
INDEX_LENGTH #IL#
DATA_FREE #DF#
AUTO_INCREMENT NULL
CREATE_TIME #CRT#
UPDATE_TIME #UT#
CHECK_TIME #CT#
TABLE_COLLATION utf8_bin
CHECKSUM NULL
CREATE_OPTIONS #CO#
TABLE_COMMENT #TC#
user_comment Granted roles
Separator -----------------------------------------------------
TABLE_CATALOG def
TABLE_SCHEMA mysql
TABLE_NAME servers TABLE_NAME servers
TABLE_TYPE BASE TABLE TABLE_TYPE BASE TABLE
ENGINE MYISAM_OR_MARIA ENGINE MYISAM_OR_MARIA
......
...@@ -28,21 +28,21 @@ DROP FUNCTION test.f1; ...@@ -28,21 +28,21 @@ DROP FUNCTION test.f1;
######################################################################### #########################################################################
DESCRIBE information_schema.USER_PRIVILEGES; DESCRIBE information_schema.USER_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
PRIVILEGE_TYPE varchar(64) NO PRIVILEGE_TYPE varchar(64) NO
IS_GRANTABLE varchar(3) NO IS_GRANTABLE varchar(3) NO
SHOW CREATE TABLE information_schema.USER_PRIVILEGES; SHOW CREATE TABLE information_schema.USER_PRIVILEGES;
Table Create Table Table Create Table
USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` ( USER_PRIVILEGES CREATE TEMPORARY TABLE `USER_PRIVILEGES` (
`GRANTEE` varchar(81) NOT NULL DEFAULT '', `GRANTEE` varchar(190) NOT NULL DEFAULT '',
`TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '', `TABLE_CATALOG` varchar(512) NOT NULL DEFAULT '',
`PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '', `PRIVILEGE_TYPE` varchar(64) NOT NULL DEFAULT '',
`IS_GRANTABLE` varchar(3) NOT NULL DEFAULT '' `IS_GRANTABLE` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MEMORY DEFAULT CHARSET=utf8 ) ENGINE=MEMORY DEFAULT CHARSET=utf8
SHOW COLUMNS FROM information_schema.USER_PRIVILEGES; SHOW COLUMNS FROM information_schema.USER_PRIVILEGES;
Field Type Null Key Default Extra Field Type Null Key Default Extra
GRANTEE varchar(81) NO GRANTEE varchar(190) NO
TABLE_CATALOG varchar(512) NO TABLE_CATALOG varchar(512) NO
PRIVILEGE_TYPE varchar(64) NO PRIVILEGE_TYPE varchar(64) NO
IS_GRANTABLE varchar(3) NO IS_GRANTABLE varchar(3) NO
...@@ -130,6 +130,7 @@ max_user_connections 0 ...@@ -130,6 +130,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -173,6 +174,7 @@ max_user_connections 0 ...@@ -173,6 +174,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -216,6 +218,7 @@ max_user_connections 0 ...@@ -216,6 +218,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# #
# Add GRANT OPTION db_datadict.* to testuser1; # Add GRANT OPTION db_datadict.* to testuser1;
GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION; GRANT UPDATE ON db_datadict.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
...@@ -283,6 +286,7 @@ max_user_connections 0 ...@@ -283,6 +286,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -326,6 +330,7 @@ max_user_connections 0 ...@@ -326,6 +330,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -369,6 +374,7 @@ max_user_connections 0 ...@@ -369,6 +374,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# Establish connection testuser1 (user=testuser1) # Establish connection testuser1 (user=testuser1)
SELECT * FROM information_schema.user_privileges SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%''' WHERE grantee LIKE '''testuser%'''
...@@ -422,6 +428,7 @@ max_user_connections 0 ...@@ -422,6 +428,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -465,6 +472,7 @@ max_user_connections 0 ...@@ -465,6 +472,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -508,6 +516,7 @@ max_user_connections 0 ...@@ -508,6 +516,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
SHOW GRANTS; SHOW GRANTS;
Grants for testuser1@localhost Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT USAGE ON *.* TO 'testuser1'@'localhost'
...@@ -583,6 +592,7 @@ max_user_connections 0 ...@@ -583,6 +592,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -626,6 +636,7 @@ max_user_connections 0 ...@@ -626,6 +636,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -669,6 +680,7 @@ max_user_connections 0 ...@@ -669,6 +680,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION; GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION;
# #
# Here <SELECT YES> is shown correctly for testuser1; # Here <SELECT YES> is shown correctly for testuser1;
...@@ -736,6 +748,7 @@ max_user_connections 0 ...@@ -736,6 +748,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -779,6 +792,7 @@ max_user_connections 0 ...@@ -779,6 +792,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -822,6 +836,7 @@ max_user_connections 0 ...@@ -822,6 +836,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# Switch to connection testuser1 # Switch to connection testuser1
SELECT * FROM information_schema.user_privileges SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%''' WHERE grantee LIKE '''testuser%'''
...@@ -875,6 +890,7 @@ max_user_connections 0 ...@@ -875,6 +890,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -918,6 +934,7 @@ max_user_connections 0 ...@@ -918,6 +934,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -961,6 +978,7 @@ max_user_connections 0 ...@@ -961,6 +978,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
SHOW GRANTS; SHOW GRANTS;
Grants for testuser1@localhost Grants for testuser1@localhost
GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION GRANT SELECT ON *.* TO 'testuser1'@'localhost' WITH GRANT OPTION
...@@ -1066,6 +1084,7 @@ max_user_connections 0 ...@@ -1066,6 +1084,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -1109,6 +1128,7 @@ max_user_connections 0 ...@@ -1109,6 +1128,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -1152,6 +1172,7 @@ max_user_connections 0 ...@@ -1152,6 +1172,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# Switch to connection testuser1 # Switch to connection testuser1
SELECT * FROM information_schema.user_privileges SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%''' WHERE grantee LIKE '''testuser%'''
...@@ -1252,6 +1273,7 @@ max_user_connections 0 ...@@ -1252,6 +1273,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -1295,6 +1317,7 @@ max_user_connections 0 ...@@ -1295,6 +1317,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -1338,6 +1361,7 @@ max_user_connections 0 ...@@ -1338,6 +1361,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# Switch to connection testuser1 # Switch to connection testuser1
SELECT * FROM information_schema.user_privileges SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%''' WHERE grantee LIKE '''testuser%'''
...@@ -1391,6 +1415,7 @@ max_user_connections 0 ...@@ -1391,6 +1415,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -1434,6 +1459,7 @@ max_user_connections 0 ...@@ -1434,6 +1459,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -1477,6 +1503,7 @@ max_user_connections 0 ...@@ -1477,6 +1503,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
SHOW GRANTS; SHOW GRANTS;
Grants for testuser1@localhost Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT USAGE ON *.* TO 'testuser1'@'localhost'
...@@ -1537,6 +1564,7 @@ max_user_connections 0 ...@@ -1537,6 +1564,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -1580,6 +1608,7 @@ max_user_connections 0 ...@@ -1580,6 +1608,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -1623,6 +1652,7 @@ max_user_connections 0 ...@@ -1623,6 +1652,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
SHOW GRANTS; SHOW GRANTS;
Grants for testuser1@localhost Grants for testuser1@localhost
GRANT USAGE ON *.* TO 'testuser1'@'localhost' GRANT USAGE ON *.* TO 'testuser1'@'localhost'
...@@ -1698,6 +1728,7 @@ max_user_connections 0 ...@@ -1698,6 +1728,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser2 User testuser2
Password Password
...@@ -1741,6 +1772,7 @@ max_user_connections 0 ...@@ -1741,6 +1772,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
Host localhost Host localhost
User testuser3 User testuser3
Password Password
...@@ -1784,6 +1816,7 @@ max_user_connections 0 ...@@ -1784,6 +1816,7 @@ max_user_connections 0
plugin plugin
authentication_string authentication_string
password_expired N password_expired N
is_role N
# Switch to connection testuser1 # Switch to connection testuser1
SELECT * FROM information_schema.user_privileges SELECT * FROM information_schema.user_privileges
WHERE grantee LIKE '''testuser%''' WHERE grantee LIKE '''testuser%'''
......
...@@ -574,7 +574,7 @@ root@localhost ...@@ -574,7 +574,7 @@ root@localhost
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1; drop trigger trg1_1;
use priv_db; use priv_db;
......
...@@ -574,7 +574,7 @@ root@localhost ...@@ -574,7 +574,7 @@ root@localhost
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
drop trigger trg1_1; drop trigger trg1_1;
use priv_db; use priv_db;
......
...@@ -70,7 +70,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_ ...@@ -70,7 +70,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS; SHOW GRANTS;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user); CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist; DROP TABLE processlist;
......
...@@ -70,7 +70,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_ ...@@ -70,7 +70,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SHOW GRANTS; SHOW GRANTS;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
CREATE INDEX i_processlist ON processlist (user); CREATE INDEX i_processlist ON processlist (user);
ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema' ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
DROP TABLE processlist; DROP TABLE processlist;
......
--loose-federated
--plugin-load-add=$HA_FEDERATEDX_SO
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION; grant usage on *.* to 'pfs_user_5'@localhost with GRANT OPTION;
grant SELECT(thread_id, event_id) on performance_schema.events_waits_current grant SELECT(thread_id, event_id) on performance_schema.events_waits_current
to 'pfs_user_5'@localhost; to 'pfs_user_5'@localhost;
......
...@@ -113,7 +113,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN ...@@ -113,7 +113,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest; SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL NULL 55 32 1 2 NULL NULL NULL 55 32 1 2
statements_digest 9dc10607f0c5f847fdec5021ec55454c TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0 statements_digest b7123a38bb99ce09f09d127df4e39b18 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size"; SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value Variable_name Value
performance_schema_digests_size 2 performance_schema_digests_size 2
......
...@@ -115,7 +115,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -115,7 +115,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
show grants; show grants;
Grants for root@localhost Grants for root@localhost
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION; grant ALL on *.* to 'pfs_user_1'@localhost with GRANT OPTION;
grant ALL on performance_schema.* to 'pfs_user_2'@localhost grant ALL on performance_schema.* to 'pfs_user_2'@localhost
with GRANT OPTION; with GRANT OPTION;
......
...@@ -46,7 +46,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -46,7 +46,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
...@@ -104,6 +104,7 @@ wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL ...@@ -104,6 +104,7 @@ wait/io/table/sql/handler handler.cc: TABLE mysql db fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql proxies_priv fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql roles_mapping fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql tables_priv fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql procs_priv fetch NULL
wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch NULL wait/io/table/sql/handler handler.cc: TABLE mysql servers fetch NULL
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 0 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 0
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 0 performance_schema_max_socket_classes 0
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 0 performance_schema_max_socket_instances 0
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 0 performance_schema_max_stage_classes 0
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 0 performance_schema_max_table_handles 0
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 0 performance_schema_max_table_instances 0
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 0 performance_schema_max_thread_classes 0
......
...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000 ...@@ -93,7 +93,7 @@ performance_schema_max_rwlock_instances 5000
performance_schema_max_socket_classes 10 performance_schema_max_socket_classes 10
performance_schema_max_socket_instances 1000 performance_schema_max_socket_instances 1000
performance_schema_max_stage_classes 150 performance_schema_max_stage_classes 150
performance_schema_max_statement_classes 175 performance_schema_max_statement_classes 179
performance_schema_max_table_handles 1000 performance_schema_max_table_handles 1000
performance_schema_max_table_instances 500 performance_schema_max_table_instances 500
performance_schema_max_thread_classes 50 performance_schema_max_thread_classes 50
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment