Below is the list of changes that have just been committed into a local
5.1 repository of gluh. When gluh does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-03-27 19:07:54+05:00, gluh@stripped +9 -0
Bug#27327 information_schema status views, variable_value conversion
added convertion of Slave_running & SSL_session_cache_mode
status variables into numeric values
mysql-test/r/compress.result@stripped, 2007-03-27 19:07:52+05:00, gluh@stripped +3 -0
test result
mysql-test/r/rpl_packet.result@stripped, 2007-03-27 19:07:52+05:00, gluh@stripped +6 -0
test result
mysql-test/r/ssl.result@stripped, 2007-03-27 19:07:52+05:00, gluh@stripped +7 -0
test result
mysql-test/t/compress.test@stripped, 2007-03-27 19:07:52+05:00, gluh@stripped +1 -0
test case
mysql-test/t/rpl_packet.test@stripped, 2007-03-27 19:07:53+05:00, gluh@stripped +2 -0
test case
mysql-test/t/ssl.test@stripped, 2007-03-27 19:07:53+05:00, gluh@stripped +8 -0
test case
sql/mysqld.cc@stripped, 2007-03-27 19:07:53+05:00, gluh@stripped +11 -23
added convertion of Slave_running & SSL_session_cache_mode
status variables into numeric values
sql/sql_plugin.h@stripped, 2007-03-27 19:07:53+05:00, gluh@stripped +2 -1
added convertion of Slave_running & SSL_session_cache_mode
status variables into numeric values
sql/sql_show.cc@stripped, 2007-03-27 19:07:53+05:00, gluh@stripped +41 -0
added convertion of Slave_running & SSL_session_cache_mode
status variables into numeric values
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: gluh
# Host: eagle.(none)
# Root: /home/gluh/MySQL/Bugs/5.1.27327
--- 1.622/sql/mysqld.cc 2007-03-20 01:37:31 +04:00
+++ 1.623/sql/mysqld.cc 2007-03-27 19:07:53 +05:00
@@ -6510,10 +6510,11 @@ static int show_rpl_status(THD *thd, SHO
static int show_slave_running(THD *thd, SHOW_VAR *var, char *buff)
{
- var->type= SHOW_CHAR;
+ var->type= SHOW_MY_BOOL;
pthread_mutex_lock(&LOCK_active_mi);
- var->value= const_cast<char*>((active_mi &&
active_mi->slave_running &&
- active_mi->rli.slave_running) ? "ON" : "OFF");
+ var->value= buff;
+ *((my_bool *)buff)= (my_bool) (active_mi && active_mi->slave_running
&&
+ active_mi->rli.slave_running);
pthread_mutex_unlock(&LOCK_active_mi);
return 0;
}
@@ -6705,27 +6706,13 @@ static int show_ssl_ctx_get_verify_depth
static int show_ssl_ctx_get_session_cache_mode(THD *thd, SHOW_VAR *var, char *buff)
{
- var->type= SHOW_CHAR;
+ var->type= SHOW_LONG;
+ var->value= buff;
if (!ssl_acceptor_fd)
- var->value= const_cast<char*>("NONE");
+ *((long *)buff)= (long) -1;
else
- switch (SSL_CTX_get_session_cache_mode(ssl_acceptor_fd->ssl_context))
- {
- case SSL_SESS_CACHE_OFF:
- var->value= const_cast<char*>("OFF"); break;
- case SSL_SESS_CACHE_CLIENT:
- var->value= const_cast<char*>("CLIENT"); break;
- case SSL_SESS_CACHE_SERVER:
- var->value= const_cast<char*>("SERVER"); break;
- case SSL_SESS_CACHE_BOTH:
- var->value= const_cast<char*>("BOTH"); break;
- case SSL_SESS_CACHE_NO_AUTO_CLEAR:
- var->value= const_cast<char*>("NO_AUTO_CLEAR"); break;
- case SSL_SESS_CACHE_NO_INTERNAL_LOOKUP:
- var->value= const_cast<char*>("NO_INTERNAL_LOOKUP"); break;
- default:
- var->value= const_cast<char*>("Unknown"); break;
- }
+ *((long *)buff)=
+ (long) SSL_CTX_get_session_cache_mode(ssl_acceptor_fd->ssl_context);
return 0;
}
@@ -7015,7 +7002,8 @@ SHOW_VAR status_vars[]= {
{"Ssl_finished_connects", (char*) &show_ssl_ctx_sess_connect_good, SHOW_FUNC},
{"Ssl_session_cache_hits", (char*) &show_ssl_ctx_sess_hits, SHOW_FUNC},
{"Ssl_session_cache_misses", (char*) &show_ssl_ctx_sess_misses, SHOW_FUNC},
- {"Ssl_session_cache_mode", (char*) &show_ssl_ctx_get_session_cache_mode,
SHOW_FUNC},
+ {"Ssl_session_cache_mode", (char*) &show_ssl_ctx_get_session_cache_mode,
+ SHOW_SSL_SESSION_CACHE_MODE},
{"Ssl_session_cache_overflows", (char*) &show_ssl_ctx_sess_cache_full, SHOW_FUNC},
{"Ssl_session_cache_size", (char*) &show_ssl_ctx_sess_get_cache_size, SHOW_FUNC},
{"Ssl_session_cache_timeouts", (char*) &show_ssl_ctx_sess_timeouts, SHOW_FUNC},
--- 1.400/sql/sql_show.cc 2007-03-20 01:44:15 +04:00
+++ 1.401/sql/sql_show.cc 2007-03-27 19:07:53 +05:00
@@ -2135,6 +2135,44 @@ static bool show_status_array(THD *thd,
value= (char*) dflt_key_cache + (ulong)value;
end= longlong10_to_str(*(longlong*) value, buff, 10);
break;
+#ifdef HAVE_OPENSSL
+ case SHOW_SSL_SESSION_CACHE_MODE:
+ {
+ long tmp_val= *(long*) value;
+ if (tmp_val == -1)
+ end= strmov(buff, "NONE");
+ else
+ {
+ const char *tmp_str;
+ switch (tmp_val)
+ {
+ case SSL_SESS_CACHE_OFF:
+ tmp_str= "OFF";
+ break;
+ case SSL_SESS_CACHE_CLIENT:
+ tmp_str= "CLIENT";
+ break;
+ case SSL_SESS_CACHE_SERVER:
+ tmp_str= "SERVER";
+ break;
+ case SSL_SESS_CACHE_BOTH:
+ tmp_str= "BOTH";
+ break;
+ case SSL_SESS_CACHE_NO_AUTO_CLEAR:
+ tmp_str= "NO_AUTO_CLEAR";
+ break;
+ case SSL_SESS_CACHE_NO_INTERNAL_LOOKUP:
+ tmp_str= "NO_INTERNAL_LOOKUP";
+ break;
+ default:
+ tmp_str= "Unknown";
+ break;
+ }
+ end= strmov(buff, tmp_str);
+ }
+ break;
+ }
+#endif
case SHOW_UNDEF:
break; // Return empty string
case SHOW_SYS: // Cannot happen
@@ -5218,6 +5256,9 @@ int fill_schema_status(THD *thd, SHOW_VA
case SHOW_LONG_STATUS:
value= (char*) status_var + (ulong) value;
/* fall through */
+#ifdef HAVE_OPENSSL
+ case SHOW_SSL_SESSION_CACHE_MODE:
+#endif
case SHOW_LONG:
case SHOW_LONG_NOFLUSH: /* the difference lies in refresh_status() */
table->field[1]->store((longlong) *(long*) value, false);
--- 1.4/mysql-test/r/rpl_packet.result 2007-03-16 18:25:15 +04:00
+++ 1.5/mysql-test/r/rpl_packet.result 2007-03-27 19:07:52 +05:00
@@ -14,6 +14,12 @@ INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaa
select count(*) from
`DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________`.`t1` /* must be 1 */;
count(*)
1
+SHOW STATUS LIKE 'Slave_running';
+Variable_name Value
+Slave_running ON
+select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
+VARIABLE_NAME VARIABLE_VALUE
+SLAVE_RUNNING 1.0000000
drop database DB_NAME_OF_MAX_LENGTH_AKA_NAME_LEN_64_BYTES_____________________;
SET @@global.max_allowed_packet=4096;
SET @@global.net_buffer_length=4096;
--- 1.4/mysql-test/t/rpl_packet.test 2007-03-16 18:25:15 +04:00
+++ 1.5/mysql-test/t/rpl_packet.test 2007-03-27 19:07:53 +05:00
@@ -29,6 +29,8 @@ connection slave;
sync_with_master;
eval select count(*) from `$db`.`t1` /* must be 1 */;
+SHOW STATUS LIKE 'Slave_running';
+select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
connection master;
eval drop database $db;
save_master_pos;
--- 1.13/sql/sql_plugin.h 2006-12-23 23:33:29 +04:00
+++ 1.14/sql/sql_plugin.h 2007-03-27 19:07:53 +05:00
@@ -22,7 +22,8 @@
*/
#define SHOW_FUNC SHOW_FUNC, SHOW_KEY_CACHE_LONG, SHOW_KEY_CACHE_LONGLONG, \
SHOW_LONG_STATUS, SHOW_DOUBLE_STATUS, SHOW_HAVE, \
- SHOW_MY_BOOL, SHOW_HA_ROWS, SHOW_SYS, SHOW_LONG_NOFLUSH
+ SHOW_MY_BOOL, SHOW_HA_ROWS, SHOW_SYS, SHOW_LONG_NOFLUSH, \
+ SHOW_SSL_SESSION_CACHE_MODE
#include <mysql/plugin.h>
#undef SHOW_FUNC
typedef enum enum_mysql_show_type SHOW_TYPE;
--- 1.7/mysql-test/r/compress.result 2006-07-28 22:26:55 +05:00
+++ 1.8/mysql-test/r/compress.result 2007-03-27 19:07:52 +05:00
@@ -1,6 +1,9 @@
SHOW STATUS LIKE 'Compression';
Variable_name Value
Compression ON
+select * from information_schema.session_status where variable_name= 'COMPRESSION';
+VARIABLE_NAME VARIABLE_VALUE
+COMPRESSION 1.0000000
drop table if exists t1,t2,t3,t4;
CREATE TABLE t1 (
Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL,
--- 1.7/mysql-test/r/ssl.result 2006-07-30 19:25:48 +05:00
+++ 1.8/mysql-test/r/ssl.result 2007-03-27 19:07:52 +05:00
@@ -2157,3 +2157,10 @@ drop table t1;
SHOW STATUS LIKE 'Ssl_cipher';
Variable_name Value
Ssl_cipher DHE-RSA-AES256-SHA
+show status like 'Ssl_session_cache_mode';
+Variable_name Value
+Ssl_session_cache_mode #
+select * from information_schema.session_status
+where variable_name = 'SSL_SESSION_CACHE_MODE';
+VARIABLE_NAME VARIABLE_VALUE
+SSL_SESSION_CACHE_MODE #
--- 1.5/mysql-test/t/compress.test 2006-02-25 22:35:06 +04:00
+++ 1.6/mysql-test/t/compress.test 2007-03-27 19:07:52 +05:00
@@ -10,6 +10,7 @@ connect (comp_con,localhost,root,,,,,COM
# Check compression turned on
SHOW STATUS LIKE 'Compression';
+select * from information_schema.session_status where variable_name= 'COMPRESSION';
# Source select test case
-- source include/common-tests.inc
--- 1.4/mysql-test/t/ssl.test 2007-03-05 13:03:40 +04:00
+++ 1.5/mysql-test/t/ssl.test 2007-03-27 19:07:53 +05:00
@@ -14,4 +14,12 @@ SHOW STATUS LIKE 'Ssl_cipher';
# Check ssl turned on
SHOW STATUS LIKE 'Ssl_cipher';
+#
+#Bug#27327 information_schema status views, variable_value conversion
+#
+--replace_column 2 #
+show status like 'Ssl_session_cache_mode';
+--replace_column 2 #
+select * from information_schema.session_status
+where variable_name = 'SSL_SESSION_CACHE_MODE';
| Thread |
|---|
| • bk commit into 5.1 tree (gluh:1.2504) BUG#27327 | gluh | 27 Mar |