--echo #
--echo # Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines
--echo #
# The bogus connection below is needed to make the gobal statement count
# deterministic when the test is run for the first time. 
connect (con1,localhost,root,,);
connection con1;
connection default;
disconnect con1;
FLUSH STATUS;
--disable_warnings
DROP TABLE IF EXISTS t1,t2;
DROP PROCEDURE IF EXISTS p1;
DROP FUNCTION IF EXISTS f1;
--enable_warnings
DELIMITER $$;
CREATE FUNCTION f1() RETURNS INTEGER
BEGIN
  DECLARE foo INTEGER;
  DECLARE bar INTEGER;
  SET foo=1;
  SET bar=2;
  RETURN foo;
END $$
CREATE PROCEDURE p1()
BEGIN
  SELECT 1;
END $$
DELIMITER ;$$
CREATE TABLE t1 (c1 INT);
CREATE TABLE t2 (c1 INT);
INSERT INTO t1 VALUES (1);
--echo Assert Questions == 9
SHOW STATUS LIKE 'Questions';
SELECT f1();
--echo Assert Questions == 11
SHOW STATUS LIKE 'Questions';
CALL p1();
--echo Assert Questions == 13
SHOW STATUS LIKE 'Questions';
SELECT 1;
--echo Assert Questions == 15
SHOW STATUS LIKE 'Questions';
connect (con1,localhost,root,,);
connection con1;
FLUSH STATUS;
let $org_questions= `SHOW GLOBAL STATUS LIKE 'questions'`;
SELECT 1;
connection default;
--echo Assert Questions == 16
SHOW STATUS LIKE 'Questions';
--echo Global status updated; Assert diff == 4
FLUSH STATUS;
let $new_questions= `SHOW GLOBAL STATUS LIKE 'questions'`;
--disable_log
let $diff= `SELECT SUBSTRING('$new_questions',10)-SUBSTRING('$org_questions',10)`;
--enable_log
eval SELECT $diff;
disconnect con1;
DROP TABLE t1,t2;
DROP PROCEDURE p1;
DROP FUNCTION f1;
--echo End of 6.0 tests

