mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
cleanup: copy RAII helpers from 10.5, cleanup test
This commit is contained in:
@ -1,7 +1,4 @@
|
|||||||
call mtr.add_suppression("table or database name 't-1'");
|
call mtr.add_suppression("table or database name 't-1'");
|
||||||
drop table if exists t1,t2,t3,t4,t5;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop view if exists v1;
|
|
||||||
create table t1 (b char(0));
|
create table t1 (b char(0));
|
||||||
insert into t1 values (""),(null);
|
insert into t1 values (""),(null);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -2066,10 +2063,21 @@ alter table t1 add
|
|||||||
key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0064 (f64) comment 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';
|
key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0064 (f64) comment 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';
|
||||||
ERROR HY000: Cannot create table `t1`: index information is too long. Decrease number of indexes or use shorter index names or shorter comments.
|
ERROR HY000: Cannot create table `t1`: index information is too long. Decrease number of indexes or use shorter index names or shorter comments.
|
||||||
drop table t1;
|
drop table t1;
|
||||||
End of 5.5 tests
|
#
|
||||||
|
# End of 5.5 tests
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS
|
||||||
|
#
|
||||||
create table t1;
|
create table t1;
|
||||||
ERROR 42000: A table must have at least 1 column
|
ERROR 42000: A table must have at least 1 column
|
||||||
|
#
|
||||||
|
# MDEV-11231 Server crashes in check_duplicate_key on CREATE TABLE ... SELECT
|
||||||
|
#
|
||||||
create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j;
|
create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j;
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1831 Duplicate index `i_2`. This is deprecated and will be disallowed in a future release
|
Note 1831 Duplicate index `i_2`. This is deprecated and will be disallowed in a future release
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
#
|
||||||
|
# End of 10.0 tests
|
||||||
|
#
|
||||||
|
@ -5,12 +5,6 @@ call mtr.add_suppression("table or database name 't-1'");
|
|||||||
# Check some special create statements.
|
# Check some special create statements.
|
||||||
#
|
#
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
drop table if exists t1,t2,t3,t4,t5;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop view if exists v1;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
create table t1 (b char(0));
|
create table t1 (b char(0));
|
||||||
insert into t1 values (""),(null);
|
insert into t1 values (""),(null);
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -29,30 +23,30 @@ drop table t1;
|
|||||||
# Test of some CREATE TABLE'S that should fail
|
# Test of some CREATE TABLE'S that should fail
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1146
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t2 engine=heap select * from t1;
|
create table t2 engine=heap select * from t1;
|
||||||
--error 1146
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t2 select auto+1 from t1;
|
create table t2 select auto+1 from t1;
|
||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
--error 1167
|
--error ER_WRONG_KEY_COLUMN
|
||||||
create table t1 (b char(0) not null, index(b));
|
create table t1 (b char(0) not null, index(b));
|
||||||
--error 1163
|
--error ER_TABLE_CANT_HANDLE_BLOB
|
||||||
create table t1 (a int not null,b text) engine=heap;
|
create table t1 (a int not null,b text) engine=heap;
|
||||||
drop table if exists t1;
|
drop table if exists t1;
|
||||||
|
|
||||||
--error 1075
|
--error ER_WRONG_AUTO_KEY
|
||||||
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) engine=heap;
|
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) engine=heap;
|
||||||
|
|
||||||
-- error 1049
|
--error ER_BAD_DB_ERROR
|
||||||
create table not_existing_database.test (a int);
|
create table not_existing_database.test (a int);
|
||||||
create table `a/a` (a int);
|
create table `a/a` (a int);
|
||||||
show create table `a/a`;
|
show create table `a/a`;
|
||||||
create table t1 like `a/a`;
|
create table t1 like `a/a`;
|
||||||
drop table `a/a`;
|
drop table `a/a`;
|
||||||
drop table `t1`;
|
drop table `t1`;
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
|
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
|
||||||
--error 1059
|
--error ER_TOO_LONG_IDENT
|
||||||
create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
|
create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -62,17 +56,17 @@ create table t1 (a datetime default now());
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a datetime on update now());
|
create table t1 (a datetime on update now());
|
||||||
drop table t1;
|
drop table t1;
|
||||||
--error 1067
|
--error ER_INVALID_DEFAULT
|
||||||
create table t1 (a int default 100 auto_increment);
|
create table t1 (a int default 100 auto_increment);
|
||||||
--error 1067
|
--error ER_INVALID_DEFAULT
|
||||||
create table t1 (a tinyint default 1000);
|
create table t1 (a tinyint default 1000);
|
||||||
--error 1067
|
--error ER_INVALID_DEFAULT
|
||||||
create table t1 (a varchar(5) default 'abcdef');
|
create table t1 (a varchar(5) default 'abcdef');
|
||||||
|
|
||||||
create table t1 (a varchar(5) default 'abcde');
|
create table t1 (a varchar(5) default 'abcde');
|
||||||
insert into t1 values();
|
insert into t1 values();
|
||||||
select * from t1;
|
select * from t1;
|
||||||
--error 1067
|
--error ER_INVALID_DEFAULT
|
||||||
SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
|
SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
|
||||||
alter table t1 alter column a set default 'abcdef';
|
alter table t1 alter column a set default 'abcdef';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
@ -97,13 +91,13 @@ create table mysqltest.test2$ (a int);
|
|||||||
drop table mysqltest.test2$;
|
drop table mysqltest.test2$;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
|
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
create table `` (a int);
|
create table `` (a int);
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
drop table if exists ``;
|
drop table if exists ``;
|
||||||
--error 1166
|
--error ER_WRONG_COLUMN_NAME
|
||||||
create table t1 (`` int);
|
create table t1 (`` int);
|
||||||
--error 1280
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
create table t1 (i int, index `` (i));
|
create table t1 (i int, index `` (i));
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -158,13 +152,13 @@ create table t2 (a int) select * from t1;
|
|||||||
describe t1;
|
describe t1;
|
||||||
describe t2;
|
describe t2;
|
||||||
drop table if exists t2;
|
drop table if exists t2;
|
||||||
--error 1060
|
--error ER_DUP_FIELDNAME
|
||||||
create table t2 (a int, a float) select * from t1;
|
create table t2 (a int, a float) select * from t1;
|
||||||
drop table if exists t2;
|
drop table if exists t2;
|
||||||
--error 1060
|
--error ER_DUP_FIELDNAME
|
||||||
create table t2 (a int) select a as b, a+1 as b from t1;
|
create table t2 (a int) select a as b, a+1 as b from t1;
|
||||||
drop table if exists t2;
|
drop table if exists t2;
|
||||||
--error 1060
|
--error ER_DUP_FIELDNAME
|
||||||
create table t2 (b int) select a as b, a+1 as b from t1;
|
create table t2 (b int) select a as b, a+1 as b from t1;
|
||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
|
|
||||||
@ -176,7 +170,7 @@ CREATE TABLE t1 (a int not null);
|
|||||||
INSERT INTO t1 values (1),(2),(1);
|
INSERT INTO t1 values (1),(2),(1);
|
||||||
--error ER_DUP_ENTRY
|
--error ER_DUP_ENTRY
|
||||||
CREATE TABLE t2 (primary key(a)) SELECT * FROM t1;
|
CREATE TABLE t2 (primary key(a)) SELECT * FROM t1;
|
||||||
--error 1146
|
--error ER_NO_SUCH_TABLE
|
||||||
SELECT * from t2;
|
SELECT * from t2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP TABLE IF EXISTS t2;
|
DROP TABLE IF EXISTS t2;
|
||||||
@ -202,7 +196,7 @@ SELECT @@storage_engine;
|
|||||||
CREATE TABLE t1 (a int not null);
|
CREATE TABLE t1 (a int not null);
|
||||||
show create table t1;
|
show create table t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
--error 1286
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
||||||
SET SESSION storage_engine="gemini";
|
SET SESSION storage_engine="gemini";
|
||||||
SELECT @@storage_engine;
|
SELECT @@storage_engine;
|
||||||
CREATE TABLE t1 (a int not null);
|
CREATE TABLE t1 (a int not null);
|
||||||
@ -216,11 +210,11 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
create table t1 ( k1 varchar(2), k2 int, primary key(k1,k2));
|
create table t1 ( k1 varchar(2), k2 int, primary key(k1,k2));
|
||||||
insert into t1 values ("a", 1), ("b", 2);
|
insert into t1 values ("a", 1), ("b", 2);
|
||||||
--error 1048
|
--error ER_BAD_NULL_ERROR
|
||||||
insert into t1 values ("c", NULL);
|
insert into t1 values ("c", NULL);
|
||||||
--error 1048
|
--error ER_BAD_NULL_ERROR
|
||||||
insert into t1 values (NULL, 3);
|
insert into t1 values (NULL, 3);
|
||||||
--error 1048
|
--error ER_BAD_NULL_ERROR
|
||||||
insert into t1 values (NULL, NULL);
|
insert into t1 values (NULL, NULL);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
@ -262,11 +256,11 @@ drop table t1;
|
|||||||
# "Table truncated when creating another table name with Spaces"
|
# "Table truncated when creating another table name with Spaces"
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
create table `t1 `(a int);
|
create table `t1 `(a int);
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
create database `db1 `;
|
create database `db1 `;
|
||||||
--error 1166
|
--error ER_WRONG_COLUMN_NAME
|
||||||
create table t1(`a ` int);
|
create table t1(`a ` int);
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -274,11 +268,11 @@ create table t1(`a ` int);
|
|||||||
# "Parser permits multiple commas without syntax error"
|
# "Parser permits multiple commas without syntax error"
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1064
|
--error ER_PARSE_ERROR
|
||||||
create table t1 (a int,);
|
create table t1 (a int,);
|
||||||
--error 1064
|
--error ER_PARSE_ERROR
|
||||||
create table t1 (a int,,b int);
|
create table t1 (a int,,b int);
|
||||||
--error 1064
|
--error ER_PARSE_ERROR
|
||||||
create table t1 (,b int);
|
create table t1 (,b int);
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -320,13 +314,13 @@ create table t2 like t3;
|
|||||||
show create table t2;
|
show create table t2;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
create table t3 like t1;
|
create table t3 like t1;
|
||||||
--error 1050
|
--error ER_TABLE_EXISTS_ERROR
|
||||||
create table t3 like mysqltest.t3;
|
create table t3 like mysqltest.t3;
|
||||||
--error 1049
|
--error ER_BAD_DB_ERROR
|
||||||
create table non_existing_database.t1 like t1;
|
create table non_existing_database.t1 like t1;
|
||||||
--error ER_NO_SUCH_TABLE
|
--error ER_NO_SUCH_TABLE
|
||||||
create table t3 like non_existing_table;
|
create table t3 like non_existing_table;
|
||||||
--error 1050
|
--error ER_TABLE_EXISTS_ERROR
|
||||||
create temporary table t3 like t1;
|
create temporary table t3 like t1;
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
drop table t3;
|
drop table t3;
|
||||||
@ -360,7 +354,7 @@ SELECT @@storage_engine;
|
|||||||
CREATE TABLE t1 (a int not null);
|
CREATE TABLE t1 (a int not null);
|
||||||
show create table t1;
|
show create table t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
--error 1286
|
--error ER_UNKNOWN_STORAGE_ENGINE
|
||||||
SET SESSION storage_engine="gemini";
|
SET SESSION storage_engine="gemini";
|
||||||
SELECT @@storage_engine;
|
SELECT @@storage_engine;
|
||||||
CREATE TABLE t1 (a int not null);
|
CREATE TABLE t1 (a int not null);
|
||||||
@ -464,9 +458,9 @@ use test;
|
|||||||
# Test for Bug 856 'Naming a key "Primary" causes trouble'
|
# Test for Bug 856 'Naming a key "Primary" causes trouble'
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1280
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
create table t1 (a int, index `primary` (a));
|
create table t1 (a int, index `primary` (a));
|
||||||
--error 1280
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
create table t1 (a int, index `PRIMARY` (a));
|
create table t1 (a int, index `PRIMARY` (a));
|
||||||
|
|
||||||
create table t1 (`primary` int, index(`primary`));
|
create table t1 (`primary` int, index(`primary`));
|
||||||
@ -475,9 +469,9 @@ create table t2 (`PRIMARY` int, index(`PRIMARY`));
|
|||||||
show create table t2;
|
show create table t2;
|
||||||
|
|
||||||
create table t3 (a int);
|
create table t3 (a int);
|
||||||
--error 1280
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
alter table t3 add index `primary` (a);
|
alter table t3 add index `primary` (a);
|
||||||
--error 1280
|
--error ER_WRONG_NAME_FOR_INDEX
|
||||||
alter table t3 add index `PRIMARY` (a);
|
alter table t3 add index `PRIMARY` (a);
|
||||||
|
|
||||||
create table t4 (`primary` int);
|
create table t4 (`primary` int);
|
||||||
@ -532,11 +526,11 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
# Bug#10413: Invalid column name is not rejected
|
# Bug#10413: Invalid column name is not rejected
|
||||||
#
|
#
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
create table t1(column.name int);
|
create table t1(column.name int);
|
||||||
--error 1103
|
--error ER_WRONG_TABLE_NAME
|
||||||
create table t1(test.column.name int);
|
create table t1(test.column.name int);
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
create table t1(xyz.t1.name int);
|
create table t1(xyz.t1.name int);
|
||||||
create table t1(t1.name int);
|
create table t1(t1.name int);
|
||||||
create table t2(test.t2.name int);
|
create table t2(test.t2.name int);
|
||||||
@ -575,7 +569,7 @@ drop table if exists test.t1;
|
|||||||
create database mysqltest;
|
create database mysqltest;
|
||||||
use mysqltest;
|
use mysqltest;
|
||||||
create view v1 as select 'foo' from dual;
|
create view v1 as select 'foo' from dual;
|
||||||
--error 1347
|
--error ER_WRONG_OBJECT
|
||||||
create table t1 like v1;
|
create table t1 like v1;
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
@ -696,7 +690,7 @@ drop table t1, t2;
|
|||||||
#
|
#
|
||||||
# Bug #15316 SET value having comma not correctly handled
|
# Bug #15316 SET value having comma not correctly handled
|
||||||
#
|
#
|
||||||
--error 1367
|
--error ER_ILLEGAL_VALUE_FOR_TYPE
|
||||||
create table t1(a set("a,b","c,d") not null);
|
create table t1(a set("a,b","c,d") not null);
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
@ -894,9 +888,9 @@ INSERT IGNORE INTO t1 (b) VALUES (5);
|
|||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)
|
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)
|
||||||
SELECT a FROM t1;
|
SELECT a FROM t1;
|
||||||
--error 1062
|
--error ER_DUP_ENTRY
|
||||||
INSERT INTO t2 SELECT a FROM t1;
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
--error 1062
|
--error ER_DUP_ENTRY
|
||||||
INSERT INTO t2 SELECT a FROM t1;
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
|
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
@ -956,24 +950,24 @@ drop table t1,t2;
|
|||||||
# Test incorrect database names
|
# Test incorrect database names
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
DROP DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
|
|
||||||
# TODO: enable these tests when RENAME DATABASE is implemented.
|
# TODO: enable these tests when RENAME DATABASE is implemented.
|
||||||
# --error 1049
|
# --error ER_BAD_DB_ERROR
|
||||||
# RENAME DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TO a;
|
# RENAME DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa TO a;
|
||||||
# --error 1102
|
# --error ER_WRONG_DB_NAME
|
||||||
# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
# create database mysqltest;
|
# create database mysqltest;
|
||||||
# --error 1102
|
# --error ER_WRONG_DB_NAME
|
||||||
# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
# RENAME DATABASE mysqltest TO aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
# drop database mysqltest;
|
# drop database mysqltest;
|
||||||
|
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
USE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
--error 1102
|
--error ER_WRONG_DB_NAME
|
||||||
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
SHOW CREATE DATABASE aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -1025,11 +1019,11 @@ before insert on имя_таблицы_в_кодировке_утф8_длино
|
|||||||
select TRIGGER_NAME from information_schema.triggers where
|
select TRIGGER_NAME from information_schema.triggers where
|
||||||
trigger_schema='test';
|
trigger_schema='test';
|
||||||
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
|
drop trigger имя_триггера_в_кодировке_утф8_длиной_больше_чем_49;
|
||||||
--error 1059
|
--error ER_TOO_LONG_IDENT
|
||||||
create trigger
|
create trigger
|
||||||
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
|
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
|
||||||
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
|
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
|
||||||
--error 1059
|
--error ER_TOO_LONG_IDENT
|
||||||
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
|
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
|
||||||
|
|
||||||
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
|
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
|
||||||
@ -1038,7 +1032,7 @@ end;
|
|||||||
select ROUTINE_NAME from information_schema.routines where
|
select ROUTINE_NAME from information_schema.routines where
|
||||||
routine_schema='test';
|
routine_schema='test';
|
||||||
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
|
drop procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50;
|
||||||
--error 1059
|
--error ER_TOO_LONG_IDENT
|
||||||
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
@ -1049,7 +1043,7 @@ return 0;
|
|||||||
select ROUTINE_NAME from information_schema.routines where
|
select ROUTINE_NAME from information_schema.routines where
|
||||||
routine_schema='test';
|
routine_schema='test';
|
||||||
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
|
drop function имя_функции_в_кодировке_утф8_длиной_больше_чем_49;
|
||||||
--error 1059
|
--error ER_TOO_LONG_IDENT
|
||||||
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
||||||
returns int
|
returns int
|
||||||
return 0;
|
return 0;
|
||||||
@ -1917,16 +1911,22 @@ alter table t1 add
|
|||||||
key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0064 (f64) comment 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';
|
key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0064 (f64) comment 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.5 tests
|
--echo #
|
||||||
|
--echo # End of 5.5 tests
|
||||||
|
--echo #
|
||||||
|
|
||||||
#
|
--echo #
|
||||||
# MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS
|
--echo # MDEV-4880 Attempt to create a table without columns produces ER_ILLEGAL_HA instead of ER_TABLE_MUST_HAVE_COLUMNS
|
||||||
#
|
--echo #
|
||||||
--error ER_TABLE_MUST_HAVE_COLUMNS
|
--error ER_TABLE_MUST_HAVE_COLUMNS
|
||||||
create table t1;
|
create table t1;
|
||||||
|
|
||||||
#
|
--echo #
|
||||||
# MDEV-11231 Server crashes in check_duplicate_key on CREATE TABLE ... SELECT
|
--echo # MDEV-11231 Server crashes in check_duplicate_key on CREATE TABLE ... SELECT
|
||||||
#
|
--echo #
|
||||||
create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j;
|
create table t1 (i int, j int, key(i), key(i)) as select 1 as i, 2 as j;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.0 tests
|
||||||
|
--echo #
|
||||||
|
@ -5997,6 +5997,38 @@ class Sql_mode_save
|
|||||||
sql_mode_t old_mode; // SQL mode saved at construction time.
|
sql_mode_t old_mode; // SQL mode saved at construction time.
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Abort_on_warning_instant_set
|
||||||
|
{
|
||||||
|
THD *m_thd;
|
||||||
|
bool m_save_abort_on_warning;
|
||||||
|
public:
|
||||||
|
Abort_on_warning_instant_set(THD *thd, bool temporary_value)
|
||||||
|
:m_thd(thd), m_save_abort_on_warning(thd->abort_on_warning)
|
||||||
|
{
|
||||||
|
thd->abort_on_warning= temporary_value;
|
||||||
|
}
|
||||||
|
~Abort_on_warning_instant_set()
|
||||||
|
{
|
||||||
|
m_thd->abort_on_warning= m_save_abort_on_warning;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class Check_level_instant_set
|
||||||
|
{
|
||||||
|
THD *m_thd;
|
||||||
|
enum_check_fields m_check_level;
|
||||||
|
public:
|
||||||
|
Check_level_instant_set(THD *thd, enum_check_fields temporary_value)
|
||||||
|
:m_thd(thd), m_check_level(thd->count_cuted_fields)
|
||||||
|
{
|
||||||
|
thd->count_cuted_fields= temporary_value;
|
||||||
|
}
|
||||||
|
~Check_level_instant_set()
|
||||||
|
{
|
||||||
|
m_thd->count_cuted_fields= m_check_level;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
class Switch_to_definer_security_ctx
|
class Switch_to_definer_security_ctx
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -944,7 +944,7 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
|
|||||||
TABLE table;
|
TABLE table;
|
||||||
TABLE_SHARE share;
|
TABLE_SHARE share;
|
||||||
Create_field *field;
|
Create_field *field;
|
||||||
enum_check_fields old_count_cuted_fields= thd->count_cuted_fields;
|
Check_level_instant_set old_count_cuted_fields(thd, CHECK_FIELD_WARN);
|
||||||
DBUG_ENTER("make_empty_rec");
|
DBUG_ENTER("make_empty_rec");
|
||||||
|
|
||||||
/* We need a table to generate columns for default values */
|
/* We need a table to generate columns for default values */
|
||||||
@ -963,7 +963,6 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
|
|||||||
null_pos= buff;
|
null_pos= buff;
|
||||||
|
|
||||||
List_iterator<Create_field> it(create_fields);
|
List_iterator<Create_field> it(create_fields);
|
||||||
thd->count_cuted_fields= CHECK_FIELD_WARN; // To find wrong default values
|
|
||||||
while ((field=it++))
|
while ((field=it++))
|
||||||
{
|
{
|
||||||
/* regfield don't have to be deleted as it's allocated on THD::mem_root */
|
/* regfield don't have to be deleted as it's allocated on THD::mem_root */
|
||||||
@ -1039,6 +1038,5 @@ static bool make_empty_rec(THD *thd, uchar *buff, uint table_options,
|
|||||||
*(null_pos + null_count / 8)|= ~(((uchar) 1 << (null_count & 7)) - 1);
|
*(null_pos + null_count / 8)|= ~(((uchar) 1 << (null_count & 7)) - 1);
|
||||||
|
|
||||||
err:
|
err:
|
||||||
thd->count_cuted_fields= old_count_cuted_fields;
|
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
} /* make_empty_rec */
|
} /* make_empty_rec */
|
||||||
|
Reference in New Issue
Block a user