1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

Added handlerton flag to make storage engines invisable via flag.

mysql-test/r/ps_1general.result:
  Remove binlog from visable engine list.
sql/handler.h:
  Added documentation to HTON's
sql/log.cc:
  binlog now has hidden flag show that it does now show up in show storage engine list.
sql/sql_show.cc:
  Flag removes engines from view in show storage engines
This commit is contained in:
unknown
2005-11-10 08:24:21 -08:00
parent 75fab5146f
commit fca8f01abc
4 changed files with 17 additions and 14 deletions

View File

@@ -332,7 +332,6 @@ CSV YES/NO CSV storage engine
ndbcluster YES/NO Clustered, fault-tolerant, memory-based tables ndbcluster YES/NO Clustered, fault-tolerant, memory-based tables
FEDERATED YES/NO Federated MySQL storage engine FEDERATED YES/NO Federated MySQL storage engine
MRG_MYISAM YES/NO Collection of identical MyISAM tables MRG_MYISAM YES/NO Collection of identical MyISAM tables
binlog YES/NO This is a meta storage engine to represent the binlog in a transaction
ISAM YES/NO Obsolete storage engine ISAM YES/NO Obsolete storage engine
drop table if exists t5; drop table if exists t5;
prepare stmt1 from ' drop table if exists t5 ' ; prepare stmt1 from ' drop table if exists t5 ' ;

View File

@@ -401,8 +401,9 @@ struct show_table_alias_st {
/* Possible flags of a handlerton */ /* Possible flags of a handlerton */
#define HTON_NO_FLAGS 0 #define HTON_NO_FLAGS 0
#define HTON_CLOSE_CURSORS_AT_COMMIT (1 << 0) #define HTON_CLOSE_CURSORS_AT_COMMIT (1 << 0)
#define HTON_ALTER_NOT_SUPPORTED (1 << 1) #define HTON_ALTER_NOT_SUPPORTED (1 << 1) //Engine does not support alter
#define HTON_CAN_RECREATE (1 << 2) #define HTON_CAN_RECREATE (1 << 2) //Delete all is used fro truncate
#define HTON_HIDDEN (1 << 3) //Engine does not appear in lists
typedef struct st_thd_trans typedef struct st_thd_trans
{ {

View File

@@ -67,7 +67,7 @@ handlerton binlog_hton = {
NULL, /* create_cursor_read_view */ NULL, /* create_cursor_read_view */
NULL, /* set_cursor_read_view */ NULL, /* set_cursor_read_view */
NULL, /* close_cursor_read_view */ NULL, /* close_cursor_read_view */
HTON_NO_FLAGS HTON_HIDDEN
}; };
/* /*

View File

@@ -70,17 +70,20 @@ bool mysqld_show_storage_engines(THD *thd)
handlerton **types; handlerton **types;
for (types= sys_table_types; *types; types++) for (types= sys_table_types; *types; types++)
{ {
protocol->prepare_for_resend(); if (!((*types)->flags & HTON_HIDDEN))
protocol->store((*types)->name, system_charset_info); {
const char *option_name= show_comp_option_name[(int) (*types)->state]; protocol->prepare_for_resend();
protocol->store((*types)->name, system_charset_info);
const char *option_name= show_comp_option_name[(int) (*types)->state];
if ((*types)->state == SHOW_OPTION_YES && if ((*types)->state == SHOW_OPTION_YES &&
!my_strcasecmp(system_charset_info, default_type_name, (*types)->name)) !my_strcasecmp(system_charset_info, default_type_name, (*types)->name))
option_name= "DEFAULT"; option_name= "DEFAULT";
protocol->store(option_name, system_charset_info); protocol->store(option_name, system_charset_info);
protocol->store((*types)->comment, system_charset_info); protocol->store((*types)->comment, system_charset_info);
if (protocol->write()) if (protocol->write())
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
}
} }
send_eof(thd); send_eof(thd);
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);