mariadb/mysql-test/r/create.result
unknown b388eb004d Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86


BitKeeper/etc/ignore:
  added libmysqld/sql_state.c
client/mysql.cc:
  Added SQLSTATE to error messages
  Added new function put_error() to be able to clean up some old code.
client/mysqltest.c:
  Write ERROR SQLSTATE for all errors
dbug/dbug.c:
  Portability fixes
include/m_string.h:
  Rename bmove_allign as bmove_align
include/mysql.h:
  Added SQLSTATE (for embedded version)
include/mysql_com.h:
  Send correct SQLSTATE for the error to the client
libmysql/libmysql.c:
  Changed default error state to HY000
  Applied code cleanup patch
libmysqld/Makefile.am:
  Added sql_state.cc
libmysqld/libmysqld.c:
  Added sqlstate
mysql-test/r/analyse.result:
  Updated results
mysql-test/r/ansi.result:
  Updated results
mysql-test/r/auto_increment.result:
  Updated results
mysql-test/r/bdb-deadlock.result:
  Updated results
mysql-test/r/bdb.result:
  Updated results
mysql-test/r/comments.result:
  Updated results
mysql-test/r/create.result:
  Updated results
mysql-test/r/ctype_collate.result:
  Updated results
mysql-test/r/delayed.result:
  Updated results
mysql-test/r/delete.result:
  Updated results
mysql-test/r/derived.result:
  Updated results
mysql-test/r/distinct.result:
  Updated results
mysql-test/r/drop.result:
  Updated results
mysql-test/r/err000001.result:
  Updated results
mysql-test/r/explain.result:
  Updated results
mysql-test/r/flush.result:
  Updated results
mysql-test/r/fulltext.result:
  Updated results
mysql-test/r/func_gconcat.result:
  Updated results
mysql-test/r/func_system.result:
  Updated results
mysql-test/r/grant_cache.result:
  Updated results
mysql-test/r/group_by.result:
  Updated results
mysql-test/r/handler.result:
  Updated results
mysql-test/r/heap.result:
  Updated results
mysql-test/r/heap_btree.result:
  Updated results
mysql-test/r/heap_hash.result:
  Updated results
mysql-test/r/innodb.result:
  Updated results
mysql-test/r/innodb_handler.result:
  Updated results
mysql-test/r/insert_select.result:
  Updated results
mysql-test/r/insert_update.result:
  Updated results
mysql-test/r/join.result:
  Updated results
mysql-test/r/join_outer.result:
  Updated results
mysql-test/r/key.result:
  Updated results
mysql-test/r/lock.result:
  Updated results
mysql-test/r/lock_multi.result:
  Updated results
mysql-test/r/merge.result:
  Updated results
mysql-test/r/multi_update.result:
  Updated results
mysql-test/r/myisam.result:
  Updated results
mysql-test/r/null.result:
  Updated results
mysql-test/r/olap.result:
  Updated results
mysql-test/r/order_by.result:
  Updated results
mysql-test/r/packet.result:
  Updated results
mysql-test/r/query_cache.result:
  Updated results
mysql-test/r/row.result:
  Updated results
mysql-test/r/rpl000001.result:
  Updated results
mysql-test/r/rpl000009.result:
  Updated results
mysql-test/r/rpl_empty_master_crash.result:
  Updated results
mysql-test/r/rpl_log.result:
  Updated results
mysql-test/r/rpl_replicate_do.result:
  Updated results
mysql-test/r/rpl_rotate_logs.result:
  Updated results
mysql-test/r/select.result:
  Updated results
mysql-test/r/select_safe.result:
  Updated results
mysql-test/r/show_check.result:
  Updated results
mysql-test/r/sql_mode.result:
  Updated results
mysql-test/r/subselect.result:
  Updated results
mysql-test/r/temp_table.result:
  Updated results
mysql-test/r/truncate.result:
  Updated results
mysql-test/r/type_blob.result:
  Updated results
mysql-test/r/type_decimal.result:
  Updated results
mysql-test/r/type_float.result:
  Updated results
mysql-test/r/type_ranges.result:
  Updated results
mysql-test/r/union.result:
  Updated results
