summaryrefslogtreecommitdiff
path: root/sql/sql_show.cc
diff options
context:
space:
mode:
authorunknown <jani@rhols221.adsl.netsonic.fi>2002-06-28 19:30:09 +0300
committerunknown <jani@rhols221.adsl.netsonic.fi>2002-06-28 19:30:09 +0300
commite0d8d62e3934e85f2fc55e707a4c7eb546104991 (patch)
tree238d79549e511ff13dfddc389128a4e11c3c7d1d /sql/sql_show.cc
parenta6ca5cbb9172ba7fb56834d78d6527525a59d1c3 (diff)
downloadmariadb-git-e0d8d62e3934e85f2fc55e707a4c7eb546104991.tar.gz
Added interface for first set of dynamic variables.
Diffstat (limited to 'sql/sql_show.cc')
-rw-r--r--sql/sql_show.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index 1d117809f44..ec0f7e09469 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1142,13 +1142,16 @@ void mysqld_list_processes(THD *thd,const char *user, bool verbose)
*****************************************************************************/
-int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
+int mysqld_show(THD *thd, const char *wild, show_var_st *variables,
+ struct system_variables *values)
{
uint i;
char buff[8192];
String packet2(buff,sizeof(buff));
List<Item> field_list;
CONVERT *convert=thd->convert_set;
+ ulong offset;
+
DBUG_ENTER("mysqld_show");
field_list.push_back(new Item_empty_string("Variable_name",30));
field_list.push_back(new Item_empty_string("Value",256));
@@ -1168,6 +1171,11 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
case SHOW_LONG_CONST:
net_store_data(&packet2,(uint32) *(ulong*) variables[i].value);
break;
+ case SHOW_LONG_OFFSET:
+ offset= (ulong) variables[i].value;
+ net_store_data(&packet2,
+ (uint32) *(ulong*) (((char*) values) + offset));
+ break;
case SHOW_BOOL:
net_store_data(&packet2,(ulong) *(bool*) variables[i].value ?
"ON" : "OFF");
@@ -1176,10 +1184,21 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables)
net_store_data(&packet2,(ulong) *(my_bool*) variables[i].value ?
"ON" : "OFF");
break;
+ case SHOW_MY_BOOL_OFFSET:
+ offset= (ulong) variables[i].value;
+ net_store_data(&packet2,
+ ((ulong) *(my_bool*) (((char*) values) + offset)) ?
+ "ON" : "OFF");
+ break;
case SHOW_INT_CONST:
case SHOW_INT:
net_store_data(&packet2,(uint32) *(int*) variables[i].value);
break;
+ case SHOW_INT_OFFSET:
+ offset= (ulong) variables[i].value;
+ net_store_data(&packet2,
+ (uint32) *(int*) (((char*) values) + offset));
+ break;
case SHOW_HAVE:
{
SHOW_COMP_OPTION tmp= *(SHOW_COMP_OPTION*) variables[i].value;