mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
76f0b94bb0
sql/sql_insert.cc: CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. ****** CREATE ... IF NOT EXISTS may do nothing, but it is still not a failure. don't forget to my_ok it. sql/sql_table.cc: small cleanup ****** small cleanup
128 lines
4.4 KiB
Text
128 lines
4.4 KiB
Text
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 42000: Variable 'old' can't be set to the value of 'bla'
|
|
#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 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'
|
|
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;
|