Browse Source
Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines(for 5.1)
pull/47/merge
Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines(for 5.1)
pull/47/merge
7 changed files with 174 additions and 12 deletions
-
2mysql-test/r/myisampack.result
-
73mysql-test/r/status2.result
-
2mysql-test/t/myisampack.test
-
68mysql-test/t/status2.test
-
8sql/mysqld.cc
-
11sql/sql_class.h
-
22sql/sql_parse.cc
@ -0,0 +1,73 @@ |
|||
# |
|||
# Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines |
|||
# |
|||
FLUSH STATUS; |
|||
CREATE FUNCTION testQuestion() RETURNS INTEGER |
|||
BEGIN |
|||
DECLARE foo INTEGER; |
|||
DECLARE bar INTEGER; |
|||
SET foo=1; |
|||
SET bar=2; |
|||
RETURN foo; |
|||
END $$ |
|||
CREATE PROCEDURE testQuestion2() |
|||
BEGIN |
|||
SELECT 1; |
|||
END $$ |
|||
DROP TABLE IF EXISTS t1,t2; |
|||
CREATE TABLE t1 (c1 INT); |
|||
CREATE TABLE t2 (c1 INT); |
|||
CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND |
|||
DO INSERT INTO t1 VALUES(1); |
|||
Assert Questions == 7 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 7 |
|||
SELECT testQuestion(); |
|||
testQuestion() |
|||
1 |
|||
Assert Questions == 9 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 9 |
|||
CALL testQuestion2(); |
|||
1 |
|||
1 |
|||
Assert Questions == 11 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 11 |
|||
SELECT 1; |
|||
1 |
|||
1 |
|||
Assert Questions == 13 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 13 |
|||
SELECT 1; |
|||
1 |
|||
1 |
|||
Assert Questions == 14 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 14 |
|||
CREATE TRIGGER trigg1 AFTER INSERT ON t1 |
|||
FOR EACH ROW BEGIN |
|||
INSERT INTO t2 VALUES (1); |
|||
END; |
|||
$$ |
|||
Assert Questions == 16 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 16 |
|||
INSERT INTO t1 VALUES (1); |
|||
Assert Questions == 18 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
Variable_name Value |
|||
Questions 18 |
|||
DROP PROCEDURE testQuestion2; |
|||
DROP TRIGGER trigg1; |
|||
DROP FUNCTION testQuestion; |
|||
DROP EVENT ev1; |
|||
DROP TABLE t1,t2; |
|||
End of 6.0 tests |
|||
@ -0,0 +1,68 @@ |
|||
--source include/not_embedded.inc |
|||
|
|||
--echo # |
|||
--echo # Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines |
|||
--echo # |
|||
FLUSH STATUS; |
|||
DELIMITER $$; |
|||
CREATE FUNCTION testQuestion() RETURNS INTEGER |
|||
BEGIN |
|||
DECLARE foo INTEGER; |
|||
DECLARE bar INTEGER; |
|||
SET foo=1; |
|||
SET bar=2; |
|||
RETURN foo; |
|||
END $$ |
|||
CREATE PROCEDURE testQuestion2() |
|||
BEGIN |
|||
SELECT 1; |
|||
END $$ |
|||
DELIMITER ;$$ |
|||
--disable_warnings |
|||
DROP TABLE IF EXISTS t1,t2; |
|||
--enable_warnings |
|||
CREATE TABLE t1 (c1 INT); |
|||
CREATE TABLE t2 (c1 INT); |
|||
CREATE EVENT ev1 ON SCHEDULE EVERY 1 SECOND |
|||
DO INSERT INTO t1 VALUES(1); |
|||
|
|||
--echo Assert Questions == 7 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
SELECT testQuestion(); |
|||
--echo Assert Questions == 9 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
CALL testQuestion2(); |
|||
--echo Assert Questions == 11 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
SELECT 1; |
|||
--echo Assert Questions == 13 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
connect (con1,localhost,root,,); |
|||
connection con1; |
|||
SELECT 1; |
|||
connection default; |
|||
disconnect con1; |
|||
--echo Assert Questions == 14 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
DELIMITER $$; |
|||
CREATE TRIGGER trigg1 AFTER INSERT ON t1 |
|||
FOR EACH ROW BEGIN |
|||
INSERT INTO t2 VALUES (1); |
|||
END; |
|||
$$ |
|||
DELIMITER ;$$ |
|||
--echo Assert Questions == 16 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
INSERT INTO t1 VALUES (1); |
|||
--echo Assert Questions == 18 |
|||
SHOW STATUS LIKE 'Questions'; |
|||
# TODO: Uncomment the lines below when FLUSH GLOBAL STATUS is implemented. |
|||
# FLUSH STATUS; |
|||
# SHOW GLOBAL STATUS LIKE 'Questions'; |
|||
DROP PROCEDURE testQuestion2; |
|||
DROP TRIGGER trigg1; |
|||
DROP FUNCTION testQuestion; |
|||
DROP EVENT ev1; |
|||
DROP TABLE t1,t2; |
|||
--echo End of 6.0 tests |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue