mirror of
https://github.com/MariaDB/server.git
synced 2025-08-31 22:22:30 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/opt/local/work/mysql-5.0-runtime
This commit is contained in:
@@ -361,12 +361,6 @@ extract(SECOND FROM "1999-01-02 10:11:12")
|
||||
select extract(MONTH FROM "2001-02-00");
|
||||
extract(MONTH FROM "2001-02-00")
|
||||
2
|
||||
SELECT DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE)
|
||||
9999-12-31 00:00:00
|
||||
SELECT DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE)
|
||||
9999-12-31 00:00:00
|
||||
SELECT EXTRACT(QUARTER FROM '2004-01-15') AS quarter;
|
||||
quarter
|
||||
1
|
||||
@@ -403,6 +397,12 @@ quarter
|
||||
SELECT EXTRACT(QUARTER FROM '2004-12-15') AS quarter;
|
||||
quarter
|
||||
4
|
||||
SELECT DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE)
|
||||
9999-12-31 00:00:00
|
||||
SELECT DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE)
|
||||
9999-12-31 00:00:00
|
||||
SELECT "1900-01-01 00:00:00" + INTERVAL 2147483648 SECOND;
|
||||
"1900-01-01 00:00:00" + INTERVAL 2147483648 SECOND
|
||||
1968-01-20 03:14:08
|
||||
|
@@ -294,26 +294,26 @@ show create function sub1;
|
||||
ERROR 42000: FUNCTION sub1 does not exist
|
||||
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
|
||||
ROUTINE_NAME ROUTINE_DEFINITION
|
||||
sel2
|
||||
sub1
|
||||
sel2 NULL
|
||||
sub1 NULL
|
||||
grant all privileges on test.* to mysqltest_1@localhost;
|
||||
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
|
||||
ROUTINE_NAME ROUTINE_DEFINITION
|
||||
sel2
|
||||
sub1
|
||||
sel2 NULL
|
||||
sub1 NULL
|
||||
create function sub2(i int) returns int
|
||||
return i+1;
|
||||
select ROUTINE_NAME, ROUTINE_DEFINITION from information_schema.ROUTINES;
|
||||
ROUTINE_NAME ROUTINE_DEFINITION
|
||||
sel2
|
||||
sub1
|
||||
sel2 NULL
|
||||
sub1 NULL
|
||||
sub2 return i+1
|
||||
show create procedure sel2;
|
||||
Procedure sql_mode Create Procedure
|
||||
sel2
|
||||
sel2 NULL
|
||||
show create function sub1;
|
||||
Function sql_mode Create Function
|
||||
sub1
|
||||
sub1 NULL
|
||||
show create function sub2;
|
||||
Function sql_mode Create Function
|
||||
sub2 CREATE DEFINER=`mysqltest_1`@`localhost` FUNCTION `sub2`(i int) RETURNS int(11)
|
||||
@@ -1134,3 +1134,39 @@ concat(@a, table_name) @a table_name
|
||||
.t1 . t1
|
||||
.t2 . t2
|
||||
drop table t1,t2;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
CREATE PROCEDURE p1() SET @a= 1;
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN @a + 1;
|
||||
CREATE USER mysql_bug20230@localhost;
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO mysql_bug20230@localhost;
|
||||
GRANT EXECUTE ON FUNCTION f1 TO mysql_bug20230@localhost;
|
||||
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES;
|
||||
ROUTINE_NAME ROUTINE_DEFINITION
|
||||
f1 RETURN @a + 1
|
||||
p1 SET @a= 1
|
||||
SHOW CREATE PROCEDURE p1;
|
||||
Procedure sql_mode Create Procedure
|
||||
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
SET @a= 1
|
||||
SHOW CREATE FUNCTION f1;
|
||||
Function sql_mode Create Function
|
||||
f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
|
||||
RETURN @a + 1
|
||||
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES;
|
||||
ROUTINE_NAME ROUTINE_DEFINITION
|
||||
f1 NULL
|
||||
p1 NULL
|
||||
SHOW CREATE PROCEDURE p1;
|
||||
Procedure sql_mode Create Procedure
|
||||
p1 NULL
|
||||
SHOW CREATE FUNCTION f1;
|
||||
Function sql_mode Create Function
|
||||
f1 NULL
|
||||
CALL p1();
|
||||
SELECT f1();
|
||||
f1()
|
||||
2
|
||||
DROP FUNCTION f1;
|
||||
DROP PROCEDURE p1;
|
||||
DROP USER mysql_bug20230@localhost;
|
||||
|
@@ -1075,3 +1075,18 @@ SELECT f1();
|
||||
f1()
|
||||
abc
|
||||
DROP FUNCTION f1;
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE v_char VARCHAR(255);
|
||||
DECLARE v_text TEXT DEFAULT '';
|
||||
SET v_char = 'abc';
|
||||
SET v_text = v_char;
|
||||
SET v_char = 'def';
|
||||
SET v_text = concat(v_text, '|', v_char);
|
||||
SELECT v_text;
|
||||
END|
|
||||
CALL p1();
|
||||
v_text
|
||||
abc|def
|
||||
DROP PROCEDURE p1;
|
||||
|
@@ -143,10 +143,6 @@ select extract(SECOND FROM "1999-01-02 10:11:12");
|
||||
select extract(MONTH FROM "2001-02-00");
|
||||
|
||||
#
|
||||
# MySQL Bugs: #12356: DATE_SUB or DATE_ADD incorrectly returns null
|
||||
#
|
||||
SELECT DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
SELECT DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
# test EXTRACT QUARTER (Bug #18100)
|
||||
#
|
||||
|
||||
@@ -162,7 +158,11 @@ SELECT EXTRACT(QUARTER FROM '2004-09-15') AS quarter;
|
||||
SELECT EXTRACT(QUARTER FROM '2004-10-15') AS quarter;
|
||||
SELECT EXTRACT(QUARTER FROM '2004-11-15') AS quarter;
|
||||
SELECT EXTRACT(QUARTER FROM '2004-12-15') AS quarter;
|
||||
|
||||
#
|
||||
# MySQL Bugs: #12356: DATE_SUB or DATE_ADD incorrectly returns null
|
||||
#
|
||||
SELECT DATE_SUB(str_to_date('9999-12-31 00:01:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
SELECT DATE_ADD(str_to_date('9999-12-30 23:59:00','%Y-%m-%d %H:%i:%s'), INTERVAL 1 MINUTE);
|
||||
|
||||
#
|
||||
# Test big intervals (Bug #3498)
|
||||
|
@@ -852,3 +852,39 @@ create table t2(f1 char(5));
|
||||
select concat(@a, table_name), @a, table_name
|
||||
from information_schema.tables where table_schema = 'test';
|
||||
drop table t1,t2;
|
||||
|
||||
|
||||
#
|
||||
# Bug#20230: routine_definition is not null
|
||||
#
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
DROP FUNCTION IF EXISTS f1;
|
||||
--enable_warnings
|
||||
|
||||
CREATE PROCEDURE p1() SET @a= 1;
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN @a + 1;
|
||||
CREATE USER mysql_bug20230@localhost;
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO mysql_bug20230@localhost;
|
||||
GRANT EXECUTE ON FUNCTION f1 TO mysql_bug20230@localhost;
|
||||
|
||||
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES;
|
||||
SHOW CREATE PROCEDURE p1;
|
||||
SHOW CREATE FUNCTION f1;
|
||||
|
||||
connect (conn1, localhost, mysql_bug20230,,);
|
||||
|
||||
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES;
|
||||
SHOW CREATE PROCEDURE p1;
|
||||
SHOW CREATE FUNCTION f1;
|
||||
CALL p1();
|
||||
SELECT f1();
|
||||
|
||||
disconnect conn1;
|
||||
connection default;
|
||||
|
||||
DROP FUNCTION f1;
|
||||
DROP PROCEDURE p1;
|
||||
DROP USER mysql_bug20230@localhost;
|
||||
|
||||
# End of 5.0 tests.
|
||||
|
@@ -1271,3 +1271,39 @@ SELECT f1();
|
||||
#
|
||||
|
||||
DROP FUNCTION f1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#17226: Variable set in cursor on first iteration is assigned
|
||||
# second iterations value
|
||||
#
|
||||
# The problem was in incorrect handling of local variables of type
|
||||
# TEXT (BLOB).
|
||||
#
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
--enable_warnings
|
||||
|
||||
delimiter |;
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE v_char VARCHAR(255);
|
||||
DECLARE v_text TEXT DEFAULT '';
|
||||
|
||||
SET v_char = 'abc';
|
||||
|
||||
SET v_text = v_char;
|
||||
|
||||
SET v_char = 'def';
|
||||
|
||||
SET v_text = concat(v_text, '|', v_char);
|
||||
|
||||
SELECT v_text;
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
CALL p1();
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
# End of 5.0 tests.
|
||||
|
Reference in New Issue
Block a user