mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-clean BitKeeper/etc/logging_ok: auto-union configure.in: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.cc: Auto merged sql/lock.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_repl.cc: Auto merged storage/heap/hp_hash.c: Auto merged storage/innobase/dict/dict0dict.c: Auto merged storage/innobase/fil/fil0fil.c: Auto merged storage/innobase/include/dict0dict.h: Auto merged storage/myisam/Makefile.am: Auto merged storage/myisam/mi_key.c: Auto merged storage/myisam/myisampack.c: Auto merged storage/myisammrg/myrg_open.c: Auto merged storage/ndb/include/ndbapi/NdbDictionary.hpp: Auto merged storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Auto merged storage/ndb/src/ndbapi/ndberror.c: Auto merged
This commit is contained in:
@ -226,3 +226,13 @@ create table t1 (v varchar(65530), key(v(10)));
|
||||
insert into t1 values(repeat('a',65530));
|
||||
select length(v) from t1 where v=repeat('a',65530);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #9489: problem with hash indexes
|
||||
#
|
||||
|
||||
create table t1(a int, b varchar(12), key ba(b, a));
|
||||
insert into t1 values (1, 'A'), (20, NULL);
|
||||
explain select * from t1 where a=20 and b is null;
|
||||
select * from t1 where a=20 and b is null;
|
||||
drop table t1;
|
||||
|
@ -184,6 +184,22 @@ fld1 fld3
|
||||
250503 heaving
|
||||
250504 population
|
||||
250505 bomb
|
||||
create table t3 engine=archive select * from t2;
|
||||
select * from t3 where fld3='bonfire';
|
||||
auto fld1 companynr fld3 fld4 fld5 fld6
|
||||
1191 068504 00 bonfire corresponds positively
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
1199
|
||||
rename table t3 to t4;
|
||||
Warnings:
|
||||
Error 7 Error on rename of './test/t3.ARN' to './test/t4.ARN' (Errcode: 2)
|
||||
select * from t4 where fld3='bonfire';
|
||||
auto fld1 companynr fld3 fld4 fld5 fld6
|
||||
1191 068504 00 bonfire corresponds positively
|
||||
select count(*) from t4;
|
||||
count(*)
|
||||
1199
|
||||
INSERT INTO t2 VALUES (1,000001,00,'Omaha','teethe','neat','');
|
||||
INSERT INTO t2 VALUES (2,011401,37,'breaking','dreaded','Steinberg','W');
|
||||
INSERT INTO t2 VALUES (3,011402,37,'Romans','scholastics','jarring','');
|
||||
@ -5020,4 +5036,4 @@ auto fld1 companynr fld3 fld4 fld5 fld6
|
||||
3 011402 37 Romans scholastics jarring
|
||||
4 011403 37 intercepted audiology tinily
|
||||
INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
|
||||
drop table t1, t2;
|
||||
drop table t1, t2, t4;
|
||||
|
@ -1858,6 +1858,15 @@ select length(v) from t1 where v=repeat('a',65530);
|
||||
length(v)
|
||||
65530
|
||||
drop table t1;
|
||||
create table t1(a int, b varchar(12), key ba(b, a));
|
||||
insert into t1 values (1, 'A'), (20, NULL);
|
||||
explain select * from t1 where a=20 and b is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref ba ba 20 const,const 1 Using where
|
||||
select * from t1 where a=20 and b is null;
|
||||
a b
|
||||
20 NULL
|
||||
drop table t1;
|
||||
create table t1 (v varchar(65530), key(v));
|
||||
Warnings:
|
||||
Warning 1071 Specified key was too long; max key length is 255 bytes
|
||||
|
@ -128,3 +128,20 @@ t2.value64=t1.value64;
|
||||
value64 value32 value64 value32
|
||||
9223372036854775807 2 9223372036854775807 4
|
||||
drop table t1, t2;
|
||||
create table t1 select 1 as 'a';
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bigint(1) NOT NULL default '0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 select 9223372036854775809 as 'a';
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bigint(19) unsigned NOT NULL default '0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select * from t1;
|
||||
a
|
||||
9223372036854775809
|
||||
drop table t1;
|
||||
|
@ -83,4 +83,43 @@ Full-text indexes are called collections
|
||||
Only MyISAM tables support collections
|
||||
select * from t1 where MATCH(a,b) AGAINST ("only");
|
||||
a b
|
||||
drop table if exists t1,t2;
|
||||
reset master;
|
||||
drop table t1,t2;
|
||||
create table t1 (a int) engine=blackhole;
|
||||
delete from t1 where a=10;
|
||||
update t1 set a=11 where a=15;
|
||||
insert into t1 values(1);
|
||||
insert ignore into t1 values(1);
|
||||
replace into t1 values(100);
|
||||
create table t2 (a varchar(200)) engine=blackhole;
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
alter table t1 add b int;
|
||||
alter table t1 drop b;
|
||||
create table t3 like t1;
|
||||
insert into t1 select * from t3;
|
||||
replace into t1 select * from t3;
|
||||
select * from t1;
|
||||
a
|
||||
select * from t2;
|
||||
a
|
||||
select * from t3;
|
||||
a
|
||||
show binlog events;
|
||||
Log_name Pos Event_type Server_id Orig_log_pos Info
|
||||
master-bin.000001 # Start 1 # Server ver: VERSION, Binlog ver: 3
|
||||
master-bin.000001 # Query 1 # use `test`; drop table t1,t2
|
||||
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=blackhole
|
||||
master-bin.000001 # Query 1 # use `test`; delete from t1 where a=10
|
||||
master-bin.000001 # Query 1 # use `test`; update t1 set a=11 where a=15
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; insert ignore into t1 values(1)
|
||||
master-bin.000001 # Query 1 # use `test`; replace into t1 values(100)
|
||||
master-bin.000001 # Query 1 # use `test`; create table t2 (a varchar(200)) engine=blackhole
|
||||
master-bin.000001 # Create_file 1 # db=test;table=t2;file_id=1;block_len=581
|
||||
master-bin.000001 # Exec_load 1 # ;file_id=1
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t1 add b int
|
||||
master-bin.000001 # Query 1 # use `test`; alter table t1 drop b
|
||||
master-bin.000001 # Query 1 # use `test`; create table t3 like t1
|
||||
master-bin.000001 # Query 1 # use `test`; insert into t1 select * from t3
|
||||
master-bin.000001 # Query 1 # use `test`; replace into t1 select * from t3
|
||||
drop table t1,t2,t3;
|
||||
|
@ -4,12 +4,11 @@ CAST(1-2 AS UNSIGNED)
|
||||
select CAST(CAST(1-2 AS UNSIGNED) AS SIGNED INTEGER);
|
||||
CAST(CAST(1-2 AS UNSIGNED) AS SIGNED INTEGER)
|
||||
-1
|
||||
select CONVERT('-1',UNSIGNED);
|
||||
CONVERT('-1',UNSIGNED)
|
||||
18446744073709551615
|
||||
select CAST('10 ' as unsigned integer);
|
||||
CAST('10 ' as unsigned integer)
|
||||
10
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: '10 '
|
||||
select cast(-5 as unsigned) | 1, cast(-5 as unsigned) & -1;
|
||||
cast(-5 as unsigned) | 1 cast(-5 as unsigned) & -1
|
||||
18446744073709551611 18446744073709551611
|
||||
@ -100,6 +99,41 @@ select 10E+0+'a';
|
||||
10
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'a'
|
||||
select cast('18446744073709551616' as unsigned);
|
||||
cast('18446744073709551616' as unsigned)
|
||||
18446744073709551615
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: '18446744073709551616'
|
||||
select cast('18446744073709551616' as signed);
|
||||
cast('18446744073709551616' as signed)
|
||||
-1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: '18446744073709551616'
|
||||
select cast('9223372036854775809' as signed);
|
||||
cast('9223372036854775809' as signed)
|
||||
-9223372036854775807
|
||||
Warnings:
|
||||
Warning 1105 Cast to signed converted positive out-of-range integer to it's negative complement
|
||||
select cast('-1' as unsigned);
|
||||
cast('-1' as unsigned)
|
||||
18446744073709551615
|
||||
Warnings:
|
||||
Warning 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
select cast('abc' as signed);
|
||||
cast('abc' as signed)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'abc'
|
||||
select cast('1a' as signed);
|
||||
cast('1a' as signed)
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: '1a'
|
||||
select cast('' as signed);
|
||||
cast('' as signed)
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
set names binary;
|
||||
select cast(_latin1'test' as char character set latin2);
|
||||
cast(_latin1'test' as char character set latin2)
|
||||
@ -255,6 +289,39 @@ timediff(cast('2004-12-30 12:00:00' as time), '12:00:00')
|
||||
select timediff(cast('1 12:00:00' as time), '12:00:00');
|
||||
timediff(cast('1 12:00:00' as time), '12:00:00')
|
||||
24:00:00
|
||||
select cast(18446744073709551615 as unsigned);
|
||||
cast(18446744073709551615 as unsigned)
|
||||
18446744073709551615
|
||||
select cast(18446744073709551615 as signed);
|
||||
cast(18446744073709551615 as signed)
|
||||
-1
|
||||
select cast('18446744073709551615' as unsigned);
|
||||
cast('18446744073709551615' as unsigned)
|
||||
18446744073709551615
|
||||
select cast('18446744073709551615' as signed);
|
||||
cast('18446744073709551615' as signed)
|
||||
-1
|
||||
Warnings:
|
||||
Warning 1105 Cast to signed converted positive out-of-range integer to it's negative complement
|
||||
select cast('9223372036854775807' as signed);
|
||||
cast('9223372036854775807' as signed)
|
||||
9223372036854775807
|
||||
select cast(concat('184467440','73709551615') as unsigned);
|
||||
cast(concat('184467440','73709551615') as unsigned)
|
||||
18446744073709551615
|
||||
select cast(concat('184467440','73709551615') as signed);
|
||||
cast(concat('184467440','73709551615') as signed)
|
||||
-1
|
||||
Warnings:
|
||||
Warning 1105 Cast to signed converted positive out-of-range integer to it's negative complement
|
||||
select cast(repeat('1',20) as unsigned);
|
||||
cast(repeat('1',20) as unsigned)
|
||||
11111111111111111111
|
||||
select cast(repeat('1',20) as signed);
|
||||
cast(repeat('1',20) as signed)
|
||||
-7335632962598440505
|
||||
Warnings:
|
||||
Warning 1105 Cast to signed converted positive out-of-range integer to it's negative complement
|
||||
select cast('1.2' as decimal(3,2));
|
||||
cast('1.2' as decimal(3,2))
|
||||
1.20
|
||||
|
@ -1,3 +1,4 @@
|
||||
drop table if exists t1;
|
||||
select floor(5.5),floor(-5.5);
|
||||
floor(5.5) floor(-5.5)
|
||||
5 -6
|
||||
|
@ -801,5 +801,5 @@ CREATE TABLE t1 (st varchar(100));
|
||||
INSERT INTO t1 VALUES ("Fake string");
|
||||
CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
|
||||
INSERT INTO t2 SELECT GeomFromText(st) FROM t1;
|
||||
ERROR HY000: Unknown error
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1, t2;
|
||||
|
@ -461,9 +461,9 @@ Note 1003 select issimple(multipoint(point(3,6),point(4,10))) AS `issimple(Multi
|
||||
create table t1 (a geometry not null);
|
||||
insert into t1 values (GeomFromText('Point(1 2)'));
|
||||
insert into t1 values ('Garbage');
|
||||
ERROR HY000: Unknown error
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
insert IGNORE into t1 values ('Garbage');
|
||||
ERROR HY000: Unknown error
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
alter table t1 add spatial index(a);
|
||||
drop table t1;
|
||||
create table t1(a geometry not null, spatial index(a));
|
||||
@ -655,3 +655,13 @@ t1 where object_id=85984;
|
||||
object_id geometrytype(geo) ISSIMPLE(GEO) ASTEXT(centroid(geo))
|
||||
85984 MULTIPOLYGON 0 POINT(-114.87787186923 36.33101763469)
|
||||
drop table t1;
|
||||
create table t1 (fl geometry);
|
||||
insert into t1 values (1);
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
insert into t1 values (1.11);
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
insert into t1 values ("qwerty");
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
insert into t1 values (pointfromtext('point(1,1)'));
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1;
|
||||
|
@ -702,3 +702,12 @@ c
|
||||
val-74
|
||||
val-98
|
||||
drop table t1,t2;
|
||||
create table t1 (b int4 unsigned not null);
|
||||
insert into t1 values(3000000000);
|
||||
select * from t1;
|
||||
b
|
||||
3000000000
|
||||
select min(b) from t1;
|
||||
min(b)
|
||||
3000000000
|
||||
drop table t1;
|
||||
|
@ -1,3 +1,4 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (c1 char(5) unique not null, c2 int, stamp timestamp) engine=innodb;
|
||||
select * from t1;
|
||||
c1 c2 stamp
|
||||
|
@ -2359,6 +2359,15 @@ select length(v) from t1 where v=repeat('a',65530);
|
||||
length(v)
|
||||
65530
|
||||
drop table t1;
|
||||
create table t1(a int, b varchar(12), key ba(b, a));
|
||||
insert into t1 values (1, 'A'), (20, NULL);
|
||||
explain select * from t1 where a=20 and b is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref ba ba 20 const,const 1 Using where; Using index
|
||||
select * from t1 where a=20 and b is null;
|
||||
a b
|
||||
20 NULL
|
||||
drop table t1;
|
||||
create table t1 (v varchar(65530), key(v));
|
||||
ERROR HY000: Can't create table './test/t1' (errno: 139)
|
||||
create table t1 (v varchar(65536));
|
||||
|
@ -1157,6 +1157,15 @@ select length(v) from t1 where v=repeat('a',65530);
|
||||
length(v)
|
||||
65530
|
||||
drop table t1;
|
||||
create table t1(a int, b varchar(12), key ba(b, a));
|
||||
insert into t1 values (1, 'A'), (20, NULL);
|
||||
explain select * from t1 where a=20 and b is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref ba ba 20 const,const 1 Using where; Using index
|
||||
select * from t1 where a=20 and b is null;
|
||||
a b
|
||||
20 NULL
|
||||
drop table t1;
|
||||
create table t1 (v varchar(65530), key(v));
|
||||
Warnings:
|
||||
Warning 1071 Specified key was too long; max key length is 1000 bytes
|
||||
|
@ -599,3 +599,35 @@ UNLOCK TABLES;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a char(10));
|
||||
INSERT INTO t1 VALUES ('\'');
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES 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' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
DROP TABLE IF EXISTS `t1`;
|
||||
CREATE TABLE `t1` (
|
||||
`a` char(10) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
|
||||
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
|
||||
LOCK TABLES `t1` WRITE;
|
||||
INSERT INTO `t1` VALUES ('\'');
|
||||
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 */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -13,6 +13,26 @@ a
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 0
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
select * from t1;
|
||||
ERROR HY000: Got error 241 'Invalid schema object version' from ndbcluster
|
||||
select * from t1;
|
||||
a
|
||||
2
|
||||
flush status;
|
||||
select * from t1;
|
||||
a
|
||||
@ -20,7 +40,7 @@ a
|
||||
update t1 set a=3 where a=2;
|
||||
show status like 'handler_discover%';
|
||||
Variable_name Value
|
||||
Handler_discover 1
|
||||
Handler_discover 0
|
||||
create table t3 (a int not null primary key, b varchar(22),
|
||||
c int, last_col text) engine=ndb;
|
||||
insert into t3 values(1, 'Hi!', 89, 'Longtext column');
|
||||
|
@ -594,4 +594,52 @@ alter function bug7047;
|
||||
return 0;
|
||||
end|
|
||||
ERROR HY000: Can't drop or alter a FUNCTION from within another stored routine
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
select * from t1;
|
||||
return 0;
|
||||
end|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
show warnings;
|
||||
return 0;
|
||||
end|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
create function bug8408(a int) returns int
|
||||
begin
|
||||
declare b int;
|
||||
select b;
|
||||
return b;
|
||||
end|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
drop function if exists bug8408_f|
|
||||
drop procedure if exists bug8408_p|
|
||||
create function bug8408_f() returns int
|
||||
begin
|
||||
call bug8408_p();
|
||||
return 0;
|
||||
end|
|
||||
create procedure bug8408_p()
|
||||
select * from t1|
|
||||
call bug8408_p()|
|
||||
val x
|
||||
select bug8408_f()|
|
||||
ERROR 0A000: PROCEDURE test.bug8408_p can't return a result set in the given context
|
||||
drop procedure bug8408_p|
|
||||
drop function bug8408_f|
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
declare n int default 0;
|
||||
select count(*) into n from t1;
|
||||
return n;
|
||||
end|
|
||||
insert into t1 value (2, 2.7), (3, 3.14), (7, 7.0)|
|
||||
select *,bug8408() from t1|
|
||||
val x bug8408()
|
||||
2 2.7 3
|
||||
3 3.14 3
|
||||
7 7 3
|
||||
drop function bug8408|
|
||||
delete from t1|
|
||||
drop table t1|
|
||||
|
@ -97,3 +97,29 @@ Variable_name Value
|
||||
Created_tmp_disk_tables 0
|
||||
Created_tmp_tables 2
|
||||
drop table t1;
|
||||
create temporary table t1 as select 'This is temp. table' A;
|
||||
create view t1 as select 'This is view' A;
|
||||
select * from t1;
|
||||
A
|
||||
This is temp. table
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TEMPORARY TABLE `t1` (
|
||||
`A` varchar(19) NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
show create view t1;
|
||||
View Create View
|
||||
t1 CREATE ALGORITHM=UNDEFINED VIEW `test`.`t1` AS select _latin1'This is view' AS `A`
|
||||
drop view t1;
|
||||
select * from t1;
|
||||
A
|
||||
This is temp. table
|
||||
create view t1 as select 'This is view again' A;
|
||||
select * from t1;
|
||||
A
|
||||
This is temp. table
|
||||
drop table t1;
|
||||
select * from t1;
|
||||
A
|
||||
This is view again
|
||||
drop view t1;
|
||||
|
@ -764,3 +764,23 @@ non PS, 1.0 in parameter 1.0
|
||||
PS, 1.0 in parameter 1.0
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
strippedproductid char(15) not null default '',
|
||||
zlevelprice decimal(10,2) default null,
|
||||
primary key (strippedproductid)
|
||||
);
|
||||
create table t2 (
|
||||
productid char(15) not null default '',
|
||||
zlevelprice char(21) default null,
|
||||
primary key (productid)
|
||||
);
|
||||
insert into t1 values ('002trans','49.99');
|
||||
insert into t1 values ('003trans','39.98');
|
||||
insert into t1 values ('004trans','31.18');
|
||||
insert INTO t2 SELECT * FROM t1;
|
||||
select * from t2;
|
||||
productid zlevelprice
|
||||
002trans 49.99
|
||||
003trans 39.98
|
||||
004trans 31.18
|
||||
drop table t1, t2;
|
||||
|
@ -1,4 +1,4 @@
|
||||
drop table if exists t1;
|
||||
drop table if exists t1, t2;
|
||||
create table t1 (v varchar(30), c char(3), e enum('abc','def','ghi'), t text);
|
||||
truncate table vchar;
|
||||
show create table t1;
|
||||
@ -383,3 +383,12 @@ select * from t1;
|
||||
pkcol othercol
|
||||
test somethingelse
|
||||
drop table t1;
|
||||
create table t1 (a int, b varchar(12));
|
||||
insert into t1 values (1, 'A'), (22, NULL);
|
||||
create table t2 (a int);
|
||||
insert into t2 values (22), (22);
|
||||
select t1.a, t1.b, min(t1.b) from t1 inner join t2 ON t2.a = t1.a
|
||||
group by t1.b, t1.a;
|
||||
a b min(t1.b)
|
||||
22 NULL NULL
|
||||
drop table t1, t2;
|
||||
|
@ -182,3 +182,44 @@ coercibility(@v1) coercibility(@v2) coercibility(@v3) coercibility(@v4)
|
||||
set session @honk=99;
|
||||
set one_shot @honk=99;
|
||||
ERROR HY000: The 'SET ONE_SHOT' syntax is reserved for purposes internal to the MySQL server
|
||||
set @first_var= NULL;
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`@first_var` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set @first_var= cast(NULL as signed integer);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`@first_var` bigint(20) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set @first_var= NULL;
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`@first_var` bigint(20) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set @first_var= concat(NULL);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`@first_var` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
set @first_var=1;
|
||||
set @first_var= cast(NULL as CHAR);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`@first_var` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
@ -1289,6 +1289,18 @@ select fld3 from t2 where (fld3 like "C%" and fld3 = "Chantilly");
|
||||
select fld1,fld3 from t2 where fld1 like "25050%";
|
||||
select fld1,fld3 from t2 where fld1 like "25050_";
|
||||
|
||||
|
||||
#
|
||||
# Test rename of table
|
||||
#
|
||||
create table t3 engine=archive select * from t2;
|
||||
select * from t3 where fld3='bonfire';
|
||||
select count(*) from t3;
|
||||
rename table t3 to t4;
|
||||
select * from t4 where fld3='bonfire';
|
||||
select count(*) from t4;
|
||||
|
||||
|
||||
#
|
||||
# Test for insert after select
|
||||
#
|
||||
@ -1308,8 +1320,9 @@ INSERT INTO t2 VALUES (1,000001,00,'Omaha','teethe','neat','') , (2,011401,37,'b
|
||||
SELECT * FROM t2;
|
||||
|
||||
# Just test syntax, we will never know if the out put is right or wrong
|
||||
# Must be the last test
|
||||
INSERT DELAYED INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
|
||||
#
|
||||
# Cleanup, test is over
|
||||
#
|
||||
drop table t1, t2;
|
||||
drop table t1, t2, t4;
|
||||
|
@ -104,3 +104,13 @@ t2.value64=t1.value64;
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Test of CREATE ... SELECT and unsigned integers
|
||||
#
|
||||
create table t1 select 1 as 'a';
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
create table t1 select 9223372036854775809 as 'a';
|
||||
show create table t1;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
@ -96,4 +96,32 @@ select * from t1 where MATCH(a,b) AGAINST ("indexes");
|
||||
select * from t1 where MATCH(a,b) AGAINST ("indexes collections");
|
||||
select * from t1 where MATCH(a,b) AGAINST ("only");
|
||||
|
||||
drop table if exists t1,t2;
|
||||
# Test that every DML (except SELECT) and DDL gets into binlog
|
||||
# so that blackhole can be used as "binlog propagator"
|
||||
|
||||
reset master;
|
||||
drop table t1,t2;
|
||||
create table t1 (a int) engine=blackhole;
|
||||
delete from t1 where a=10;
|
||||
update t1 set a=11 where a=15;
|
||||
insert into t1 values(1);
|
||||
insert ignore into t1 values(1);
|
||||
replace into t1 values(100);
|
||||
create table t2 (a varchar(200)) engine=blackhole;
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
alter table t1 add b int;
|
||||
alter table t1 drop b;
|
||||
create table t3 like t1;
|
||||
insert into t1 select * from t3;
|
||||
replace into t1 select * from t3;
|
||||
# Just to verify
|
||||
select * from t1;
|
||||
select * from t2;
|
||||
select * from t3;
|
||||
|
||||
let $VERSION=`select version()`;
|
||||
--replace_result $VERSION VERSION
|
||||
--replace_column 2 # 5 #
|
||||
show binlog events;
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
select CAST(1-2 AS UNSIGNED);
|
||||
select CAST(CAST(1-2 AS UNSIGNED) AS SIGNED INTEGER);
|
||||
select CONVERT('-1',UNSIGNED);
|
||||
select CAST('10 ' as unsigned integer);
|
||||
select cast(-5 as unsigned) | 1, cast(-5 as unsigned) & -1;
|
||||
select cast(-5 as unsigned) -1, cast(-5 as unsigned) + 1;
|
||||
@ -34,6 +33,15 @@ select 10+'a';
|
||||
select 10.0+cast('a' as decimal);
|
||||
select 10E+0+'a';
|
||||
|
||||
# out-of-range cases
|
||||
select cast('18446744073709551616' as unsigned);
|
||||
select cast('18446744073709551616' as signed);
|
||||
select cast('9223372036854775809' as signed);
|
||||
select cast('-1' as unsigned);
|
||||
select cast('abc' as signed);
|
||||
select cast('1a' as signed);
|
||||
select cast('' as signed);
|
||||
|
||||
#
|
||||
# Character set convertion
|
||||
#
|
||||
@ -132,6 +140,22 @@ select timediff(cast('2004-12-30 12:00:00' as time), '12:00:00');
|
||||
# Still we should not throw away "days" part of time value
|
||||
select timediff(cast('1 12:00:00' as time), '12:00:00');
|
||||
|
||||
#
|
||||
# Bug #7036: Casting from string to unsigned would cap value of result at
|
||||
# maximum signed value instead of maximum unsigned value
|
||||
#
|
||||
select cast(18446744073709551615 as unsigned);
|
||||
select cast(18446744073709551615 as signed);
|
||||
select cast('18446744073709551615' as unsigned);
|
||||
select cast('18446744073709551615' as signed);
|
||||
select cast('9223372036854775807' as signed);
|
||||
|
||||
select cast(concat('184467440','73709551615') as unsigned);
|
||||
select cast(concat('184467440','73709551615') as signed);
|
||||
|
||||
select cast(repeat('1',20) as unsigned);
|
||||
select cast(repeat('1',20) as signed);
|
||||
|
||||
#decimal-related additions
|
||||
select cast('1.2' as decimal(3,2));
|
||||
select 1e18 * cast('1.2' as decimal(3,2));
|
||||
|
@ -2,6 +2,10 @@
|
||||
# Test of math functions
|
||||
#
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
select floor(5.5),floor(-5.5);
|
||||
explain extended select floor(5.5),floor(-5.5);
|
||||
select ceiling(5.5),ceiling(-5.5);
|
||||
|
@ -168,6 +168,6 @@ drop table t1;
|
||||
CREATE TABLE t1 (st varchar(100));
|
||||
INSERT INTO t1 VALUES ("Fake string");
|
||||
CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
|
||||
--error 1105
|
||||
--error 1416
|
||||
INSERT INTO t2 SELECT GeomFromText(st) FROM t1;
|
||||
drop table t1, t2;
|
||||
|
@ -165,9 +165,9 @@ explain extended select issimple(MultiPoint(Point(3, 6), Point(4, 10))), issimpl
|
||||
|
||||
create table t1 (a geometry not null);
|
||||
insert into t1 values (GeomFromText('Point(1 2)'));
|
||||
-- error 1105
|
||||
-- error 1416
|
||||
insert into t1 values ('Garbage');
|
||||
-- error 1105
|
||||
-- error 1416
|
||||
insert IGNORE into t1 values ('Garbage');
|
||||
alter table t1 add spatial index(a);
|
||||
|
||||
@ -359,3 +359,15 @@ select object_id, geometrytype(geo), ISSIMPLE(GEO), ASTEXT(centroid(geo)) from
|
||||
t1 where object_id=85984;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (fl geometry);
|
||||
--error 1416
|
||||
insert into t1 values (1);
|
||||
--error 1416
|
||||
insert into t1 values (1.11);
|
||||
--error 1416
|
||||
insert into t1 values ("qwerty");
|
||||
--error 1416
|
||||
insert into t1 values (pointfromtext('point(1,1)'));
|
||||
|
||||
drop table t1;
|
||||
|
@ -515,3 +515,10 @@ explain select c from t2 where a = 2 and b = 'val-2' group by c;
|
||||
select c from t2 where a = 2 and b = 'val-2' group by c;
|
||||
drop table t1,t2;
|
||||
|
||||
# Test for BUG#9298 "Wrong handling of int4 unsigned columns in GROUP functions"
|
||||
# (the actual problem was with protocol code, not GROUP BY)
|
||||
create table t1 (b int4 unsigned not null);
|
||||
insert into t1 values(3000000000);
|
||||
select * from t1;
|
||||
select min(b) from t1;
|
||||
drop table t1;
|
||||
|
@ -2,6 +2,10 @@
|
||||
# embedded server ignores 'delayed', so skip this
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Bug #1078
|
||||
#
|
||||
|
@ -196,3 +196,11 @@ INSERT INTO `t1` VALUES (0x602010000280100005E71A);
|
||||
--exec $MYSQL_DUMP --skip-extended-insert --hex-blob test --skip-comments t1
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #9756
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a char(10));
|
||||
INSERT INTO t1 VALUES ('\'');
|
||||
--exec $MYSQL_DUMP --skip-comments test t1
|
||||
DROP TABLE t1;
|
||||
|
@ -18,6 +18,30 @@ select * from t1;
|
||||
select * from t2;
|
||||
show status like 'handler_discover%';
|
||||
|
||||
# Check dropping and recreating table on same server
|
||||
connect (con1,localhost,,,test);
|
||||
connect (con2,localhost,,,test);
|
||||
connection con1;
|
||||
select * from t1;
|
||||
connection con2;
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
connection con1;
|
||||
select * from t1;
|
||||
|
||||
# Check dropping and recreating table on different server
|
||||
connection server2;
|
||||
show status like 'handler_discover%';
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=ndbcluster;
|
||||
insert into t1 value (2);
|
||||
connection server1;
|
||||
# Currently a retry is required remotely
|
||||
--error 1296
|
||||
select * from t1;
|
||||
select * from t1;
|
||||
|
||||
# Connect to server2 and use the tables from there
|
||||
connection server2;
|
||||
flush status;
|
||||
|
@ -831,6 +831,68 @@ begin
|
||||
end|
|
||||
|
||||
|
||||
#
|
||||
# BUG#8408: Stored procedure crash if function contains SHOW
|
||||
# BUG#9058: Stored Procedures: Crash if function included SELECT
|
||||
#
|
||||
|
||||
# Some things are caught when parsing
|
||||
--error ER_SP_NO_RETSET_IN_FUNC
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
select * from t1;
|
||||
return 0;
|
||||
end|
|
||||
--error ER_SP_NO_RETSET_IN_FUNC
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
show warnings;
|
||||
return 0;
|
||||
end|
|
||||
--error ER_SP_NO_RETSET_IN_FUNC
|
||||
create function bug8408(a int) returns int
|
||||
begin
|
||||
declare b int;
|
||||
select b;
|
||||
return b;
|
||||
end|
|
||||
|
||||
--disable_warnings
|
||||
drop function if exists bug8408_f|
|
||||
drop procedure if exists bug8408_p|
|
||||
--enable_warnings
|
||||
|
||||
# Some things must be caught at invokation time
|
||||
create function bug8408_f() returns int
|
||||
begin
|
||||
call bug8408_p();
|
||||
return 0;
|
||||
end|
|
||||
create procedure bug8408_p()
|
||||
select * from t1|
|
||||
|
||||
call bug8408_p()|
|
||||
--error ER_SP_BADSELECT
|
||||
select bug8408_f()|
|
||||
|
||||
drop procedure bug8408_p|
|
||||
drop function bug8408_f|
|
||||
|
||||
# But this is ok
|
||||
create function bug8408() returns int
|
||||
begin
|
||||
declare n int default 0;
|
||||
select count(*) into n from t1;
|
||||
return n;
|
||||
end|
|
||||
|
||||
insert into t1 value (2, 2.7), (3, 3.14), (7, 7.0)|
|
||||
select *,bug8408() from t1|
|
||||
|
||||
drop function bug8408|
|
||||
delete from t1|
|
||||
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
@ -89,3 +89,18 @@ flush status;
|
||||
select * from t1 group by d;
|
||||
show status like "created_tmp%tables";
|
||||
drop table t1;
|
||||
|
||||
# Fix for BUG#8921: Check that temporary table is ingored by view commands.
|
||||
create temporary table t1 as select 'This is temp. table' A;
|
||||
create view t1 as select 'This is view' A;
|
||||
select * from t1;
|
||||
show create table t1;
|
||||
show create view t1;
|
||||
drop view t1;
|
||||
select * from t1;
|
||||
create view t1 as select 'This is view again' A;
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
select * from t1;
|
||||
drop view t1;
|
||||
|
||||
|
@ -343,3 +343,31 @@ execute stmt using @a;
|
||||
select * from t1;
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# A test case for Bug#5673 "Rounding problem in 4.0.21 inserting decimal
|
||||
# value into a char field": this is a regression bug in 4.0 tree caused by
|
||||
# a fix for some other decimal conversion issue. The patch never was
|
||||
# approved to get into 4.0 (maybe because it was considered too intrusive)
|
||||
#
|
||||
|
||||
create table t1 (
|
||||
strippedproductid char(15) not null default '',
|
||||
zlevelprice decimal(10,2) default null,
|
||||
primary key (strippedproductid)
|
||||
);
|
||||
|
||||
create table t2 (
|
||||
productid char(15) not null default '',
|
||||
zlevelprice char(21) default null,
|
||||
primary key (productid)
|
||||
);
|
||||
|
||||
insert into t1 values ('002trans','49.99');
|
||||
insert into t1 values ('003trans','39.98');
|
||||
insert into t1 values ('004trans','31.18');
|
||||
|
||||
insert INTO t2 SELECT * FROM t1;
|
||||
|
||||
select * from t2;
|
||||
drop table t1, t2;
|
||||
|
@ -1,5 +1,5 @@
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
drop table if exists t1, t2;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (v varchar(30), c char(3), e enum('abc','def','ghi'), t text);
|
||||
@ -106,3 +106,15 @@ insert into t1 values ('test', 'something');
|
||||
update t1 set othercol='somethingelse' where pkcol='test';
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #9489: problems with key handling
|
||||
#
|
||||
|
||||
create table t1 (a int, b varchar(12));
|
||||
insert into t1 values (1, 'A'), (22, NULL);
|
||||
create table t2 (a int);
|
||||
insert into t2 values (22), (22);
|
||||
select t1.a, t1.b, min(t1.b) from t1 inner join t2 ON t2.a = t1.a
|
||||
group by t1.b, t1.a;
|
||||
drop table t1, t2;
|
||||
|
@ -119,3 +119,29 @@ select coercibility(@v1),coercibility(@v2),coercibility(@v3),coercibility(@v4);
|
||||
set session @honk=99;
|
||||
--error 1382
|
||||
set one_shot @honk=99;
|
||||
|
||||
#
|
||||
# Bug #6598: problem with cast(NULL as signed integer);
|
||||
#
|
||||
|
||||
set @first_var= NULL;
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
set @first_var= cast(NULL as signed integer);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
set @first_var= NULL;
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
set @first_var= concat(NULL);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
set @first_var=1;
|
||||
set @first_var= cast(NULL as CHAR);
|
||||
create table t1 select @first_var;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user