您的位置:首页 > 数据库 > MySQL

客户端mysql 添加新的启动选项

2015-01-18 20:13 393 查看
本文介绍如何在 mysql 的客户端启动程序 “mysql” 中添加新的启动选项:

修改文件:

client/mysql.cc

client/client_priv.h

client/mysql.cc 的全局变量声明处添加:

static my_bool
using_exec_plan=
0;
//标识启用这个新选项
(以上不需要)

static my_bool opt_exec_plan=
0;
//标识启动这个新选项

在大约1618行的结构体 my_long_options 的最后一项前中添加:

@@ -1616,6 +1618,8 @@ static struct my_option
my_long_options[

"Default authentication client-side plugin to use.",

(uchar**)
&opt_default_auth, (uchar**)
&opt_default_auth, 0,

GET_STR,
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},

+ {"exec-plan",
OPT_EXEC_PLAN, "Enable/disable EXEC PLAN function.",

+
&opt_exec_plan, &opt_exec_plan, 0,
GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},

{ 0, 0, 0, 0, 0, 0,
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0,
0}
//这个必须是最后一项。

};

注: 其实只需要在这里添加,exec-plan就可以让变量opt_exec_plan被赋值使用了,无需在get_one_option中专门复制了。
get_one_option中可以定制些其他的处理操作。所以在我们目前这个简单赋值的例子中,以下关于get_one_option的就可以忽略了。

在函数get_one_option中添加新选项的处理:

@@ -1680,6 +1684,9 @@
get_one_option(int optid, const struct m

case OPT_LOCAL_INFILE:

using_opt_local_infile=1;

break;

+ case OPT_EXEC_PLAN:

+
using_exec_plan=
1;
//而后在程序中就可以通过判断using_exec_plan这个变量来使用对应新功能了。

+
break;

case OPT_TEE:

if (argument == disabled_my_option)

{

client/client_priv.h中 声明你所使用的新选项:

@@ -86,7 +86,8 @@ enum options_client

OPT_DEFAULT_PLUGIN,

OPT_RAW_OUTPUT,
OPT_WAIT_SERVER_ID, OPT_STOP_NEVER,

OPT_BINLOG_ROWS_EVENT_MAX_SIZE,

- OPT_MAX_CLIENT_OPTION

+ OPT_MAX_CLIENT_OPTION,

+
OPT_EXEC_PLAN
//必须添在最后面

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: