3480 Georgi Kodinov 2010-07-14
Bug #53493 : add_to_status does not handle the longlong fields in STATUS_VAR
bytes_received/bytes_sent are ulonglong so they cannot be handled by the
ulong handling code in add_to_status/add_diff_to_status().
Fixed by adding code to handle these two variables in
add_to_status()/add_diff_to_status() and making sure they are not a subject
to the ulong handling code.
modified:
sql/sql_class.cc
sql/sql_class.h
3479 Georgi Kodinov 2010-07-14
Bug #54004 : mysql_secure_installation identifies "local host" incorrectly
The removal of non-local root users is overzealous in
mysql_secure_installation. (Bug #54004)
modified:
scripts/mysql_secure_installation.pl.in
scripts/mysql_secure_installation.sh
=== modified file 'sql/sql_class.cc'
--- a/sql/sql_class.cc 2010-07-04 04:02:49 +0000
+++ b/sql/sql_class.cc 2010-07-14 08:50:17 +0000
@@ -1063,6 +1063,9 @@ void add_to_status(STATUS_VAR *to_var, S
while (to != end)
*(to++)+= *(from++);
+
+ to_var->bytes_received+= from_var->bytes_received;
+ to_var->bytes_sent+= from_var->bytes_sent;
}
/*
@@ -1088,6 +1091,9 @@ void add_diff_to_status(STATUS_VAR *to_v
while (to != end)
*(to++)+= *(from++) - *(dec++);
+
+ to_var->bytes_received+= from_var->bytes_received - dec_var->bytes_received;;
+ to_var->bytes_sent+= from_var->bytes_sent - dec_var->bytes_sent;
}
=== modified file 'sql/sql_class.h'
--- a/sql/sql_class.h 2010-07-04 04:02:49 +0000
+++ b/sql/sql_class.h 2010-07-14 08:50:17 +0000
@@ -405,12 +405,14 @@ struct system_variables
};
-/* per thread status variables */
+/**
+ Per thread status variables.
+ Must be long/ulong up to last_system_status_var so that
+ add_to_status/add_diff_to_status can work.
+*/
typedef struct system_status_var
{
- ulonglong bytes_received;
- ulonglong bytes_sent;
ulong com_other;
ulong com_stat[(uint) SQLCOM_END];
ulong created_tmp_disk_tables;
@@ -466,13 +468,14 @@ typedef struct system_status_var
Number of statements sent from the client
*/
ulong questions;
+
+ ulonglong bytes_received;
+ ulonglong bytes_sent;
/*
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.
- Status variables which it does not make sense to add to
- global status variable counter
+ Below 'last_system_status_var' are all variables that cannot be handled
+ automatically by add_to_status()/add_diff_to_status().
*/
double last_query_cost;
} STATUS_VAR;
Attachment: [text/bzr-bundle] bzr/georgi.kodinov@oracle.com-20100714085017-84te7d24en4pso3n.bundle
| Thread |
|---|
| • bzr push into mysql-5.1-bugteam branch (Georgi.Kodinov:3479 to 3480)Bug#53493 | Georgi Kodinov | 14 Jul |