mysql-test/r/update.result:
  Updated results
mysql-test/r/user_var.result:
  Updated results
mysql-test/r/varbinary.result:
  Updated results
mysql-test/r/variables.result:
  Updated results
mysql-test/t/ansi.test:
  Test of sql_mode
mysql-test/t/derived.test:
  Updated results
mysql-test/t/func_system.test:
  Make this independen of the MySQL server name
mysql-test/t/lowercase_table.test:
  Cleanup
mysql-test/t/olap.test:
  A lot of new tests
mysql-test/t/sql_mode.test:
  More test for sql_mode
mysql-test/t/subselect.test:
  Added a few new tests (to find a bug in the item_ref code)
scripts/Makefile.am:
  Added mysql_fix_privilege_tables.sql
scripts/mysql_fix_privilege_tables.sh:
  Totally new script.  This bascily just pipes mysql_fix_privilege_tables.sql through 'mysql' to 'mysqld'
sql/Makefile.am:
  Added sql_state.cc
sql/item.cc:
  Extended Item_field::eq() to be able to better match GROUP BY fields on the command line.
  Needed for ROLLUP
sql/item.h:
  Added function to be able to avoid calling current_thd() when doing new Item.
sql/item_sum.cc:
  Moved copy_or_same() and some reset() functions from item_sum.h
  Needed to be able to access thd->mem_root.
sql/item_sum.h:
  Moved some functions to item_sum.cc
  Added make_unique() for ROLLUP
sql/item_uniq.h:
  Fixed return value
sql/mysql_priv.h:
  Updated MODE flags
sql/mysqld.cc:
  Added ANSI as it's own mode
  Moved charset_info variables here
  Cleaned up handler_count handling (for NT)
  Added table_alias_charset, for easier --lower-case-table-name handling
sql/net_serv.cc:
  New comment
sql/protocol.cc:
  Send SQLSTATE to client
sql/set_var.cc:
  Better SQL_MODE handling (Setting complex options also sets sub options)
sql/set_var.h:
  Better SQL_MODE handling
sql/sql_base.cc:
  Make alias depend on --lower-case-table-names
  Make find_item_in_list also check database name
sql/sql_cache.cc:
  Indentation cleanup
sql/sql_list.h:
  Added safety assert
  Addes support of alloc without current_thd()
sql/sql_prepare.cc:
  Update after prototype change
sql/sql_select.cc:
  Added ROLLUP
sql/sql_select.h:
  structures for rollup
sql/sql_show.cc:
  Easier SQL_MODE handling
sql/sql_string.cc:
  Move CHARSET_INFO to mysqld (to be together with all other global variables)
sql/sql_string.h:
  Added function to be able to avoid calling current_thd() when doing new Item.
sql/sql_table.cc:
  Simpler --lower-case-table-name handling
sql/sql_union.cc:
  Update after prototype change
sql/sql_yacc.yy:
  ROLLUP
sql/unireg.h:
  bmove_allign ->bmove_align
strings/Makefile.am:
  Fix to be able to compile str_test.c
strings/ctype.c:
  Removed empty lines
strings/str_test.c:
  Added test of bmove_align
strings/strings-x86.s:
  Faster bmove_align, bmove_upp and strmake
strings/strings.asm:
  move_allg
2003-06-04 18:28:51 +03:00

312 lines
9.5 KiB
Text

