mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 13:02:28 +01:00
b79170b7fd
Cleanup of multi-table-delete in sql_yacc.yy Changed syntax of MAXIMUM QUERIES PER HOUR to MAX_QUERIES_PER_HOUR to not get too many reserved words. Docs/manual.texi: Updated information about CAST mysql-test/r/bigint.result: New CAST syntax mysql-test/r/create.result: New CAST syntax mysql-test/r/variables.result: Fix after merge with 3.23 mysql-test/t/bigint.test: New CAST syntax mysql-test/t/create.test: New CAST syntax sql/item_create.cc: New CAST syntax sql/item_func.h: New CAST syntax sql/item_timefunc.cc: New CAST syntax sql/item_timefunc.h: New CAST syntax sql/lex.h: Changed syntax to MAX_QUERIES_PER_HOUR to not get too many reserved words. sql/mysql_priv.h: Cleanup multi-delete sql/sql_parse.cc: Cleanup multi-delete sql/sql_yacc.yy: Cleanup multi-delete. New CAST syntax. Removed some restricted words.
83 lines
2.6 KiB
Text
83 lines
2.6 KiB
Text
#
|
|
# Check some special create statements.
|
|
#
|
|
|
|
drop table if exists t1,t2;
|
|
create table t1 (b char(0));
|
|
insert into t1 values (""),(null);
|
|
select * from t1;
|
|
drop table if exists t1;
|
|
|
|
create table t1 (b char(0) not null);
|
|
create table if not exists t1 (b char(0) not null);
|
|
insert into t1 values (""),(null);
|
|
select * from t1;
|
|
drop table if exists t1;
|
|
|
|
#
|
|
# Test of some CREATE TABLE'S that should fail
|
|
#
|
|
|
|
!$1146 create table t2 type=heap select * from t1;
|
|
!$1146 create table t2 select auto+1 from t1;
|
|
drop table if exists t1,t2;
|
|
!$1167 create table t1 (b char(0) not null, index(b));
|
|
!$1164 create table t1 (a int not null auto_increment,primary key (a)) type=heap;
|
|
!$1163 create table t1 (a int not null,b text) type=heap;
|
|
!$1171 create table t1 (a int ,primary key(a)) type=heap;
|
|
drop table if exists t1;
|
|
|
|
!$1164 create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=heap;
|
|
!$1171 create table t1 (ordid int(8), primary key (ordid));
|
|
|
|
-- error 1044,1
|
|
create table not_existing_database.test (a int);
|
|
!$1103 create table `a/a` (a int);
|
|
!$1103 create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
|
|
!$1059 create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
|
|
|
|
#
|
|
# test of dummy table names
|
|
#
|
|
|
|
create table 1ea10 (1a20 int,1e int);
|
|
insert into 1ea10 values(1,1);
|
|
select 1ea10.1a20,1e+ 1e+10 from 1ea10;
|
|
drop table 1ea10;
|
|
create table t1 (t1.index int);
|
|
drop table t1;
|
|
drop database if exists test_$1;
|
|
create database test_$1;
|
|
create table test_$1.$test1 (a$1 int, $b int, c$ int);
|
|
insert into test_$1.$test1 values (1,2,3);
|
|
select a$1, $b, c$ from test_$1.$test1;
|
|
create table test_$1.test2$ (a int);
|
|
drop table test_$1.test2$;
|
|
drop database test_$1;
|
|
|
|
#
|
|
# Test of CREATE ... SELECT with indexes
|
|
#
|
|
|
|
create table t1 (a int auto_increment not null primary key, B CHAR(20));
|
|
insert into t1 (b) values ("hello"),("my"),("world");
|
|
create table t2 (key (b)) select * from t1;
|
|
explain select * from t2 where b="world";
|
|
select * from t2 where b="world";
|
|
drop table t1,t2;
|
|
|
|
#
|
|
# Test types after CREATE ... SELECT
|
|
#
|
|
|
|
create table t1(x varchar(50) );
|
|
create table t2 select x from t1 where 1=2;
|
|
describe t1;
|
|
describe t2;
|
|
drop table t2;
|
|
create table t2 select now() as a , curtime() as b, curdate() as c , 1+1 as d , 1.0 + 1 as e , 33333333333333333 + 3 as f;
|
|
describe t2;
|
|
drop table t2;
|
|
create table t2 select CAST("2001-12-29" AS DATE) as d, CAST("20:45:11" AS TIME) as t, CAST("2001-12-29 20:45:11" AS DATETIME) as dt;
|
|
describe t2;
|
|
drop table t1,t2;
|