mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
tables to INFORMATION_SCHEMA.
This commit is contained in:

parent
a8836b7dde
commit
9a87889482
@ -46,6 +46,8 @@ COLUMN_PRIVILEGES
|
|||||||
ENGINES
|
ENGINES
|
||||||
EVENTS
|
EVENTS
|
||||||
FILES
|
FILES
|
||||||
|
GLOBAL_STATUS
|
||||||
|
GLOBAL_VARIABLES
|
||||||
KEY_COLUMN_USAGE
|
KEY_COLUMN_USAGE
|
||||||
PARTITIONS
|
PARTITIONS
|
||||||
PLUGINS
|
PLUGINS
|
||||||
@ -54,6 +56,8 @@ REFERENTIAL_CONSTRAINTS
|
|||||||
ROUTINES
|
ROUTINES
|
||||||
SCHEMATA
|
SCHEMATA
|
||||||
SCHEMA_PRIVILEGES
|
SCHEMA_PRIVILEGES
|
||||||
|
SESSION_STATUS
|
||||||
|
SESSION_VARIABLES
|
||||||
STATISTICS
|
STATISTICS
|
||||||
TABLES
|
TABLES
|
||||||
TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS
|
||||||
@ -758,6 +762,7 @@ table_schema table_name column_name
|
|||||||
information_schema COLUMNS COLUMN_TYPE
|
information_schema COLUMNS COLUMN_TYPE
|
||||||
information_schema EVENTS EVENT_DEFINITION
|
information_schema EVENTS EVENT_DEFINITION
|
||||||
information_schema EVENTS SQL_MODE
|
information_schema EVENTS SQL_MODE
|
||||||
|
information_schema GLOBAL_VARIABLES VARIABLE_VALUE
|
||||||
information_schema PARTITIONS PARTITION_EXPRESSION
|
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
|
||||||
@ -765,6 +770,7 @@ information_schema PLUGINS PLUGIN_DESCRIPTION
|
|||||||
information_schema PROCESSLIST INFO
|
information_schema PROCESSLIST INFO
|
||||||
information_schema ROUTINES ROUTINE_DEFINITION
|
information_schema ROUTINES ROUTINE_DEFINITION
|
||||||
information_schema ROUTINES SQL_MODE
|
information_schema ROUTINES SQL_MODE
|
||||||
|
information_schema SESSION_VARIABLES VARIABLE_VALUE
|
||||||
information_schema TRIGGERS ACTION_CONDITION
|
information_schema TRIGGERS ACTION_CONDITION
|
||||||
information_schema TRIGGERS ACTION_STATEMENT
|
information_schema TRIGGERS ACTION_STATEMENT
|
||||||
information_schema TRIGGERS SQL_MODE
|
information_schema TRIGGERS SQL_MODE
|
||||||
@ -847,7 +853,7 @@ delete from mysql.db where user='mysqltest_4';
|
|||||||
flush privileges;
|
flush privileges;
|
||||||
SELECT table_schema, count(*) FROM information_schema.TABLES where TABLE_SCHEMA!='cluster' GROUP BY TABLE_SCHEMA;
|
SELECT table_schema, count(*) FROM information_schema.TABLES where TABLE_SCHEMA!='cluster' GROUP BY TABLE_SCHEMA;
|
||||||
table_schema count(*)
|
table_schema count(*)
|
||||||
information_schema 23
|
information_schema 27
|
||||||
mysql 21
|
mysql 21
|
||||||
create table t1 (i int, j int);
|
create table t1 (i int, j int);
|
||||||
create trigger trg1 before insert on t1 for each row
|
create trigger trg1 before insert on t1 for each row
|
||||||
@ -1240,6 +1246,8 @@ COLUMN_PRIVILEGES TABLE_SCHEMA
|
|||||||
ENGINES ENGINE
|
ENGINES ENGINE
|
||||||
EVENTS EVENT_SCHEMA
|
EVENTS EVENT_SCHEMA
|
||||||
FILES TABLE_SCHEMA
|
FILES TABLE_SCHEMA
|
||||||
|
GLOBAL_STATUS VARIABLE_NAME
|
||||||
|
GLOBAL_VARIABLES VARIABLE_NAME
|
||||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||||
PARTITIONS TABLE_SCHEMA
|
PARTITIONS TABLE_SCHEMA
|
||||||
PLUGINS PLUGIN_NAME
|
PLUGINS PLUGIN_NAME
|
||||||
@ -1248,6 +1256,8 @@ REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
|
|||||||
ROUTINES ROUTINE_SCHEMA
|
ROUTINES ROUTINE_SCHEMA
|
||||||
SCHEMATA SCHEMA_NAME
|
SCHEMATA SCHEMA_NAME
|
||||||
SCHEMA_PRIVILEGES TABLE_SCHEMA
|
SCHEMA_PRIVILEGES TABLE_SCHEMA
|
||||||
|
SESSION_STATUS VARIABLE_NAME
|
||||||
|
SESSION_VARIABLES VARIABLE_NAME
|
||||||
STATISTICS TABLE_SCHEMA
|
STATISTICS TABLE_SCHEMA
|
||||||
TABLES TABLE_SCHEMA
|
TABLES TABLE_SCHEMA
|
||||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||||
@ -1278,6 +1288,8 @@ COLUMN_PRIVILEGES TABLE_SCHEMA
|
|||||||
ENGINES ENGINE
|
ENGINES ENGINE
|
||||||
EVENTS EVENT_SCHEMA
|
EVENTS EVENT_SCHEMA
|
||||||
FILES TABLE_SCHEMA
|
FILES TABLE_SCHEMA
|
||||||
|
GLOBAL_STATUS VARIABLE_NAME
|
||||||
|
GLOBAL_VARIABLES VARIABLE_NAME
|
||||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||||
PARTITIONS TABLE_SCHEMA
|
PARTITIONS TABLE_SCHEMA
|
||||||
PLUGINS PLUGIN_NAME
|
PLUGINS PLUGIN_NAME
|
||||||
@ -1286,6 +1298,8 @@ REFERENTIAL_CONSTRAINTS CONSTRAINT_SCHEMA
|
|||||||
ROUTINES ROUTINE_SCHEMA
|
ROUTINES ROUTINE_SCHEMA
|
||||||
SCHEMATA SCHEMA_NAME
|
SCHEMATA SCHEMA_NAME
|
||||||
SCHEMA_PRIVILEGES TABLE_SCHEMA
|
SCHEMA_PRIVILEGES TABLE_SCHEMA
|
||||||
|
SESSION_STATUS VARIABLE_NAME
|
||||||
|
SESSION_VARIABLES VARIABLE_NAME
|
||||||
STATISTICS TABLE_SCHEMA
|
STATISTICS TABLE_SCHEMA
|
||||||
TABLES TABLE_SCHEMA
|
TABLES TABLE_SCHEMA
|
||||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||||
|
@ -13,6 +13,8 @@ COLUMN_PRIVILEGES
|
|||||||
ENGINES
|
ENGINES
|
||||||
EVENTS
|
EVENTS
|
||||||
FILES
|
FILES
|
||||||
|
GLOBAL_STATUS
|
||||||
|
GLOBAL_VARIABLES
|
||||||
KEY_COLUMN_USAGE
|
KEY_COLUMN_USAGE
|
||||||
PARTITIONS
|
PARTITIONS
|
||||||
PLUGINS
|
PLUGINS
|
||||||
@ -21,6 +23,8 @@ REFERENTIAL_CONSTRAINTS
|
|||||||
ROUTINES
|
ROUTINES
|
||||||
SCHEMATA
|
SCHEMATA
|
||||||
SCHEMA_PRIVILEGES
|
SCHEMA_PRIVILEGES
|
||||||
|
SESSION_STATUS
|
||||||
|
SESSION_VARIABLES
|
||||||
STATISTICS
|
STATISTICS
|
||||||
TABLES
|
TABLES
|
||||||
TABLE_CONSTRAINTS
|
TABLE_CONSTRAINTS
|
||||||
|
@ -3,6 +3,10 @@ show status like 'Table_lock%';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
Table_locks_immediate 0
|
Table_locks_immediate 0
|
||||||
Table_locks_waited 0
|
Table_locks_waited 0
|
||||||
|
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TABLE_LOCKS_IMMEDIATE 0.0000000
|
||||||
|
TABLE_LOCKS_WAITED 0.0000000
|
||||||
SET SQL_LOG_BIN=0;
|
SET SQL_LOG_BIN=0;
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
create table t1(n int) engine=myisam;
|
create table t1(n int) engine=myisam;
|
||||||
@ -16,6 +20,10 @@ show status like 'Table_lock%';
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
Table_locks_immediate 3
|
Table_locks_immediate 3
|
||||||
Table_locks_waited 1
|
Table_locks_waited 1
|
||||||
|
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TABLE_LOCKS_IMMEDIATE 3.0000000
|
||||||
|
TABLE_LOCKS_WAITED 1.0000000
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select 1;
|
select 1;
|
||||||
1
|
1
|
||||||
@ -53,21 +61,36 @@ FLUSH STATUS;
|
|||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 2
|
Max_used_connections 2
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_USED_CONNECTIONS 2.0000000
|
||||||
SET @save_thread_cache_size=@@thread_cache_size;
|
SET @save_thread_cache_size=@@thread_cache_size;
|
||||||
SET GLOBAL thread_cache_size=3;
|
SET GLOBAL thread_cache_size=3;
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 4
|
Max_used_connections 4
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_USED_CONNECTIONS 4.0000000
|
||||||
FLUSH STATUS;
|
FLUSH STATUS;
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 3
|
Max_used_connections 3
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_USED_CONNECTIONS 3.0000000
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 4
|
Max_used_connections 4
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_USED_CONNECTIONS 4.0000000
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Max_used_connections 5
|
Max_used_connections 5
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_USED_CONNECTIONS 5.0000000
|
||||||
SET GLOBAL thread_cache_size=@save_thread_cache_size;
|
SET GLOBAL thread_cache_size=@save_thread_cache_size;
|
||||||
show status like 'com_show_status';
|
show status like 'com_show_status';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
|
@ -103,21 +103,36 @@ set max_join_size=100;
|
|||||||
show variables like 'max_join_size';
|
show variables like 'max_join_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_join_size 100
|
max_join_size 100
|
||||||
|
select * from information_schema.session_variables where variable_name like 'max_join_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_JOIN_SIZE 100
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_join_size 10
|
max_join_size 10
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_JOIN_SIZE 10
|
||||||
set GLOBAL max_join_size=2000;
|
set GLOBAL max_join_size=2000;
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_join_size 2000
|
max_join_size 2000
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_JOIN_SIZE 2000
|
||||||
set max_join_size=DEFAULT;
|
set max_join_size=DEFAULT;
|
||||||
show variables like 'max_join_size';
|
show variables like 'max_join_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_join_size 2000
|
max_join_size 2000
|
||||||
|
select * from information_schema.session_variables where variable_name like 'max_join_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_JOIN_SIZE 2000
|
||||||
set GLOBAL max_join_size=DEFAULT;
|
set GLOBAL max_join_size=DEFAULT;
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
max_join_size HA_POS_ERROR
|
max_join_size HA_POS_ERROR
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MAX_JOIN_SIZE HA_POS_ERROR
|
||||||
set @@max_join_size=1000, @@global.max_join_size=2000;
|
set @@max_join_size=1000, @@global.max_join_size=2000;
|
||||||
select @@local.max_join_size, @@global.max_join_size;
|
select @@local.max_join_size, @@global.max_join_size;
|
||||||
@@local.max_join_size @@global.max_join_size
|
@@local.max_join_size @@global.max_join_size
|
||||||
@ -149,14 +164,23 @@ set global concurrent_insert=2;
|
|||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
concurrent_insert 2
|
concurrent_insert 2
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
CONCURRENT_INSERT 2
|
||||||
set global concurrent_insert=1;
|
set global concurrent_insert=1;
|
||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
concurrent_insert 1
|
concurrent_insert 1
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
CONCURRENT_INSERT 1
|
||||||
set global concurrent_insert=0;
|
set global concurrent_insert=0;
|
||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
concurrent_insert 0
|
concurrent_insert 0
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
CONCURRENT_INSERT 0
|
||||||
set global concurrent_insert=DEFAULT;
|
set global concurrent_insert=DEFAULT;
|
||||||
select @@concurrent_insert;
|
select @@concurrent_insert;
|
||||||
@@concurrent_insert
|
@@concurrent_insert
|
||||||
@ -165,26 +189,44 @@ set global timed_mutexes=ON;
|
|||||||
show variables like 'timed_mutexes';
|
show variables like 'timed_mutexes';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
timed_mutexes ON
|
timed_mutexes ON
|
||||||
|
select * from information_schema.session_variables where variable_name like 'timed_mutexes';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TIMED_MUTEXES ON
|
||||||
set global timed_mutexes=0;
|
set global timed_mutexes=0;
|
||||||
show variables like 'timed_mutexes';
|
show variables like 'timed_mutexes';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
timed_mutexes OFF
|
timed_mutexes OFF
|
||||||
|
select * from information_schema.session_variables where variable_name like 'timed_mutexes';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TIMED_MUTEXES OFF
|
||||||
set storage_engine=MYISAM, storage_engine="HEAP", global storage_engine="MERGE";
|
set storage_engine=MYISAM, storage_engine="HEAP", global storage_engine="MERGE";
|
||||||
show local variables like 'storage_engine';
|
show local variables like 'storage_engine';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
storage_engine MEMORY
|
storage_engine MEMORY
|
||||||
|
select * from information_schema.session_variables where variable_name like 'storage_engine';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
STORAGE_ENGINE MEMORY
|
||||||
show global variables like 'storage_engine';
|
show global variables like 'storage_engine';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
storage_engine MRG_MYISAM
|
storage_engine MRG_MYISAM
|
||||||
|
select * from information_schema.global_variables where variable_name like 'storage_engine';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
STORAGE_ENGINE MRG_MYISAM
|
||||||
set GLOBAL query_cache_size=100000;
|
set GLOBAL query_cache_size=100000;
|
||||||
set GLOBAL myisam_max_sort_file_size=2000000;
|
set GLOBAL myisam_max_sort_file_size=2000000;
|
||||||
show global variables like 'myisam_max_sort_file_size';
|
show global variables like 'myisam_max_sort_file_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
myisam_max_sort_file_size 1048576
|
myisam_max_sort_file_size 1048576
|
||||||
|
select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MYISAM_MAX_SORT_FILE_SIZE 1048576
|
||||||
set GLOBAL myisam_max_sort_file_size=default;
|
set GLOBAL myisam_max_sort_file_size=default;
|
||||||
show variables like 'myisam_max_sort_file_size';
|
show variables like 'myisam_max_sort_file_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
myisam_max_sort_file_size FILE_SIZE
|
myisam_max_sort_file_size FILE_SIZE
|
||||||
|
select * from information_schema.session_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MYISAM_MAX_SORT_FILE_SIZE FILE_SIZE
|
||||||
set global net_retry_count=10, session net_retry_count=10;
|
set global net_retry_count=10, session net_retry_count=10;
|
||||||
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
|
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
|
||||||
set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
|
set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
|
||||||
@ -194,12 +236,24 @@ net_buffer_length 1024
|
|||||||
net_read_timeout 300
|
net_read_timeout 300
|
||||||
net_retry_count 10
|
net_retry_count 10
|
||||||
net_write_timeout 200
|
net_write_timeout 200
|
||||||
|
select * from information_schema.global_variables where variable_name like 'net_%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 1024
|
||||||
|
NET_READ_TIMEOUT 300
|
||||||
|
NET_RETRY_COUNT 10
|
||||||
|
NET_WRITE_TIMEOUT 200
|
||||||
show session variables like 'net_%';
|
show session variables like 'net_%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
net_buffer_length 2048
|
net_buffer_length 2048
|
||||||
net_read_timeout 600
|
net_read_timeout 600
|
||||||
net_retry_count 10
|
net_retry_count 10
|
||||||
net_write_timeout 500
|
net_write_timeout 500
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 2048
|
||||||
|
NET_READ_TIMEOUT 600
|
||||||
|
NET_RETRY_COUNT 10
|
||||||
|
NET_WRITE_TIMEOUT 500
|
||||||
set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
|
set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
|
||||||
show global variables like 'net_%';
|
show global variables like 'net_%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
@ -207,24 +261,45 @@ net_buffer_length 1024
|
|||||||
net_read_timeout 900
|
net_read_timeout 900
|
||||||
net_retry_count 10
|
net_retry_count 10
|
||||||
net_write_timeout 1000
|
net_write_timeout 1000
|
||||||
|
select * from information_schema.global_variables where variable_name like 'net_%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 1024
|
||||||
|
NET_READ_TIMEOUT 900
|
||||||
|
NET_RETRY_COUNT 10
|
||||||
|
NET_WRITE_TIMEOUT 1000
|
||||||
show session variables like 'net_%';
|
show session variables like 'net_%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
net_buffer_length 7168
|
net_buffer_length 7168
|
||||||
net_read_timeout 600
|
net_read_timeout 600
|
||||||
net_retry_count 10
|
net_retry_count 10
|
||||||
net_write_timeout 500
|
net_write_timeout 500
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 7168
|
||||||
|
NET_READ_TIMEOUT 600
|
||||||
|
NET_RETRY_COUNT 10
|
||||||
|
NET_WRITE_TIMEOUT 500
|
||||||
set net_buffer_length=1;
|
set net_buffer_length=1;
|
||||||
show variables like 'net_buffer_length';
|
show variables like 'net_buffer_length';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
net_buffer_length 1024
|
net_buffer_length 1024
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 1024
|
||||||
set net_buffer_length=2000000000;
|
set net_buffer_length=2000000000;
|
||||||
show variables like 'net_buffer_length';
|
show variables like 'net_buffer_length';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
net_buffer_length 1048576
|
net_buffer_length 1048576
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
NET_BUFFER_LENGTH 1048576
|
||||||
set character set cp1251_koi8;
|
set character set cp1251_koi8;
|
||||||
show variables like "character_set_client";
|
show variables like "character_set_client";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
character_set_client cp1251
|
character_set_client cp1251
|
||||||
|
select * from information_schema.session_variables where variable_name like 'character_set_client';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
CHARACTER_SET_CLIENT cp1251
|
||||||
select @@timestamp>0;
|
select @@timestamp>0;
|
||||||
@@timestamp>0
|
@@timestamp>0
|
||||||
1
|
1
|
||||||
@ -239,6 +314,13 @@ query_prealloc_size 8192
|
|||||||
range_alloc_block_size 2048
|
range_alloc_block_size 2048
|
||||||
transaction_alloc_block_size 8192
|
transaction_alloc_block_size 8192
|
||||||
transaction_prealloc_size 4096
|
transaction_prealloc_size 4096
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
QUERY_ALLOC_BLOCK_SIZE 8192
|
||||||
|
QUERY_PREALLOC_SIZE 8192
|
||||||
|
RANGE_ALLOC_BLOCK_SIZE 2048
|
||||||
|
TRANSACTION_ALLOC_BLOCK_SIZE 8192
|
||||||
|
TRANSACTION_PREALLOC_SIZE 4096
|
||||||
set @@range_alloc_block_size=1024*16;
|
set @@range_alloc_block_size=1024*16;
|
||||||
set @@query_alloc_block_size=1024*17+2;
|
set @@query_alloc_block_size=1024*17+2;
|
||||||
set @@query_prealloc_size=1024*18;
|
set @@query_prealloc_size=1024*18;
|
||||||
@ -254,6 +336,13 @@ query_prealloc_size 18432
|
|||||||
range_alloc_block_size 16384
|
range_alloc_block_size 16384
|
||||||
transaction_alloc_block_size 19456
|
transaction_alloc_block_size 19456
|
||||||
transaction_prealloc_size 20480
|
transaction_prealloc_size 20480
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
QUERY_ALLOC_BLOCK_SIZE 17408
|
||||||
|
QUERY_PREALLOC_SIZE 18432
|
||||||
|
RANGE_ALLOC_BLOCK_SIZE 16384
|
||||||
|
TRANSACTION_ALLOC_BLOCK_SIZE 19456
|
||||||
|
TRANSACTION_PREALLOC_SIZE 20480
|
||||||
set @@range_alloc_block_size=default;
|
set @@range_alloc_block_size=default;
|
||||||
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
|
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
|
||||||
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
||||||
@ -264,6 +353,13 @@ query_prealloc_size 8192
|
|||||||
range_alloc_block_size 2048
|
range_alloc_block_size 2048
|
||||||
transaction_alloc_block_size 8192
|
transaction_alloc_block_size 8192
|
||||||
transaction_prealloc_size 4096
|
transaction_prealloc_size 4096
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
QUERY_ALLOC_BLOCK_SIZE 8192
|
||||||
|
QUERY_PREALLOC_SIZE 8192
|
||||||
|
RANGE_ALLOC_BLOCK_SIZE 2048
|
||||||
|
TRANSACTION_ALLOC_BLOCK_SIZE 8192
|
||||||
|
TRANSACTION_PREALLOC_SIZE 4096
|
||||||
SELECT @@version LIKE 'non-existent';
|
SELECT @@version LIKE 'non-existent';
|
||||||
@@version LIKE 'non-existent'
|
@@version LIKE 'non-existent'
|
||||||
0
|
0
|
||||||
@ -485,6 +581,9 @@ set global myisam_max_sort_file_size=4294967296;
|
|||||||
show global variables like 'myisam_max_sort_file_size';
|
show global variables like 'myisam_max_sort_file_size';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
myisam_max_sort_file_size MAX_FILE_SIZE
|
myisam_max_sort_file_size MAX_FILE_SIZE
|
||||||
|
select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MYISAM_MAX_SORT_FILE_SIZE MAX_FILE_SIZE
|
||||||
set global myisam_max_sort_file_size=default;
|
set global myisam_max_sort_file_size=default;
|
||||||
select @@global.max_user_connections,@@local.max_join_size;
|
select @@global.max_user_connections,@@local.max_join_size;
|
||||||
@@global.max_user_connections @@local.max_join_size
|
@@global.max_user_connections @@local.max_join_size
|
||||||
@ -524,18 +623,30 @@ set @tstlw = @@log_warnings;
|
|||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_warnings 1
|
log_warnings 1
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
LOG_WARNINGS 1
|
||||||
set global log_warnings = 0;
|
set global log_warnings = 0;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_warnings 0
|
log_warnings 0
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
LOG_WARNINGS 0
|
||||||
set global log_warnings = 42;
|
set global log_warnings = 42;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_warnings 42
|
log_warnings 42
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
LOG_WARNINGS 42
|
||||||
set global log_warnings = @tstlw;
|
set global log_warnings = @tstlw;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_warnings 1
|
log_warnings 1
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
LOG_WARNINGS 1
|
||||||
create table t1 (
|
create table t1 (
|
||||||
c1 tinyint,
|
c1 tinyint,
|
||||||
c2 smallint,
|
c2 smallint,
|
||||||
@ -567,10 +678,16 @@ SET GLOBAL MYISAM_DATA_POINTER_SIZE= 7;
|
|||||||
SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
myisam_data_pointer_size 7
|
myisam_data_pointer_size 7
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'MYISAM_DATA_POINTER_SIZE';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
MYISAM_DATA_POINTER_SIZE 7
|
||||||
SET GLOBAL table_open_cache=-1;
|
SET GLOBAL table_open_cache=-1;
|
||||||
SHOW VARIABLES LIKE 'table_open_cache';
|
SHOW VARIABLES LIKE 'table_open_cache';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
table_open_cache 1
|
table_open_cache 1
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TABLE_OPEN_CACHE 1
|
||||||
SET GLOBAL table_open_cache=DEFAULT;
|
SET GLOBAL table_open_cache=DEFAULT;
|
||||||
set character_set_results=NULL;
|
set character_set_results=NULL;
|
||||||
select ifnull(@@character_set_results,"really null");
|
select ifnull(@@character_set_results,"really null");
|
||||||
@ -639,21 +756,36 @@ set @@sql_big_selects = 1;
|
|||||||
show variables like 'sql_big_selects';
|
show variables like 'sql_big_selects';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
sql_big_selects ON
|
sql_big_selects ON
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_big_selects';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SQL_BIG_SELECTS ON
|
||||||
set @@sql_big_selects = @old_sql_big_selects;
|
set @@sql_big_selects = @old_sql_big_selects;
|
||||||
set @@sql_notes = 0, @@sql_warnings = 0;
|
set @@sql_notes = 0, @@sql_warnings = 0;
|
||||||
show variables like 'sql_notes';
|
show variables like 'sql_notes';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
sql_notes OFF
|
sql_notes OFF
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_notes';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SQL_NOTES OFF
|
||||||
show variables like 'sql_warnings';
|
show variables like 'sql_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
sql_warnings OFF
|
sql_warnings OFF
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SQL_WARNINGS OFF
|
||||||
set @@sql_notes = 1, @@sql_warnings = 1;
|
set @@sql_notes = 1, @@sql_warnings = 1;
|
||||||
show variables like 'sql_notes';
|
show variables like 'sql_notes';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
sql_notes ON
|
sql_notes ON
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_notes';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SQL_NOTES ON
|
||||||
show variables like 'sql_warnings';
|
show variables like 'sql_warnings';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
sql_warnings ON
|
sql_warnings ON
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_warnings';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SQL_WARNINGS ON
|
||||||
select @@system_time_zone;
|
select @@system_time_zone;
|
||||||
@@system_time_zone
|
@@system_time_zone
|
||||||
#
|
#
|
||||||
@ -667,12 +799,21 @@ select @@basedir, @@datadir, @@tmpdir;
|
|||||||
show variables like 'basedir';
|
show variables like 'basedir';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
basedir #
|
basedir #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'basedir';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
BASEDIR #
|
||||||
show variables like 'datadir';
|
show variables like 'datadir';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
datadir #
|
datadir #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'datadir';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
DATADIR #
|
||||||
show variables like 'tmpdir';
|
show variables like 'tmpdir';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
tmpdir #
|
tmpdir #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'tmpdir';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
TMPDIR #
|
||||||
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
||||||
@@ssl_ca @@ssl_capath @@ssl_cert @@ssl_cipher @@ssl_key
|
@@ssl_ca @@ssl_capath @@ssl_cert @@ssl_cipher @@ssl_key
|
||||||
# # # # #
|
# # # # #
|
||||||
@ -683,12 +824,22 @@ ssl_capath #
|
|||||||
ssl_cert #
|
ssl_cert #
|
||||||
ssl_cipher #
|
ssl_cipher #
|
||||||
ssl_key #
|
ssl_key #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'ssl%';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
SSL_CA #
|
||||||
|
SSL_CAPATH #
|
||||||
|
SSL_CERT #
|
||||||
|
SSL_CIPHER #
|
||||||
|
SSL_KEY #
|
||||||
select @@log_queries_not_using_indexes;
|
select @@log_queries_not_using_indexes;
|
||||||
@@log_queries_not_using_indexes
|
@@log_queries_not_using_indexes
|
||||||
0
|
0
|
||||||
show variables like 'log_queries_not_using_indexes';
|
show variables like 'log_queries_not_using_indexes';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
log_queries_not_using_indexes OFF
|
log_queries_not_using_indexes OFF
|
||||||
|
select * from information_schema.session_variables where variable_name like 'log_queries_not_using_indexes';
|
||||||
|
VARIABLE_NAME VARIABLE_VALUE
|
||||||
|
LOG_QUERIES_NOT_USING_INDEXES OFF
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
set global binlog_cache_size =@my_binlog_cache_size;
|
set global binlog_cache_size =@my_binlog_cache_size;
|
||||||
set global connect_timeout =@my_connect_timeout;
|
set global connect_timeout =@my_connect_timeout;
|
||||||
|
@ -13,6 +13,7 @@ connect (con2,localhost,root,,);
|
|||||||
|
|
||||||
flush status;
|
flush status;
|
||||||
show status like 'Table_lock%';
|
show status like 'Table_lock%';
|
||||||
|
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||||
connection con1;
|
connection con1;
|
||||||
SET SQL_LOG_BIN=0;
|
SET SQL_LOG_BIN=0;
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
@ -34,6 +35,7 @@ unlock tables;
|
|||||||
connection con1;
|
connection con1;
|
||||||
reap;
|
reap;
|
||||||
show status like 'Table_lock%';
|
show status like 'Table_lock%';
|
||||||
|
select * from information_schema.session_status where variable_name like 'Table_lock%';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
disconnect con2;
|
disconnect con2;
|
||||||
@ -102,6 +104,7 @@ while ($wait_more)
|
|||||||
|
|
||||||
# Prerequisite.
|
# Prerequisite.
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
|
||||||
# Save original setting.
|
# Save original setting.
|
||||||
SET @save_thread_cache_size=@@thread_cache_size;
|
SET @save_thread_cache_size=@@thread_cache_size;
|
||||||
@ -115,6 +118,7 @@ disconnect con2;
|
|||||||
|
|
||||||
# Check that max_used_connections still reflects maximum value.
|
# Check that max_used_connections still reflects maximum value.
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
|
||||||
# Check that after flush max_used_connections equals to current number
|
# Check that after flush max_used_connections equals to current number
|
||||||
# of connections. First wait for previous disconnect to finish.
|
# of connections. First wait for previous disconnect to finish.
|
||||||
@ -138,15 +142,18 @@ while ($wait_more)
|
|||||||
--enable_result_log
|
--enable_result_log
|
||||||
# Check that we don't count disconnected thread any longer.
|
# Check that we don't count disconnected thread any longer.
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
|
||||||
# Check that max_used_connections is updated when cached thread is
|
# Check that max_used_connections is updated when cached thread is
|
||||||
# reused...
|
# reused...
|
||||||
connect (con2,localhost,root,,);
|
connect (con2,localhost,root,,);
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
|
||||||
# ...and when new thread is created.
|
# ...and when new thread is created.
|
||||||
connect (con3,localhost,root,,);
|
connect (con3,localhost,root,,);
|
||||||
SHOW STATUS LIKE 'max_used_connections';
|
SHOW STATUS LIKE 'max_used_connections';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_STATUS WHERE VARIABLE_NAME LIKE 'max_used_connections';
|
||||||
|
|
||||||
# Restore original setting.
|
# Restore original setting.
|
||||||
connection default;
|
connection default;
|
||||||
|
@ -83,16 +83,24 @@ drop table t1;
|
|||||||
set GLOBAL max_join_size=10;
|
set GLOBAL max_join_size=10;
|
||||||
set max_join_size=100;
|
set max_join_size=100;
|
||||||
show variables like 'max_join_size';
|
show variables like 'max_join_size';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'max_join_size';
|
||||||
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
set GLOBAL max_join_size=2000;
|
set GLOBAL max_join_size=2000;
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
set max_join_size=DEFAULT;
|
set max_join_size=DEFAULT;
|
||||||
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
show variables like 'max_join_size';
|
show variables like 'max_join_size';
|
||||||
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
|
select * from information_schema.session_variables where variable_name like 'max_join_size';
|
||||||
set GLOBAL max_join_size=DEFAULT;
|
set GLOBAL max_join_size=DEFAULT;
|
||||||
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
show global variables like 'max_join_size';
|
show global variables like 'max_join_size';
|
||||||
|
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
|
||||||
|
select * from information_schema.global_variables where variable_name like 'max_join_size';
|
||||||
set @@max_join_size=1000, @@global.max_join_size=2000;
|
set @@max_join_size=1000, @@global.max_join_size=2000;
|
||||||
select @@local.max_join_size, @@global.max_join_size;
|
select @@local.max_join_size, @@global.max_join_size;
|
||||||
select @@identity, length(@@version)>0;
|
select @@identity, length(@@version)>0;
|
||||||
@ -106,50 +114,68 @@ set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF",
|
|||||||
|
|
||||||
set global concurrent_insert=2;
|
set global concurrent_insert=2;
|
||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
set global concurrent_insert=1;
|
set global concurrent_insert=1;
|
||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
set global concurrent_insert=0;
|
set global concurrent_insert=0;
|
||||||
show variables like 'concurrent_insert';
|
show variables like 'concurrent_insert';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'concurrent_insert';
|
||||||
set global concurrent_insert=DEFAULT;
|
set global concurrent_insert=DEFAULT;
|
||||||
select @@concurrent_insert;
|
select @@concurrent_insert;
|
||||||
|
|
||||||
set global timed_mutexes=ON;
|
set global timed_mutexes=ON;
|
||||||
show variables like 'timed_mutexes';
|
show variables like 'timed_mutexes';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'timed_mutexes';
|
||||||
set global timed_mutexes=0;
|
set global timed_mutexes=0;
|
||||||
show variables like 'timed_mutexes';
|
show variables like 'timed_mutexes';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'timed_mutexes';
|
||||||
|
|
||||||
set storage_engine=MYISAM, storage_engine="HEAP", global storage_engine="MERGE";
|
set storage_engine=MYISAM, storage_engine="HEAP", global storage_engine="MERGE";
|
||||||
show local variables like 'storage_engine';
|
show local variables like 'storage_engine';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'storage_engine';
|
||||||
show global variables like 'storage_engine';
|
show global variables like 'storage_engine';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'storage_engine';
|
||||||
set GLOBAL query_cache_size=100000;
|
set GLOBAL query_cache_size=100000;
|
||||||
|
|
||||||
set GLOBAL myisam_max_sort_file_size=2000000;
|
set GLOBAL myisam_max_sort_file_size=2000000;
|
||||||
show global variables like 'myisam_max_sort_file_size';
|
show global variables like 'myisam_max_sort_file_size';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
set GLOBAL myisam_max_sort_file_size=default;
|
set GLOBAL myisam_max_sort_file_size=default;
|
||||||
--replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
|
--replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
|
||||||
show variables like 'myisam_max_sort_file_size';
|
show variables like 'myisam_max_sort_file_size';
|
||||||
|
--replace_result 2147483647 FILE_SIZE 9223372036854775807 FILE_SIZE
|
||||||
|
select * from information_schema.session_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
|
|
||||||
set global net_retry_count=10, session net_retry_count=10;
|
set global net_retry_count=10, session net_retry_count=10;
|
||||||
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
|
set global net_buffer_length=1024, net_write_timeout=200, net_read_timeout=300;
|
||||||
set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
|
set session net_buffer_length=2048, net_write_timeout=500, net_read_timeout=600;
|
||||||
show global variables like 'net_%';
|
show global variables like 'net_%';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'net_%';
|
||||||
show session variables like 'net_%';
|
show session variables like 'net_%';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_%';
|
||||||
set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
|
set session net_buffer_length=8000, global net_read_timeout=900, net_write_timeout=1000;
|
||||||
show global variables like 'net_%';
|
show global variables like 'net_%';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'net_%';
|
||||||
show session variables like 'net_%';
|
show session variables like 'net_%';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_%';
|
||||||
set net_buffer_length=1;
|
set net_buffer_length=1;
|
||||||
show variables like 'net_buffer_length';
|
show variables like 'net_buffer_length';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
|
||||||
set net_buffer_length=2000000000;
|
set net_buffer_length=2000000000;
|
||||||
show variables like 'net_buffer_length';
|
show variables like 'net_buffer_length';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'net_buffer_length';
|
||||||
|
|
||||||
set character set cp1251_koi8;
|
set character set cp1251_koi8;
|
||||||
show variables like "character_set_client";
|
show variables like "character_set_client";
|
||||||
|
select * from information_schema.session_variables where variable_name like 'character_set_client';
|
||||||
select @@timestamp>0;
|
select @@timestamp>0;
|
||||||
|
|
||||||
set @@rand_seed1=10000000,@@rand_seed2=1000000;
|
set @@rand_seed1=10000000,@@rand_seed2=1000000;
|
||||||
select ROUND(RAND(),5);
|
select ROUND(RAND(),5);
|
||||||
|
|
||||||
show variables like '%alloc%';
|
show variables like '%alloc%';
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
set @@range_alloc_block_size=1024*16;
|
set @@range_alloc_block_size=1024*16;
|
||||||
set @@query_alloc_block_size=1024*17+2;
|
set @@query_alloc_block_size=1024*17+2;
|
||||||
set @@query_prealloc_size=1024*18;
|
set @@query_prealloc_size=1024*18;
|
||||||
@ -157,10 +183,12 @@ set @@transaction_alloc_block_size=1024*20-1;
|
|||||||
set @@transaction_prealloc_size=1024*21-1;
|
set @@transaction_prealloc_size=1024*21-1;
|
||||||
select @@query_alloc_block_size;
|
select @@query_alloc_block_size;
|
||||||
show variables like '%alloc%';
|
show variables like '%alloc%';
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
set @@range_alloc_block_size=default;
|
set @@range_alloc_block_size=default;
|
||||||
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
|
set @@query_alloc_block_size=default, @@query_prealloc_size=default;
|
||||||
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
||||||
show variables like '%alloc%';
|
show variables like '%alloc%';
|
||||||
|
select * from information_schema.session_variables where variable_name like '%alloc%';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #10904 Illegal mix of collations between
|
# Bug #10904 Illegal mix of collations between
|
||||||
@ -363,6 +391,8 @@ set global ft_boolean_syntax = @@init_connect;
|
|||||||
set global myisam_max_sort_file_size=4294967296;
|
set global myisam_max_sort_file_size=4294967296;
|
||||||
--replace_result 4294967296 MAX_FILE_SIZE 2146435072 MAX_FILE_SIZE
|
--replace_result 4294967296 MAX_FILE_SIZE 2146435072 MAX_FILE_SIZE
|
||||||
show global variables like 'myisam_max_sort_file_size';
|
show global variables like 'myisam_max_sort_file_size';
|
||||||
|
--replace_result 4294967296 MAX_FILE_SIZE 2146435072 MAX_FILE_SIZE
|
||||||
|
select * from information_schema.global_variables where variable_name like 'myisam_max_sort_file_size';
|
||||||
set global myisam_max_sort_file_size=default;
|
set global myisam_max_sort_file_size=default;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -398,12 +428,16 @@ SELECT @@global.local.key_buffer_size;
|
|||||||
# BUG#5135: cannot turn on log_warnings with SET in 4.1 (and 4.0)
|
# BUG#5135: cannot turn on log_warnings with SET in 4.1 (and 4.0)
|
||||||
set @tstlw = @@log_warnings;
|
set @tstlw = @@log_warnings;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
set global log_warnings = 0;
|
set global log_warnings = 0;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
set global log_warnings = 42;
|
set global log_warnings = 42;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
set global log_warnings = @tstlw;
|
set global log_warnings = @tstlw;
|
||||||
show global variables like 'log_warnings';
|
show global variables like 'log_warnings';
|
||||||
|
select * from information_schema.global_variables where variable_name like 'log_warnings';
|
||||||
|
|
||||||
#
|
#
|
||||||
# BUG#4788 show create table provides incorrect statement
|
# BUG#4788 show create table provides incorrect statement
|
||||||
@ -435,6 +469,7 @@ drop table t1;
|
|||||||
|
|
||||||
SET GLOBAL MYISAM_DATA_POINTER_SIZE= 7;
|
SET GLOBAL MYISAM_DATA_POINTER_SIZE= 7;
|
||||||
SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'MYISAM_DATA_POINTER_SIZE';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #6958: negative arguments to integer options wrap around
|
# Bug #6958: negative arguments to integer options wrap around
|
||||||
@ -442,6 +477,7 @@ SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
|||||||
|
|
||||||
SET GLOBAL table_open_cache=-1;
|
SET GLOBAL table_open_cache=-1;
|
||||||
SHOW VARIABLES LIKE 'table_open_cache';
|
SHOW VARIABLES LIKE 'table_open_cache';
|
||||||
|
SELECT * FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME LIKE 'table_open_cache';
|
||||||
SET GLOBAL table_open_cache=DEFAULT;
|
SET GLOBAL table_open_cache=DEFAULT;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -527,6 +563,7 @@ select @@global.character_set_filesystem;
|
|||||||
set @old_sql_big_selects = @@sql_big_selects;
|
set @old_sql_big_selects = @@sql_big_selects;
|
||||||
set @@sql_big_selects = 1;
|
set @@sql_big_selects = 1;
|
||||||
show variables like 'sql_big_selects';
|
show variables like 'sql_big_selects';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_big_selects';
|
||||||
set @@sql_big_selects = @old_sql_big_selects;
|
set @@sql_big_selects = @old_sql_big_selects;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -535,10 +572,14 @@ set @@sql_big_selects = @old_sql_big_selects;
|
|||||||
#
|
#
|
||||||
set @@sql_notes = 0, @@sql_warnings = 0;
|
set @@sql_notes = 0, @@sql_warnings = 0;
|
||||||
show variables like 'sql_notes';
|
show variables like 'sql_notes';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_notes';
|
||||||
show variables like 'sql_warnings';
|
show variables like 'sql_warnings';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_warnings';
|
||||||
set @@sql_notes = 1, @@sql_warnings = 1;
|
set @@sql_notes = 1, @@sql_warnings = 1;
|
||||||
show variables like 'sql_notes';
|
show variables like 'sql_notes';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_notes';
|
||||||
show variables like 'sql_warnings';
|
show variables like 'sql_warnings';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'sql_warnings';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #12792: @@system_time_zone is not SELECTable.
|
# Bug #12792: @@system_time_zone is not SELECTable.
|
||||||
@ -565,9 +606,15 @@ select @@basedir, @@datadir, @@tmpdir;
|
|||||||
--replace_column 2 #
|
--replace_column 2 #
|
||||||
show variables like 'basedir';
|
show variables like 'basedir';
|
||||||
--replace_column 2 #
|
--replace_column 2 #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'basedir';
|
||||||
|
--replace_column 2 #
|
||||||
show variables like 'datadir';
|
show variables like 'datadir';
|
||||||
--replace_column 2 #
|
--replace_column 2 #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'datadir';
|
||||||
|
--replace_column 2 #
|
||||||
show variables like 'tmpdir';
|
show variables like 'tmpdir';
|
||||||
|
--replace_column 2 #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'tmpdir';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #19606: make ssl settings available via SHOW VARIABLES and @@variables
|
# Bug #19606: make ssl settings available via SHOW VARIABLES and @@variables
|
||||||
@ -577,6 +624,8 @@ show variables like 'tmpdir';
|
|||||||
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
select @@ssl_ca, @@ssl_capath, @@ssl_cert, @@ssl_cipher, @@ssl_key;
|
||||||
--replace_column 2 #
|
--replace_column 2 #
|
||||||
show variables like 'ssl%';
|
show variables like 'ssl%';
|
||||||
|
--replace_column 2 #
|
||||||
|
select * from information_schema.session_variables where variable_name like 'ssl%';
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #19616: make log_queries_not_using_indexes available in SHOW VARIABLES
|
# Bug #19616: make log_queries_not_using_indexes available in SHOW VARIABLES
|
||||||
@ -584,6 +633,7 @@ show variables like 'ssl%';
|
|||||||
#
|
#
|
||||||
select @@log_queries_not_using_indexes;
|
select @@log_queries_not_using_indexes;
|
||||||
show variables like 'log_queries_not_using_indexes';
|
show variables like 'log_queries_not_using_indexes';
|
||||||
|
select * from information_schema.session_variables where variable_name like 'log_queries_not_using_indexes';
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
|
233
sql/sql_show.cc
233
sql/sql_show.cc
@ -1994,15 +1994,22 @@ void remove_status_vars(SHOW_VAR *list)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline void make_upper(char *buf)
|
||||||
|
{
|
||||||
|
for (; *buf; buf++)
|
||||||
|
*buf= my_toupper(system_charset_info, *buf);
|
||||||
|
}
|
||||||
|
|
||||||
static bool show_status_array(THD *thd, const char *wild,
|
static bool show_status_array(THD *thd, const char *wild,
|
||||||
SHOW_VAR *variables,
|
SHOW_VAR *variables,
|
||||||
enum enum_var_type value_type,
|
enum enum_var_type value_type,
|
||||||
struct system_status_var *status_var,
|
struct system_status_var *status_var,
|
||||||
const char *prefix, TABLE *table)
|
const char *prefix, TABLE *table,
|
||||||
|
bool ucase_names)
|
||||||
{
|
{
|
||||||
char buff[SHOW_VAR_FUNC_BUFF_SIZE], *prefix_end;
|
char buff[SHOW_VAR_FUNC_BUFF_SIZE], *prefix_end;
|
||||||
/* the variable name should not be longer then 80 characters */
|
/* the variable name should not be longer than 64 characters */
|
||||||
char name_buffer[80];
|
char name_buffer[64];
|
||||||
int len;
|
int len;
|
||||||
LEX_STRING null_lex_str;
|
LEX_STRING null_lex_str;
|
||||||
SHOW_VAR tmp, *var;
|
SHOW_VAR tmp, *var;
|
||||||
@ -2020,6 +2027,8 @@ static bool show_status_array(THD *thd, const char *wild,
|
|||||||
{
|
{
|
||||||
strnmov(prefix_end, variables->name, len);
|
strnmov(prefix_end, variables->name, len);
|
||||||
name_buffer[sizeof(name_buffer)-1]=0; /* Safety */
|
name_buffer[sizeof(name_buffer)-1]=0; /* Safety */
|
||||||
|
if (ucase_names)
|
||||||
|
make_upper(name_buffer);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if var->type is SHOW_FUNC, call the function.
|
if var->type is SHOW_FUNC, call the function.
|
||||||
@ -2031,8 +2040,8 @@ static bool show_status_array(THD *thd, const char *wild,
|
|||||||
SHOW_TYPE show_type=var->type;
|
SHOW_TYPE show_type=var->type;
|
||||||
if (show_type == SHOW_ARRAY)
|
if (show_type == SHOW_ARRAY)
|
||||||
{
|
{
|
||||||
show_status_array(thd, wild, (SHOW_VAR *) var->value,
|
show_status_array(thd, wild, (SHOW_VAR *) var->value, value_type,
|
||||||
value_type, status_var, name_buffer, table);
|
status_var, name_buffer, table, ucase_names);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2041,7 +2050,7 @@ static bool show_status_array(THD *thd, const char *wild,
|
|||||||
{
|
{
|
||||||
char *value=var->value;
|
char *value=var->value;
|
||||||
const char *pos, *end; // We assign a lot of const's
|
const char *pos, *end; // We assign a lot of const's
|
||||||
long nr;
|
|
||||||
if (show_type == SHOW_SYS)
|
if (show_type == SHOW_SYS)
|
||||||
{
|
{
|
||||||
show_type= ((sys_var*) value)->type();
|
show_type= ((sys_var*) value)->type();
|
||||||
@ -2123,6 +2132,7 @@ static bool show_status_array(THD *thd, const char *wild,
|
|||||||
table->field[0]->store(name_buffer, strlen(name_buffer),
|
table->field[0]->store(name_buffer, strlen(name_buffer),
|
||||||
system_charset_info);
|
system_charset_info);
|
||||||
table->field[1]->store(pos, (uint32) (end - pos), system_charset_info);
|
table->field[1]->store(pos, (uint32) (end - pos), system_charset_info);
|
||||||
|
table->field[1]->set_notnull();
|
||||||
if (schema_table_store_record(thd, table))
|
if (schema_table_store_record(thd, table))
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
@ -4563,7 +4573,7 @@ int fill_variables(THD *thd, TABLE_LIST *tables, COND *cond)
|
|||||||
const char *wild= lex->wild ? lex->wild->ptr() : NullS;
|
const char *wild= lex->wild ? lex->wild->ptr() : NullS;
|
||||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
res= show_status_array(thd, wild, init_vars,
|
res= show_status_array(thd, wild, init_vars,
|
||||||
lex->option_type, 0, "", tables->table);
|
lex->option_type, 0, "", tables->table, 0);
|
||||||
pthread_mutex_unlock(&LOCK_global_system_variables);
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
DBUG_RETURN(res);
|
DBUG_RETURN(res);
|
||||||
}
|
}
|
||||||
@ -4583,7 +4593,8 @@ int fill_status(THD *thd, TABLE_LIST *tables, COND *cond)
|
|||||||
(SHOW_VAR *)all_status_vars.buffer,
|
(SHOW_VAR *)all_status_vars.buffer,
|
||||||
OPT_GLOBAL,
|
OPT_GLOBAL,
|
||||||
(lex->option_type == OPT_GLOBAL ?
|
(lex->option_type == OPT_GLOBAL ?
|
||||||
&tmp: thd->initial_status_var), "",tables->table);
|
&tmp: thd->initial_status_var),
|
||||||
|
"", tables->table, 0);
|
||||||
pthread_mutex_unlock(&LOCK_status);
|
pthread_mutex_unlock(&LOCK_status);
|
||||||
DBUG_RETURN(res);
|
DBUG_RETURN(res);
|
||||||
}
|
}
|
||||||
@ -4732,6 +4743,21 @@ TABLE *create_schema_table(THD *thd, TABLE_LIST *table_list)
|
|||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MYSQL_TYPE_DECIMAL:
|
||||||
|
if (!(item= new Item_decimal((longlong) fields_info->value, false)))
|
||||||
|
{
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
item->unsigned_flag= (fields_info->field_length/10000)%10;
|
||||||
|
item->decimals= fields_info->field_length%10;
|
||||||
|
item->max_length= (fields_info->field_length/100)%100;
|
||||||
|
if (item->unsigned_flag == 0)
|
||||||
|
item->max_length+= 1;
|
||||||
|
if (item->decimals > 0)
|
||||||
|
item->max_length+= 1;
|
||||||
|
item->set_name(fields_info->field_name,
|
||||||
|
strlen(fields_info->field_name), cs);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
/* this should be changed when Item_empty_string is fixed(in 4.1) */
|
/* this should be changed when Item_empty_string is fixed(in 4.1) */
|
||||||
if (!(item= new Item_empty_string("", 0, cs)))
|
if (!(item= new Item_empty_string("", 0, cs)))
|
||||||
@ -5171,6 +5197,173 @@ int fill_schema_files(THD *thd, TABLE_LIST *tables, COND *cond)
|
|||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int fill_schema_status(THD *thd, SHOW_VAR *variables,
|
||||||
|
struct system_status_var *status_var,
|
||||||
|
const char *prefix, TABLE *table)
|
||||||
|
{
|
||||||
|
SHOW_VAR tmp, *var;
|
||||||
|
SHOW_TYPE show_type;
|
||||||
|
LEX_STRING null_lex_str;
|
||||||
|
char buff[SHOW_VAR_FUNC_BUFF_SIZE];
|
||||||
|
char name_buf[64], *name_pos;
|
||||||
|
int name_len;
|
||||||
|
DBUG_ENTER("fill_schema_status");
|
||||||
|
|
||||||
|
null_lex_str.str= 0;
|
||||||
|
null_lex_str.length= 0;
|
||||||
|
|
||||||
|
name_pos= strnmov(name_buf, prefix, sizeof(name_buf) - 1);
|
||||||
|
if (*prefix)
|
||||||
|
*name_pos++= '_';
|
||||||
|
name_len= name_buf + sizeof(name_buf) - name_pos;
|
||||||
|
|
||||||
|
for (; variables->name; variables++)
|
||||||
|
{
|
||||||
|
strnmov(name_pos, variables->name, name_len);
|
||||||
|
name_buf[sizeof(name_buf) - 1]= 0;
|
||||||
|
make_upper(name_buf);
|
||||||
|
|
||||||
|
for (var= variables; var->type == SHOW_FUNC; var= &tmp)
|
||||||
|
((mysql_show_var_func)(var->value))(thd, &tmp, buff);
|
||||||
|
|
||||||
|
show_type= var->type;
|
||||||
|
|
||||||
|
if (show_type == SHOW_ARRAY)
|
||||||
|
{
|
||||||
|
fill_schema_status(thd, (SHOW_VAR*) var->value,
|
||||||
|
status_var, name_buf, table);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *value= var->value;
|
||||||
|
|
||||||
|
restore_record(table, s->default_values);
|
||||||
|
table->field[0]->store(name_buf, strlen(name_buf), system_charset_info);
|
||||||
|
|
||||||
|
if (show_type == SHOW_SYS)
|
||||||
|
{
|
||||||
|
show_type= ((sys_var*) value)->type();
|
||||||
|
value= (char*) ((sys_var*) value)->value_ptr(thd, OPT_GLOBAL,
|
||||||
|
&null_lex_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (show_type)
|
||||||
|
{
|
||||||
|
case SHOW_DOUBLE_STATUS:
|
||||||
|
value= (char*) status_var + (ulong) value;
|
||||||
|
table->field[1]->store(*(double*) value);
|
||||||
|
break;
|
||||||
|
case SHOW_LONG_STATUS:
|
||||||
|
value= (char*) status_var + (ulong) value;
|
||||||
|
/* fall through */
|
||||||
|
case SHOW_LONG:
|
||||||
|
case SHOW_LONG_NOFLUSH: /* the difference lies in refresh_status() */
|
||||||
|
table->field[1]->store((longlong) *(long*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_LONGLONG:
|
||||||
|
table->field[1]->store(*(longlong*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_HA_ROWS:
|
||||||
|
table->field[1]->store((longlong) *(ha_rows*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_BOOL:
|
||||||
|
table->field[1]->store((longlong) *(bool*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_MY_BOOL:
|
||||||
|
table->field[1]->store((longlong) *(my_bool*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_INT:
|
||||||
|
table->field[1]->store((longlong) *(uint32*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_HAVE: /* always displayed as 0 */
|
||||||
|
table->field[1]->store((longlong) 0, false);
|
||||||
|
break;
|
||||||
|
case SHOW_CHAR_PTR:
|
||||||
|
value= *(char**) value;
|
||||||
|
/* fall through */
|
||||||
|
case SHOW_CHAR: /* always displayed as 0 */
|
||||||
|
table->field[1]->store((longlong) 0, false);
|
||||||
|
break;
|
||||||
|
case SHOW_KEY_CACHE_LONG:
|
||||||
|
value= (char*) dflt_key_cache + (ulong) value;
|
||||||
|
table->field[1]->store((longlong) *(long*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_KEY_CACHE_LONGLONG:
|
||||||
|
value= (char*) dflt_key_cache + (ulong) value;
|
||||||
|
table->field[1]->store(*(longlong*) value, false);
|
||||||
|
break;
|
||||||
|
case SHOW_UNDEF: /* always displayed as 0 */
|
||||||
|
table->field[1]->store((longlong) 0, false);
|
||||||
|
break;
|
||||||
|
case SHOW_SYS: /* cannot happen */
|
||||||
|
default:
|
||||||
|
DBUG_ASSERT(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
table->field[1]->set_notnull();
|
||||||
|
if (schema_table_store_record(thd, table))
|
||||||
|
DBUG_RETURN(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fill_schema_global_status(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||||
|
{
|
||||||
|
STATUS_VAR tmp;
|
||||||
|
int res= 0;
|
||||||
|
DBUG_ENTER("fill_schema_global_status");
|
||||||
|
|
||||||
|
pthread_mutex_lock(&LOCK_status);
|
||||||
|
calc_sum_of_all_status(&tmp);
|
||||||
|
res= fill_schema_status(thd, (SHOW_VAR*) all_status_vars.buffer,
|
||||||
|
&tmp, "", tables->table);
|
||||||
|
pthread_mutex_unlock(&LOCK_status);
|
||||||
|
|
||||||
|
DBUG_RETURN(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fill_schema_session_status(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||||
|
{
|
||||||
|
int res= 0;
|
||||||
|
DBUG_ENTER("fill_schema_session_status");
|
||||||
|
|
||||||
|
pthread_mutex_lock(&LOCK_status);
|
||||||
|
res= fill_schema_status(thd, (SHOW_VAR*) all_status_vars.buffer,
|
||||||
|
&thd->status_var, "", tables->table);
|
||||||
|
pthread_mutex_unlock(&LOCK_status);
|
||||||
|
|
||||||
|
DBUG_RETURN(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fill_schema_global_variables(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||||
|
{
|
||||||
|
int res= 0;
|
||||||
|
DBUG_ENTER("fill_schema_global_variables");
|
||||||
|
|
||||||
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
|
res= show_status_array(thd, "", init_vars, OPT_GLOBAL,
|
||||||
|
NULL, "", tables->table, 1);
|
||||||
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
|
|
||||||
|
DBUG_RETURN(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
int fill_schema_session_variables(THD *thd, TABLE_LIST *tables, COND *cond)
|
||||||
|
{
|
||||||
|
int res= 0;
|
||||||
|
DBUG_ENTER("fill_schema_session_variables");
|
||||||
|
|
||||||
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
|
res= show_status_array(thd, "", init_vars, OPT_SESSION,
|
||||||
|
NULL, "", tables->table, 1);
|
||||||
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
|
|
||||||
|
DBUG_RETURN(res);
|
||||||
|
}
|
||||||
|
|
||||||
ST_FIELD_INFO schema_fields_info[]=
|
ST_FIELD_INFO schema_fields_info[]=
|
||||||
{
|
{
|
||||||
{"CATALOG_NAME", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
{"CATALOG_NAME", FN_REFLEN, MYSQL_TYPE_STRING, 0, 1, 0},
|
||||||
@ -5523,6 +5716,22 @@ ST_FIELD_INFO variables_fields_info[]=
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
ST_FIELD_INFO status_fields_info[]=
|
||||||
|
{
|
||||||
|
{"VARIABLE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Variable_name"},
|
||||||
|
{"VARIABLE_VALUE", 2207, MYSQL_TYPE_DECIMAL, 0, 0, "Value"},
|
||||||
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
ST_FIELD_INFO system_variables_fields_info[]=
|
||||||
|
{
|
||||||
|
{"VARIABLE_NAME", 64, MYSQL_TYPE_STRING, 0, 0, "Variable_name"},
|
||||||
|
{"VARIABLE_VALUE", 65535, MYSQL_TYPE_STRING, 0, 1, "Value"},
|
||||||
|
{0, 0, MYSQL_TYPE_STRING, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
ST_FIELD_INFO processlist_fields_info[]=
|
ST_FIELD_INFO processlist_fields_info[]=
|
||||||
{
|
{
|
||||||
{"ID", 4, MYSQL_TYPE_LONG, 0, 0, "Id"},
|
{"ID", 4, MYSQL_TYPE_LONG, 0, 0, "Id"},
|
||||||
@ -5635,6 +5844,10 @@ ST_SCHEMA_TABLE schema_tables[]=
|
|||||||
fill_schema_events, make_old_format, 0, -1, -1, 0},
|
fill_schema_events, make_old_format, 0, -1, -1, 0},
|
||||||
{"FILES", files_fields_info, create_schema_table,
|
{"FILES", files_fields_info, create_schema_table,
|
||||||
fill_schema_files, 0, 0, -1, -1, 0},
|
fill_schema_files, 0, 0, -1, -1, 0},
|
||||||
|
{"GLOBAL_STATUS", status_fields_info, create_schema_table,
|
||||||
|
fill_schema_global_status, make_old_format, 0, -1, -1, 0},
|
||||||
|
{"GLOBAL_VARIABLES", system_variables_fields_info, create_schema_table,
|
||||||
|
fill_schema_global_variables, make_old_format, 0, -1, -1, 0},
|
||||||
{"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
|
{"KEY_COLUMN_USAGE", key_column_usage_fields_info, create_schema_table,
|
||||||
get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
|
get_all_tables, 0, get_schema_key_column_usage_record, 4, 5, 0},
|
||||||
{"OPEN_TABLES", open_tables_fields_info, create_schema_table,
|
{"OPEN_TABLES", open_tables_fields_info, create_schema_table,
|
||||||
@ -5654,6 +5867,10 @@ ST_SCHEMA_TABLE schema_tables[]=
|
|||||||
fill_schema_shemata, make_schemata_old_format, 0, 1, -1, 0},
|
fill_schema_shemata, make_schemata_old_format, 0, 1, -1, 0},
|
||||||
{"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
|
{"SCHEMA_PRIVILEGES", schema_privileges_fields_info, create_schema_table,
|
||||||
fill_schema_schema_privileges, 0, 0, -1, -1, 0},
|
fill_schema_schema_privileges, 0, 0, -1, -1, 0},
|
||||||
|
{"SESSION_STATUS", status_fields_info, create_schema_table,
|
||||||
|
fill_schema_session_status, make_old_format, 0, -1, -1, 0},
|
||||||
|
{"SESSION_VARIABLES", system_variables_fields_info, create_schema_table,
|
||||||
|
fill_schema_session_variables, make_old_format, 0, -1, -1, 0},
|
||||||
{"STATISTICS", stat_fields_info, create_schema_table,
|
{"STATISTICS", stat_fields_info, create_schema_table,
|
||||||
get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0},
|
get_all_tables, make_old_format, get_schema_stat_record, 1, 2, 0},
|
||||||
{"STATUS", variables_fields_info, create_schema_table, fill_status,
|
{"STATUS", variables_fields_info, create_schema_table, fill_status,
|
||||||
|
@ -474,6 +474,8 @@ enum enum_schema_tables
|
|||||||
SCH_ENGINES,
|
SCH_ENGINES,
|
||||||
SCH_EVENTS,
|
SCH_EVENTS,
|
||||||
SCH_FILES,
|
SCH_FILES,
|
||||||
|
SCH_GLOBAL_STATUS,
|
||||||
|
SCH_GLOBAL_VARIABLES,
|
||||||
SCH_KEY_COLUMN_USAGE,
|
SCH_KEY_COLUMN_USAGE,
|
||||||
SCH_OPEN_TABLES,
|
SCH_OPEN_TABLES,
|
||||||
SCH_PARTITIONS,
|
SCH_PARTITIONS,
|
||||||
@ -483,6 +485,8 @@ enum enum_schema_tables
|
|||||||
SCH_PROCEDURES,
|
SCH_PROCEDURES,
|
||||||
SCH_SCHEMATA,
|
SCH_SCHEMATA,
|
||||||
SCH_SCHEMA_PRIVILEGES,
|
SCH_SCHEMA_PRIVILEGES,
|
||||||
|
SCH_SESSION_STATUS,
|
||||||
|
SCH_SESSION_VARIABLES,
|
||||||
SCH_STATISTICS,
|
SCH_STATISTICS,
|
||||||
SCH_STATUS,
|
SCH_STATUS,
|
||||||
SCH_TABLES,
|
SCH_TABLES,
|
||||||
|
Reference in New Issue
Block a user