List:Commits« Previous MessageNext Message »
From:gluh Date:March 27 2007 4:07pm
Subject:bk commit into 5.1 tree (gluh:1.2504) BUG#27327
View as plain text  
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#27327gluh27 Mar