drop table if exists t1,t2,t3;
create table t1 (b char(0));
insert into t1 values (""),(null);
select * from t1;
b
NULL
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);
Warnings:
Warning 1261 Data truncated, NULL supplied to NOT NULL column 'b' at row 2
select * from t1;
b
drop table t1;
create table t2 type=heap select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table t2 select auto+1 from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
drop table if exists t1,t2;
Warnings:
Note 1051 Unknown table 't1'
Note 1051 Unknown table 't2'
create table t1 (b char(0) not null, index(b));
ERROR 42000: The used storage engine can't index column 'b'
create table t1 (a int not null auto_increment,primary key (a)) type=heap;
create table t1 (a int not null,b text) type=heap;
ERROR 42000: The used table type doesn't support BLOB/TEXT columns
drop table if exists t1;
create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=heap;
ERROR 42000: Incorrect table definition; There can only be one auto column and it must be defined as a key
create table not_existing_database.test (a int);
Got one of the listed errors
create table `a/a` (a int);
ERROR 42000: Incorrect table name 'a/a'
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int);
ERROR 42000: Incorrect table name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
create table a (`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` int);
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
create table 1ea10 (1a20 int,1e int);
insert into 1ea10 values(1,1);
select 1ea10.1a20,1e+ 1e+10 from 1ea10;
1a20 1e+ 1e+10
1 10000000001
drop table 1ea10;
create table t1 (t1.index int);
drop table t1;
drop database if exists test_$1;
Warnings:
Note 1008 Can't drop database 'test_$1'. Database doesn't exist
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;
a$1 $b c$
1 2 3
create table test_$1.test2$ (a int);
drop table test_$1.test2$;
drop database test_$1;
create table `` (a int);
ERROR 42000: Incorrect table name ''
drop table if exists ``;
ERROR 42000: Incorrect table name ''
create table t1 (`` int);
ERROR 42000: Incorrect column name ''
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
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";
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref B B 21 const 1 Using where
select * from t2 where b="world";
a B
3 world
drop table t1,t2;
create table t1(x varchar(50) );
create table t2 select x from t1 where 1=2;
describe t1;
Field Type Collation Null Key Default Extra
x varchar(50) latin1_swedish_ci YES NULL
describe t2;
Field Type Collation Null Key Default Extra
x char(50) latin1_swedish_ci YES NULL
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;
Field Type Collation Null Key Default Extra
a datetime NULL 0000-00-00 00:00:00
b time NULL 00:00:00
c date NULL 0000-00-00
d bigint(17) NULL 0
e double(18,1) NULL 0.0
f bigint(17) NULL 0
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;
Field Type Collation Null Key Default Extra
d date NULL 0000-00-00
t time NULL 00:00:00
dt datetime NULL 0000-00-00 00:00:00
drop table t1,t2;
create table t1 (a tinyint);
create table t2 (a int) select * from t1;
describe t1;
Field Type Collation Null Key Default Extra
a tinyint(4) NULL YES NULL
describe t2;
Field Type Collation Null Key Default Extra
a int(11) NULL YES NULL
drop table if exists t2;
create table t2 (a int, a float) select * from t1;
ERROR 42S21: Duplicate column name 'a'
drop table if exists t2;
Warnings:
Note 1051 Unknown table 't2'
create table t2 (a int) select a as b, a+1 as b from t1;
ERROR 42S21: Duplicate column name 'b'
drop table if exists t2;
Warnings:
Note 1051 Unknown table 't2'
create table t2 (b int) select a as b, a+1 as b from t1;
ERROR 42S21: Duplicate column name 'b'
drop table if exists t1,t2;
Warnings:
Note 1051 Unknown table 't2'
create table t1 (a int not null, b int, primary key(a), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b), key (b));
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0',
`b` int(11) default NULL,
PRIMARY KEY (`a`),
KEY `b` (`b`),
KEY `b_2` (`b`),
KEY `b_3` (`b`),
KEY `b_4` (`b`),
KEY `b_5` (`b`),
KEY `b_6` (`b`),
KEY `b_7` (`b`),
KEY `b_8` (`b`),
KEY `b_9` (`b`),
KEY `b_10` (`b`),
KEY `b_11` (`b`),
KEY `b_12` (`b`),
KEY `b_13` (`b`),
KEY `b_14` (`b`),
KEY `b_15` (`b`),
KEY `b_16` (`b`),
KEY `b_17` (`b`),
KEY `b_18` (`b`),
KEY `b_19` (`b`),
KEY `b_20` (`b`),
KEY `b_21` (`b`),
KEY `b_22` (`b`),
KEY `b_23` (`b`),
KEY `b_24` (`b`),
KEY `b_25` (`b`),
KEY `b_26` (`b`),
KEY `b_27` (`b`),
KEY `b_28` (`b`),
KEY `b_29` (`b`),
KEY `b_30` (`b`),
KEY `b_31` (`b`)
) TYPE=MyISAM CHARSET=latin1
drop table t1;
create table t1 select if(1,'1','0'), month("2002-08-02");
drop table t1;
create table t1 select if('2002'='2002','Y','N');
select * from t1;
if('2002'='2002','Y','N')
Y
drop table if exists t1;
SET SESSION table_type="heap";
SELECT @@table_type;
@@table_type
HEAP
CREATE TABLE t1 (a int not null);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0'
) TYPE=HEAP CHARSET=latin1
drop table t1;
SET SESSION table_type="gemini";
SELECT @@table_type;
@@table_type
GEMINI
CREATE TABLE t1 (a int not null);
Warnings:
Warning 1264 Using storage engine MYISAM for table 't1'
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0'
) TYPE=MyISAM CHARSET=latin1
SET SESSION table_type=default;
drop table t1;
create table t1 ( k1 varchar(2), k2 int, primary key(k1,k2));
insert into t1 values ("a", 1), ("b", 2);
insert into t1 values ("c", NULL);
ERROR 23000: Column 'k2' cannot be null
insert into t1 values (NULL, 3);
ERROR 23000: Column 'k1' cannot be null
insert into t1 values (NULL, NULL);
ERROR 23000: Column 'k1' cannot be null
drop table t1;
create table t1 (a int, key(a));
create table t2 (b int, foreign key(b) references t1(a), key(b));
drop table if exists t1,t2;
create table t1(id int not null, name char(20));
insert into t1 values(10,'mysql'),(20,'monty- the creator');
create table t2(id int not null);
insert into t2 values(10),(20);
create table t3 like t1;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`id` int(11) NOT NULL default '0',
`name` char(20) default NULL
) TYPE=MyISAM CHARSET=latin1
select * from t3;
id name
create table if not exists t3 like t1;
Warnings:
Warning 1050 Table 't3' already exists
select @@warning_count;
@@warning_count
1
create temporary table t3 like t2;
show create table t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`id` int(11) NOT NULL default '0'
) TYPE=MyISAM CHARSET=latin1
select * from t3;
id
drop table t3;
show create table t3;
Table Create Table
t3 CREATE TABLE `t3` (
`id` int(11) NOT NULL default '0',
`name` char(20) default NULL
) TYPE=MyISAM CHARSET=latin1
select * from t3;
id name
drop table t2, t3;
drop database if exists test_$1;
Warnings:
Note 1008 Can't drop database 'test_$1'. Database doesn't exist
create database test_$1;
create table test_$1.t3 like t1;
create temporary table t3 like test_$1.t3;
show create table t3;
Table Create Table
t3 CREATE TEMPORARY TABLE `t3` (
`id` int(11) NOT NULL default '0',
`name` char(20) default NULL
) TYPE=MyISAM CHARSET=latin1
create table t2 like t3;
show create table t2;
Table Create Table
t2 CREATE TABLE `t2` (
`id` int(11) NOT NULL default '0',
`name` char(20) default NULL
) TYPE=MyISAM CHARSET=latin1
select * from t2;
id name
create table t3 like t1;
create table t3 like test_$1.t3;
ERROR 42S01: Table 't3' already exists
create table non_existing_database.t1 like t1;
Got one of the listed errors
create table t3 like non_existing_table;
ERROR 42S02: Unknown table 'non_existing_table'
create temporary table t3 like t1;
ERROR 42S01: Table 't3' already exists
create table t3 like `a/a`;
ERROR 42000: Incorrect table name 'a/a'
drop table t1, t2, t3;
drop table t3;
drop database test_$1;
SET SESSION table_type="heap";
SELECT @@table_type;
@@table_type
HEAP
CREATE TABLE t1 (a int not null);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0'
) TYPE=HEAP CHARSET=latin1
drop table t1;
SET SESSION table_type="gemini";
SELECT @@table_type;
@@table_type
GEMINI
CREATE TABLE t1 (a int not null);
Warnings:
Warning 1264 Using storage engine MYISAM for table 't1'
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL default '0'
) TYPE=MyISAM CHARSET=latin1
SET SESSION table_type=default;
drop table t1;