mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge 4.1 to 5.0.
BitKeeper/etc/logging_ok: auto-union client/mysql.cc: Auto merged configure.in: Auto merged client/mysqltest.c: Auto merged include/my_global.h: Auto merged include/my_pthread.h: Auto merged include/mysql_com.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/lib_sql.cc: Auto merged myisam/mi_check.c: Auto merged mysql-test/r/insert.result: Auto merged mysql-test/r/join_outer.result: Auto merged mysql-test/r/multi_update.result: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/symlink.result: Auto merged mysql-test/t/func_time.test: Auto merged mysql-test/t/insert.test: Auto merged mysql-test/t/multi_update.test: Auto merged mysql-test/t/query_cache.test: Auto merged sql/ha_innodb.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/item_subselect.cc: Auto merged sql/item_sum.cc: Auto merged sql/item_sum.h: Auto merged sql/item_timefunc.cc: Auto merged sql/lex.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/records.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/slave.cc: Auto merged sql/sql_acl.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_db.cc: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_load.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_rename.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.h: Auto merged sql/share/czech/errmsg.txt: Auto merged sql/share/romanian/errmsg.txt: Auto merged
This commit is contained in:
@ -106,6 +106,32 @@ Table Op Msg_type Msg_text
|
||||
test.t1 check warning Found row where the auto_increment column has the value 0
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment primary key);
|
||||
insert into t1 values (NULL);
|
||||
insert into t1 values (-1);
|
||||
select last_insert_id();
|
||||
last_insert_id()
|
||||
1
|
||||
insert into t1 values (NULL);
|
||||
select * from t1;
|
||||
a
|
||||
-1
|
||||
1
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment primary key) /*!40102 engine=heap */;
|
||||
insert into t1 values (NULL);
|
||||
insert into t1 values (-1);
|
||||
select last_insert_id();
|
||||
last_insert_id()
|
||||
1
|
||||
insert into t1 values (NULL);
|
||||
select * from t1;
|
||||
a
|
||||
1
|
||||
-1
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (i tinyint unsigned not null auto_increment primary key);
|
||||
insert into t1 set i = 254;
|
||||
insert into t1 set i = null;
|
||||
|
@ -1145,3 +1145,14 @@ x
|
||||
7
|
||||
6
|
||||
drop table t1;
|
||||
create table t1 ( c char(8) not null ) engine=bdb;
|
||||
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
|
||||
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
|
||||
alter table t1 add b char(8) not null;
|
||||
alter table t1 add a char(8) not null;
|
||||
alter table t1 add primary key (a,b,c);
|
||||
update t1 set a=c, b=c;
|
||||
create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=bdb;
|
||||
insert into t2 select * from t1;
|
||||
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
|
||||
drop table t1,t2;
|
||||
|
@ -66,6 +66,7 @@ concat("-",a,"-",b,"-")
|
||||
alter table t1 modify b tinytext not null, drop key b, add key (b(100));
|
||||
select concat("-",a,"-",b,"-") from t1 where b="hello ";
|
||||
concat("-",a,"-",b,"-")
|
||||
-hello-hello-
|
||||
select concat("-",a,"-",b,"-") from t1 ignore index (b) where b="hello ";
|
||||
concat("-",a,"-",b,"-")
|
||||
-hello-hello-
|
||||
|
20
mysql-test/r/ctype_create.result
Normal file
20
mysql-test/r/ctype_create.result
Normal file
@ -0,0 +1,20 @@
|
||||
SET @@character_set_server=latin5;
|
||||
CREATE DATABASE db1 DEFAULT CHARACTER SET cp1251;
|
||||
USE db1;
|
||||
CREATE DATABASE db2;
|
||||
SHOW CREATE DATABASE db1;
|
||||
Database Create Database
|
||||
db1 CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET cp1251 */
|
||||
SHOW CREATE DATABASE db2;
|
||||
Database Create Database
|
||||
db2 CREATE DATABASE `db2` /*!40100 DEFAULT CHARACTER SET latin5 */
|
||||
DROP DATABASE db2;
|
||||
USE db1;
|
||||
CREATE TABLE t1 (a char(10));
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` char(10) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE db1;
|
@ -47,7 +47,7 @@ sum(all a) count(all a) avg(all a) std(all a) variance(all a) bit_or(all a) bit_
|
||||
21 6 3.5000 1.7078 2.9167 7 0 1 6 E
|
||||
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
||||
grp sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
||||
NULL NULL 0 NULL NULL NULL 0 0 NULL NULL
|
||||
NULL NULL 0 NULL NULL NULL 0 18446744073709551615 NULL NULL
|
||||
1 1 1 1.0000 0.0000 0.0000 1 1 1 1 a a
|
||||
2 5 2 2.5000 0.5000 0.2500 3 2 2 3 b c
|
||||
3 15 3 5.0000 0.8165 0.6667 7 4 4 6 C E
|
||||
@ -576,8 +576,8 @@ insert into t1 values (1,null);
|
||||
insert into t1 values (2,null);
|
||||
select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
1 0 NULL NULL NULL NULL NULL 0 0
|
||||
2 0 NULL NULL NULL NULL NULL 0 0
|
||||
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
2 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
@ -585,8 +585,8 @@ a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
insert into t1 values (2,1);
|
||||
select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
1 0 NULL NULL NULL NULL NULL 0 0
|
||||
2 1 1 1.0000 0.0000 1 1 0 1
|
||||
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
2 1 1 1.0000 0.0000 1 1 1 1
|
||||
select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
@ -594,8 +594,8 @@ a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
insert into t1 values (3,1);
|
||||
select a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b)
|
||||
1 0 NULL NULL NULL NULL NULL 0 0
|
||||
2 1 1 1.0000 0.0000 1 1 0 1
|
||||
1 0 NULL NULL NULL NULL NULL 18446744073709551615 0
|
||||
2 1 1 1.0000 0.0000 1 1 1 1
|
||||
3 1 1 1.0000 0.0000 1 1 1 1
|
||||
select SQL_BIG_RESULT a,count(b), sum(b), avg(b), std(b), min(b), max(b), bit_and(b), bit_or(b), bit_xor(b) from t1 group by a;
|
||||
a count(b) sum(b) avg(b) std(b) min(b) max(b) bit_and(b) bit_or(b) bit_xor(b)
|
||||
@ -632,3 +632,14 @@ select a from t1 having a=1;
|
||||
a
|
||||
1
|
||||
drop table t1;
|
||||
create table t1 (col int);
|
||||
insert into t1 values (-1), (-2), (-3);
|
||||
select bit_and(col), bit_or(col) from t1;
|
||||
bit_and(col) bit_or(col)
|
||||
18446744073709551612 18446744073709551615
|
||||
select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
|
||||
bit_and(col) bit_or(col)
|
||||
18446744073709551613 18446744073709551613
|
||||
18446744073709551614 18446744073709551614
|
||||
18446744073709551615 18446744073709551615
|
||||
drop table t1;
|
||||
|
@ -17,3 +17,21 @@ Note 1003 select high_priority (1 | (1 + 1)) AS `1 | (1+1)`,(5 & 3) AS `5 & 3`,b
|
||||
select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
|
||||
1 << 32 1 << 63 1 << 64 4 >> 2 4 >> 63 1<< 63 >> 60
|
||||
4294967296 9223372036854775808 0 1 0 8
|
||||
select -1 | 0, -1 ^ 0, -1 & 0;
|
||||
-1 | 0 -1 ^ 0 -1 & 0
|
||||
18446744073709551615 18446744073709551615 0
|
||||
select -1 | 1, -1 ^ 1, -1 & 1;
|
||||
-1 | 1 -1 ^ 1 -1 & 1
|
||||
18446744073709551615 18446744073709551614 1
|
||||
select 1 | -1, 1 ^ -1, 1 & -1;
|
||||
1 | -1 1 ^ -1 1 & -1
|
||||
18446744073709551615 18446744073709551614 1
|
||||
select 0 | -1, 0 ^ -1, 0 & -1;
|
||||
0 | -1 0 ^ -1 0 & -1
|
||||
18446744073709551615 18446744073709551615 0
|
||||
select -1 >> 0, -1 << 0;
|
||||
-1 >> 0 -1 << 0
|
||||
18446744073709551615 18446744073709551615
|
||||
select -1 >> 1, -1 << 1;
|
||||
-1 >> 1 -1 << 1
|
||||
9223372036854775807 18446744073709551614
|
||||
|
@ -144,12 +144,12 @@ montymontymontymontymonty * *
|
||||
select reverse('abc'),reverse('abcd');
|
||||
reverse('abc') reverse('abcd')
|
||||
cba dcba
|
||||
select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12');
|
||||
rpad('a',4,'1') rpad('a',4,'12') rpad('abcd',3,'12')
|
||||
a111 a121 abc
|
||||
select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12');
|
||||
lpad('a',4,'1') lpad('a',4,'12') lpad('abcd',3,'12')
|
||||
111a 121a abc
|
||||
select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12'), rpad(11, 10 , 22), rpad("ab", 10, 22);
|
||||
rpad('a',4,'1') rpad('a',4,'12') rpad('abcd',3,'12') rpad(11, 10 , 22) rpad("ab", 10, 22)
|
||||
a111 a121 abc 1122222222 ab22222222
|
||||
select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12'), lpad(11, 10 , 22);
|
||||
lpad('a',4,'1') lpad('a',4,'12') lpad('abcd',3,'12') lpad(11, 10 , 22)
|
||||
111a 121a abc 2222222211
|
||||
select rpad(741653838,17,'0'),lpad(741653838,17,'0');
|
||||
rpad(741653838,17,'0') lpad(741653838,17,'0')
|
||||
74165383800000000 00000000741653838
|
||||
@ -159,6 +159,12 @@ abcdaba abaabcd
|
||||
select rpad('abcd',1,'ab'),lpad('abcd',1,'ab');
|
||||
rpad('abcd',1,'ab') lpad('abcd',1,'ab')
|
||||
a a
|
||||
select rpad('STRING', 20, CONCAT('p','a','d') );
|
||||
rpad('STRING', 20, CONCAT('p','a','d') )
|
||||
STRINGpadpadpadpadpa
|
||||
select lpad('STRING', 20, CONCAT('p','a','d') );
|
||||
lpad('STRING', 20, CONCAT('p','a','d') )
|
||||
padpadpadpadpaSTRING
|
||||
select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
|
||||
LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD') GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD')
|
||||
HAROLD HARRY
|
||||
@ -183,6 +189,9 @@ NULL '\0\Z'
|
||||
select length(quote(concat(char(0),"test")));
|
||||
length(quote(concat(char(0),"test")))
|
||||
8
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))))
|
||||
27E0E3E6E7E8EAEB27
|
||||
select reverse("");
|
||||
reverse("")
|
||||
|
||||
|
@ -95,11 +95,34 @@ week(19981231,2) week(19981231,3) week(20000101,2) week(20000101,3)
|
||||
52 53 52 52
|
||||
select week(20001231,2),week(20001231,3);
|
||||
week(20001231,2) week(20001231,3)
|
||||
1 52
|
||||
53 52
|
||||
select week(19981231,0) as '0', week(19981231,1) as '1', week(19981231,2) as '2', week(19981231,3) as '3', week(19981231,4) as '4', week(19981231,5) as '5', week(19981231,6) as '6', week(19981231,7) as '7';
|
||||
0 1 2 3 4 5 6 7
|
||||
52 53 52 53 52 52 52 52
|
||||
select week(20000101,0) as '0', week(20000101,1) as '1', week(20000101,2) as '2', week(20000101,3) as '3', week(20000101,4) as '4', week(20000101,5) as '5', week(20000101,6) as '6', week(20000101,7) as '7';
|
||||
0 1 2 3 4 5 6 7
|
||||
0 0 52 52 0 0 52 52
|
||||
select week(20000106,0) as '0', week(20000106,1) as '1', week(20000106,2) as '2', week(20000106,3) as '3', week(20000106,4) as '4', week(20000106,5) as '5', week(20000106,6) as '6', week(20000106,7) as '7';
|
||||
0 1 2 3 4 5 6 7
|
||||
1 1 1 1 1 1 1 1
|
||||
select week(20001231,0) as '0', week(20001231,1) as '1', week(20001231,2) as '2', week(20001231,3) as '3', week(20001231,4) as '4', week(20001231,5) as '5', week(20001231,6) as '6', week(20001231,7) as '7';
|
||||
0 1 2 3 4 5 6 7
|
||||
53 52 53 52 53 52 1 52
|
||||
select week(20010101,0) as '0', week(20010101,1) as '1', week(20010101,2) as '2', week(20010101,3) as '3', week(20010101,4) as '4', week(20010101,5) as '5', week(20010101,6) as '6', week(20010101,7) as '7';
|
||||
0 1 2 3 4 5 6 7
|
||||
0 1 53 1 1 1 1 1
|
||||
select yearweek(20001231,0), yearweek(20001231,1), yearweek(20001231,2), yearweek(20001231,3), yearweek(20001231,4), yearweek(20001231,5), yearweek(20001231,6), yearweek(20001231,7);
|
||||
yearweek(20001231,0) yearweek(20001231,1) yearweek(20001231,2) yearweek(20001231,3) yearweek(20001231,4) yearweek(20001231,5) yearweek(20001231,6) yearweek(20001231,7)
|
||||
200053 200052 200053 200052 200101 200052 200101 200052
|
||||
set default_week_format = 6;
|
||||
select week(20001231), week(20001231,6);
|
||||
week(20001231) week(20001231,6)
|
||||
1 1
|
||||
set default_week_format = 0;
|
||||
set default_week_format = 2;
|
||||
select week(20001231),week(20001231,2),week(20001231,0);
|
||||
week(20001231) week(20001231,2) week(20001231,0)
|
||||
1 1 53
|
||||
53 53 53
|
||||
set default_week_format = 0;
|
||||
select date_format('1998-12-31','%x-%v'),date_format('1999-01-01','%x-%v');
|
||||
date_format('1998-12-31','%x-%v') date_format('1999-01-01','%x-%v')
|
||||
@ -408,62 +431,6 @@ select * from t1, t3 where t1.start between t3.ctime1 and t3.ctime2;
|
||||
start ctime1 ctime2
|
||||
2002-11-04 00:00:00 2002-10-29 16:51:06 2002-11-05 16:47:31
|
||||
drop table t1,t2,t3;
|
||||
CREATE TABLE t1 (datetime datetime, timestamp timestamp, date date, time time);
|
||||
INSERT INTO t1 values ("2001-01-02 03:04:05", "2002-01-02 03:04:05", "2003-01-02", "06:07:08");
|
||||
SELECT * from t1;
|
||||
datetime timestamp date time
|
||||
2001-01-02 03:04:05 2002-01-02 03:04:05 2003-01-02 06:07:08
|
||||
select date_add("1997-12-31",INTERVAL 1 SECOND);
|
||||
date_add("1997-12-31",INTERVAL 1 SECOND)
|
||||
1997-12-31 00:00:01
|
||||
select date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH);
|
||||
date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH)
|
||||
1999-01-31
|
||||
select date_add(datetime, INTERVAL 1 SECOND) from t1;
|
||||
date_add(datetime, INTERVAL 1 SECOND)
|
||||
2001-01-02 03:04:06
|
||||
select date_add(datetime, INTERVAL 1 YEAR) from t1;
|
||||
date_add(datetime, INTERVAL 1 YEAR)
|
||||
2002-01-02 03:04:05
|
||||
select date_add(date,INTERVAL 1 SECOND) from t1;
|
||||
date_add(date,INTERVAL 1 SECOND)
|
||||
2003-01-02 00:00:01
|
||||
select date_add(date,INTERVAL 1 MINUTE) from t1;
|
||||
date_add(date,INTERVAL 1 MINUTE)
|
||||
2003-01-02 00:01:00
|
||||
select date_add(date,INTERVAL 1 HOUR) from t1;
|
||||
date_add(date,INTERVAL 1 HOUR)
|
||||
2003-01-02 01:00:00
|
||||
select date_add(date,INTERVAL 1 DAY) from t1;
|
||||
date_add(date,INTERVAL 1 DAY)
|
||||
2003-01-03
|
||||
select date_add(date,INTERVAL 1 MONTH) from t1;
|
||||
date_add(date,INTERVAL 1 MONTH)
|
||||
2003-02-02
|
||||
select date_add(date,INTERVAL 1 YEAR) from t1;
|
||||
date_add(date,INTERVAL 1 YEAR)
|
||||
2004-01-02
|
||||
select date_add(date,INTERVAL "1:1" MINUTE_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1:1" MINUTE_SECOND)
|
||||
2003-01-02 00:01:01
|
||||
select date_add(date,INTERVAL "1:1" HOUR_MINUTE) from t1;
|
||||
date_add(date,INTERVAL "1:1" HOUR_MINUTE)
|
||||
2003-01-02 01:01:00
|
||||
select date_add(date,INTERVAL "1:1" DAY_HOUR) from t1;
|
||||
date_add(date,INTERVAL "1:1" DAY_HOUR)
|
||||
2003-01-03 01:00:00
|
||||
select date_add(date,INTERVAL "1 1" YEAR_MONTH) from t1;
|
||||
date_add(date,INTERVAL "1 1" YEAR_MONTH)
|
||||
2004-02-02
|
||||
select date_add(date,INTERVAL "1:1:1" HOUR_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1:1:1" HOUR_SECOND)
|
||||
2003-01-02 01:01:01
|
||||
select date_add(date,INTERVAL "1 1:1" DAY_MINUTE) from t1;
|
||||
date_add(date,INTERVAL "1 1:1" DAY_MINUTE)
|
||||
2003-01-03 01:01:00
|
||||
select date_add(date,INTERVAL "1 1:1:1" DAY_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1 1:1:1" DAY_SECOND)
|
||||
2003-01-03 01:01:01
|
||||
select date_add(date,INTERVAL "1" WEEK) from t1;
|
||||
date_add(date,INTERVAL "1" WEEK)
|
||||
2003-01-09 00:00:00
|
||||
@ -521,6 +488,71 @@ timestampdiff(SQL_TSI_DAY, '1996-02-01', '1996-03-01') as a3,
|
||||
timestampdiff(SQL_TSI_DAY, '2000-02-01', '2000-03-01') as a4;
|
||||
a1 a2 a3 a4
|
||||
28 28 29 29
|
||||
select @a:=FROM_UNIXTIME(1);
|
||||
@a:=FROM_UNIXTIME(1)
|
||||
1970-01-01 03:00:01
|
||||
select unix_timestamp(@a);
|
||||
unix_timestamp(@a)
|
||||
1
|
||||
select unix_timestamp('1969-12-01 19:00:01');
|
||||
unix_timestamp('1969-12-01 19:00:01')
|
||||
0
|
||||
CREATE TABLE t1 (datetime datetime, timestamp timestamp, date date, time time);
|
||||
INSERT INTO t1 values ("2001-01-02 03:04:05", "2002-01-02 03:04:05", "2003-01-02", "06:07:08");
|
||||
SELECT * from t1;
|
||||
datetime timestamp date time
|
||||
2001-01-02 03:04:05 2002-01-02 03:04:05 2003-01-02 06:07:08
|
||||
select date_add("1997-12-31",INTERVAL 1 SECOND);
|
||||
date_add("1997-12-31",INTERVAL 1 SECOND)
|
||||
1997-12-31 00:00:01
|
||||
select date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH);
|
||||
date_add("1997-12-31",INTERVAL "1 1" YEAR_MONTH)
|
||||
1999-01-31
|
||||
select date_add(datetime, INTERVAL 1 SECOND) from t1;
|
||||
date_add(datetime, INTERVAL 1 SECOND)
|
||||
2001-01-02 03:04:06
|
||||
select date_add(datetime, INTERVAL 1 YEAR) from t1;
|
||||
date_add(datetime, INTERVAL 1 YEAR)
|
||||
2002-01-02 03:04:05
|
||||
select date_add(date,INTERVAL 1 SECOND) from t1;
|
||||
date_add(date,INTERVAL 1 SECOND)
|
||||
2003-01-02 00:00:01
|
||||
select date_add(date,INTERVAL 1 MINUTE) from t1;
|
||||
date_add(date,INTERVAL 1 MINUTE)
|
||||
2003-01-02 00:01:00
|
||||
select date_add(date,INTERVAL 1 HOUR) from t1;
|
||||
date_add(date,INTERVAL 1 HOUR)
|
||||
2003-01-02 01:00:00
|
||||
select date_add(date,INTERVAL 1 DAY) from t1;
|
||||
date_add(date,INTERVAL 1 DAY)
|
||||
2003-01-03
|
||||
select date_add(date,INTERVAL 1 MONTH) from t1;
|
||||
date_add(date,INTERVAL 1 MONTH)
|
||||
2003-02-02
|
||||
select date_add(date,INTERVAL 1 YEAR) from t1;
|
||||
date_add(date,INTERVAL 1 YEAR)
|
||||
2004-01-02
|
||||
select date_add(date,INTERVAL "1:1" MINUTE_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1:1" MINUTE_SECOND)
|
||||
2003-01-02 00:01:01
|
||||
select date_add(date,INTERVAL "1:1" HOUR_MINUTE) from t1;
|
||||
date_add(date,INTERVAL "1:1" HOUR_MINUTE)
|
||||
2003-01-02 01:01:00
|
||||
select date_add(date,INTERVAL "1:1" DAY_HOUR) from t1;
|
||||
date_add(date,INTERVAL "1:1" DAY_HOUR)
|
||||
2003-01-03 01:00:00
|
||||
select date_add(date,INTERVAL "1 1" YEAR_MONTH) from t1;
|
||||
date_add(date,INTERVAL "1 1" YEAR_MONTH)
|
||||
2004-02-02
|
||||
select date_add(date,INTERVAL "1:1:1" HOUR_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1:1:1" HOUR_SECOND)
|
||||
2003-01-02 01:01:01
|
||||
select date_add(date,INTERVAL "1 1:1" DAY_MINUTE) from t1;
|
||||
date_add(date,INTERVAL "1 1:1" DAY_MINUTE)
|
||||
2003-01-03 01:01:00
|
||||
select date_add(date,INTERVAL "1 1:1:1" DAY_SECOND) from t1;
|
||||
date_add(date,INTERVAL "1 1:1:1" DAY_SECOND)
|
||||
2003-01-03 01:01:01
|
||||
select date_add(time,INTERVAL 1 SECOND) from t1;
|
||||
date_add(time,INTERVAL 1 SECOND)
|
||||
2006-07-08 00:00:01
|
||||
|
@ -291,7 +291,7 @@ Warnings:
|
||||
Note 1003 select high_priority big_result test.t1.spID AS `spid`,sum(test.t1.userID) AS `sum(userid)` from test.t1 group by test.t1.spID desc
|
||||
explain select sql_big_result spid,sum(userid) from t1 group by spid desc order by null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 8
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using filesort
|
||||
select sql_big_result spid,sum(userid) from t1 group by spid desc;
|
||||
spid sum(userid)
|
||||
7 3
|
||||
@ -600,3 +600,32 @@ count(*) category
|
||||
1 3
|
||||
1 4
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
userid int(10) unsigned,
|
||||
score smallint(5) unsigned,
|
||||
key (score)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,1),(2,2),(1,1),(3,3),(3,3),(3,3),(3,3),(3,3);
|
||||
SELECT userid,count(*) FROM t1 GROUP BY userid DESC;
|
||||
userid count(*)
|
||||
3 5
|
||||
2 1
|
||||
1 2
|
||||
EXPLAIN SELECT userid,count(*) FROM t1 GROUP BY userid DESC;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 8 Using temporary; Using filesort
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
i int(11) default NULL,
|
||||
j int(11) default NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,2),(2,3),(4,5),(3,5),(1,5),(23,5);
|
||||
SELECT i, COUNT(DISTINCT(i)) FROM t1 GROUP BY j ORDER BY NULL;
|
||||
i COUNT(DISTINCT(i))
|
||||
1 1
|
||||
2 1
|
||||
4 4
|
||||
explain SELECT i, COUNT(DISTINCT(i)) FROM t1 GROUP BY j ORDER BY NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
|
||||
DROP TABLE t1;
|
||||
|
@ -1,2 +0,0 @@
|
||||
Variable_name Value
|
||||
timezone MEST
|
2
mysql-test/r/have_met_timezone.require
Normal file
2
mysql-test/r/have_met_timezone.require
Normal file
@ -0,0 +1,2 @@
|
||||
FROM_UNIXTIME(24*3600)
|
||||
1970-01-02 01:00:00
|
@ -1312,17 +1312,41 @@ a b
|
||||
111 100
|
||||
111 100
|
||||
drop table t1;
|
||||
create table t1 ( c char(8) not null ) engine=innodb;
|
||||
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
|
||||
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
|
||||
alter table t1 add b char(8) not null;
|
||||
alter table t1 add a char(8) not null;
|
||||
alter table t1 add primary key (a,b,c);
|
||||
update t1 set a=c, b=c;
|
||||
create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=innodb;
|
||||
insert into t2 select * from t1;
|
||||
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
|
||||
drop table t1,t2;
|
||||
SET AUTOCOMMIT=1;
|
||||
create table t1 (a integer auto_increment primary key) engine=innodb;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
truncate table t1;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
SELECT * from t1;
|
||||
a
|
||||
3
|
||||
4
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (col1 int(1))ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (col1 int(1),stamp TIMESTAMP,INDEX stamp_idx
|
||||
(stamp))ENGINE=InnoDB;
|
||||
insert into t1 values (1),(2),(3);
|
||||
insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 );
|
||||
insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'stamp' at row 3
|
||||
SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <
|
||||
'20020204120000' GROUP BY col1;
|
||||
col1
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
drop table t1,t2;
|
||||
CREATE TABLE t1 (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
|
@ -73,7 +73,7 @@ drop table t1;
|
||||
create table t1 (email varchar(50));
|
||||
insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
|
||||
create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2));
|
||||
insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
insert delayed into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
select * from t2;
|
||||
id t2
|
||||
1 mysql.com
|
||||
|
@ -665,3 +665,20 @@ left outer join t2 using (f2)
|
||||
left outer join t3 using (f3);
|
||||
ERROR 42S22: Unknown column 'test.t2.f3' in 'on clause'
|
||||
drop table t1,t2,t3;
|
||||
create table t1 (a1 int, a2 int);
|
||||
create table t2 (b1 int not null, b2 int);
|
||||
create table t3 (c1 int, c2 int);
|
||||
insert into t1 values (1,2), (2,2), (3,2);
|
||||
insert into t2 values (1,3), (2,3);
|
||||
insert into t3 values (2,4), (3,4);
|
||||
select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is null;
|
||||
a1 a2 b1 b2 c1 c2
|
||||
1 2 1 3 NULL NULL
|
||||
2 2 2 3 NULL NULL
|
||||
3 2 NULL NULL 3 4
|
||||
explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
|
||||
1 SIMPLE t3 ALL NULL NULL NULL NULL 2
|
||||
drop table t1, t2, t3;
|
||||
|
@ -36,9 +36,7 @@ a b
|
||||
3 4
|
||||
drop table t1;
|
||||
create table t1 (i int);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1),(1),(1);
|
||||
delete from t1 limit 1;
|
||||
update t1 set i=2 limit 1;
|
||||
delete from t1 limit 0;
|
||||
@ -50,3 +48,22 @@ i
|
||||
drop table t1;
|
||||
select 0 limit 0;
|
||||
0
|
||||
CREATE TABLE t1(id int auto_increment primary key, id2 int, index(id2));
|
||||
INSERT INTO t1 (id2) values (0),(0),(0);
|
||||
DELETE FROM t1 WHERE id=1;
|
||||
INSERT INTO t1 SET id2=0;
|
||||
SELECT * FROM t1;
|
||||
id id2
|
||||
4 0
|
||||
2 0
|
||||
3 0
|
||||
DELETE FROM t1 WHERE id2 = 0 ORDER BY id LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
id id2
|
||||
4 0
|
||||
3 0
|
||||
DELETE FROM t1 WHERE id2 = 0 ORDER BY id desc LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
id id2
|
||||
3 0
|
||||
DROP TABLE t1;
|
||||
|
@ -31,7 +31,7 @@ drop table t1;
|
||||
create table t1 (a text, b text);
|
||||
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
|
||||
Warnings:
|
||||
Warning 1260 Record count is fewer than the column count at row 3
|
||||
Warning 1260 Row 3 doesn't contain data for all columns
|
||||
select concat('|',a,'|'), concat('|',b,'|') from t1;
|
||||
concat('|',a,'|') concat('|',b,'|')
|
||||
|Field A| |Field B|
|
||||
@ -40,3 +40,29 @@ Field 3,'Field 4|
|
||||
|Field 5' ,'Field 6| NULL
|
||||
|Field 6| | 'Field 7'|
|
||||
drop table t1;
|
||||
create table t1 (a int, b char(10));
|
||||
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'a' at row 3
|
||||
Warning 1261 Row 3 was truncated; It contained more data than there where input columns
|
||||
Warning 1264 Data truncated for column 'a' at row 5
|
||||
Warning 1261 Row 5 was truncated; It contained more data than there where input columns
|
||||
select * from t1;
|
||||
a b
|
||||
1 row 1
|
||||
2 row 2
|
||||
0 1234567890
|
||||
3 row 3
|
||||
0 1234567890
|
||||
truncate table t1;
|
||||
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'a' at row 4
|
||||
Warning 1260 Row 4 doesn't contain data for all columns
|
||||
select * from t1;
|
||||
a b
|
||||
1 row 1
|
||||
2 row 2
|
||||
3 row 3
|
||||
0
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,8 @@
|
||||
drop table if exists t1,t2,t3;
|
||||
drop table if exists t1,t2,t3,t4,T1;
|
||||
create table T1 (id int primary key, Word varchar(40) not null, Index(Word));
|
||||
create table t4 (id int primary key, Word varchar(40) not null);
|
||||
INSERT INTO T1 VALUES (1, 'a'), (2, 'b'), (3, 'c');
|
||||
INSERT INTO T4 VALUES(1,'match');
|
||||
SELECT * FROM t1;
|
||||
id Word
|
||||
1 a
|
||||
@ -12,6 +14,9 @@ id
|
||||
SELECT T2.id from t1 as T2 LIMIT 1;
|
||||
id
|
||||
1
|
||||
SELECT * from t1 left join t4 on (test.t1.id= TEST.t4.id) where TEST.t1.id >= test.t4.id;
|
||||
id Word id Word
|
||||
1 a 1 match
|
||||
SELECT T2.id from t1 as t2 LIMIT 1;
|
||||
id
|
||||
1
|
||||
@ -21,7 +26,8 @@ ALTER TABLE T2 RENAME T3;
|
||||
show tables like 't_';
|
||||
Tables_in_test (t_)
|
||||
t3
|
||||
drop table t3;
|
||||
t4
|
||||
drop table t3,t4;
|
||||
create table t1 (a int);
|
||||
select count(*) from T1;
|
||||
count(*)
|
||||
|
@ -341,6 +341,38 @@ select t1.a, t1.b,t2.a, t2.b from t1 left join t2 on t1.a=t2.a where t1.b=1 and
|
||||
a b a b
|
||||
2 2 NULL NULL
|
||||
drop table t1,t2;
|
||||
create table t1 (a int not null auto_increment primary key, b int not null);
|
||||
insert into t1 (b) values (1),(2),(3),(4);
|
||||
update t1, t1 as t2 set t1.b=t2.b+1 where t1.a=t2.a;
|
||||
select * from t1;
|
||||
a b
|
||||
1 2
|
||||
2 3
|
||||
3 4
|
||||
4 5
|
||||
drop table t1;
|
||||
create table t1(id1 smallint(5), field char(5));
|
||||
create table t2(id2 smallint(5), field char(5));
|
||||
insert into t1 values (1, 'a'), (2, 'aa');
|
||||
insert into t2 values (1, 'b'), (2, 'bb');
|
||||
select * from t1;
|
||||
id1 field
|
||||
1 a
|
||||
2 aa
|
||||
select * from t2;
|
||||
id2 field
|
||||
1 b
|
||||
2 bb
|
||||
update t2 inner join t1 on t1.id1=t2.id2
|
||||
set t2.field=t1.field
|
||||
where 0=1;
|
||||
update t2, t1 set t2.field=t1.field
|
||||
where t1.id1=t2.id2 and 0=1;
|
||||
delete t1, t2 from t2 inner join t1 on t1.id1=t2.id2
|
||||
where 0=1;
|
||||
delete t1, t2 from t2,t1
|
||||
where t1.id1=t2.id2 and 0=1;
|
||||
drop table t1,t2;
|
||||
create table t1 ( a int not null, b int not null) ;
|
||||
alter table t1 add index i1(a);
|
||||
delete from t1 where a > 2000000;
|
||||
|
@ -17,6 +17,47 @@ INSERT INTO t1 VALUES (1), (2);
|
||||
</table_data>
|
||||
</database>
|
||||
</mysqldump>
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a decimal(240, 20));
|
||||
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
|
||||
("0987654321098765432109876543210987654321");
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a decimal(240,20) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
|
||||
/*!40000 ALTER TABLE t1 DISABLE KEYS */;
|
||||
LOCK TABLES t1 WRITE;
|
||||
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890.00000000000000000000"),("0987654321098765432109876543210987654321.00000000000000000000");
|
||||
UNLOCK TABLES;
|
||||
/*!40000 ALTER TABLE t1 ENABLE KEYS */;
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a double);
|
||||
INSERT INTO t1 VALUES (-9e999999);
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a double default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
|
||||
/*!40000 ALTER TABLE t1 DISABLE KEYS */;
|
||||
LOCK TABLES t1 WRITE;
|
||||
INSERT INTO t1 VALUES (RES);
|
||||
UNLOCK TABLES;
|
||||
/*!40000 ALTER TABLE t1 ENABLE KEYS */;
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a int, b text, c varchar(3));
|
||||
INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
|
||||
@ -64,30 +105,11 @@ INSERT INTO t1 VALUES ("1\""), ("\"2");
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5');
|
||||
-- MySQL dump 10.3
|
||||
--
|
||||
-- Host: localhost Database: test
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 5.0.0-alpha-debug-log
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT, CHARACTER_SET_CLIENT=utf8 */;
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=NO_AUTO_VALUE_ON_ZERO */;
|
||||
|
||||
--
|
||||
-- Table structure for table `t1`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (
|
||||
a varchar(255) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=koi8r;
|
||||
|
||||
--
|
||||
-- Dumping data for table `t1`
|
||||
--
|
||||
|
||||
|
||||
/*!40000 ALTER TABLE t1 DISABLE KEYS */;
|
||||
LOCK TABLES t1 WRITE;
|
||||
|
@ -370,16 +370,23 @@ insert into mysqltest.t1 (a) values (1);
|
||||
select * from mysqltest.t1 where i is null;
|
||||
i a
|
||||
1 1
|
||||
create table t1(a int);
|
||||
select * from t1;
|
||||
a
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
select * from mysqltest.t1;
|
||||
i a
|
||||
1 1
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
Qcache_queries_in_cache 2
|
||||
drop database mysqltest;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
Qcache_queries_in_cache 1
|
||||
drop table t1;
|
||||
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||
insert into t1 values(_koi8r"<22>");
|
||||
set CHARACTER SET koi8r;
|
||||
|
16
mysql-test/r/rpl_EE_error.result
Normal file
16
mysql-test/r/rpl_EE_error.result
Normal file
@ -0,0 +1,16 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
create table t1 (a int) engine=myisam;
|
||||
flush tables;
|
||||
drop table t1;
|
||||
create table t1 (a int, unique(a)) engine=myisam;
|
||||
set sql_log_bin=0;
|
||||
insert into t1 values(2);
|
||||
set sql_log_bin=1;
|
||||
insert into t1 values(1),(2);
|
||||
ERROR 23000: Duplicate entry '2' for key 1
|
||||
drop table t1;
|
26
mysql-test/r/rpl_multi_update.result
Normal file
26
mysql-test/r/rpl_multi_update.result
Normal file
@ -0,0 +1,26 @@
|
||||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
CREATE TABLE t1 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned,
|
||||
) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (NULL, 0);
|
||||
INSERT INTO t1 SELECT NULL, 0 FROM t1;
|
||||
INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 0
|
||||
2 0
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
a b
|
||||
1 0
|
||||
2 1
|
||||
UPDATE t1, t2 SET t1.b = t2.b WHERE t1.a = t2.a;
|
@ -1,11 +1,11 @@
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
drop table if exists t1, t2, t3, t4;
|
||||
start slave;
|
||||
ERROR HY000: Could not initialize master info structure, check permisions on master.info
|
||||
ERROR HY000: Could not initialize master info structure, more error messages can be found in the MySQL error log
|
||||
start slave;
|
||||
ERROR HY000: Could not initialize master info structure, check permisions on master.info
|
||||
ERROR HY000: Could not initialize master info structure, more error messages can be found in the MySQL error log
|
||||
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
||||
ERROR HY000: Could not initialize master info structure, check permisions on master.info
|
||||
ERROR HY000: Could not initialize master info structure, more error messages can be found in the MySQL error log
|
||||
reset slave;
|
||||
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
||||
reset master;
|
||||
@ -68,6 +68,9 @@ m
|
||||
create temporary table temp_table (a char(80) not null);
|
||||
insert into temp_table values ("testing temporary tables part 2");
|
||||
create table t3 (n int);
|
||||
select count(*) from t3 where n >= 4;
|
||||
count(*)
|
||||
100
|
||||
create table t4 select * from temp_table;
|
||||
show binary logs;
|
||||
Log_name
|
||||
|
@ -189,3 +189,22 @@ SELECT FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
3
|
||||
drop table t1;
|
||||
create table t1 (id int, primary key (id));
|
||||
insert into t1 values (1), (2), (3), (4), (5);
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 limit 0, 1;
|
||||
id
|
||||
4
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
2
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 AND 1=2 limit 0, 1;
|
||||
id
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
0
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 6 limit 0, 1;
|
||||
id
|
||||
select FOUND_ROWS();
|
||||
FOUND_ROWS()
|
||||
0
|
||||
drop table t1;
|
||||
|
@ -64,3 +64,25 @@ t9 CREATE TABLE `t9` (
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='TEST_DIR/var/tmp/' INDEX DIRECTORY='TEST_DIR/var/run/'
|
||||
drop database mysqltest;
|
||||
create table t1 (a int not null) type=myisam;
|
||||
Warnings:
|
||||
Warning 1286 'TYPE=database_engine' is deprecated. Use 'ENGINE=database_engine' instead.
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL default '0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
alter table t1 add b int;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL default '0',
|
||||
`b` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL default '0',
|
||||
`b` int(11) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
@ -1,4 +1,13 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
show variables like "timezone";
|
||||
Variable_name Value
|
||||
timezone MET
|
||||
select @a:=FROM_UNIXTIME(1);
|
||||
@a:=FROM_UNIXTIME(1)
|
||||
1970-01-01 01:00:01
|
||||
select unix_timestamp(@a);
|
||||
unix_timestamp(@a)
|
||||
1
|
||||
CREATE TABLE t1 (ts int);
|
||||
INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
|
||||
INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 02:00'));
|
||||
|
@ -23,3 +23,12 @@ n
|
||||
drop table t1;
|
||||
truncate non_existing_table;
|
||||
ERROR 42S02: Table 'test.non_existing_table' doesn't exist
|
||||
create table t1 (a integer auto_increment primary key);
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
truncate table t1;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
SELECT * from t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
drop table t1;
|
||||
|
@ -510,3 +510,149 @@ show full fields from t1;
|
||||
Field Type Collation Null Key Default Extra Privileges Comment
|
||||
load_file('../../std_data/words.dat') longblob NULL YES NULL select,insert,update,references
|
||||
drop table t1;
|
||||
create table t1 (id integer primary key auto_increment, txt text not null, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy ');
|
||||
select * from t1 where txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where id='1' or id='2';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
3 Ford
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
id txt
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt > 'Chevy';
|
||||
id txt
|
||||
3 Ford
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
3 Ford
|
||||
drop table t1;
|
||||
create table t1 (id integer primary key auto_increment, txt text, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy '), (NULL);
|
||||
select * from t1 where txt='Chevy' or txt is NULL;
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
3 NULL
|
||||
select * from t1 where txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where id='1' or id='2';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
4 Ford
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt in ('Chevy');
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
id txt
|
||||
select * from t1 where txt < 'Chevy ' or txt is NULL;
|
||||
id txt
|
||||
3 NULL
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
select * from t1 where txt > 'Chevy';
|
||||
id txt
|
||||
4 Ford
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
id txt
|
||||
1 Chevy
|
||||
2 Chevy
|
||||
4 Ford
|
||||
drop table t1;
|
||||
|
@ -1,6 +1,12 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (t datetime);
|
||||
insert into t1 values(101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959);
|
||||
insert into t1 values(101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030102030460),(20030102036301),(20030102240401),(20030132030401),(20031302030460);
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 't' at row 13
|
||||
Warning 1264 Data truncated for column 't' at row 14
|
||||
Warning 1264 Data truncated for column 't' at row 15
|
||||
Warning 1264 Data truncated for column 't' at row 16
|
||||
Warning 1264 Data truncated for column 't' at row 17
|
||||
select * from t1;
|
||||
t
|
||||
2000-01-01 00:00:00
|
||||
@ -15,6 +21,11 @@ t
|
||||
1999-12-31 23:59:59
|
||||
1000-01-01 00:00:00
|
||||
9999-12-31 23:59:59
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
delete from t1 where t > 0;
|
||||
optimize table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
@ -22,7 +33,8 @@ test.t1 optimize status OK
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
insert into t1 values("000101"),("691231"),("700101"),("991231"),("00000101"),("00010101"),("99991231"),("00101000000"),("691231000000"),("700101000000"),("991231235959"),("10000101000000"),("99991231235959");
|
||||
delete from t1;
|
||||
insert into t1 values("000101"),("691231"),("700101"),("991231"),("00000101"),("00010101"),("99991231"),("00101000000"),("691231000000"),("700101000000"),("991231235959"),("10000101000000"),("99991231235959"),("20030102030460"),("20030102036301"),("20030102240401"),("20030132030401"),("20031302030460");
|
||||
select * from t1;
|
||||
t
|
||||
2000-01-01 00:00:00
|
||||
@ -38,6 +50,11 @@ t
|
||||
1999-12-31 23:59:59
|
||||
1000-01-01 00:00:00
|
||||
9999-12-31 23:59:59
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a timestamp, b date, c time, d datetime);
|
||||
insert into t1 (b,c,d) values(now(),curtime(),now());
|
||||
|
@ -444,3 +444,321 @@ CREATE TABLE t1 (a_dec DECIMAL(-2,1));
|
||||
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-2,1))' at line 1
|
||||
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
||||
ERROR 42000: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '-1,1))' at line 1
|
||||
create table t1(a decimal(7,3));
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
Warnings:
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 27
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 30
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 31
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 32
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 33
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 34
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 35
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 36
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 37
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 38
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 39
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 40
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 41
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 42
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 43
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 44
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 45
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 46
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 47
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 48
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 49
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 50
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 51
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 52
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 53
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 54
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 55
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 56
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 57
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 58
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 59
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 60
|
||||
select * from t1;
|
||||
a
|
||||
1.000
|
||||
+1.000
|
||||
-1.000
|
||||
00001.000
|
||||
+0001.000
|
||||
-0001.000
|
||||
10.000
|
||||
+10.000
|
||||
-10.000
|
||||
00010.000
|
||||
+0010.000
|
||||
-0010.000
|
||||
100.000
|
||||
+100.000
|
||||
-100.000
|
||||
00100.000
|
||||
+0100.000
|
||||
-0100.000
|
||||
1000.000
|
||||
+1000.000
|
||||
-1000.000
|
||||
01000.000
|
||||
+1000.000
|
||||
-1000.000
|
||||
10000.000
|
||||
10000.000
|
||||
-9999.999
|
||||
10000.000
|
||||
10000.000
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
99999.999
|
||||
99999.999
|
||||
-9999.999
|
||||
drop table t1;
|
||||
create table t1(a decimal(7,3) unsigned);
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
Warnings:
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 3
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 6
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 9
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 12
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 15
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 18
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 21
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 24
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 25
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 26
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 27
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 28
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 29
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 30
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 31
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 32
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 33
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 34
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 35
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 36
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 37
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 38
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 39
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 40
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 41
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 42
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 43
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 44
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 45
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 46
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 47
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 48
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 49
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 50
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 51
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 52
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 53
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 54
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 55
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 56
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 57
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 58
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 59
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 60
|
||||
select * from t1;
|
||||
a
|
||||
1.000
|
||||
+1.000
|
||||
0.000
|
||||
0001.000
|
||||
+001.000
|
||||
0.000
|
||||
10.000
|
||||
+10.000
|
||||
0.000
|
||||
0010.000
|
||||
+010.000
|
||||
0.000
|
||||
100.000
|
||||
+100.000
|
||||
0.000
|
||||
0100.000
|
||||
+100.000
|
||||
0.000
|
||||
1000.000
|
||||
1000.000
|
||||
0.000
|
||||
1000.000
|
||||
1000.000
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
9999.999
|
||||
9999.999
|
||||
0.000
|
||||
drop table t1;
|
||||
create table t1(a decimal(7,3) zerofill);
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
Warnings:
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 3
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 6
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 9
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 12
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 15
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 18
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 21
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 24
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 25
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 26
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 27
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 28
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 29
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 30
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 31
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 32
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 33
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 34
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 35
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 36
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 37
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 38
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 39
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 40
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 41
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 42
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 43
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 44
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 45
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 46
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 47
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 48
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 49
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 50
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 51
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 52
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 53
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 54
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 55
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 56
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 57
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 58
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 59
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 60
|
||||
select * from t1;
|
||||
a
|
||||
0001.000
|
||||
0001.000
|
||||
0000.000
|
||||
0001.000
|
||||
0001.000
|
||||
0000.000
|
||||
0010.000
|
||||
0010.000
|
||||
0000.000
|
||||
0010.000
|
||||
0010.000
|
||||
0000.000
|
||||
0100.000
|
||||
0100.000
|
||||
0000.000
|
||||
0100.000
|
||||
0100.000
|
||||
0000.000
|
||||
1000.000
|
||||
1000.000
|
||||
0000.000
|
||||
1000.000
|
||||
1000.000
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
9999.999
|
||||
9999.999
|
||||
0000.000
|
||||
drop table t1;
|
||||
|
@ -1635,6 +1635,20 @@ Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` enum('','a','b') NOT NULL default 'b'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 (a enum ('0','1'));
|
||||
insert into t1 set a='foobar';
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'a' at row 1
|
||||
select * from t1;
|
||||
a
|
||||
|
||||
update t1 set a = replace(a,'x','y');
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'a' at row 1
|
||||
select * from t1;
|
||||
a
|
||||
|
||||
drop table t1;
|
||||
set names latin1;
|
||||
create table t1 (a enum(0xE4, '1', '2') not null default 0xE4);
|
||||
|
@ -43,7 +43,13 @@ date_format(a,"%Y %y") year(a) year(now())
|
||||
1970 70 1970 1970
|
||||
drop table t1;
|
||||
create table t1 (ix timestamp);
|
||||
insert into t1 values (19991101000000),(19990102030405),(19990630232922),(19990601000000),(19990930232922),(19990531232922),(19990501000000),(19991101000000),(19990501000000);
|
||||
insert into t1 values (19991101000000),(19990102030405),(19990630232922),(19990601000000),(19990930232922),(19990531232922),(19990501000000),(19991101000000),(19990501000000),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101);
|
||||
Warnings:
|
||||
Warning 1264 Data truncated for column 'ix' at row 10
|
||||
Warning 1264 Data truncated for column 'ix' at row 11
|
||||
Warning 1264 Data truncated for column 'ix' at row 12
|
||||
Warning 1264 Data truncated for column 'ix' at row 13
|
||||
Warning 1264 Data truncated for column 'ix' at row 14
|
||||
select ix+0 from t1;
|
||||
ix+0
|
||||
19991101000000
|
||||
@ -55,6 +61,24 @@ ix+0
|
||||
19990501000000
|
||||
19991101000000
|
||||
19990501000000
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
delete from t1;
|
||||
insert into t1 values ("19991101000000"),("19990102030405"),("19990630232922"),("19990601000000"),("20030101010160"),("20030101016001"),("20030101240101"),("20030132010101"),("20031301010101");
|
||||
select ix+0 from t1;
|
||||
ix+0
|
||||
19991101000000
|
||||
19990102030405
|
||||
19990630232922
|
||||
19990601000000
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (date date, date_time datetime, time_stamp timestamp);
|
||||
INSERT INTO t1 VALUES ("1998-12-31","1998-12-31 23:59:59",19981231235959);
|
||||
@ -104,3 +128,5 @@ t2 t4 t6 t8 t10 t12 t14
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
||||
drop table t1;
|
||||
create table t1 (a timestamp default 1);
|
||||
ERROR 42000: Invalid default value for 'a'
|
||||
|
@ -3,7 +3,7 @@ CREATE TABLE t1 (a int not null, b char (10) not null);
|
||||
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
|
||||
CREATE TABLE t2 (a int not null, b char (10) not null);
|
||||
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
|
||||
select a,b from t1 union select a,b from t2;
|
||||
select a,b from t1 union distinct select a,b from t2;
|
||||
a b
|
||||
1 a
|
||||
2 b
|
||||
@ -434,7 +434,15 @@ a
|
||||
3
|
||||
(SELECT * FROM t1) UNION all (SELECT SQL_CALC_FOUND_ROWS * FROM t2) LIMIT 1;
|
||||
ERROR 42000: Wrong usage/placement of 'SQL_CALC_FOUND_ROWS'
|
||||
create temporary table t1 select a from t1 union select a from t2;
|
||||
drop temporary table t1;
|
||||
create table t1 select a from t1 union select a from t2;
|
||||
ERROR HY000: You can't specify target table 't1' for update in FROM clause
|
||||
drop table t1,t2;
|
||||
select length(version()) > 1 as `*` UNION select 2;
|
||||
*
|
||||
1
|
||||
2
|
||||
CREATE TABLE t1 ( id int(3) unsigned default '0') ENGINE=MyISAM;
|
||||
INSERT INTO t1 (id) VALUES("1");
|
||||
CREATE TABLE t2 ( id int(3) unsigned default '0', id_master int(5) default '0', text1 varchar(5) default NULL, text2 varchar(5) default NULL) ENGINE=MyISAM;
|
||||
|
@ -49,9 +49,9 @@ Warnings:
|
||||
Warning 1262 Data truncated, NULL supplied to NOT NULL column 'b' at row 2
|
||||
Warning 1264 Data truncated for column 'd' at row 3
|
||||
Warning 1264 Data truncated for column 'c' at row 4
|
||||
Warning 1260 Record count is fewer than the column count at row 5
|
||||
Warning 1260 Row 5 doesn't contain data for all columns
|
||||
Warning 1264 Data truncated for column 'b' at row 6
|
||||
Warning 1261 Record count is more than the column count at row 7
|
||||
Warning 1261 Row 7 was truncated; It contained more data than there where input columns
|
||||
Warning 1263 Data truncated, out of range for column 'a' at row 8
|
||||
select @@warning_count;
|
||||
@@warning_count
|
||||
|
6
mysql-test/std_data/loaddata3.dat
Normal file
6
mysql-test/std_data/loaddata3.dat
Normal file
@ -0,0 +1,6 @@
|
||||
number row data
|
||||
1 row 1
|
||||
2 row 2
|
||||
error 12345678901234567890123456789012345678901234567890
|
||||
3 row 3
|
||||
wrong end 12345678901234567890123456789012345678901234567890
|
1
mysql-test/std_data/loaddata4.dat
Normal file
1
mysql-test/std_data/loaddata4.dat
Normal file
@ -0,0 +1 @@
|
||||
test row data 1 row 1 2 row 2 3 row 3
|
@ -73,6 +73,25 @@ select * from t1;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test negative values (Bug #1366)
|
||||
#
|
||||
|
||||
create table t1 (a int not null auto_increment primary key);
|
||||
insert into t1 values (NULL);
|
||||
insert into t1 values (-1);
|
||||
select last_insert_id();
|
||||
insert into t1 values (NULL);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a int not null auto_increment primary key) /*!40102 engine=heap */;
|
||||
insert into t1 values (NULL);
|
||||
insert into t1 values (-1);
|
||||
select last_insert_id();
|
||||
insert into t1 values (NULL);
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
#
|
||||
# last_insert_id() madness
|
||||
#
|
||||
|
@ -789,3 +789,22 @@ select * from t1 where x <= 10 and x >= 7 order by x desc;
|
||||
select * from t1 where x <= 8 and x >= 5 order by x desc;
|
||||
select * from t1 where x < 8 and x > 5 order by x desc;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test of multi-table-updates (bug #1980).
|
||||
#
|
||||
|
||||
create table t1 ( c char(8) not null ) engine=bdb;
|
||||
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
|
||||
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
|
||||
|
||||
alter table t1 add b char(8) not null;
|
||||
alter table t1 add a char(8) not null;
|
||||
alter table t1 add primary key (a,b,c);
|
||||
update t1 set a=c, b=c;
|
||||
|
||||
create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=bdb;
|
||||
insert into t2 select * from t1;
|
||||
|
||||
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
|
||||
drop table t1,t2;
|
||||
|
39
mysql-test/t/ctype_create.test
Normal file
39
mysql-test/t/ctype_create.test
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
# Test for various CREATE statements and character sets
|
||||
#
|
||||
|
||||
|
||||
# Check that the database charset is taken from server charset by default:
|
||||
# - Change local character_set_server variable to latin5.
|
||||
# - Create database with and without CHARACTER SET specification.
|
||||
# At the same time check fix for the
|
||||
# Bug#2151:
|
||||
# "USE db" with non-default character set should never affect
|
||||
# further CREATE DATABASEs.
|
||||
|
||||
|
||||
SET @@character_set_server=latin5;
|
||||
CREATE DATABASE db1 DEFAULT CHARACTER SET cp1251;
|
||||
USE db1;
|
||||
CREATE DATABASE db2;
|
||||
|
||||
#
|
||||
# This should be cp1251
|
||||
#
|
||||
SHOW CREATE DATABASE db1;
|
||||
|
||||
#
|
||||
# This should take the default latin5 value from server level.
|
||||
#
|
||||
SHOW CREATE DATABASE db2;
|
||||
DROP DATABASE db2;
|
||||
|
||||
#
|
||||
# Check that table value uses database level by default
|
||||
#
|
||||
USE db1;
|
||||
CREATE TABLE t1 (a char(10));
|
||||
SHOW CREATE TABLE t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE db1;
|
@ -370,3 +370,11 @@ insert into t1 values (1);
|
||||
select max(a) as b from t1 having b=1;
|
||||
select a from t1 having a=1;
|
||||
drop table t1;
|
||||
#
|
||||
# Bug #1972: test for bit_and(), bit_or() and negative values
|
||||
#
|
||||
create table t1 (col int);
|
||||
insert into t1 values (-1), (-2), (-3);
|
||||
select bit_and(col), bit_or(col) from t1;
|
||||
select SQL_BIG_RESULT bit_and(col), bit_or(col) from t1 group by col;
|
||||
drop table t1;
|
||||
|
@ -7,3 +7,12 @@ explain extended select 1+1,1-1,1+1*2,8/5,8%5,mod(8,5),mod(8,5)|0,-(1+1)*-2;
|
||||
select 1 | (1+1),5 & 3,bit_count(7) ;
|
||||
explain extended select 1 | (1+1),5 & 3,bit_count(7) ;
|
||||
select 1 << 32,1 << 63, 1 << 64, 4 >> 2, 4 >> 63, 1<< 63 >> 60;
|
||||
#
|
||||
# bug #1993: bit functions must be unsigned
|
||||
#
|
||||
select -1 | 0, -1 ^ 0, -1 & 0;
|
||||
select -1 | 1, -1 ^ 1, -1 & 1;
|
||||
select 1 | -1, 1 ^ -1, 1 & -1;
|
||||
select 0 | -1, 0 ^ -1, 0 & -1;
|
||||
select -1 >> 0, -1 << 0;
|
||||
select -1 >> 1, -1 << 1;
|
||||
|
@ -61,11 +61,13 @@ select aes_decrypt("a","a");
|
||||
select aes_decrypt(aes_encrypt("","a"),"a");
|
||||
select repeat('monty',5),concat('*',space(5),'*');
|
||||
select reverse('abc'),reverse('abcd');
|
||||
select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12');
|
||||
select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12');
|
||||
select rpad('a',4,'1'),rpad('a',4,'12'),rpad('abcd',3,'12'), rpad(11, 10 , 22), rpad("ab", 10, 22);
|
||||
select lpad('a',4,'1'),lpad('a',4,'12'),lpad('abcd',3,'12'), lpad(11, 10 , 22);
|
||||
select rpad(741653838,17,'0'),lpad(741653838,17,'0');
|
||||
select rpad('abcd',7,'ab'),lpad('abcd',7,'ab');
|
||||
select rpad('abcd',1,'ab'),lpad('abcd',1,'ab');
|
||||
select rpad('STRING', 20, CONCAT('p','a','d') );
|
||||
select lpad('STRING', 20, CONCAT('p','a','d') );
|
||||
|
||||
select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
@ -77,6 +79,7 @@ select quote('\'\"\\test');
|
||||
select quote(concat('abc\'', '\\cba'));
|
||||
select quote(1/0), quote('\0\Z');
|
||||
select length(quote(concat(char(0),"test")));
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
|
||||
#
|
||||
# Wrong usage of functions
|
||||
|
@ -42,6 +42,18 @@ select yearweek("2000-01-06",1) as '2000', yearweek("2001-01-06",1) as '2001', y
|
||||
select week(19981231,2), week(19981231,3), week(20000101,2), week(20000101,3);
|
||||
select week(20001231,2),week(20001231,3);
|
||||
|
||||
select week(19981231,0) as '0', week(19981231,1) as '1', week(19981231,2) as '2', week(19981231,3) as '3', week(19981231,4) as '4', week(19981231,5) as '5', week(19981231,6) as '6', week(19981231,7) as '7';
|
||||
select week(20000101,0) as '0', week(20000101,1) as '1', week(20000101,2) as '2', week(20000101,3) as '3', week(20000101,4) as '4', week(20000101,5) as '5', week(20000101,6) as '6', week(20000101,7) as '7';
|
||||
select week(20000106,0) as '0', week(20000106,1) as '1', week(20000106,2) as '2', week(20000106,3) as '3', week(20000106,4) as '4', week(20000106,5) as '5', week(20000106,6) as '6', week(20000106,7) as '7';
|
||||
select week(20001231,0) as '0', week(20001231,1) as '1', week(20001231,2) as '2', week(20001231,3) as '3', week(20001231,4) as '4', week(20001231,5) as '5', week(20001231,6) as '6', week(20001231,7) as '7';
|
||||
select week(20010101,0) as '0', week(20010101,1) as '1', week(20010101,2) as '2', week(20010101,3) as '3', week(20010101,4) as '4', week(20010101,5) as '5', week(20010101,6) as '6', week(20010101,7) as '7';
|
||||
|
||||
select yearweek(20001231,0), yearweek(20001231,1), yearweek(20001231,2), yearweek(20001231,3), yearweek(20001231,4), yearweek(20001231,5), yearweek(20001231,6), yearweek(20001231,7);
|
||||
|
||||
set default_week_format = 6;
|
||||
select week(20001231), week(20001231,6);
|
||||
set default_week_format = 0;
|
||||
|
||||
set default_week_format = 2;
|
||||
select week(20001231),week(20001231,2),week(20001231,0);
|
||||
set default_week_format = 0;
|
||||
@ -193,6 +205,13 @@ select * from t1, t2 where t1.start >= t2.ctime1 and t1.start <= t2.ctime2;
|
||||
select * from t1, t3 where t1.start between t3.ctime1 and t3.ctime2;
|
||||
drop table t1,t2,t3;
|
||||
|
||||
#
|
||||
# Test unix timestamp
|
||||
#
|
||||
select @a:=FROM_UNIXTIME(1);
|
||||
select unix_timestamp(@a);
|
||||
select unix_timestamp('1969-12-01 19:00:01');
|
||||
|
||||
#
|
||||
# Test types from + INTERVAL
|
||||
#
|
||||
|
@ -432,3 +432,27 @@ select id, sum(qty) as sqty, count(qty) as cqty from t1 group by id having sum(q
|
||||
select count(*), case interval(qty,2,3,4,5,6,7,8) when -1 then NULL when 0 then "zero" when 1 then "one" when 2 then "two" end as category from t1 group by category;
|
||||
select count(*), interval(qty,2,3,4,5,6,7,8) as category from t1 group by category;
|
||||
drop table t1;
|
||||
#
|
||||
# Tests for bug #1355: 'Using filesort' is missing in EXPLAIN when ORDER BY
|
||||
# NULL is used.
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
userid int(10) unsigned,
|
||||
score smallint(5) unsigned,
|
||||
key (score)
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,1),(2,2),(1,1),(3,3),(3,3),(3,3),(3,3),(3,3);
|
||||
# Here we select unordered GROUP BY into a temporary talbe,
|
||||
# and then sort it with filesort (GROUP BY in MySQL
|
||||
# implies sorted order of results)
|
||||
SELECT userid,count(*) FROM t1 GROUP BY userid DESC;
|
||||
EXPLAIN SELECT userid,count(*) FROM t1 GROUP BY userid DESC;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
i int(11) default NULL,
|
||||
j int(11) default NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES (1,2),(2,3),(4,5),(3,5),(1,5),(23,5);
|
||||
SELECT i, COUNT(DISTINCT(i)) FROM t1 GROUP BY j ORDER BY NULL;
|
||||
explain SELECT i, COUNT(DISTINCT(i)) FROM t1 GROUP BY j ORDER BY NULL;
|
||||
DROP TABLE t1;
|
||||
|
@ -902,12 +902,47 @@ update t1 set a=a+10+b where a=1 order by b;
|
||||
select * from t1 order by a,b;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test of multi-table-updates (bug #1980).
|
||||
#
|
||||
|
||||
create table t1 ( c char(8) not null ) engine=innodb;
|
||||
insert into t1 values ('0'),('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9');
|
||||
insert into t1 values ('A'),('B'),('C'),('D'),('E'),('F');
|
||||
|
||||
alter table t1 add b char(8) not null;
|
||||
alter table t1 add a char(8) not null;
|
||||
alter table t1 add primary key (a,b,c);
|
||||
update t1 set a=c, b=c;
|
||||
|
||||
create table t2 (c char(8) not null, b char(8) not null, a char(8) not null, primary key(a,b,c)) engine=innodb;
|
||||
insert into t2 select * from t1;
|
||||
|
||||
delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# test autoincrement with TRUNCATE
|
||||
#
|
||||
|
||||
SET AUTOCOMMIT=1;
|
||||
create table t1 (a integer auto_increment primary key) engine=innodb;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
truncate table t1;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
SELECT * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test timestamps
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (col1 int(1))ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (col1 int(1),stamp TIMESTAMP,INDEX stamp_idx
|
||||
(stamp))ENGINE=InnoDB;
|
||||
insert into t1 values (1),(2),(3);
|
||||
insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 );
|
||||
# Note that timestamp 3 is wrong
|
||||
insert into t2 values (1, 20020204130000),(2, 20020204130000),(4,20020204310000 ),(5,20020204230000);
|
||||
SELECT col1 FROM t1 UNION SELECT col1 FROM t2 WHERE stamp <
|
||||
'20020204120000' GROUP BY col1;
|
||||
drop table t1,t2;
|
||||
|
@ -71,7 +71,7 @@ drop table t1;
|
||||
create table t1 (email varchar(50));
|
||||
insert into t1 values ('sasha@mysql.com'),('monty@mysql.com'),('foo@hotmail.com'),('foo@aol.com'),('bar@aol.com');
|
||||
create table t2(id int not null auto_increment primary key, t2 varchar(50), unique(t2));
|
||||
insert into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
insert delayed into t2 (t2) select distinct substring(email, locate('@', email)+1) from t1;
|
||||
select * from t2;
|
||||
drop table t1,t2;
|
||||
|
||||
|
@ -438,3 +438,16 @@ select * from t1
|
||||
left outer join t2 using (f2)
|
||||
left outer join t3 using (f3);
|
||||
drop table t1,t2,t3;
|
||||
|
||||
create table t1 (a1 int, a2 int);
|
||||
create table t2 (b1 int not null, b2 int);
|
||||
create table t3 (c1 int, c2 int);
|
||||
|
||||
insert into t1 values (1,2), (2,2), (3,2);
|
||||
insert into t2 values (1,3), (2,3);
|
||||
insert into t3 values (2,4), (3,4);
|
||||
|
||||
select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is null;
|
||||
explain select * from t1 left join t2 on b1 = a1 left join t3 on c1 = a1 and b1 is null;
|
||||
|
||||
drop table t1, t2, t3;
|
||||
|
@ -22,9 +22,7 @@ select * from t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (i int);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1);
|
||||
insert into t1 (i) values(1),(1),(1);
|
||||
delete from t1 limit 1;
|
||||
update t1 set i=2 limit 1;
|
||||
delete from t1 limit 0;
|
||||
@ -32,4 +30,22 @@ update t1 set i=3 limit 0;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
# LIMIT 0
|
||||
|
||||
select 0 limit 0;
|
||||
|
||||
#
|
||||
# Test with DELETE, ORDER BY and limit (bug #1024)
|
||||
#
|
||||
|
||||
CREATE TABLE t1(id int auto_increment primary key, id2 int, index(id2));
|
||||
INSERT INTO t1 (id2) values (0),(0),(0);
|
||||
DELETE FROM t1 WHERE id=1;
|
||||
INSERT INTO t1 SET id2=0;
|
||||
SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE id2 = 0 ORDER BY id LIMIT 1;
|
||||
# should have deleted WHERE id=2
|
||||
SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE id2 = 0 ORDER BY id desc LIMIT 1;
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
@ -20,3 +20,14 @@ create table t1 (a text, b text);
|
||||
load data infile '../../std_data/loaddata2.dat' into table t1 fields terminated by ',' enclosed by '''';
|
||||
select concat('|',a,'|'), concat('|',b,'|') from t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a int, b char(10));
|
||||
load data infile '../../std_data/loaddata3.dat' into table t1 fields terminated by '' enclosed by '' ignore 1 lines;
|
||||
select * from t1;
|
||||
truncate table t1;
|
||||
load data infile '../../std_data/loaddata4.dat' into table t1 fields terminated by '' enclosed by '' lines terminated by '' ignore 1 lines;
|
||||
|
||||
# The empty line last comes from the end line field in the file
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
|
@ -3,21 +3,24 @@
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3;
|
||||
drop table if exists t1,t2,t3,t4,T1;
|
||||
--enable_warnings
|
||||
|
||||
create table T1 (id int primary key, Word varchar(40) not null, Index(Word));
|
||||
create table t4 (id int primary key, Word varchar(40) not null);
|
||||
INSERT INTO T1 VALUES (1, 'a'), (2, 'b'), (3, 'c');
|
||||
INSERT INTO T4 VALUES(1,'match');
|
||||
SELECT * FROM t1;
|
||||
SELECT T1.id from T1 LIMIT 1;
|
||||
SELECT T2.id from t1 as T2 LIMIT 1;
|
||||
SELECT * from t1 left join t4 on (test.t1.id= TEST.t4.id) where TEST.t1.id >= test.t4.id;
|
||||
# This gave an error in 4.0, but it's fixed in 4.1
|
||||
SELECT T2.id from t1 as t2 LIMIT 1;
|
||||
RENAME TABLE T1 TO T2;
|
||||
ALTER TABLE T2 ADD new_col int not null;
|
||||
ALTER TABLE T2 RENAME T3;
|
||||
show tables like 't_';
|
||||
drop table t3;
|
||||
drop table t3,t4;
|
||||
#
|
||||
# Test alias
|
||||
#
|
||||
|
@ -60,8 +60,8 @@ delete from t1, t2, t3 using t1,t2,t3 where t1.id1 = t2.id2 and t2.id2 = t3.id3
|
||||
select count(*) from t1 where id1;
|
||||
select count(*) from t2 where id2;
|
||||
select count(*) from t3 where id3;
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
create table t1(id1 int not null primary key, t varchar(100)) pack_keys = 1;
|
||||
create table t2(id2 int not null, t varchar(100), index(id2)) pack_keys = 1;
|
||||
disable_query_log;
|
||||
@ -276,6 +276,41 @@ update t1 left join t2 on t1.a=t2.a set t1.b=2, t2.b=2 where t1.b=1 and t2.b=1
|
||||
select t1.a, t1.b,t2.a, t2.b from t1 left join t2 on t1.a=t2.a where t1.b=1 and t2.b=1 or t2.a is NULL;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Test reuse of same table
|
||||
#
|
||||
|
||||
create table t1 (a int not null auto_increment primary key, b int not null);
|
||||
insert into t1 (b) values (1),(2),(3),(4);
|
||||
update t1, t1 as t2 set t1.b=t2.b+1 where t1.a=t2.a;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
# Test multi-update and multi-delete with impossible where
|
||||
|
||||
create table t1(id1 smallint(5), field char(5));
|
||||
create table t2(id2 smallint(5), field char(5));
|
||||
|
||||
insert into t1 values (1, 'a'), (2, 'aa');
|
||||
insert into t2 values (1, 'b'), (2, 'bb');
|
||||
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
|
||||
update t2 inner join t1 on t1.id1=t2.id2
|
||||
set t2.field=t1.field
|
||||
where 0=1;
|
||||
update t2, t1 set t2.field=t1.field
|
||||
where t1.id1=t2.id2 and 0=1;
|
||||
|
||||
delete t1, t2 from t2 inner join t1 on t1.id1=t2.id2
|
||||
where 0=1;
|
||||
delete t1, t2 from t2,t1
|
||||
where t1.id1=t2.id2 and 0=1;
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
|
||||
#
|
||||
# Test for bug #1820.
|
||||
#
|
||||
|
@ -6,12 +6,34 @@ DROP TABLE IF EXISTS t1, `"t"1`;
|
||||
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
--exec $MYSQL_DUMP --skip-all -X test t1
|
||||
--exec $MYSQL_DUMP --skip-all --skip-comments -X test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #2005
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a decimal(240, 20));
|
||||
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
|
||||
("0987654321098765432109876543210987654321");
|
||||
--exec $MYSQL_DUMP --skip-comments test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #2055
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a double);
|
||||
INSERT INTO t1 VALUES (-9e999999);
|
||||
# The following replaces is here because some systems replaces the above
|
||||
# double with '-inf' and others with MAX_DOUBLE
|
||||
--replace_result (-1.79769313486232e+308) (RES) (NULL) (RES)
|
||||
--exec $MYSQL_DUMP --skip-comments test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1(a int, b text, c varchar(3));
|
||||
INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
|
||||
--exec $MYSQL_DUMP --skip-all -X test t1
|
||||
--exec $MYSQL_DUMP --skip-all --skip-comments -X test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
@ -20,7 +42,7 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (`a"b"` char(2));
|
||||
INSERT INTO t1 VALUES ("1\""), ("\"2");
|
||||
--exec $MYSQL_DUMP --skip-all -X test t1
|
||||
--exec $MYSQL_DUMP --skip-all --skip-comments -X test t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
@ -29,5 +51,5 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5');
|
||||
--exec $MYSQL_DUMP test t1
|
||||
--exec $MYSQL_DUMP --skip-comments test t1
|
||||
DROP TABLE t1;
|
||||
|
@ -254,10 +254,14 @@ select * from mysqltest.t1 where i is null;
|
||||
#
|
||||
# drop db
|
||||
#
|
||||
create table t1(a int);
|
||||
select * from t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
select * from mysqltest.t1;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
drop database mysqltest;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Charset convertion (cp1251_koi8 always present)
|
||||
|
30
mysql-test/t/rpl_EE_error.test
Normal file
30
mysql-test/t/rpl_EE_error.test
Normal file
@ -0,0 +1,30 @@
|
||||
# See if an EE_ error in one event of the master's binlog stops replication
|
||||
# (it should not: in this configuration the EE_ error is probably not
|
||||
# critical). Example: you do a DROP TABLE on a table which has no MYI file
|
||||
# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
|
||||
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986).
|
||||
|
||||
source include/master-slave.inc;
|
||||
|
||||
create table t1 (a int) engine=myisam;
|
||||
flush tables;
|
||||
system rm ./var/master-data/test/t1.MYI ;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
||||
# Now a real error.
|
||||
|
||||
connection master;
|
||||
create table t1 (a int, unique(a)) engine=myisam;
|
||||
set sql_log_bin=0;
|
||||
insert into t1 values(2);
|
||||
set sql_log_bin=1;
|
||||
save_master_pos;
|
||||
--error 1062;
|
||||
insert into t1 values(1),(2);
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
24
mysql-test/t/rpl_multi_update.test
Normal file
24
mysql-test/t/rpl_multi_update.test
Normal file
@ -0,0 +1,24 @@
|
||||
source include/master-slave.inc;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned,
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE TABLE t2 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
INSERT INTO t1 VALUES (NULL, 0);
|
||||
INSERT INTO t1 SELECT NULL, 0 FROM t1;
|
||||
|
||||
INSERT INTO t2 VALUES (NULL, 0), (NULL,1);
|
||||
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
SELECT * FROM t2 ORDER BY a;
|
||||
|
||||
UPDATE t1, t2 SET t1.b = t2.b WHERE t1.a = t2.a;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
@ -130,6 +130,7 @@ while ($1)
|
||||
dec $1;
|
||||
}
|
||||
enable_query_log;
|
||||
select count(*) from t3 where n >= 4;
|
||||
create table t4 select * from temp_table;
|
||||
show binary logs;
|
||||
show master status;
|
||||
|
@ -95,3 +95,17 @@ SELECT FOUND_ROWS();
|
||||
SELECT SQL_CALC_FOUND_ROWS * FROM t1 ORDER BY numeropost LIMIT 0;
|
||||
SELECT FOUND_ROWS();
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test problem with impossible WHERE (Bug #1468)
|
||||
#
|
||||
|
||||
create table t1 (id int, primary key (id));
|
||||
insert into t1 values (1), (2), (3), (4), (5);
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 limit 0, 1;
|
||||
select FOUND_ROWS();
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 3 AND 1=2 limit 0, 1;
|
||||
select FOUND_ROWS();
|
||||
select SQL_CALC_FOUND_ROWS * from t1 where id > 6 limit 0, 1;
|
||||
select FOUND_ROWS();
|
||||
drop table t1;
|
||||
|
@ -93,3 +93,25 @@ select count(*) from mysqltest.t9;
|
||||
--replace_result $MYSQL_TEST_DIR TEST_DIR
|
||||
show create table mysqltest.t9;
|
||||
drop database mysqltest;
|
||||
|
||||
#
|
||||
# Test changing data dir (Bug #1662)
|
||||
#
|
||||
|
||||
create table t1 (a int not null) type=myisam;
|
||||
disable_query_log;
|
||||
eval alter table t1 data directory="$MYSQL_TEST_DIR/var/tmp";
|
||||
enable_query_log;
|
||||
--replace_result $MYSQL_TEST_DIR TEST_DIR
|
||||
show create table t1;
|
||||
alter table t1 add b int;
|
||||
disable_query_log;
|
||||
eval alter table t1 data directory="$MYSQL_TEST_DIR/var/log";
|
||||
enable_query_log;
|
||||
--replace_result $MYSQL_TEST_DIR TEST_DIR
|
||||
show create table t1;
|
||||
disable_query_log;
|
||||
eval alter table t1 index directory="$MYSQL_TEST_DIR/var/log";
|
||||
enable_query_log;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
@ -1,9 +1,9 @@
|
||||
#
|
||||
# Test of timezone handling. This script must be run with TZ=MEST
|
||||
# Test of timezone handling. This script must be run with TZ=MET
|
||||
|
||||
-- require r/have_mest_timezone.require
|
||||
-- require r/have_met_timezone.require
|
||||
disable_query_log;
|
||||
show variables like "timezone";
|
||||
select FROM_UNIXTIME(24*3600);
|
||||
enable_query_log;
|
||||
|
||||
# Initialization
|
||||
@ -11,6 +11,17 @@ enable_query_log;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
show variables like "timezone";
|
||||
|
||||
#
|
||||
# Test unix timestamp
|
||||
#
|
||||
select @a:=FROM_UNIXTIME(1);
|
||||
select unix_timestamp(@a);
|
||||
|
||||
#
|
||||
# Test of some values, including some with daylight saving time
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (ts int);
|
||||
INSERT INTO t1 (ts) VALUES (Unix_timestamp('2002-10-27 01:00'));
|
||||
@ -26,3 +37,4 @@ INSERT INTO t1 (ts) VALUES (Unix_timestamp('2003-03-30 04:00:01'));
|
||||
|
||||
SELECT ts,from_unixtime(ts) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
@ -24,3 +24,15 @@ select * from t1;
|
||||
drop table t1;
|
||||
--error 1146
|
||||
truncate non_existing_table;
|
||||
|
||||
#
|
||||
# test autoincrement with TRUNCATE
|
||||
#
|
||||
|
||||
create table t1 (a integer auto_increment primary key);
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
truncate table t1;
|
||||
insert into t1 (a) values (NULL),(NULL);
|
||||
SELECT * from t1;
|
||||
drop table t1;
|
||||
|
||||
|
@ -308,3 +308,52 @@ drop table t1;
|
||||
create table t1 select load_file('../../std_data/words.dat');
|
||||
show full fields from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test blob's with end space (Bug #1651)
|
||||
#
|
||||
|
||||
create table t1 (id integer primary key auto_increment, txt text not null, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy ');
|
||||
select * from t1 where txt='Chevy';
|
||||
select * from t1 where txt='Chevy ';
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
select * from t1 where id='1' or id='2';
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
select * from t1 where txt in ('Chevy');
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
select * from t1 where txt > 'Chevy';
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
drop table t1;
|
||||
|
||||
create table t1 (id integer primary key auto_increment, txt text, unique index txt_index (txt (20)));
|
||||
insert into t1 (txt) values ('Chevy'), ('Chevy '), (NULL);
|
||||
select * from t1 where txt='Chevy' or txt is NULL;
|
||||
select * from t1 where txt='Chevy ';
|
||||
select * from t1 where txt='Chevy ' or txt='Chevy';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
select * from t1 where id='1' or id='2';
|
||||
insert into t1 (txt) values('Ford');
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt='Ford';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ';
|
||||
select * from t1 where txt='Chevy' or txt='Chevy ' or txt=' Chevy';
|
||||
select * from t1 where txt in ('Chevy ','Chevy');
|
||||
select * from t1 where txt in ('Chevy');
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy';
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy' or txt='Chevy ';
|
||||
select * from t1 where txt between 'Chevy' and 'Chevy ';
|
||||
select * from t1 where txt < 'Chevy ';
|
||||
select * from t1 where txt < 'Chevy ' or txt is NULL;
|
||||
select * from t1 where txt <= 'Chevy';
|
||||
select * from t1 where txt > 'Chevy';
|
||||
select * from t1 where txt >= 'Chevy';
|
||||
drop table t1;
|
||||
|
@ -7,12 +7,13 @@ drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (t datetime);
|
||||
insert into t1 values(101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959);
|
||||
insert into t1 values(101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030102030460),(20030102036301),(20030102240401),(20030132030401),(20031302030460);
|
||||
select * from t1;
|
||||
delete from t1 where t > 0;
|
||||
optimize table t1;
|
||||
check table t1;
|
||||
insert into t1 values("000101"),("691231"),("700101"),("991231"),("00000101"),("00010101"),("99991231"),("00101000000"),("691231000000"),("700101000000"),("991231235959"),("10000101000000"),("99991231235959");
|
||||
delete from t1;
|
||||
insert into t1 values("000101"),("691231"),("700101"),("991231"),("00000101"),("00010101"),("99991231"),("00101000000"),("691231000000"),("700101000000"),("991231235959"),("10000101000000"),("99991231235959"),("20030102030460"),("20030102036301"),("20030102240401"),("20030132030401"),("20031302030460");
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
|
@ -244,3 +244,21 @@ CREATE TABLE t1 (a_dec DECIMAL(-1,0));
|
||||
CREATE TABLE t1 (a_dec DECIMAL(-2,1));
|
||||
--error 1064
|
||||
CREATE TABLE t1 (a_dec DECIMAL(-1,1));
|
||||
|
||||
#
|
||||
# Zero prepend overflow bug
|
||||
#
|
||||
--disable-warnings
|
||||
create table t1(a decimal(7,3));
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
create table t1(a decimal(7,3) unsigned);
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
create table t1(a decimal(7,3) zerofill);
|
||||
insert into t1 values ('1'),('+1'),('-1'),('0000000001'),('+0000000001'),('-0000000001'),('10'),('+10'),('-10'),('0000000010'),('+0000000010'),('-0000000010'),('100'),('+100'),('-100'),('0000000100'),('+0000000100'),('-0000000100'),('1000'),('+1000'),('-1000'),('0000001000'),('+0000001000'),('-0000001000'),('10000'),('+10000'),('-10000'),('0000010000'),('+0000010000'),('-0000010000'),('100000'),('+100000'),('-100000'),('0000100000'),('+0000100000'),('-0000100000'),('1000000'),('+1000000'),('-1000000'),('0001000000'),('+0001000000'),('-0001000000'),('10000000'),('+10000000'),('-10000000'),('0010000000'),('+0010000000'),('-0010000000'),('100000000'),('+100000000'),('-100000000'),('0100000000'),('+0100000000'),('-0100000000'),('1000000000'),('+1000000000'),('-1000000000'),('1000000000'),('+1000000000'),('-1000000000');
|
||||
--enable-warnings
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
@ -25,6 +25,17 @@ create table t1 (a enum (' ','a','b ') not null default 'b ');
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Tests of wrong enum values (bug #2023)
|
||||
#
|
||||
|
||||
create table t1 (a enum ('0','1'));
|
||||
insert into t1 set a='foobar';
|
||||
select * from t1;
|
||||
update t1 set a = replace(a,'x','y');
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #2077
|
||||
#
|
||||
|
@ -37,8 +37,11 @@ select date_format(a,"%Y %y"),year(a),year(now()) from t1;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (ix timestamp);
|
||||
insert into t1 values (19991101000000),(19990102030405),(19990630232922),(19990601000000),(19990930232922),(19990531232922),(19990501000000),(19991101000000),(19990501000000);
|
||||
select ix+0 from t1;
|
||||
insert into t1 values (19991101000000),(19990102030405),(19990630232922),(19990601000000),(19990930232922),(19990531232922),(19990501000000),(19991101000000),(19990501000000),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101);
|
||||
select ix+0 from t1;
|
||||
delete from t1;
|
||||
insert into t1 values ("19991101000000"),("19990102030405"),("19990630232922"),("19990601000000"),("20030101010160"),("20030101016001"),("20030101240101"),("20030132010101"),("20031301010101");
|
||||
select ix+0 from t1;
|
||||
drop table t1;
|
||||
|
||||
CREATE TABLE t1 (date date, date_time datetime, time_stamp timestamp);
|
||||
@ -72,3 +75,9 @@ set new=1;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #1885
|
||||
#
|
||||
|
||||
--error 1067
|
||||
create table t1 (a timestamp default 1);
|
||||
|
@ -11,7 +11,7 @@ insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
|
||||
CREATE TABLE t2 (a int not null, b char (10) not null);
|
||||
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
|
||||
|
||||
select a,b from t1 union select a,b from t2;
|
||||
select a,b from t1 union distinct select a,b from t2;
|
||||
select a,b from t1 union all select a,b from t2;
|
||||
select a,b from t1 union all select a,b from t2 order by b;
|
||||
select a,b from t1 union all select a,b from t2 union select 7,'g';
|
||||
@ -247,8 +247,18 @@ SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a desc LIMIT 1;
|
||||
--error 1234
|
||||
(SELECT * FROM t1) UNION all (SELECT SQL_CALC_FOUND_ROWS * FROM t2) LIMIT 1;
|
||||
|
||||
create temporary table t1 select a from t1 union select a from t2;
|
||||
drop temporary table t1;
|
||||
--error 1093
|
||||
create table t1 select a from t1 union select a from t2;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Problem with alias '*' (BUG #1249)
|
||||
#
|
||||
|
||||
select length(version()) > 1 as `*` UNION select 2;
|
||||
|
||||
#
|
||||
# Test for another bug with UNION and LEFT JOIN
|
||||
#
|
||||
@ -455,4 +465,3 @@ show status like 'Slow_queries';
|
||||
select count(*) from t1 where a=7 union select count(*) from t1 where b=13;
|
||||
show status like 'Slow_queries';
|
||||
drop table t1;
|
||||
|
||||
|
Reference in New Issue
Block a user