summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorKristofer Pettersson <kristofer.pettersson@sun.com>2008-10-09 09:26:42 +0200
committerKristofer Pettersson <kristofer.pettersson@sun.com>2008-10-09 09:26:42 +0200
commitf985e787758e3081e18543b5490724d30296aebf (patch)
treeed1de81ea71bd5053e787bd3e804bcc5c0c9d4ec /sql/sql_class.h
parenteb3c08069db60d61f41dacb10fd6b73635fec236 (diff)
downloadmariadb-git-f985e787758e3081e18543b5490724d30296aebf.tar.gz
Bug#24289 Status Variable "Questions" gets wrong values with Stored Routines
When running Stored Routines the Status Variable "Questions" was wrongly incremented. According to the manual it should contain the "number of statements that clients have sent to the server" Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. The new behavior is ment to be backward compatible with 4.0 and at the same time work with new features in a similar way. This is a backport from 6.0 mysql-test/r/status2.result: Added test case mysql-test/t/status2.test: Added test case sql/mysqld.cc: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_class.h: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_parse.cc: To be backward compatible with 4.0 and at the same time extend the interpretation of the Question variable, it should be increased on all COM-commands but COM_STATISTICS, COM_PING, COM_STMT_PREPARE, COM_STMT_CLOSE and COM_STMT_RESET. Since COM_QUERY can process multiple statements, there has to be an extra increase there as well. sql/sql_show.cc: Removed deprecated SHOW_QUESTION status code. sql/structs.h: Removed deprecated SHOW_QUESTION status code.
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index a9700c9e91b..9fe0a7423de 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -664,10 +664,17 @@ typedef struct system_status_var
ulong com_stmt_fetch;
ulong com_stmt_reset;
ulong com_stmt_close;
+ /*
+ Number of statements sent from the client
+ */
+ ulong questions;
/*
- Status variables which it does not make sense to add to
- global status variable counter
+ IMPORTANT!
+ SEE last_system_status_var DEFINITION BELOW.
+
+ Below 'last_system_status_var' are all variables which doesn't make any
+ sense to add to the /global/ status variable counter.
*/
double last_query_cost;
} STATUS_VAR;
@@ -678,7 +685,7 @@ typedef struct system_status_var
counter
*/
-#define last_system_status_var com_stmt_close
+#define last_system_status_var questions
void free_tmp_table(THD *thd, TABLE *entry);