mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk@192.168.21.1:/usr/home/bk/mysql-5.0
into deer.(none):/home/hf/work/mysql-5.0.12938
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
--require r/lowercase0.require
|
||||
--disable_query_log;
|
||||
--disable_query_log
|
||||
show variables like "lower_case_%";
|
||||
--enable_query_log;
|
||||
--enable_query_log
|
||||
|
2
mysql-test/include/mysqltest-x.inc
Normal file
2
mysql-test/include/mysqltest-x.inc
Normal file
@ -0,0 +1,2 @@
|
||||
echo Output from mysqltest-x.inc;
|
||||
|
@ -955,6 +955,10 @@ char_length(a) length(a) a
|
||||
2 4 ан
|
||||
drop table t1;
|
||||
set names utf8;
|
||||
select 'andre%' like 'andreñ%' escape 'ñ';
|
||||
'andre%' like 'andreñ%' escape 'ñ'
|
||||
1
|
||||
set names utf8;
|
||||
select 'a\\' like 'a\\';
|
||||
'a\\' like 'a\\'
|
||||
1
|
||||
|
48
mysql-test/r/federated_archive.result
Normal file
48
mysql-test/r/federated_archive.result
Normal file
@ -0,0 +1,48 @@
|
||||
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;
|
||||
stop slave;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
CREATE DATABASE federated;
|
||||
DROP TABLE IF EXISTS federated.archive_table;
|
||||
CREATE TABLE federated.archive_table (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL
|
||||
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
CREATE TABLE federated.t1 (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
COMMENT='mysql://root@127.0.0.1:SLAVE_PORT/federated/archive_table';
|
||||
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (2, 'bar');
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 foo
|
||||
2 bar
|
||||
DELETE FROM federated.t1 WHERE id = 1;
|
||||
ERROR HY000: There was a problem processing the query on the foreign data source. Data source error: ': 1031 : Table storage engine for 'archive_table' doesn't have t'
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 foo
|
||||
2 bar
|
||||
UPDATE federated.t1 SET name='baz' WHERE id = 1;
|
||||
ERROR HY000: There was a problem processing the query on the foreign data source. Data source error: ': 1031 : Table storage engine for 'archive_table' doesn't have t'
|
||||
SELECT * FROM federated.t1;
|
||||
id name
|
||||
1 foo
|
||||
2 bar
|
||||
DROP TABLE federated.t1;
|
||||
DROP TABLE federated.archive_table;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
@ -469,6 +469,15 @@ select collation(group_concat(a,b)) from t1;
|
||||
ERROR HY000: Illegal mix of collations (cp1250_general_ci,IMPLICIT) and (koi8r_general_ci,IMPLICIT) for operation 'group_concat'
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
|
||||
INSERT INTO t1 VALUES ('<27>');
|
||||
SELECT a FROM t1;
|
||||
a
|
||||
<EFBFBD>
|
||||
SELECT GROUP_CONCAT(a) FROM t1;
|
||||
GROUP_CONCAT(a)
|
||||
<EFBFBD>
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (id int);
|
||||
SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL;
|
||||
gc
|
||||
@ -558,3 +567,32 @@ DROP TABLE t1,t2;
|
||||
select * from (select group_concat('c') from DUAL) t;
|
||||
group_concat('c')
|
||||
NULL
|
||||
create table t1 ( a int not null default 0);
|
||||
select * from (select group_concat(a) from t1) t2;
|
||||
group_concat(a)
|
||||
NULL
|
||||
select group_concat('x') UNION ALL select 1;
|
||||
group_concat('x')
|
||||
NULL
|
||||
1
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id int, a varchar(9));
|
||||
INSERT INTO t1 VALUES
|
||||
(2, ''), (1, ''), (2, 'x'), (1, 'y'), (3, 'z'), (3, '');
|
||||
SELECT GROUP_CONCAT(a) FROM t1;
|
||||
GROUP_CONCAT(a)
|
||||
,,x,y,z,
|
||||
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1;
|
||||
GROUP_CONCAT(a ORDER BY a)
|
||||
,,,x,y,z
|
||||
SELECT GROUP_CONCAT(a) FROM t1 GROUP BY id;
|
||||
GROUP_CONCAT(a)
|
||||
,y
|
||||
,x
|
||||
z,
|
||||
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY id;
|
||||
GROUP_CONCAT(a ORDER BY a)
|
||||
,y
|
||||
,x
|
||||
,z
|
||||
DROP TABLE t1;
|
||||
|
@ -158,3 +158,10 @@ DROP TABLE t1;
|
||||
select _cp866'aaaaaaaaa' like _cp866'%aaaa%' collate cp866_bin;
|
||||
_cp866'aaaaaaaaa' like _cp866'%aaaa%' collate cp866_bin
|
||||
1
|
||||
set names koi8r;
|
||||
select 'andre%' like 'andre<72>%' escape '<27>';
|
||||
'andre%' like 'andre<72>%' escape '<27>'
|
||||
1
|
||||
select _cp1251'andre%' like convert('andre<72>%' using cp1251) escape '<27>';
|
||||
_cp1251'andre%' like convert('andre<72>%' using cp1251) escape '<27>'
|
||||
1
|
||||
|
@ -165,3 +165,8 @@ drop table t1;
|
||||
select abs(-2) * -2;
|
||||
abs(-2) * -2
|
||||
-4
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1);
|
||||
select rand(i) from t1;
|
||||
ERROR HY000: Incorrect arguments to RAND
|
||||
drop table t1;
|
||||
|
@ -979,3 +979,14 @@ WHERE TABLE_SCHEMA='test' AND TABLE_TYPE='BASE TABLE');
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 0 0 0 # 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
t2 MyISAM 10 Fixed 0 0 0 # 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
DROP TABLE t1,t2;
|
||||
create table t1(f1 int);
|
||||
create view v1 (c) as select f1 from t1;
|
||||
select database();
|
||||
database()
|
||||
NULL
|
||||
show fields from test.v1;
|
||||
Field Type Null Key Default Extra
|
||||
c int(11) YES NULL
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
@ -2527,3 +2527,15 @@ SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
DROP TABLE t2, t1;
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT PRIMARY KEY
|
||||
) ENGINE=InnoDB;
|
||||
CREATE TEMPORARY TABLE t2
|
||||
(
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
b INT,
|
||||
FOREIGN KEY (b) REFERENCES test.t1(id)
|
||||
) ENGINE=InnoDB;
|
||||
Got one of the listed errors
|
||||
DROP TABLE t1;
|
||||
|
@ -200,7 +200,7 @@ INSERT INTO t1 VALUES (10363,'Tecniques de Comunicacio Oral i Escrita','Tecnicas
|
||||
INSERT INTO t1 VALUES (11403,'Projecte Fi de Carrera','Proyecto Fin de Carrera','Projecte Fi de Carrera','PFC',9.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11404,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',15.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11405,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',18.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11406,'Calcul Infinitesimal','C<EFBFBD>lculo Infinitesimal','Calcul Infinitesimal','Calcul Infinitesimal',15.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11406,'Calcul Infinitesimal','Cßlculo Infinitesimal','Calcul Infinitesimal','Calcul Infinitesimal',15.0,NULL,NULL,NULL);
|
||||
CREATE TABLE t2 (
|
||||
idAssignatura int(11) DEFAULT '0' NOT NULL,
|
||||
Grup int(11) DEFAULT '0' NOT NULL,
|
||||
@ -1001,3 +1001,136 @@ SELECT * FROM t1 LEFT JOIN t2 ON (c11=c21 AND c21=30) WHERE c11=40;
|
||||
c11 c21
|
||||
40 NULL
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (a int PRIMARY KEY, b int);
|
||||
CREATE TABLE t2 (a int PRIMARY KEY, b int);
|
||||
INSERT INTO t1 VALUES (1,2), (2,1), (3,2), (4,3), (5,6), (6,5), (7,8), (8,7), (9,10);
|
||||
INSERT INTO t2 VALUES (3,0), (4,1), (6,4), (7,5);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.b <= t1.a AND t1.a <= t1.b;
|
||||
a b a b
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a BETWEEN t2.b AND t1.b;
|
||||
a b a b
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a NOT BETWEEN t2.b AND t1.b);
|
||||
a b a b
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.b > t1.a OR t1.a > t1.b;
|
||||
a b a b
|
||||
2 1 NULL NULL
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
8 7 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a NOT BETWEEN t2.b AND t1.b;
|
||||
a b a b
|
||||
2 1 NULL NULL
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
8 7 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a BETWEEN t2.b AND t1.b);
|
||||
a b a b
|
||||
2 1 NULL NULL
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
8 7 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t2.b > t1.a OR t1.a > t1.b;
|
||||
a b a b
|
||||
2 1 NULL NULL
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
8 7 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a != t2.a AND t1.a BETWEEN t2.b AND t1.b);
|
||||
a b a b
|
||||
2 1 NULL NULL
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
8 7 NULL NULL
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a AND (t2.b > t1.a OR t1.a > t1.b);
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a != t2.a OR t1.a BETWEEN t2.b AND t1.b);
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t1.a = t2.b;
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a IN(t2.a, t2.b);
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a NOT IN(t2.a, t2.b));
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a != t1.b AND t1.a != t2.b;
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a NOT IN(t1.b, t2.b);
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a IN(t1.b, t2.b));
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.a != t2.b OR (t1.a != t2.a AND t1.a != t2.b);
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t2.a = t2.b AND t1.a IN(t2.a, t2.b));
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.a != t2.b AND t1.a != t1.b AND t1.a != t2.b;
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t2.a = t2.b OR t1.a IN(t1.b, t2.b));
|
||||
a b a b
|
||||
3 2 3 0
|
||||
4 3 4 1
|
||||
6 5 6 4
|
||||
7 8 7 5
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t1.a = t2.b;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a IN(t2.a, t2.b);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a > IF(t1.a = t2.b-2, t2.b, t2.b-1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
|
||||
DROP TABLE t1,t2;
|
||||
|
@ -152,6 +152,7 @@ mysqltest: At line 1: End of line junk detected: "6"
|
||||
mysqltest: At line 1: End of line junk detected: "6"
|
||||
mysqltest: At line 1: Missing delimiter
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
mysqltest: At line 1: Extra delimiter ";" found
|
||||
MySQL
|
||||
"MySQL"
|
||||
MySQL: The world''s most popular open source database
|
||||
@ -179,7 +180,6 @@ source database
|
||||
echo message echo message
|
||||
|
||||
mysqltest: At line 1: Empty variable
|
||||
mysqltest: At line 1: command "';' 2> /dev/null" failed
|
||||
mysqltest: At line 1: Missing argument in exec
|
||||
MySQL
|
||||
"MySQL"
|
||||
@ -301,7 +301,6 @@ mysqltest: At line 1: First argument to dec must be a variable (start with $)
|
||||
mysqltest: At line 1: End of line junk detected: "1000"
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
mysqltest: At line 1: Missing arguments to system, nothing to do!
|
||||
mysqltest: At line 1: system command 'NonExistsinfComamdn 2> /dev/null' failed
|
||||
test
|
||||
test2
|
||||
test3
|
||||
|
@ -335,39 +335,37 @@ create table t1 (a int);
|
||||
insert into t1 (a) values (1), (2), (3), (4);
|
||||
set @precision=10000000000;
|
||||
select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer) from t1;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer)
|
||||
cast(rand(10)*@precision as unsigned integer) from t1;
|
||||
rand() cast(rand(10)*@precision as unsigned integer)
|
||||
- 6570515219
|
||||
- 1282061302
|
||||
- 6698761160
|
||||
- 9647622201
|
||||
prepare stmt from
|
||||
"select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(?)*@precision as unsigned integer) from t1";
|
||||
set @var=1;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 -
|
||||
- 1282061302 -
|
||||
- 6698761160 -
|
||||
- 9647622201 -
|
||||
prepare stmt from
|
||||
"select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer),
|
||||
cast(rand(?)*@precision as unsigned integer) from t1";
|
||||
set @var=1;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 - 4054035371
|
||||
- 1282061302 - 8716141803
|
||||
- 6698761160 - 1418603212
|
||||
- 9647622201 - 944590960
|
||||
set @var=2;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 1559528654 6555866465
|
||||
- 1282061302 6238114970 1223466192
|
||||
- 6698761160 6511989195 6449731873
|
||||
- 9647622201 3845601374 8578261098
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 6555866465
|
||||
- 1282061302 1223466192
|
||||
- 6698761160 6449731873
|
||||
- 9647622201 8578261098
|
||||
set @var=3;
|
||||
execute stmt using @var;
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(a)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 1559528654 9057697559
|
||||
- 1282061302 6238114970 3730790581
|
||||
- 6698761160 6511989195 1480860534
|
||||
- 9647622201 3845601374 6211931236
|
||||
rand() cast(rand(10)*@precision as unsigned integer) cast(rand(?)*@precision as unsigned integer)
|
||||
- 6570515219 9057697559
|
||||
- 1282061302 3730790581
|
||||
- 6698761160 1480860534
|
||||
- 9647622201 6211931236
|
||||
drop table t1;
|
||||
deallocate prepare stmt;
|
||||
create database mysqltest1;
|
||||
|
@ -758,3 +758,31 @@ execute stmt;
|
||||
ERROR 42000: FUNCTION test.bug11834_1 does not exist
|
||||
deallocate prepare stmt;
|
||||
drop function bug11834_2;
|
||||
DROP FUNCTION IF EXISTS bug12953|
|
||||
CREATE FUNCTION bug12953() RETURNS INT
|
||||
BEGIN
|
||||
OPTIMIZE TABLE t1;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: OPTIMIZE TABLE is not allowed in stored procedures
|
||||
DROP FUNCTION IF EXISTS bug12995|
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 OPEN;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: HANDLER is not allowed in stored procedures
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 READ FIRST;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: HANDLER is not allowed in stored procedures
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 CLOSE;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: HANDLER is not allowed in stored procedures
|
||||
SELECT bug12995()|
|
||||
ERROR 42000: FUNCTION test.bug12995 does not exist
|
||||
|
@ -545,3 +545,10 @@ select @@max_heap_table_size > 0;
|
||||
select @@have_innodb;
|
||||
@@have_innodb
|
||||
#
|
||||
select @@character_set_system;
|
||||
@@character_set_system
|
||||
utf8
|
||||
set global character_set_system = latin1;
|
||||
ERROR HY000: Variable 'character_set_system' is a read only variable
|
||||
set @@global.version_compile_os='234';
|
||||
ERROR HY000: Variable 'version_compile_os' is a read only variable
|
||||
|
@ -2151,3 +2151,38 @@ select * from v1;
|
||||
strcmp(f1,'a')
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create table t1 (f1 int, f2 int,f3 int);
|
||||
insert into t1 values (1,10,20),(2,0,0);
|
||||
create view v1 as select * from t1;
|
||||
select if(sum(f1)>1,f2,f3) from v1 group by f1;
|
||||
if(sum(f1)>1,f2,f3)
|
||||
20
|
||||
0
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
r_object_id char(16) NOT NULL,
|
||||
group_name varchar(32) NOT NULL
|
||||
) engine = InnoDB;
|
||||
create table t2 (
|
||||
r_object_id char(16) NOT NULL,
|
||||
i_position int(11) NOT NULL,
|
||||
users_names varchar(32) default NULL
|
||||
) Engine = InnoDB;
|
||||
create view v1 as select r_object_id, group_name from t1;
|
||||
create view v2 as select r_object_id, i_position, users_names from t2;
|
||||
create unique index r_object_id on t1(r_object_id);
|
||||
create index group_name on t1(group_name);
|
||||
create unique index r_object_id_i_position on t2(r_object_id,i_position);
|
||||
create index users_names on t2(users_names);
|
||||
insert into t1 values('120001a080000542','tstgroup1');
|
||||
insert into t2 values('120001a080000542',-1, 'guser01');
|
||||
insert into t2 values('120001a080000542',-2, 'guser02');
|
||||
select v1.r_object_id, v2.users_names from v1, v2
|
||||
where (v1.group_name='tstgroup1') and v2.r_object_id=v1.r_object_id
|
||||
order by users_names;
|
||||
r_object_id users_names
|
||||
120001a080000542 guser01
|
||||
120001a080000542 guser02
|
||||
drop view v1, v2;
|
||||
drop table t1, t2;
|
||||
|
@ -810,6 +810,12 @@ alter table t1 modify a char(2) character set utf8;
|
||||
select char_length(a), length(a), a from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bugs#12611
|
||||
# ESCAPE + LIKE do not work when the escape char is a multibyte one
|
||||
#
|
||||
set names utf8;
|
||||
select 'andre%' like 'andreñ%' escape 'ñ';
|
||||
|
||||
#
|
||||
# Bugs#11754: SET NAMES utf8 followed by SELECT "A\\" LIKE "A\\" returns 0
|
||||
|
58
mysql-test/t/federated_archive.test
Normal file
58
mysql-test/t/federated_archive.test
Normal file
@ -0,0 +1,58 @@
|
||||
source include/have_archive.inc;
|
||||
source include/federated.inc;
|
||||
|
||||
|
||||
connection slave;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.archive_table;
|
||||
--enable_warnings
|
||||
|
||||
CREATE TABLE federated.archive_table (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL
|
||||
) ENGINE=ARCHIVE DEFAULT CHARSET=latin1;
|
||||
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
--enable_warnings
|
||||
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval CREATE TABLE federated.t1 (
|
||||
`id` int(4) NOT NULL,
|
||||
`name` varchar(54) default NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
ENGINE="FEDERATED" DEFAULT CHARSET=latin1
|
||||
COMMENT='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/archive_table';
|
||||
|
||||
INSERT INTO federated.t1 (id, name) VALUES (1, 'foo');
|
||||
INSERT INTO federated.t1 (id, name) VALUES (2, 'bar');
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
--error 1430
|
||||
DELETE FROM federated.t1 WHERE id = 1;
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
|
||||
--error 1430
|
||||
UPDATE federated.t1 SET name='baz' WHERE id = 1;
|
||||
|
||||
SELECT * FROM federated.t1;
|
||||
|
||||
|
||||
# --error 1430
|
||||
# TRUNCATE federated.t1;
|
||||
#
|
||||
# SELECT * from federated.t1;
|
||||
|
||||
DROP TABLE federated.t1;
|
||||
connection slave;
|
||||
DROP TABLE federated.archive_table;
|
||||
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
@ -281,6 +281,16 @@ select collation(group_concat(a,b)) from t1;
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
|
||||
#
|
||||
# Bug #12829
|
||||
# Cannot convert the charset of a GROUP_CONCAT result
|
||||
#
|
||||
CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
|
||||
INSERT INTO t1 VALUES ('<27>');
|
||||
SELECT a FROM t1;
|
||||
SELECT GROUP_CONCAT(a) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# bug #7769: group_concat returning null is checked in having
|
||||
#
|
||||
@ -355,4 +365,28 @@ DROP TABLE t1,t2;
|
||||
#
|
||||
select * from (select group_concat('c') from DUAL) t;
|
||||
|
||||
#
|
||||
# Bug #12859 group_concat in subquery cause incorrect not null
|
||||
#
|
||||
create table t1 ( a int not null default 0);
|
||||
select * from (select group_concat(a) from t1) t2;
|
||||
select group_concat('x') UNION ALL select 1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #12863 : missing separators after first empty cancatanated elements
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (id int, a varchar(9));
|
||||
INSERT INTO t1 VALUES
|
||||
(2, ''), (1, ''), (2, 'x'), (1, 'y'), (3, 'z'), (3, '');
|
||||
|
||||
SELECT GROUP_CONCAT(a) FROM t1;
|
||||
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1;
|
||||
|
||||
SELECT GROUP_CONCAT(a) FROM t1 GROUP BY id;
|
||||
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY id;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -96,4 +96,21 @@ DROP TABLE t1;
|
||||
#
|
||||
select _cp866'aaaaaaaaa' like _cp866'%aaaa%' collate cp866_bin;
|
||||
|
||||
#
|
||||
# Check 8bit escape character
|
||||
#
|
||||
set names koi8r;
|
||||
select 'andre%' like 'andre<72>%' escape '<27>';
|
||||
|
||||
# Check 8bit escape character with charset conversion:
|
||||
# For "a LIKE b ESCAPE c" expressions,
|
||||
# escape character is converted into the operation character set,
|
||||
# which is result of aggregation of character sets of "a" and "b".
|
||||
# "c" itself doesn't take part in aggregation, because its collation
|
||||
# doesn't matter, escape character is always compared binary.
|
||||
# In the example below, escape character is converted from koi8r into cp1251:
|
||||
#
|
||||
select _cp1251'andre%' like convert('andre<72>%' using cp1251) escape '<27>';
|
||||
|
||||
#
|
||||
# End of 4.1 tests
|
||||
|
@ -107,4 +107,13 @@ drop table t1;
|
||||
#
|
||||
select abs(-2) * -2;
|
||||
|
||||
#
|
||||
# Bug #6172 RAND(a) should only accept constant values as arguments
|
||||
#
|
||||
create table t1 (i int);
|
||||
insert into t1 values (1);
|
||||
--error 1210
|
||||
select rand(i) from t1;
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -665,4 +665,16 @@ SHOW TABLE STATUS FROM test
|
||||
WHERE name IN ( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_SCHEMA='test' AND TABLE_TYPE='BASE TABLE');
|
||||
|
||||
DROP TABLE t1,t2
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #12905 show fields from view behaving erratically with current database
|
||||
#
|
||||
create table t1(f1 int);
|
||||
create view v1 (c) as select f1 from t1;
|
||||
connect (con5,localhost,root,,*NO-ONE*);
|
||||
select database();
|
||||
show fields from test.v1;
|
||||
connection default;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
@ -1451,3 +1451,18 @@ TRUNCATE t1;
|
||||
INSERT INTO t1 (id) VALUES (NULL);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t2, t1;
|
||||
|
||||
-- Test that foreign keys in temporary tables are not accepted (bug #12084)
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT PRIMARY KEY
|
||||
) ENGINE=InnoDB;
|
||||
|
||||
--error 1005,1005
|
||||
CREATE TEMPORARY TABLE t2
|
||||
(
|
||||
id INT NOT NULL PRIMARY KEY,
|
||||
b INT,
|
||||
FOREIGN KEY (b) REFERENCES test.t1(id)
|
||||
) ENGINE=InnoDB;
|
||||
DROP TABLE t1;
|
||||
|
@ -135,7 +135,7 @@ INSERT INTO t1 VALUES (10363,'Tecniques de Comunicacio Oral i Escrita','Tecnicas
|
||||
INSERT INTO t1 VALUES (11403,'Projecte Fi de Carrera','Proyecto Fin de Carrera','Projecte Fi de Carrera','PFC',9.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11404,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',15.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11405,'+lgebra lineal','Algebra lineal','+lgebra lineal','+lgebra lineal',18.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11406,'Calcul Infinitesimal','C<EFBFBD>lculo Infinitesimal','Calcul Infinitesimal','Calcul Infinitesimal',15.0,NULL,NULL,NULL);
|
||||
INSERT INTO t1 VALUES (11406,'Calcul Infinitesimal','Cßlculo Infinitesimal','Calcul Infinitesimal','Calcul Infinitesimal',15.0,NULL,NULL,NULL);
|
||||
|
||||
CREATE TABLE t2 (
|
||||
idAssignatura int(11) DEFAULT '0' NOT NULL,
|
||||
@ -590,7 +590,6 @@ INSERT INTO t2 VALUES("0", "EN", "0-EN");
|
||||
INSERT INTO t2 VALUES("0", "SV", "0-SV");
|
||||
INSERT INTO t2 VALUES("10", "EN", "10-EN");
|
||||
INSERT INTO t2 VALUES("10", "SV", "10-SV");
|
||||
|
||||
SELECT t1.id, t1.text_id, t2.text_data
|
||||
FROM t1 LEFT JOIN t2
|
||||
ON t1.text_id = t2.text_id
|
||||
@ -713,3 +712,49 @@ INSERT INTO t1 VALUES (30), (40), (50);
|
||||
INSERT INTO t2 VALUES (300), (400), (500);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON (c11=c21 AND c21=30) WHERE c11=40;
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Test for bugs
|
||||
# #12101: erroneously applied outer join elimination in case of WHERE NOT BETWEEN
|
||||
# #12102: erroneously missing outer join elimination in case of WHERE IN/IF
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int PRIMARY KEY, b int);
|
||||
CREATE TABLE t2 (a int PRIMARY KEY, b int);
|
||||
|
||||
INSERT INTO t1 VALUES (1,2), (2,1), (3,2), (4,3), (5,6), (6,5), (7,8), (8,7), (9,10);
|
||||
INSERT INTO t2 VALUES (3,0), (4,1), (6,4), (7,5);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.b <= t1.a AND t1.a <= t1.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a BETWEEN t2.b AND t1.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a NOT BETWEEN t2.b AND t1.b);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.b > t1.a OR t1.a > t1.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a NOT BETWEEN t2.b AND t1.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a BETWEEN t2.b AND t1.b);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t2.b > t1.a OR t1.a > t1.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a != t2.a AND t1.a BETWEEN t2.b AND t1.b);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a AND (t2.b > t1.a OR t1.a > t1.b);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a != t2.a OR t1.a BETWEEN t2.b AND t1.b);
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t1.a = t2.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a IN(t2.a, t2.b);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a NOT IN(t2.a, t2.b));
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a != t1.b AND t1.a != t2.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a NOT IN(t1.b, t2.b);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t1.a IN(t1.b, t2.b));
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.a != t2.b OR (t1.a != t2.a AND t1.a != t2.b);
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t2.a = t2.b AND t1.a IN(t2.a, t2.b));
|
||||
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t2.a != t2.b AND t1.a != t1.b AND t1.a != t2.b;
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE NOT(t2.a = t2.b OR t1.a IN(t1.b, t2.b));
|
||||
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a = t2.a OR t1.a = t2.b;
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a IN(t2.a, t2.b);
|
||||
EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.a WHERE t1.a > IF(t1.a = t2.b-2, t2.b, t2.b-1);
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
|
@ -358,14 +358,19 @@ select 3 from t1 ;
|
||||
# Missing delimiter
|
||||
# The comment will be "sucked into" the sleep command since
|
||||
# delimiter is missing until after "show status"
|
||||
--system echo "sleep 4" > var/log/mysqltest.sql
|
||||
--system echo "# A comment" >> var/log/mysqltest.sql
|
||||
--system echo "show status;" >> var/log/mysqltest.sql
|
||||
--error 1
|
||||
--exec echo -e "sleep 4\n # A comment\nshow status;" | $MYSQL_TEST 2>&1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
|
||||
#
|
||||
# Extra delimiter
|
||||
#
|
||||
--error 1
|
||||
--exec echo "--sleep 4;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "--disable_query_log;" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# Allow trailing # comment
|
||||
@ -423,8 +428,9 @@ echo ;
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# Illegal use of exec
|
||||
--error 1
|
||||
--exec echo "--exec ';' 2> /dev/null" | $MYSQL_TEST 2>&1
|
||||
# Disabled, some shells prints the failed command regardless of pipes
|
||||
#--error 1
|
||||
#--exec echo "--exec ';' 2> /dev/null" | $MYSQL_TEST 2>&1
|
||||
|
||||
--error 1
|
||||
--exec echo "--exec " | $MYSQL_TEST 2>&1
|
||||
@ -588,7 +594,7 @@ while ($num)
|
||||
--source var/tmp/sourced1.sql
|
||||
dec $num;
|
||||
}
|
||||
--enable_abort_on_error;
|
||||
--enable_abort_on_error
|
||||
--enable_query_log
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
@ -671,8 +677,9 @@ system echo "hej" > /dev/null;
|
||||
--exec echo "system;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "system $NONEXISTSINFVAREABLI;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "system NonExistsinfComamdn 2> /dev/null;" | $MYSQL_TEST 2>&1
|
||||
# Disabled, some shells prints the failed command regardless of pipes
|
||||
#--error 1
|
||||
#--exec echo "system NonExistsinfComamdn 2> /dev/null;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--disable_abort_on_error
|
||||
system NonExistsinfComamdn;
|
||||
@ -722,12 +729,21 @@ while ($i)
|
||||
--exec echo "end;" | $MYSQL_TEST 2>&1
|
||||
--error 1
|
||||
--exec echo "{;" | $MYSQL_TEST 2>&1
|
||||
|
||||
--system echo "while (0)" > var/log/mysqltest.sql
|
||||
--system echo "echo hej;" >> var/log/mysqltest.sql
|
||||
--error 1
|
||||
--exec echo -e "while (0)\necho hej;" | $MYSQL_TEST 2>&1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
|
||||
--system echo "while (0)" > var/log/mysqltest.sql
|
||||
--system echo "{echo hej;" >> var/log/mysqltest.sql
|
||||
--error 1
|
||||
--exec echo -e "while (0)\n{echo hej;" | $MYSQL_TEST 2>&1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
|
||||
--system echo "while (0){" > var/log/mysqltest.sql
|
||||
--system echo "echo hej;" >> var/log/mysqltest.sql
|
||||
--error 1
|
||||
--exec echo -e "while (0){\n echo hej;" | $MYSQL_TEST 2>&1
|
||||
--exec $MYSQL_TEST < var/log/mysqltest.sql 2>&1
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test error messages returned from comments starting with a command
|
||||
@ -792,6 +808,19 @@ select "a" as col1, "c" as col2;
|
||||
--error 1
|
||||
--exec echo "save_master_pos; sync_with_master a;" | $MYSQL_TEST 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test mysqltest arguments
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
# -x <file_name>, use the file specified after -x as the test file
|
||||
#--exec $MYSQL_TEST < $MYSQL_TEST_DIR/include/mysqltest-x.inc 2>&1
|
||||
#--exec $MYSQL_TEST -x $MYSQL_TEST_DIR/include/mysqltest-x.inc 2>&1
|
||||
#--exec $MYSQL_TEST --result_file=$MYSQL_TEST_DIR/include/mysqltest-x.inc 2>&1
|
||||
#--error 1
|
||||
#--exec $MYSQL_TEST -x non_existing_file.inc 2>&1
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# TODO Test queries, especially their errormessages... so it's easy to debug
|
||||
# new scripts and diagnose errors
|
||||
|
@ -20,22 +20,22 @@ connect (con4,localhost,ssl_user4,,);
|
||||
|
||||
connection con1;
|
||||
select * from t1;
|
||||
--error 1142;
|
||||
--error 1142
|
||||
delete from t1;
|
||||
|
||||
connection con2;
|
||||
select * from t1;
|
||||
--error 1142;
|
||||
--error 1142
|
||||
delete from t1;
|
||||
|
||||
connection con3;
|
||||
select * from t1;
|
||||
--error 1142;
|
||||
--error 1142
|
||||
delete from t1;
|
||||
|
||||
connection con4;
|
||||
select * from t1;
|
||||
--error 1142;
|
||||
--error 1142
|
||||
delete from t1;
|
||||
|
||||
connection default;
|
||||
|
@ -371,12 +371,10 @@ insert into t1 (a) values (1), (2), (3), (4);
|
||||
set @precision=10000000000;
|
||||
--replace_column 1 - 3 -
|
||||
select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer) from t1;
|
||||
cast(rand(10)*@precision as unsigned integer) from t1;
|
||||
prepare stmt from
|
||||
"select rand(),
|
||||
cast(rand(10)*@precision as unsigned integer),
|
||||
cast(rand(a)*@precision as unsigned integer),
|
||||
cast(rand(?)*@precision as unsigned integer) from t1";
|
||||
set @var=1;
|
||||
--replace_column 1 - 3 -
|
||||
|
@ -1085,6 +1085,51 @@ drop function bug11834_1;
|
||||
execute stmt;
|
||||
deallocate prepare stmt;
|
||||
drop function bug11834_2;
|
||||
|
||||
#
|
||||
# Bug#12953 "Stored procedures: crash if OPTIMIZE TABLE in function"
|
||||
#
|
||||
delimiter |;
|
||||
--disable_warnings
|
||||
DROP FUNCTION IF EXISTS bug12953|
|
||||
--enable_warnings
|
||||
--error ER_SP_BADSTATEMENT
|
||||
CREATE FUNCTION bug12953() RETURNS INT
|
||||
BEGIN
|
||||
OPTIMIZE TABLE t1;
|
||||
RETURN 1;
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
#
|
||||
# Bug##12995 "Inside function "Table 't4' was not locked with LOCK TABLES"
|
||||
#
|
||||
delimiter |;
|
||||
--disable_warnings
|
||||
DROP FUNCTION IF EXISTS bug12995|
|
||||
--enable_warnings
|
||||
--error ER_SP_BADSTATEMENT
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 OPEN;
|
||||
RETURN 1;
|
||||
END|
|
||||
--error ER_SP_BADSTATEMENT
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 READ FIRST;
|
||||
RETURN 1;
|
||||
END|
|
||||
--error ER_SP_BADSTATEMENT
|
||||
CREATE FUNCTION bug12995() RETURNS INT
|
||||
BEGIN
|
||||
HANDLER t1 CLOSE;
|
||||
RETURN 1;
|
||||
END|
|
||||
--error 1305
|
||||
SELECT bug12995()|
|
||||
delimiter ;|
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
@ -1092,5 +1137,3 @@ drop function bug11834_2;
|
||||
#drop procedure if exists bugNNNN|
|
||||
#--enable_warnings
|
||||
#create procedure bugNNNN...
|
||||
|
||||
|
||||
|
@ -435,3 +435,12 @@ select @@max_heap_table_size > 0;
|
||||
|
||||
--replace_column 1 #
|
||||
select @@have_innodb;
|
||||
|
||||
#
|
||||
# Bug #11775 Variable character_set_system does not exist (sometimes)
|
||||
#
|
||||
select @@character_set_system;
|
||||
--error 1238
|
||||
set global character_set_system = latin1;
|
||||
--error 1238
|
||||
set @@global.version_compile_os='234';
|
||||
|
@ -2018,3 +2018,44 @@ create view v1 as select strcmp(f1,'a') from t1;
|
||||
select * from v1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #12922 if(sum(),...) with group from view returns wrong results
|
||||
#
|
||||
create table t1 (f1 int, f2 int,f3 int);
|
||||
insert into t1 values (1,10,20),(2,0,0);
|
||||
create view v1 as select * from t1;
|
||||
select if(sum(f1)>1,f2,f3) from v1 group by f1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
# BUG#12941
|
||||
#
|
||||
create table t1 (
|
||||
r_object_id char(16) NOT NULL,
|
||||
group_name varchar(32) NOT NULL
|
||||
) engine = InnoDB;
|
||||
|
||||
create table t2 (
|
||||
r_object_id char(16) NOT NULL,
|
||||
i_position int(11) NOT NULL,
|
||||
users_names varchar(32) default NULL
|
||||
) Engine = InnoDB;
|
||||
|
||||
create view v1 as select r_object_id, group_name from t1;
|
||||
create view v2 as select r_object_id, i_position, users_names from t2;
|
||||
|
||||
create unique index r_object_id on t1(r_object_id);
|
||||
create index group_name on t1(group_name);
|
||||
create unique index r_object_id_i_position on t2(r_object_id,i_position);
|
||||
create index users_names on t2(users_names);
|
||||
|
||||
insert into t1 values('120001a080000542','tstgroup1');
|
||||
insert into t2 values('120001a080000542',-1, 'guser01');
|
||||
insert into t2 values('120001a080000542',-2, 'guser02');
|
||||
|
||||
select v1.r_object_id, v2.users_names from v1, v2
|
||||
where (v1.group_name='tstgroup1') and v2.r_object_id=v1.r_object_id
|
||||
order by users_names;
|
||||
|
||||
drop view v1, v2;
|
||||
drop table t1, t2;
|
||||
|
Reference in New Issue
Block a user