CREATE TABLE t1(a int) ENGINE=EXAMPLE; Warnings: Warning 1286 Unknown storage engine 'EXAMPLE' Warning 1266 Using storage engine MyISAM for table 't1' DROP TABLE t1; INSTALL PLUGIN example SONAME 'ha_example.so'; INSTALL PLUGIN EXAMPLE SONAME 'ha_example.so'; ERROR HY000: Function 'EXAMPLE' already exists UNINSTALL PLUGIN example; INSTALL PLUGIN example SONAME 'ha_example.so'; CREATE TABLE t1(a int) ENGINE=EXAMPLE; SELECT * FROM t1; a DROP TABLE t1; set global example_ulong_var=500; set global example_enum_var= e1; show status like 'example%'; Variable_name Value example_func_example enum_var is 0, ulong_var is 500, really show variables like 'example%'; Variable_name Value example_enum_var e1 example_ulong_var 500 UNINSTALL PLUGIN example; UNINSTALL PLUGIN EXAMPLE; ERROR 42000: PLUGIN EXAMPLE does not exist UNINSTALL PLUGIN non_exist; ERROR 42000: PLUGIN non_exist does not exist # # Bug#32034: check_func_enum() does not check correct values but set it # to impossible int val # INSTALL PLUGIN example SONAME 'ha_example.so'; SET GLOBAL example_enum_var= e1; SET GLOBAL example_enum_var= e2; SET GLOBAL example_enum_var= impossible; ERROR 42000: Variable 'example_enum_var' can't be set to the value of 'impossible' UNINSTALL PLUGIN example; INSTALL PLUGIN example SONAME 'ha_example.so'; select @@session.sql_mode into @old_sql_mode; set session sql_mode=''; set global example_ulong_var=500; select @@global.example_ulong_var; @@global.example_ulong_var 500 set global example_ulong_var=1111; Warnings: Warning 1292 Truncated incorrect example_ulong_var value: '1111' select @@global.example_ulong_var; @@global.example_ulong_var 1000 set session sql_mode='STRICT_ALL_TABLES'; set global example_ulong_var=500; select @@global.example_ulong_var; @@global.example_ulong_var 500 set global example_ulong_var=1111; ERROR 42000: Variable 'example_ulong_var' can't be set to the value of '1111' select @@global.example_ulong_var; @@global.example_ulong_var 500 set session sql_mode=@old_sql_mode; set session old=bla; ERROR HY000: Variable 'old' is a read only variable #legal values CREATE TABLE t1 ( a int complex='c,f,f,f' ) ENGINE=example ULL=10000 STR='dskj' one_or_two='one' YESNO=0; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL `complex`='c,f,f,f' ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=10000 `STR`='dskj' `one_or_two`='one' `YESNO`=0 drop table t1; SET @OLD_SQL_MODE=@@SQL_MODE; SET SQL_MODE='IGNORE_BAD_TABLE_OPTIONS'; #illegal value fixed CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS; Warnings: Warning 1723 Incorrect value '10000000000000000000' for option 'ULL' Warning 1723 Incorrect value 'ttt' for option 'one_or_two' Warning 1723 Incorrect value 'SSS' for option 'YESNO' show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=10000000000000000000 `one_or_two`='ttt' `YESNO`=SSS #alter table alter table t1 ULL=10000000; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `ULL`=10000000 alter table t1 change a a int complex='c,c,c'; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL `complex`='c,c,c' ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `ULL`=10000000 drop table t1; #illegal value error SET SQL_MODE=''; CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS; ERROR HY000: Incorrect value '10000000000000000000' for option 'ULL' CREATE TABLE t1 (a int) ENGINE=example ULL=10.00; ERROR 42000: Only integers allowed as number here near '10.00' at line 1 CREATE TABLE t1 (a int) ENGINE=example ULL=1e2; ERROR 42000: Only integers allowed as number here near '1e2' at line 1 CREATE TABLE t1 (a int) ENGINE=example ULL=0x1234; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=4660 select create_options from information_schema.tables where table_schema='test' and table_name='t1'; create_options `ULL`=4660 ALTER TABLE t1 ULL=DEFAULT; SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 DROP TABLE t1; SET @@SQL_MODE=@OLD_SQL_MODE; select 1; 1 1 UNINSTALL PLUGIN example;