mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge trift2.:/MySQL/M51/mysql-5.1
into trift2.:/MySQL/M51/push-5.1
This commit is contained in:
@ -271,7 +271,7 @@ group_concat(distinct s1 order by s2)
|
||||
c,b,a
|
||||
select group_concat(distinct s1 order by s2) from t1;
|
||||
group_concat(distinct s1 order by s2)
|
||||
c,b,a,c
|
||||
c,b,a
|
||||
drop table t1;
|
||||
create table t1 (a int, c int);
|
||||
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
|
||||
@ -876,4 +876,65 @@ select group_concat(f1) from t1;
|
||||
group_concat(f1)
|
||||
,
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a ORDER BY b)
|
||||
1,2
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a ORDER BY b DESC)
|
||||
2,1
|
||||
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a)
|
||||
1,2
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b)
|
||||
3,2
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a + 1 ORDER BY b)
|
||||
2,3
|
||||
SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
|
||||
GROUP_CONCAT(a ORDER BY 3 - b)
|
||||
2,2,1
|
||||
CREATE TABLE t2 (a INT, b INT, c INT, d INT);
|
||||
INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY c, d)
|
||||
11,21,12
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY d, c)
|
||||
11,12,21
|
||||
CREATE TABLE t3 (a INT, b INT, c INT);
|
||||
INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY b, c)
|
||||
11,21,32
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY c, b)
|
||||
11,32,21
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY a, b)
|
||||
11,22,23
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
|
||||
11,22,32
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY b, a)
|
||||
11,22,23
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
|
||||
11,22,32
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a ORDER BY a, b)
|
||||
1,2
|
||||
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT b ORDER BY b, a)
|
||||
1,2,3
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT a, b ORDER BY a)
|
||||
11,23,22
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
|
||||
GROUP_CONCAT(DISTINCT b, a ORDER BY b)
|
||||
11,22,32
|
||||
DROP TABLE t1, t2, t3;
|
||||
End of 5.0 tests
|
||||
|
@ -1398,4 +1398,16 @@ SELECT COUNT(*), a FROM t1;
|
||||
COUNT(*) a
|
||||
4 1
|
||||
DROP TABLE t1;
|
||||
set SQL_MODE=ONLY_FULL_GROUP_BY;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||
CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
|
||||
EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 100.00 Using temporary; Using filesort
|
||||
Warnings:
|
||||
Note 1003 select (`test`.`t1`.`a` + 1) AS `y` from `test`.`t1` group by (`test`.`t1`.`a` + 1)
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE=DEFAULT;
|
||||
End of 5.0 tests
|
||||
|
@ -1258,6 +1258,9 @@ DATE_ADD('20071108', INTERVAL 1 DAY)
|
||||
select DATE_ADD(20071108, INTERVAL 1 DAY);
|
||||
DATE_ADD(20071108, INTERVAL 1 DAY)
|
||||
2007-11-09
|
||||
select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
|
||||
LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND
|
||||
2007-12-30 23:59:59
|
||||
End of 5.0 tests
|
||||
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
|
||||
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
|
||||
|
@ -72,10 +72,6 @@ count(*)
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
count(*)
|
||||
0
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
ERROR HY000: Can't initialize function 'a'; UDFs are unavailable with the --skip-grant-tables option
|
||||
DROP FUNCTION a;
|
||||
ERROR 42000: FUNCTION test.a does not exist
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Bug#29817 Queries with UDF fail with non-descriptive error
|
||||
|
@ -4282,6 +4282,15 @@ SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
|
||||
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 'UNION
|
||||
(SELECT 1 FROM t2 WHERE t1.a = t2.a))' at line 2
|
||||
DROP TABLE t1,t2;
|
||||
create table t1(f11 int, f12 int);
|
||||
create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
|
||||
insert into t1 values(1,1),(2,2), (3, 3);
|
||||
set session sort_buffer_size= 33*1024;
|
||||
select count(*) from t1 where f12 =
|
||||
(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
|
||||
count(*)
|
||||
3
|
||||
drop table t1,t2;
|
||||
End of 5.0 tests.
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
|
@ -260,6 +260,11 @@ INSERT INTO t1 VALUES ('1000-00-00');
|
||||
ERROR 22007: Incorrect date value: '1000-00-00' for column 'a' at row 1
|
||||
SET SQL_MODE=DEFAULT;
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 SELECT curdate() AS f1;
|
||||
SELECT hour(f1), minute(f1), second(f1) FROM t1;
|
||||
hour(f1) minute(f1) second(f1)
|
||||
0 0 0
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
create table t1 (a date, primary key (a))engine=memory;
|
||||
insert into t1 values ('0000-01-01'), ('0000-00-01'), ('0001-01-01');
|
||||
|
@ -786,10 +786,6 @@ from (select 1 as s,'t' as t union select null, null ) as sub1;
|
||||
select group_concat(t) from t1 group by week(date)/10;
|
||||
group_concat(t)
|
||||
t
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
Warning 1292 Incorrect datetime value: '0000-00-00'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
qty decimal(16,6) default NULL,
|
||||
|
5
mysql-test/r/udf_skip_grants.result
Normal file
5
mysql-test/r/udf_skip_grants.result
Normal file
@ -0,0 +1,5 @@
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
ERROR HY000: Can't initialize function 'a'; UDFs are unavailable with the --skip-grant-tables option
|
||||
DROP FUNCTION a;
|
||||
ERROR 42000: FUNCTION test.a does not exist
|
||||
End of 5.0 tests
|
@ -1445,4 +1445,79 @@ select @var;
|
||||
1
|
||||
(select 2) union (select 1 into @var);
|
||||
ERROR 42000: Result consisted of more than one row
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
CREATE TABLE t2 (b int);
|
||||
INSERT INTO t2 VALUES (10), (50), (50);
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a;
|
||||
a 1
|
||||
NULL 3
|
||||
10 1
|
||||
20 1
|
||||
50 2
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
a 1
|
||||
50 2
|
||||
20 1
|
||||
10 1
|
||||
NULL 3
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a ASC LIMIT 3;
|
||||
a 1
|
||||
NULL 3
|
||||
10 1
|
||||
20 1
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
a 1
|
||||
50 2
|
||||
20 1
|
||||
10 1
|
||||
10 1
|
||||
NULL 3
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
|
||||
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
|
||||
UNION
|
||||
SELECT 1,1;
|
||||
ERROR HY000: Incorrect usage of UNION and ORDER BY
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2), (3);
|
||||
CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
|
||||
DESC t2;
|
||||
Field Type Null Key Default Extra
|
||||
NULL int(11) YES NULL
|
||||
CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
|
||||
DESC t3;
|
||||
Field Type Null Key Default Extra
|
||||
a int(11) YES NULL
|
||||
CREATE TABLE t4 SELECT NULL;
|
||||
DESC t4;
|
||||
Field Type Null Key Default Extra
|
||||
NULL binary(0) YES NULL
|
||||
CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
|
||||
DESC t5;
|
||||
Field Type Null Key Default Extra
|
||||
NULL binary(0) YES NULL
|
||||
CREATE TABLE t6
|
||||
SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
|
||||
DESC t6;
|
||||
Field Type Null Key Default Extra
|
||||
NULL int(11) YES NULL
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
End of 5.0 tests
|
||||
|
@ -91,21 +91,25 @@ select a=b && a=c from t1;
|
||||
a=b && a=c
|
||||
1
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
routine_name definer
|
||||
bug12480 root@localhost
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
trigger_name definer
|
||||
t1_first root@localhost
|
||||
|
||||
--- On slave --
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
routine_name definer
|
||||
bug12480 root@localhost
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
trigger_name definer
|
||||
t1_first root@localhost
|
||||
select a=b && a=c from t1;
|
||||
|
@ -101,10 +101,12 @@ let $time=`select a from t1`;
|
||||
# - dump definers on the slave;
|
||||
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
@ -119,10 +121,12 @@ select "--- On slave --" as "";
|
||||
# item.
|
||||
|
||||
SELECT routine_name, definer
|
||||
FROM information_schema.routines;
|
||||
FROM information_schema.routines
|
||||
WHERE routine_name = 'bug12480';
|
||||
|
||||
SELECT trigger_name, definer
|
||||
FROM information_schema.triggers;
|
||||
FROM information_schema.triggers
|
||||
WHERE trigger_name = 't1_first';
|
||||
|
||||
select a=b && a=c from t1;
|
||||
--disable_query_log
|
||||
|
@ -598,5 +598,46 @@ insert into t1 values (''),('');
|
||||
select group_concat(distinct f1) from t1;
|
||||
select group_concat(f1) from t1;
|
||||
drop table t1;
|
||||
# Bug#32798: DISTINCT in GROUP_CONCAT clause fails when ordering by a column
|
||||
# with null values
|
||||
#'
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
|
||||
SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
|
||||
|
||||
CREATE TABLE t2 (a INT, b INT, c INT, d INT);
|
||||
|
||||
# There is one duplicate in the expression list: 1,10
|
||||
# There is one duplicate in ORDER BY list, but that shouldnt matter: 1,10
|
||||
INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
|
||||
|
||||
CREATE TABLE t3 (a INT, b INT, c INT);
|
||||
|
||||
INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
|
||||
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
|
||||
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -908,5 +908,20 @@ SELECT COUNT(*), a FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #33133: Views are not transparent
|
||||
#
|
||||
|
||||
set SQL_MODE=ONLY_FULL_GROUP_BY;
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
||||
CREATE VIEW v1 AS SELECT a,(a + 1) AS y FROM t1;
|
||||
EXPLAIN EXTENDED SELECT y FROM v1 GROUP BY v1.y;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
SET SQL_MODE=DEFAULT;
|
||||
|
||||
###
|
||||
--echo End of 5.0 tests
|
||||
|
@ -776,6 +776,13 @@ select DATE_ADD(20071108181000, INTERVAL 1 DAY);
|
||||
select DATE_ADD('20071108', INTERVAL 1 DAY);
|
||||
select DATE_ADD(20071108, INTERVAL 1 DAY);
|
||||
|
||||
#
|
||||
# Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps
|
||||
# track of the TIME.
|
||||
#
|
||||
|
||||
select LAST_DAY('2007-12-06 08:59:19.05') - INTERVAL 1 SECOND;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -122,16 +122,6 @@ select count(*) from information_schema.COLUMN_PRIVILEGES;
|
||||
select count(*) from information_schema.SCHEMA_PRIVILEGES;
|
||||
select count(*) from information_schema.TABLE_PRIVILEGES;
|
||||
select count(*) from information_schema.USER_PRIVILEGES;
|
||||
#
|
||||
# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
|
||||
# memory errors
|
||||
#
|
||||
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
DROP FUNCTION a;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
--echo #
|
||||
|
@ -3136,6 +3136,28 @@ SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug#33675: Usage of an uninitialized memory by filesort in a subquery
|
||||
# caused server crash.
|
||||
#
|
||||
create table t1(f11 int, f12 int);
|
||||
create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
|
||||
insert into t1 values(1,1),(2,2), (3, 3);
|
||||
let $i=10000;
|
||||
--disable_query_log
|
||||
--disable_warnings
|
||||
while ($i)
|
||||
{
|
||||
eval insert into t2 values (-1 , $i/5000 + 1, '$i');
|
||||
dec $i;
|
||||
}
|
||||
--enable_warnings
|
||||
--enable_query_log
|
||||
set session sort_buffer_size= 33*1024;
|
||||
select count(*) from t1 where f12 =
|
||||
(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
@ -3165,6 +3187,7 @@ SELECT a FROM t1 t0
|
||||
SET @@sql_mode=default;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#20835 (literal string with =any values)
|
||||
#
|
||||
CREATE TABLE t1 (s1 char(1));
|
||||
|
@ -213,6 +213,14 @@ INSERT INTO t1 VALUES ('1000-00-00');
|
||||
SET SQL_MODE=DEFAULT;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
#
|
||||
# Bug #31990: MINUTE() and SECOND() return bogus results when used on a DATE
|
||||
#
|
||||
|
||||
CREATE TABLE t1 SELECT curdate() AS f1;
|
||||
SELECT hour(f1), minute(f1), second(f1) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
1
mysql-test/t/udf_skip_grants-master.opt
Normal file
1
mysql-test/t/udf_skip_grants-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--skip-grant-tables
|
28
mysql-test/t/udf_skip_grants.test
Normal file
28
mysql-test/t/udf_skip_grants.test
Normal file
@ -0,0 +1,28 @@
|
||||
####################### udf_skip_grants.test ###########################
|
||||
# #
|
||||
# Test for bug #32020 "loading udfs while --skip-grant-tables is #
|
||||
# enabled causes out of memory errors" #
|
||||
# #
|
||||
# Creation: #
|
||||
# 2007-12-24 akopytov Moved the test case for bug #32020 from #
|
||||
# skip_grants.test to a separate test to ensure #
|
||||
# that it is only run when the server is built #
|
||||
# with support for dynamically loaded libraries #
|
||||
# (see bug #33305). #
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
-- source include/have_udf.inc
|
||||
|
||||
#
|
||||
# Bug #32020: loading udfs while --skip-grant-tables is enabled causes out of
|
||||
# memory errors
|
||||
#
|
||||
|
||||
--error ER_CANT_INITIALIZE_UDF
|
||||
CREATE FUNCTION a RETURNS STRING SONAME '';
|
||||
--error ER_SP_DOES_NOT_EXIST
|
||||
DROP FUNCTION a;
|
||||
|
||||
--echo End of 5.0 tests
|
@ -922,4 +922,70 @@ DROP TABLE t1;
|
||||
select @var;
|
||||
--error 1172
|
||||
(select 2) union (select 1 into @var);
|
||||
|
||||
#
|
||||
# Bug#27848: order-by of union clashes with rollup of select part
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
CREATE TABLE t2 (b int);
|
||||
INSERT INTO t2 VALUES (10), (50), (50);
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a ASC LIMIT 3;
|
||||
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
|
||||
ORDER BY a DESC;
|
||||
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a,1 FROM t1
|
||||
UNION
|
||||
(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
|
||||
|
||||
--error ER_WRONG_USAGE
|
||||
SELECT a,1 FROM t1
|
||||
UNION ALL
|
||||
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
|
||||
UNION
|
||||
SELECT 1,1;
|
||||
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
# Bug#32848: Data type conversion bug in union subselects in MySQL 5.0.38
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (1), (2), (3);
|
||||
|
||||
CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
|
||||
DESC t2;
|
||||
|
||||
CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
|
||||
DESC t3;
|
||||
|
||||
CREATE TABLE t4 SELECT NULL;
|
||||
DESC t4;
|
||||
|
||||
CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
|
||||
DESC t5;
|
||||
|
||||
CREATE TABLE t6
|
||||
SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
|
||||
DESC t6;
|
||||
|
||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user