mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/d2/hf/mrg/mysql-5.0-opt
This commit is contained in:
@ -28,3 +28,16 @@ ERROR 42000: Display width out of range for column 'a' (max = 255)
|
||||
set sql_mode='traditional';
|
||||
create table t1 (a varchar(66000));
|
||||
ERROR 42000: Column length too big for column 'a' (max = 65535); use BLOB or TEXT instead
|
||||
set sql_mode=default;
|
||||
CREATE TABLE t1 (a INT);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
a
|
||||
INSERT INTO t1 VALUES(1);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 VALUES(2),(3);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
a
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
@ -906,6 +906,90 @@ ERROR 23000: Column 'val' in order clause is ambiguous
|
||||
SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val > 1;
|
||||
ERROR 23000: Column 'val' in order clause is ambiguous
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (3), (2), (4), (1);
|
||||
SELECT a, IF(a IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a IN (2,3), a, a+10);
|
||||
a IF(a IN (2,3), a, a+10)
|
||||
2 2
|
||||
3 3
|
||||
1 11
|
||||
4 14
|
||||
SELECT a, IF(a NOT IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT IN (2,3), a, a+10);
|
||||
a IF(a NOT IN (2,3), a, a+10)
|
||||
1 1
|
||||
4 4
|
||||
2 12
|
||||
3 13
|
||||
SELECT a, IF(a IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT IN (2,3), a, a+10);
|
||||
a IF(a IN (2,3), a, a+10)
|
||||
1 11
|
||||
4 14
|
||||
2 2
|
||||
3 3
|
||||
SELECT a, IF(a BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a BETWEEN 2 AND 3, a, a+10);
|
||||
a IF(a BETWEEN 2 AND 3, a, a+10)
|
||||
2 2
|
||||
3 3
|
||||
1 11
|
||||
4 14
|
||||
SELECT a, IF(a NOT BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT BETWEEN 2 AND 3, a, a+10);
|
||||
a IF(a NOT BETWEEN 2 AND 3, a, a+10)
|
||||
1 1
|
||||
4 4
|
||||
2 12
|
||||
3 13
|
||||
SELECT a, IF(a BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT BETWEEN 2 AND 3, a, a+10);
|
||||
a IF(a BETWEEN 2 AND 3, a, a+10)
|
||||
1 11
|
||||
4 14
|
||||
2 2
|
||||
3 3
|
||||
SELECT IF(a IN (1,2), a, '') as x1, IF(a NOT IN (1,2), a, '') as x2
|
||||
FROM t1 GROUP BY x1, x2;
|
||||
x1 x2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
SELECT IF(a IN (1,2), a, '') as x1, IF(a NOT IN (1,2), a, '') as x2
|
||||
FROM t1 GROUP BY x1, IF(a NOT IN (1,2), a, '');
|
||||
x1 x2
|
||||
3
|
||||
4
|
||||
1
|
||||
2
|
||||
SELECT a, a IN (1,2) FROM t1 ORDER BY a IN (1,2);
|
||||
a a IN (1,2)
|
||||
3 0
|
||||
4 0
|
||||
2 1
|
||||
1 1
|
||||
SELECT a FROM t1 ORDER BY a IN (1,2);
|
||||
a
|
||||
3
|
||||
4
|
||||
2
|
||||
1
|
||||
SELECT a+10 FROM t1 ORDER BY a IN (1,2);
|
||||
a+10
|
||||
13
|
||||
14
|
||||
12
|
||||
11
|
||||
SELECT a, IF(a IN (1,2), a, a+10) FROM t1
|
||||
ORDER BY IF(a IN (3,4), a, a+10);
|
||||
a IF(a IN (1,2), a, a+10)
|
||||
3 13
|
||||
4 14
|
||||
1 1
|
||||
2 2
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int not null, b int not null, c int not null);
|
||||
insert t1 values (1,1,1),(1,1,2),(1,2,1);
|
||||
select a, b from t1 group by a, b order by sum(c);
|
||||
|
@ -66,3 +66,22 @@ ss
|
||||
ue
|
||||
ue
|
||||
DROP TABLE t1;
|
||||
create table t1(f1
|
||||
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17',
|
||||
'18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
||||
'34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49',
|
||||
'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','128'));
|
||||
ERROR HY000: Too many strings for column f1 and SET
|
||||
create table t1(f1
|
||||
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17',
|
||||
'18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
||||
'34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49',
|
||||
'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','1'));
|
||||
Warnings:
|
||||
Note 1291 Column 'f1' has duplicated value '1' in SET
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','1') default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
|
@ -40,5 +40,17 @@ create table t1 (a int(256));
|
||||
set sql_mode='traditional';
|
||||
--error 1074
|
||||
create table t1 (a varchar(66000));
|
||||
set sql_mode=default;
|
||||
|
||||
#
|
||||
# Bug #27513: mysql 5.0.x + NULL pointer DoS
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
INSERT INTO t1 VALUES(1);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
INSERT INTO t1 VALUES(2),(3);
|
||||
SELECT a FROM t1 WHERE a IN(1, (SELECT IF(1=0,1,2/0)));
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
@ -617,7 +617,6 @@ UPDATE bug25126 SET MissingCol = val ORDER BY MissingCol;
|
||||
UPDATE bug25126 SET MissingCol = MissingCol ORDER BY MissingCol;
|
||||
DROP TABLE bug25126;
|
||||
|
||||
|
||||
#
|
||||
# Bug #25427: crash when order by expression contains a name
|
||||
# that cannot be resolved unambiguously
|
||||
@ -633,6 +632,41 @@ SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val > 1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #27532: ORDER/GROUP BY expressions with IN/BETWEEN and NOT IN/BETWEEN
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (3), (2), (4), (1);
|
||||
|
||||
SELECT a, IF(a IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a IN (2,3), a, a+10);
|
||||
SELECT a, IF(a NOT IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT IN (2,3), a, a+10);
|
||||
SELECT a, IF(a IN (2,3), a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT IN (2,3), a, a+10);
|
||||
|
||||
SELECT a, IF(a BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a BETWEEN 2 AND 3, a, a+10);
|
||||
SELECT a, IF(a NOT BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT BETWEEN 2 AND 3, a, a+10);
|
||||
SELECT a, IF(a BETWEEN 2 AND 3, a, a+10) FROM t1
|
||||
ORDER BY IF(a NOT BETWEEN 2 AND 3, a, a+10);
|
||||
|
||||
SELECT IF(a IN (1,2), a, '') as x1, IF(a NOT IN (1,2), a, '') as x2
|
||||
FROM t1 GROUP BY x1, x2;
|
||||
SELECT IF(a IN (1,2), a, '') as x1, IF(a NOT IN (1,2), a, '') as x2
|
||||
FROM t1 GROUP BY x1, IF(a NOT IN (1,2), a, '');
|
||||
|
||||
# The remaining queries are for better coverage
|
||||
SELECT a, a IN (1,2) FROM t1 ORDER BY a IN (1,2);
|
||||
SELECT a FROM t1 ORDER BY a IN (1,2);
|
||||
SELECT a+10 FROM t1 ORDER BY a IN (1,2);
|
||||
SELECT a, IF(a IN (1,2), a, a+10) FROM t1
|
||||
ORDER BY IF(a IN (3,4), a, a+10);
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1
|
||||
create table t1 (a int not null, b int not null, c int not null);
|
||||
insert t1 values (1,1,1),(1,1,2),(1,2,1);
|
||||
select a, b from t1 group by a, b order by sum(c);
|
||||
|
@ -39,3 +39,20 @@ SELECT c FROM t1 ORDER BY concat(c);
|
||||
DROP TABLE t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
# Bug#27069 set with identical elements are created
|
||||
#
|
||||
--error 1097
|
||||
create table t1(f1
|
||||
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17',
|
||||
'18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
||||
'34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49',
|
||||
'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','128'));
|
||||
create table t1(f1
|
||||
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17',
|
||||
'18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
||||
'34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49',
|
||||
'50','51','52','53','54','55','56','57','58','59','60','61','62','63','64','1'));
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
Reference in New Issue
Block a user