1
# Drizzle's data dictionary.
3
CREATE SCHEMA data_dictionary;
6
SELECT ID FROM data_dictionary.processlist;
9
SELECT ID FROM data_dictionary.processlist ORDER BY ID;
12
SELECT a.ID FROM data_dictionary.processlist as a, data_dictionary.processlist as b ORDER BY ID;
15
SELECT a.ID FROM data_dictionary.processlist as a, data_dictionary.processlist as b;
18
SELECT count(*) FROM data_dictionary.plugins;
21
SELECT count(*) FROM data_dictionary.columns;
24
SELECT count(*) FROM data_dictionary.indexes;
27
SELECT count(*) FROM data_dictionary.index_parts;
30
SELECT count(*) FROM data_dictionary.modules;
32
SELECT * FROM data_dictionary.character_sets ORDER BY CHARACTER_SET_NAME;
34
SELECT * FROM data_dictionary.collations ORDER BY COLLATION_NAME;
37
SELECT SCHEMA_NAME FROM data_dictionary.schemas;
40
SELECT COLUMN_NAME FROM data_dictionary.columns;
43
SELECT count(*) FROM data_dictionary.GLOBAL_STATEMENTS;
46
SELECT count(*) FROM data_dictionary.GLOBAL_STATUS;
49
SELECT count(*) FROM data_dictionary.GLOBAL_VARIABLES;
52
SELECT count(*) FROM data_dictionary.SESSION_STATEMENTS;
55
SELECT count(*) FROM data_dictionary.SESSION_STATUS;
58
SELECT count(*) FROM data_dictionary.SESSION_VARIABLES;
60
# Make sure we don't change the names of the columns
64
show create table CHARACTER_SETS ;
65
show create table COLLATIONS ;
66
show create table COLUMNS ;
67
show create table GLOBAL_STATUS ;
68
show create table GLOBAL_STATEMENTS ;
69
show create table GLOBAL_VARIABLES ;
70
show create table INDEXES ;
71
show create table INDEX_PARTS ;
72
show create table MODULES ;
73
show create table PLUGINS ;
74
show create table PROCESSLIST ;
75
show create table REFERENTIAL_CONSTRAINTS ;
76
show create table SCHEMAS ;
77
show create table SESSION_STATEMENTS;
78
show create table SESSION_STATUS;
79
show create table SESSION_VARIABLES;
80
show create table TABLES ;
81
show create table TABLE_CONSTRAINTS ;
84
# Slap tests for concurrency
85
CREATE SCHEMA drizzleslap;
87
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.SESSION_STATEMENTS" --delimiter=";"
88
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.SESSION_STATUS" --delimiter=";"
89
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.character_sets" --delimiter=";"
90
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.collations" --delimiter=";"
91
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.columns" --delimiter=";"
92
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.global_statements" --delimiter=";"
93
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.global_status" --delimiter=";"
94
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.global_variables" --delimiter=";"
95
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.index_parts" --delimiter=";"
96
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.indexes" --delimiter=";"
97
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.modules" --delimiter=";"
98
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.plugins" --delimiter=";"
99
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.processlist" --delimiter=";"
100
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.referential_constraints" --delimiter=";"
101
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.schemas" --delimiter=";"
102
#--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.table_constraints" --delimiter=";"
103
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="select * from data_dictionary.tables" --delimiter=";"
105
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.GLOBAL_STATEMENTS as a, data_dictionary.GLOBAL_STATEMENTS as b ORDER BY VARIABLE_NAME" --delimiter=";"
106
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.GLOBAL_STATUS as a, data_dictionary.GLOBAL_STATUS as b ORDER BY VARIABLE_NAME" --delimiter=";"
107
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.GLOBAL_VARIABLES as a, data_dictionary.GLOBAL_VARIABLES as b" --delimiter=";"
108
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.SESSION_STATEMENTS as a, data_dictionary.SESSION_STATEMENTS as b ORDER BY VARIABLE_NAME" --delimiter=";"
109
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.SESSION_STATUS as a, data_dictionary.SESSION_STATUS as b ORDER BY VARIABLE_NAME" --delimiter=";"
110
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.VARIABLE_NAME FROM data_dictionary.SESSION_VARIABLES as a, data_dictionary.SESSION_VARIABLES as b ORDER BY VARIABLE_NAME" --delimiter=";"
111
--exec $DRIZZLE_SLAP --silent --concurrency=5 --iterations=20 --query="SELECT a.ID FROM data_dictionary.processlist as a, data_dictionary.processlist as b ORDER BY ID" --delimiter=";"
113
DROP SCHEMA drizzleslap;
114
DROP SCHEMA data_dictionary;
116
# Test that the data dictionary is not leaking its tables to other schema
119
create table A (a int);
120
SELECT COUNT(*) FROM data_dictionary.tables WHERE TABLE_NAME = "A";