diff options
author | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2008-12-29 16:15:48 +0400 |
---|---|---|
committer | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2008-12-29 16:15:48 +0400 |
commit | 51b78382cdff7576747149acae51f8ff9034b208 (patch) | |
tree | 4abe304bbc2dd38477bd016437783452c8d4f8b8 | |
parent | 5ac577497744a97f68715cdb372950c9e954677f (diff) | |
parent | f67ce4761768a3ea05f8c4c11704fd5cd2065d3a (diff) | |
download | mariadb-git-51b78382cdff7576747149acae51f8ff9034b208.tar.gz |
5.0-bugteam->5.1-bugteam merge
-rw-r--r-- | mysql-test/r/status.result | 25 | ||||
-rw-r--r-- | mysql-test/t/status.test | 39 | ||||
-rw-r--r-- | sql/mysqld.cc | 9 |
3 files changed, 73 insertions, 0 deletions
diff --git a/mysql-test/r/status.result b/mysql-test/r/status.result index 1e758ce68c7..78537052127 100644 --- a/mysql-test/r/status.result +++ b/mysql-test/r/status.result @@ -209,4 +209,29 @@ ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table ' drop database db37908; drop procedure proc37908; drop function func37908; +DROP PROCEDURE IF EXISTS p1; +DROP FUNCTION IF EXISTS f1; +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 $$ +SELECT f1(); +f1() +1 +CALL p1(); +1 +1 +SELECT 9; +9 +9 +DROP PROCEDURE p1; +DROP FUNCTION f1; set @@global.concurrent_insert= @old_concurrent_insert; diff --git a/mysql-test/t/status.test b/mysql-test/t/status.test index bc241423417..5f20bf9eceb 100644 --- a/mysql-test/t/status.test +++ b/mysql-test/t/status.test @@ -238,6 +238,8 @@ let $tmp_table2 = `show global status like 'Created_tmp_tables'`; --disable_query_log eval select substring_index('$rnd_next2',0x9,-1)-substring_index('$rnd_next',0x9,-1) as rnd_diff, substring_index('$tmp_table2',0x9,-1)-substring_index('$tmp_table',0x9,-1) as tmp_table_diff; --enable_query_log +disconnect con1; +connection default; # # Bug#30252 Com_create_function is not incremented. @@ -291,6 +293,43 @@ connection root; drop database db37908; drop procedure proc37908; drop function func37908; + +# +# Bug#41131 "Questions" fails to increment - ignores statements instead stored procs +# +connect (con1,localhost,root,,); +connection con1; +--disable_warnings +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 ;$$ +let $org_queries= `SHOW STATUS LIKE 'Queries'`; +SELECT f1(); +CALL p1(); +let $new_queries= `SHOW STATUS LIKE 'Queries'`; +--disable_log +let $diff= `SELECT SUBSTRING('$new_queries',9)-SUBSTRING('$org_queries',9)`; +--enable_log +eval SELECT $diff; +disconnect con1; +connection default; +DROP PROCEDURE p1; +DROP FUNCTION f1; + # End of 5.1 tests # Restore global concurrent_insert value. Keep in the end of the test file. diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b2505a99a0d..b7f9457da3d 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -6910,6 +6910,14 @@ The minimum value for this variable is 4096.", }; +static int show_queries(THD *thd, SHOW_VAR *var, char *buff) +{ + var->type= SHOW_LONGLONG; + var->value= (char *)&thd->query_id; + return 0; +} + + static int show_net_compression(THD *thd, SHOW_VAR *var, char *buff) { var->type= SHOW_MY_BOOL; @@ -7325,6 +7333,7 @@ SHOW_VAR status_vars[]= { {"Qcache_queries_in_cache", (char*) &query_cache.queries_in_cache, SHOW_LONG_NOFLUSH}, {"Qcache_total_blocks", (char*) &query_cache.total_blocks, SHOW_LONG_NOFLUSH}, #endif /*HAVE_QUERY_CACHE*/ + {"Queries", (char*) &show_queries, SHOW_FUNC}, {"Questions", (char*) offsetof(STATUS_VAR, questions), SHOW_LONG_STATUS}, #ifdef HAVE_REPLICATION {"Rpl_status", (char*) &show_rpl_status, SHOW_FUNC}, |