diff options
Diffstat (limited to 'mysql-test/t')
-rw-r--r-- | mysql-test/t/create_options.test | 68 | ||||
-rw-r--r-- | mysql-test/t/events_bugs.test | 1 | ||||
-rw-r--r-- | mysql-test/t/plugin.test | 31 | ||||
-rw-r--r-- | mysql-test/t/sp.test | 1 |
4 files changed, 99 insertions, 2 deletions
diff --git a/mysql-test/t/create_options.test b/mysql-test/t/create_options.test new file mode 100644 index 00000000000..533e6829c00 --- /dev/null +++ b/mysql-test/t/create_options.test @@ -0,0 +1,68 @@ +--disable_warnings +drop table if exists t1; +--enable_warnings + +SET @OLD_SQL_MODE=@@SQL_MODE; +SET SQL_MODE='IGNORE_BAD_TABLE_OPTIONS'; + +create table t1 (a int fkey=vvv, key akey (a) dff=vvv) tkey1='1v1'; +show create table t1; +drop table t1; + +--echo #reassiginig options in the same line +create table t1 (a int fkey=vvv, key akey (a) dff=vvv) tkey1=1v1 TKEY1=DEFAULT tkey1=1v2 tkey2=2v1; +show create table t1; + +-- echo #add option +alter table t1 tkey4=4v1; +show create table t1; + +--echo #remove options +alter table t1 tkey3=DEFAULT tkey4=DEFAULT; +show create table t1; + +drop table t1; + +create table t1 (a int fkey1=v1, key akey (a) kkey1=v1) tkey1=1v1 tkey1=1v2 TKEY1=DEFAULT tkey2=2v1 tkey3=3v1; +show create table t1; + +--echo #change field with option with the same value +alter table t1 change a a int `FKEY1`='v1'; +show create table t1; +--echo #change field with option with a different value +alter table t1 change a a int fkey1=v2; +show create table t1; +--echo #new column no options +alter table t1 add column b int; +show create table t1; +--echo #new key with options +alter table t1 add key bkey (b) kkey2=v1; +show create table t1; +--echo #new column with options +alter table t1 add column c int fkey1=v1 fkey2=v2; +show create table t1; +--echo #new key no options +alter table t1 add key ckey (c); +show create table t1; +--echo #drop column +alter table t1 drop b; +show create table t1; +--echo #add column with options after delete +alter table t1 add column b int fkey2=v1; +show create table t1; +--echo #add key +alter table t1 add key bkey (b) kkey2=v2; +show create table t1; +drop table t1; + +#numeric (unquoted) value +create table t1 (a int) tkey1=100; +show create table t1; +drop table t1; + +--echo #error on unknown option +SET SQL_MODE=''; +--error ER_UNKNOWN_OPTION +create table t1 (a int fkey=vvv, key akey (a) dff=vvv) tkey1=1v1; + +SET @@SQL_MODE=@OLD_SQL_MODE; diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test index 81397b333f9..f2a82f40cff 100644 --- a/mysql-test/t/events_bugs.test +++ b/mysql-test/t/events_bugs.test @@ -1204,7 +1204,6 @@ create event e1 on schedule every 1 day do select 1; select @@sql_mode; set @@sql_mode= @old_mode; # Rename SQL modes that differ in name between the server and the table definition. -select replace(@full_mode, '?', 'NOT_USED') into @full_mode; select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode; select name from mysql.event where name = 'p' and sql_mode = @full_mode; drop event e1; diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test index 0bf86b47dd7..eedaebc25db 100644 --- a/mysql-test/t/plugin.test +++ b/mysql-test/t/plugin.test @@ -84,4 +84,35 @@ set session sql_mode=@old_sql_mode; --error ER_INCORRECT_GLOBAL_LOCAL_VAR set session old=bla; +############################################################### +# engine-specific clauses in the CREATE TABLE: + +--echo #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; +drop table t1; + +SET @OLD_SQL_MODE=@@SQL_MODE; +SET SQL_MODE='IGNORE_BAD_TABLE_OPTIONS'; + +--echo #illegal value fixed +CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS; +show create table t1; + +--echo #alter table +alter table t1 ULL=10000000; +show create table t1; +alter table t1 change a a int complex='c,c,c'; +show create table t1; +drop table t1; + + +--echo #illegal value error +SET SQL_MODE=''; +--error ER_BAD_OPTION_VALUE +CREATE TABLE t1 (a int) ENGINE=example ULL=10000000000000000000 one_or_two='ttt' YESNO=SSS; + +SET @@SQL_MODE=@OLD_SQL_MODE; + + UNINSTALL PLUGIN example; diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 5cf050146dd..db8077bbbef 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -8210,7 +8210,6 @@ call p(); select @@sql_mode; set @@sql_mode= @old_mode; # Rename SQL modes that differ in name between the server and the table definition. -select replace(@full_mode, '?', 'NOT_USED') into @full_mode; select replace(@full_mode, 'ALLOW_INVALID_DATES', 'INVALID_DATES') into @full_mode; select name from mysql.proc where name = 'p' and sql_mode = @full_mode; drop procedure p; |