mirror of
https://github.com/MariaDB/server.git
synced 2025-12-10 19:44:09 +03:00
Merge from mysql-5.5.14-release
This commit is contained in:
committed by
MySQL Release Engineering
commit
c74d844de3
@@ -1117,5 +1117,14 @@ CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END
|
||||
b
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#12340997
|
||||
# DATE_ADD/DATE_SUB WITH INTERVAL CRASHES IN GET_INTERVAL_VALUE()
|
||||
#
|
||||
SELECT space(date_add(101, INTERVAL CHAR('1' USING utf16) hour_second));
|
||||
space(date_add(101, INTERVAL CHAR('1' USING utf16) hour_second))
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1301 Result of repeat() was larger than max_allowed_packet (1048576) - truncated
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
||||
@@ -176,10 +176,12 @@ SELECT @@session.sql_mode INTO @old_sql_mode;
|
||||
SET SESSION sql_mode='ONLY_FULL_GROUP_BY';
|
||||
EXPLAIN EXTENDED SELECT 1 FROM t1
|
||||
WHERE f1 > ALL( SELECT t.f1 FROM t1,t1 AS t );
|
||||
ERROR 42000: Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
2 SUBQUERY t1 system NULL NULL NULL NULL 0 0.00 const row not found
|
||||
2 SUBQUERY t system NULL NULL NULL NULL 0 0.00 const row not found
|
||||
Warnings:
|
||||
Note 1003 select 1 AS `1` from `test`.`t1` where 0
|
||||
SET SESSION sql_mode=@old_sql_mode;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
|
||||
@@ -455,4 +455,11 @@ YES plugin
|
||||
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: YES)
|
||||
# shoud contain "using password=no"
|
||||
ERROR 1045 (28000): Access denied for user 'unknown'@'localhost' (using password: NO)
|
||||
#
|
||||
# Bug #12610784: SET PASSWORD INCORRECTLY KEEP AN OLD EMPTY PASSWORD
|
||||
#
|
||||
CREATE USER bug12610784@localhost;
|
||||
SET PASSWORD FOR bug12610784@localhost = PASSWORD('secret');
|
||||
ERROR 28000: Access denied for user 'bug12610784'@'localhost' (using password: NO)
|
||||
DROP USER bug12610784@localhost;
|
||||
End of 5.5 tests
|
||||
|
||||
38
mysql-test/r/secure_file_priv_win.result
Normal file
38
mysql-test/r/secure_file_priv_win.result
Normal file
@@ -0,0 +1,38 @@
|
||||
CREATE TABLE t1 (c1 longtext);
|
||||
INSERT INTO t1 values ('a');
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR/B11764517.tmp';
|
||||
show global variables like 'secure_file_priv';
|
||||
Variable_name Value
|
||||
secure_file_priv MYSQL_TMP_DIR/
|
||||
SELECT load_file('MYSQL_TMP_DIR\\B11764517.tmp') AS x;
|
||||
x
|
||||
a
|
||||
|
||||
SELECT load_file('MYSQL_TMP_DIR/B11764517.tmp') AS x;
|
||||
x
|
||||
a
|
||||
|
||||
SELECT load_file('MYSQL_TMP_DIR_UCASE/B11764517.tmp') AS x;
|
||||
x
|
||||
a
|
||||
|
||||
SELECT load_file('MYSQL_TMP_DIR_LCASE/B11764517.tmp') AS x;
|
||||
x
|
||||
a
|
||||
|
||||
SELECT load_file('MYSQL_TMP_DIR\\..a..\\..\\..\\B11764517.tmp') AS x;
|
||||
x
|
||||
NULL
|
||||
LOAD DATA INFILE 'MYSQL_TMP_DIR\\B11764517.tmp' INTO TABLE t1;
|
||||
LOAD DATA INFILE 'MYSQL_TMP_DIR/B11764517.tmp' INTO TABLE t1;
|
||||
LOAD DATA INFILE 'MYSQL_TMP_DIR_UCASE/B11764517.tmp' INTO TABLE t1;
|
||||
LOAD DATA INFILE 'MYSQL_TMP_DIR_LCASE/B11764517.tmp' INTO TABLE t1;
|
||||
LOAD DATA INFILE "MYSQL_TMP_DIR\\..a..\\..\\..\\B11764517.tmp" into table t1;
|
||||
ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR\\..a..\\..\\..\\B11764517-2.tmp';
|
||||
ERROR HY000: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR\\B11764517-2.tmp';
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR/B11764517-3.tmp';
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR_UCASE/B11764517-4.tmp';
|
||||
SELECT * FROM t1 INTO OUTFILE 'MYSQL_TMP_DIR_LCASE/B11764517-5.tmp';
|
||||
DROP TABLE t1;
|
||||
@@ -592,3 +592,28 @@ ERROR 42000: alter routine command denied to user 'bug57061_user'@'localhost' fo
|
||||
# Connection 'default'.
|
||||
drop user bug57061_user@localhost;
|
||||
drop database mysqltest_db;
|
||||
#
|
||||
# Bug#11882603 SELECT_ACL ON ANY COLUMN IN MYSQL.PROC ALLOWS TO SEE
|
||||
# DEFINITION OF ANY ROUTINE.
|
||||
#
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
CREATE DATABASE db1;
|
||||
CREATE PROCEDURE db1.p1() SELECT 1;
|
||||
CREATE USER user2@localhost IDENTIFIED BY '';
|
||||
GRANT SELECT(db) ON mysql.proc TO user2@localhost;
|
||||
# Connection con2 as user2
|
||||
# The statement below before disclosed info from body_utf8 column.
|
||||
SHOW CREATE PROCEDURE db1.p1;
|
||||
ERROR 42000: PROCEDURE p1 does not exist
|
||||
# Check that SHOW works with SELECT grant on whole table
|
||||
# Connection default
|
||||
GRANT SELECT ON mysql.proc TO user2@localhost;
|
||||
# Connection con2
|
||||
# This should work
|
||||
SHOW CREATE PROCEDURE db1.p1;
|
||||
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
|
||||
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
|
||||
# Connection default
|
||||
DROP USER user2@localhost;
|
||||
DROP DATABASE db1;
|
||||
|
||||
@@ -7500,4 +7500,76 @@ CALL p1();
|
||||
DROP TABLE t1, t2, t3;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
|
||||
# --
|
||||
# -- Bug#12652769 - 61470: case operator in stored routine retains old
|
||||
# -- value of input parameter
|
||||
# ---
|
||||
DROP TABLE IF EXISTS t1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf8);
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
CREATE PROCEDURE p1(dt DATETIME, i INT)
|
||||
BEGIN
|
||||
SELECT
|
||||
CASE
|
||||
WHEN i = 1 THEN 2
|
||||
ELSE dt
|
||||
END AS x1;
|
||||
SELECT
|
||||
CASE _latin1'a'
|
||||
WHEN _utf8'a' THEN 'A'
|
||||
END AS x2;
|
||||
SELECT
|
||||
CASE _utf8'a'
|
||||
WHEN _latin1'a' THEN _utf8'A'
|
||||
END AS x3;
|
||||
SELECT
|
||||
CASE s1
|
||||
WHEN _latin1'a' THEN _latin1'b'
|
||||
ELSE _latin1'c'
|
||||
END AS x4
|
||||
FROM t1;
|
||||
END|
|
||||
|
||||
CALL p1('2011-04-03 05:14:10', 1);
|
||||
x1
|
||||
2
|
||||
x2
|
||||
A
|
||||
x3
|
||||
A
|
||||
x4
|
||||
b
|
||||
CALL p1('2011-04-03 05:14:11', 2);
|
||||
x1
|
||||
2011-04-03 05:14:11
|
||||
x2
|
||||
A
|
||||
x3
|
||||
A
|
||||
x4
|
||||
b
|
||||
CALL p1('2011-04-03 05:14:12', 2);
|
||||
x1
|
||||
2011-04-03 05:14:12
|
||||
x2
|
||||
A
|
||||
x3
|
||||
A
|
||||
x4
|
||||
b
|
||||
CALL p1('2011-04-03 05:14:13', 2);
|
||||
x1
|
||||
2011-04-03 05:14:13
|
||||
x2
|
||||
A
|
||||
x3
|
||||
A
|
||||
x4
|
||||
b
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
# End of 5.5 test
|
||||
|
||||
@@ -4442,6 +4442,32 @@ pk int_key
|
||||
3 3
|
||||
7 3
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Bug#12329653
|
||||
# EXPLAIN, UNION, PREPARED STATEMENT, CRASH, SQL_FULL_GROUP_BY
|
||||
#
|
||||
CREATE TABLE t1(a1 int);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT @@session.sql_mode INTO @old_sql_mode;
|
||||
SET SESSION sql_mode='ONLY_FULL_GROUP_BY';
|
||||
SELECT 1 FROM t1 WHERE 1 < SOME (SELECT a1 FROM t1);
|
||||
1
|
||||
1
|
||||
1
|
||||
PREPARE stmt FROM
|
||||
'SELECT 1 UNION ALL
|
||||
SELECT 1 FROM t1
|
||||
ORDER BY
|
||||
(SELECT 1 FROM t1 AS t1_0
|
||||
WHERE 1 < SOME (SELECT a1 FROM t1)
|
||||
)' ;
|
||||
EXECUTE stmt ;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
EXECUTE stmt ;
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
SET SESSION sql_mode=@old_sql_mode;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (2,22),(1,11),(2,22);
|
||||
|
||||
@@ -1144,5 +1144,23 @@ SELECT UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0);
|
||||
UPDATEXML(CONVERT('' USING swe7), TRUNCATE('',1), 0)
|
||||
NULL
|
||||
#
|
||||
# Bug#12375190: UPDATEXML CRASHES ON SIMPLE INPUTS
|
||||
#
|
||||
SELECT UPDATEXML('','(a)/a','');
|
||||
UPDATEXML('','(a)/a','')
|
||||
|
||||
SELECT UPDATEXML('<a><a>x</a></a>','(a)/a','<b />');
|
||||
UPDATEXML('<a><a>x</a></a>','(a)/a','<b />')
|
||||
<a><b /></a>
|
||||
SELECT UPDATEXML('<a><c><a>x</a></c></a>','(a)/a','<b />');
|
||||
UPDATEXML('<a><c><a>x</a></c></a>','(a)/a','<b />')
|
||||
<a><c><a>x</a></c></a>
|
||||
SELECT UPDATEXML('<a><c><a>x</a></c></a>','(a)//a','<b />');
|
||||
UPDATEXML('<a><c><a>x</a></c></a>','(a)//a','<b />')
|
||||
<a><c><b /></c></a>
|
||||
SELECT ExtractValue('<a><a>aa</a><b>bb</b></a>','(a)/a|(a)/b');
|
||||
ExtractValue('<a><a>aa</a><b>bb</b></a>','(a)/a|(a)/b')
|
||||
aa bb
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user