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:
@@ -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 ' ;
|
||||||
|
@@ -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
|
||||||
{
|
{
|
||||||
|
@@ -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
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user