This file is indexed.

/usr/lib/mysql-testsuite/t/plugin.test is in mysql-testsuite-5.6 5.6.16-1~exp1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
--source include/not_windows_embedded.inc
--source include/have_example_plugin.inc

--error ER_UNKNOWN_STORAGE_ENGINE
CREATE TABLE t1(a int) ENGINE=EXAMPLE;

--replace_regex /\.dll/.so/
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';
--replace_regex /\.dll/.so/
--error 1125
eval INSTALL PLUGIN EXAMPLE SONAME '$EXAMPLE_PLUGIN';

UNINSTALL PLUGIN example;

--replace_regex /\.dll/.so/
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';

--echo # Example engine does not support indexes
--error ER_TOO_MANY_KEY_PARTS
CREATE TABLE t1 (a int PRIMARY KEY) ENGINE=EXAMPLE;
--error ER_TOO_MANY_KEY_PARTS
CREATE TABLE t1 (a int, KEY (a)) ENGINE=EXAMPLE;


CREATE TABLE t1(a int) ENGINE=EXAMPLE;

SHOW CREATE TABLE t1;

--echo # Let's do some advanced ops with the example engine :)
INSERT INTO t1 VALUES (0);

--echo # Only supports table scans (and does always return zero rows :)
SELECT * FROM t1;
SELECT * FROM t1 WHERE a = 0;

--echo # Since there are no rows found, it will never do update_row.
UPDATE t1 SET a = 1 WHERE a = 0;

--echo # Since there are no rows found, it will never do delete_row.
DELETE FROM t1 WHERE a = 0;

--echo # No support for SQL HANDLER statement
--error ER_ILLEGAL_HA
HANDLER t1 OPEN;

DROP TABLE t1;

# a couple of tests for variables
set global example_ulong_var=500;
set global example_enum_var= e1;
show status like 'example%';
show variables like 'example%';

UNINSTALL PLUGIN example;
--error 1305
UNINSTALL PLUGIN EXAMPLE;

--error 1305
UNINSTALL PLUGIN non_exist;


--echo #
--echo # Bug#32034: check_func_enum() does not check correct values but set it
--echo #            to impossible int val
--echo #
--replace_regex /\.dll/.so/
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';

SET GLOBAL example_enum_var= e1;
SET GLOBAL example_enum_var= e2;
--error 1231
SET GLOBAL example_enum_var= impossible;

UNINSTALL PLUGIN example;



#
# Bug #32757 hang with sql_mode set when setting some global variables
#
--replace_regex /\.dll/.so/
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';

select @@session.sql_mode into @old_sql_mode;

# first, try normal sql_mode (no error, send OK)
set session sql_mode='';
set global example_ulong_var=500;
select @@global.example_ulong_var;
# overflow -- correct value, but throw warning
set global example_ulong_var=1111;
select @@global.example_ulong_var;

# now, try STRICT (error occurrs, no message is sent, so send default)
set session sql_mode='STRICT_ALL_TABLES';
set global example_ulong_var=500;
select @@global.example_ulong_var;
# overflow -- throw warning, do NOT change value
--error ER_WRONG_VALUE_FOR_VAR
set global example_ulong_var=1111;
select @@global.example_ulong_var;

set session sql_mode=@old_sql_mode;

# finally, show that conditions that already raised an error are not
# adversely affected (error was already sent, do nothing)
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set session old=bla;

UNINSTALL PLUGIN example;

--echo #
--echo # Bug #16194302  SUPPORT FOR FLOATING-POINT SYSTEM
--echo #                VARIABLES USING THE PLUGIN INTERFACE.
--echo #

--replace_regex /\.dll/.so/
eval INSTALL PLUGIN example SONAME '$EXAMPLE_PLUGIN';

SET GLOBAL example_double_var = -0.1;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 0.000001;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 0.4;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 123.456789;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 500;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 999.999999;
SELECT @@GLOBAL.example_double_var;

SET GLOBAL example_double_var = 1000.51;
SELECT @@GLOBAL.example_double_var;

SET SESSION example_double_thdvar = -0.1;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 0.000001;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 0.4;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 123.456789;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 500;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 999.999999;
SELECT @@SESSION.example_double_thdvar;

SET SESSION example_double_thdvar = 1000.51;
SELECT @@SESSION.example_double_thdvar;

UNINSTALL PLUGIN example;