2006-12-15 00:09:56 +01:00
|
|
|
CREATE TABLE t1(a int) ENGINE=EXAMPLE;
|
|
|
|
Warnings:
|
2009-12-22 12:02:52 +01:00
|
|
|
Warning 1286 Unknown storage engine 'EXAMPLE'
|
2007-05-18 13:23:46 +02:00
|
|
|
Warning 1266 Using storage engine MyISAM for table 't1'
|
2006-12-15 00:09:56 +01:00
|
|
|
DROP TABLE t1;
|
2012-03-05 21:48:06 +01:00
|
|
|
INSTALL PLUGIN example SONAME 'ha_example';
|
|
|
|
INSTALL PLUGIN EXAMPLE SONAME 'ha_example';
|
2006-12-15 00:09:56 +01:00
|
|
|
ERROR HY000: Function 'EXAMPLE' already exists
|
|
|
|
UNINSTALL PLUGIN example;
|
2012-03-05 21:48:06 +01:00
|
|
|
INSTALL SONAME 'ha_example';
|
|
|
|
select * from information_schema.plugins where plugin_library like 'ha_example%';
|
|
|
|
PLUGIN_NAME EXAMPLE
|
|
|
|
PLUGIN_VERSION 0.1
|
|
|
|
PLUGIN_STATUS ACTIVE
|
|
|
|
PLUGIN_TYPE STORAGE ENGINE
|
|
|
|
PLUGIN_TYPE_VERSION #
|
|
|
|
PLUGIN_LIBRARY ha_example.so
|
2013-01-18 19:04:23 +01:00
|
|
|
PLUGIN_LIBRARY_VERSION 1.4
|
2012-03-05 21:48:06 +01:00
|
|
|
PLUGIN_AUTHOR Brian Aker, MySQL AB
|
|
|
|
PLUGIN_DESCRIPTION Example storage engine
|
|
|
|
PLUGIN_LICENSE GPL
|
|
|
|
LOAD_OPTION ON
|
|
|
|
PLUGIN_MATURITY Experimental
|
|
|
|
PLUGIN_AUTH_VERSION 0.1
|
|
|
|
PLUGIN_NAME UNUSABLE
|
|
|
|
PLUGIN_VERSION 3.14
|
|
|
|
PLUGIN_STATUS ACTIVE
|
|
|
|
PLUGIN_TYPE DAEMON
|
|
|
|
PLUGIN_TYPE_VERSION #
|
|
|
|
PLUGIN_LIBRARY ha_example.so
|
2013-01-18 19:04:23 +01:00
|
|
|
PLUGIN_LIBRARY_VERSION 1.4
|
2012-03-05 21:48:06 +01:00
|
|
|
PLUGIN_AUTHOR Sergei Golubchik
|
|
|
|
PLUGIN_DESCRIPTION Unusable Daemon
|
|
|
|
PLUGIN_LICENSE GPL
|
|
|
|
LOAD_OPTION ON
|
|
|
|
PLUGIN_MATURITY Experimental
|
|
|
|
PLUGIN_AUTH_VERSION 3.14.15.926
|
2013-04-09 15:47:25 +02:00
|
|
|
CREATE TABLE t1 (a int) ENGINE=EXAMPLE;
|
|
|
|
CREATE TABLE t2 (a int) ENGINE=EXAMPLE;
|
|
|
|
FLUSH TABLES;
|
2006-12-15 00:09:56 +01:00
|
|
|
SELECT * FROM t1;
|
|
|
|
a
|
2009-11-02 21:05:42 +01:00
|
|
|
set global example_ulong_var=500;
|
|
|
|
set global example_enum_var= e1;
|
|
|
|
show status like 'example%';
|
|
|
|
Variable_name Value
|
2013-04-09 23:27:33 +02:00
|
|
|
Example_func_example enum_var is 0, ulong_var is 500, really
|
2009-11-02 21:05:42 +01:00
|
|
|
show variables like 'example%';
|
|
|
|
Variable_name Value
|
|
|
|
example_enum_var e1
|
|
|
|
example_ulong_var 500
|
2013-04-09 23:27:24 +02:00
|
|
|
example_varopt_default 5
|
2012-03-05 21:48:06 +01:00
|
|
|
UNINSTALL SONAME 'ha_example';
|
|
|
|
Warnings:
|
|
|
|
Warning 1620 Plugin is busy and will be uninstalled on shutdown
|
|
|
|
select * from information_schema.plugins where plugin_library like 'ha_example%';
|
|
|
|
PLUGIN_NAME EXAMPLE
|
|
|
|
PLUGIN_VERSION 0.1
|
|
|
|
PLUGIN_STATUS DELETED
|
|
|
|
PLUGIN_TYPE STORAGE ENGINE
|
|
|
|
PLUGIN_TYPE_VERSION #
|
|
|
|
PLUGIN_LIBRARY ha_example.so
|
2013-01-18 19:04:23 +01:00
|
|
|
PLUGIN_LIBRARY_VERSION 1.4
|
2012-03-05 21:48:06 +01:00
|
|
|
PLUGIN_AUTHOR Brian Aker, MySQL AB
|
|
|
|
PLUGIN_DESCRIPTION Example storage engine
|
|
|
|
PLUGIN_LICENSE GPL
|
|
|
|
LOAD_OPTION ON
|
|
|
|
PLUGIN_MATURITY Experimental
|
|
|
|
PLUGIN_AUTH_VERSION 0.1
|
|
|
|
DROP TABLE t1;
|
2013-04-09 15:47:25 +02:00
|
|
|
select * from information_schema.plugins where plugin_library like 'ha_example%';
|
|
|
|
SELECT * FROM t2;
|
|
|
|
ERROR 42000: Unknown storage engine 'EXAMPLE'
|
|
|
|
DROP TABLE t2;
|
2007-05-21 14:48:29 +02:00
|
|
|
UNINSTALL PLUGIN EXAMPLE;
|
|
|
|
ERROR 42000: PLUGIN EXAMPLE does not exist
|
2006-12-15 00:09:56 +01:00
|
|
|
UNINSTALL PLUGIN non_exist;
|
|
|
|
ERROR 42000: PLUGIN non_exist does not exist
|
2013-01-09 17:29:51 +01:00
|
|
|
UNINSTALL SONAME 'non_exist';
|
|
|
|
ERROR 42000: SONAME non_exist.so does not exist
|
2007-11-14 10:48:21 +01:00
|
|
|
#
|
|
|
|
# Bug#32034: check_func_enum() does not check correct values but set it
|
|
|
|
# to impossible int val
|
|
|
|
#
|
2012-03-05 21:48:06 +01:00
|
|
|
INSTALL PLUGIN example SONAME 'ha_example';
|
2007-11-14 10:48:21 +01:00
|
|
|
SET GLOBAL example_enum_var= e1;
|
|
|
|
SET GLOBAL example_enum_var= e2;
|
|
|
|
SET GLOBAL example_enum_var= impossible;
|
2009-12-22 10:35:56 +01:00
|
|
|
ERROR 42000: Variable 'example_enum_var' can't be set to the value of 'impossible'
|
2007-11-14 10:48:21 +01:00
|
|
|
UNINSTALL PLUGIN example;
|
2012-03-05 21:48:06 +01:00
|
|
|
INSTALL PLUGIN example SONAME 'ha_example';
|
2008-02-24 14:12:17 +01:00
|
|
|
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:
|
2009-12-22 10:35:56 +01:00
|
|
|
Warning 1292 Truncated incorrect example_ulong_var value: '1111'
|
2008-02-24 14:12:17 +01:00
|
|
|
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;
|
2009-12-22 10:35:56 +01:00
|
|
|
ERROR 42000: Variable 'example_ulong_var' can't be set to the value of '1111'
|
2008-02-24 14:12:17 +01:00
|
|
|
select @@global.example_ulong_var;
|
|
|
|
@@global.example_ulong_var
|
|
|
|
500
|
|
|
|
set session sql_mode=@old_sql_mode;
|
|
|
|
set session old=bla;
|
2011-10-19 21:45:18 +02:00
|
|
|
ERROR 42000: Variable 'old' can't be set to the value of 'bla'
|
2010-04-08 14:10:05 +02:00
|
|
|
#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'
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=10000 `STR`='dskj' `one_or_two`='one' `YESNO`=0 `VAROPT`='5'
|
2010-04-08 14:10:05 +02:00
|
|
|
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:
|
2011-05-20 23:46:18 +02:00
|
|
|
Warning 1912 Incorrect value '10000000000000000000' for option 'ULL'
|
|
|
|
Warning 1912 Incorrect value 'ttt' for option 'one_or_two'
|
|
|
|
Warning 1912 Incorrect value 'SSS' for option 'YESNO'
|
2010-04-08 14:10:05 +02:00
|
|
|
show create table t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=10000000000000000000 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5'
|
2010-04-08 14:10:05 +02:00
|
|
|
#alter table
|
|
|
|
alter table t1 ULL=10000000;
|
|
|
|
show create table t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5' `ULL`=10000000
|
2010-04-08 14:10:05 +02:00
|
|
|
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'
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `one_or_two`='ttt' `YESNO`=SSS `VAROPT`='5' `ULL`=10000000
|
2010-04-08 14:10:05 +02:00
|
|
|
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'
|
2010-04-30 12:12:25 +02:00
|
|
|
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
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ULL`=4660 `VAROPT`='5'
|
|
|
|
SET example_varopt_default=33;
|
2010-10-24 20:47:01 +02:00
|
|
|
select create_options from information_schema.tables where table_schema='test' and table_name='t1';
|
|
|
|
create_options
|
2013-04-09 23:27:24 +02:00
|
|
|
`ULL`=4660 `VAROPT`='5'
|
2010-04-30 22:04:35 +02:00
|
|
|
ALTER TABLE t1 ULL=DEFAULT;
|
|
|
|
SHOW CREATE TABLE t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
2013-04-09 23:27:24 +02:00
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `VAROPT`='5'
|
2010-04-30 12:12:25 +02:00
|
|
|
DROP TABLE t1;
|
2013-04-09 23:27:24 +02:00
|
|
|
create table t1 (a int) engine=example;
|
|
|
|
show create table t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `VAROPT`='33'
|
|
|
|
drop table t1;
|
|
|
|
create table t1 (a int) engine=example varopt=15;
|
|
|
|
show create table t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `varopt`=15
|
|
|
|
alter table t1 varopt=default;
|
|
|
|
show create table t1;
|
|
|
|
Table Create Table
|
|
|
|
t1 CREATE TABLE `t1` (
|
|
|
|
`a` int(11) DEFAULT NULL
|
|
|
|
) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `VAROPT`='33'
|
|
|
|
drop table t1;
|
2010-04-08 14:10:05 +02:00
|
|
|
SET @@SQL_MODE=@OLD_SQL_MODE;
|
2010-04-08 19:19:01 +02:00
|
|
|
select 1;
|
|
|
|
1
|
|
|
|
1
|
2008-02-24 14:12:17 +01:00
|
|
|
UNINSTALL PLUGIN example;
|