242
238
static void add_int_to_prompt(int toadd);
243
239
static int get_result_width(DRIZZLE_RES *res);
244
240
static int get_field_disp_length(DRIZZLE_FIELD * field);
245
static const char * strcont(register const char *str, register const char *set);
247
242
/* A structure which contains information on the commands this program
248
243
can understand. */
250
245
const char *name; /* User printable name of the function. */
251
246
char cmd_char; /* msql command character */
252
int (*func)(string *str,const char *); /* Function to call to do the job. */
247
int (*func)(DYNAMIC_STRING *str,char *); /* Function to call to do the job. */
253
248
bool takes_params; /* Max parameters for command */
254
249
const char *doc; /* Documentation for this function. */
258
253
static COMMANDS commands[] = {
259
{ "?", '?', com_help, 1, N_("Synonym for `help'.") },
260
{ "clear", 'c', com_clear, 0, N_("Clear command.")},
254
{ "?", '?', com_help, 1, "Synonym for `help'." },
255
{ "clear", 'c', com_clear, 0, "Clear command."},
261
256
{ "connect",'r', com_connect,1,
262
N_("Reconnect to the server. Optional arguments are db and host." }),
257
"Reconnect to the server. Optional arguments are db and host." },
263
258
{ "delimiter", 'd', com_delimiter, 1,
264
N_("Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.") },
259
"Set statement delimiter. NOTE: Takes the rest of the line as new delimiter." },
265
260
{ "ego", 'G', com_ego, 0,
266
N_("Send command to drizzle server, display result vertically.")},
267
{ "exit", 'q', com_quit, 0, N_("Exit drizzle. Same as quit.")},
268
{ "go", 'g', com_go, 0, N_("Send command to drizzle server.") },
269
{ "help", 'h', com_help, 1, N_("Display this help.") },
270
{ "nopager",'n', com_nopager,0, N_("Disable pager, print to stdout.") },
271
{ "notee", 't', com_notee, 0, N_("Don't write into outfile.") },
261
"Send command to drizzle server, display result vertically."},
262
{ "exit", 'q', com_quit, 0, "Exit drizzle. Same as quit."},
263
{ "go", 'g', com_go, 0, "Send command to drizzle server." },
264
{ "help", 'h', com_help, 1, "Display this help." },
265
{ "nopager",'n', com_nopager,0, "Disable pager, print to stdout." },
266
{ "notee", 't', com_notee, 0, "Don't write into outfile." },
272
267
{ "pager", 'P', com_pager, 1,
273
N_("Set PAGER [to_pager]. Print the query results via PAGER.") },
274
{ "print", 'p', com_print, 0, N_("Print current command.") },
275
{ "prompt", 'R', com_prompt, 1, N_("Change your drizzle prompt.")},
276
{ "quit", 'q', com_quit, 0, N_("Quit drizzle.") },
277
{ "rehash", '#', com_rehash, 0, N_("Rebuild completion hash.") },
268
"Set PAGER [to_pager]. Print the query results via PAGER." },
269
{ "print", 'p', com_print, 0, "Print current command." },
270
{ "prompt", 'R', com_prompt, 1, "Change your drizzle prompt."},
271
{ "quit", 'q', com_quit, 0, "Quit drizzle." },
272
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash." },
278
273
{ "source", '.', com_source, 1,
279
N_("Execute an SQL script file. Takes a file name as an argument.")},
280
{ "status", 's', com_status, 0, N_("Get status information from the server.")},
274
"Execute an SQL script file. Takes a file name as an argument."},
275
{ "status", 's', com_status, 0, "Get status information from the server."},
281
276
{ "tee", 'T', com_tee, 1,
282
N_("Set outfile [to_outfile]. Append everything into given outfile.") },
277
"Set outfile [to_outfile]. Append everything into given outfile." },
283
278
{ "use", 'u', com_use, 1,
284
N_("Use another database. Takes database name as argument.") },
279
"Use another database. Takes database name as argument." },
280
{ "charset", 'C', com_charset, 1,
281
"Switch to another charset. Might be needed for processing binlog with multi-byte charsets." },
285
282
{ "warnings", 'W', com_warnings, 0,
286
N_("Show warnings after every statement.") },
283
"Show warnings after every statement." },
287
284
{ "nowarning", 'w', com_nowarnings, 0,
288
N_("Don't show warnings after every statement.") },
285
"Don't show warnings after every statement." },
289
286
/* Get bash-like expansion for some commands */
290
287
{ "create table", 0, 0, 0, ""},
291
288
{ "create database", 0, 0, 0, ""},
1269
1268
static struct my_option my_long_options[] =
1271
{"help", '?', N_("Display this help and exit."), 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
1270
{"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
1272
1271
0, 0, 0, 0, 0},
1273
{"help", 'I', N_("Synonym for -?"), 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
1272
{"help", 'I', "Synonym for -?", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
1274
1273
0, 0, 0, 0, 0},
1275
1274
{"auto-rehash", OPT_AUTO_REHASH,
1276
N_("Enable automatic rehashing. One doesn't need to use 'rehash' to get table and field completion, but startup and reconnecting may take a longer time. Disable with --disable-auto-rehash."),
1275
"Enable automatic rehashing. One doesn't need to use 'rehash' to get table and field completion, but startup and reconnecting may take a longer time. Disable with --disable-auto-rehash.",
1277
1276
(char**) &opt_rehash, (char**) &opt_rehash, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
1279
1278
{"no-auto-rehash", 'A',
1280
N_("No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of DRIZZLE and disables rehashing on reconnect. WARNING: options deprecated; use --disable-auto-rehash instead."),
1279
"No automatic rehashing. One has to use 'rehash' to get table and field completion. This gives a quicker start of DRIZZLE and disables rehashing on reconnect. WARNING: options deprecated; use --disable-auto-rehash instead.",
1281
1280
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1282
1281
{"auto-vertical-output", OPT_AUTO_VERTICAL_OUTPUT,
1283
N_("Automatically switch to vertical output mode if the result is wider than the terminal width."),
1282
"Automatically switch to vertical output mode if the result is wider than the terminal width.",
1284
1283
(char**) &auto_vertical_output, (char**) &auto_vertical_output, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1286
N_("Don't use history file. Disable interactive behavior. (Enables --silent)"), 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1285
"Don't use history file. Disable interactive behavior. (Enables --silent)", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1287
1286
{"character-sets-dir", OPT_CHARSETS_DIR,
1288
N_("Directory where character sets are."), (char**) &charsets_dir,
1287
"Directory where character sets are.", (char**) &charsets_dir,
1289
1288
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1290
{"column-type-info", OPT_COLUMN_TYPES, N_("Display column type information."),
1289
{"column-type-info", OPT_COLUMN_TYPES, "Display column type information.",
1291
1290
(char**) &column_types_flag, (char**) &column_types_flag,
1292
1291
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1293
{"comments", 'c', N_("Preserve comments. Send comments to the server. The default is --skip-comments (discard comments), enable with --comments"),
1292
{"comments", 'c', "Preserve comments. Send comments to the server."
1293
" The default is --skip-comments (discard comments), enable with --comments",
1294
1294
(char**) &preserve_comments, (char**) &preserve_comments,
1295
1295
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1296
{"compress", 'C', N_("Use compression in server/client protocol."),
1296
{"compress", 'C', "Use compression in server/client protocol.",
1297
1297
(char**) &opt_compress, (char**) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
1299
{"debug-check", OPT_DEBUG_CHECK, N_("Check memory and open file usage at exit ."),
1299
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit .",
1300
1300
(char**) &debug_check_flag, (char**) &debug_check_flag, 0,
1301
1301
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1302
{"debug-info", 'T', N_("Print some debug info at exit."), (char**) &debug_info_flag,
1302
{"debug-info", 'T', "Print some debug info at exit.", (char**) &debug_info_flag,
1303
1303
(char**) &debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1304
{"database", 'D', N_("Database to use."), (char**) ¤t_db,
1304
{"database", 'D', "Database to use.", (char**) ¤t_db,
1305
1305
(char**) ¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1306
1306
{"default-character-set", OPT_DEFAULT_CHARSET,
1307
N_("(not used)"), 0,
1308
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1309
{"delimiter", OPT_DELIMITER, N_("Delimiter to be used."), (char**) &delimiter_str,
1307
"Set the default character set.", (char**) &default_charset,
1308
(char**) &default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1309
{"delimiter", OPT_DELIMITER, "Delimiter to be used.", (char**) &delimiter_str,
1310
1310
(char**) &delimiter_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1311
{"execute", 'e', N_("Execute command and quit. (Disables --force and history file)"), 0,
1311
{"execute", 'e', "Execute command and quit. (Disables --force and history file)", 0,
1312
1312
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1313
{"vertical", 'E', N_("Print the output of a query (rows) vertically."),
1313
{"vertical", 'E', "Print the output of a query (rows) vertically.",
1314
1314
(char**) &vertical, (char**) &vertical, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
1316
{"force", 'f', N_("Continue even if we get an sql error."),
1316
{"force", 'f', "Continue even if we get an sql error.",
1317
1317
(char**) &ignore_errors, (char**) &ignore_errors, 0, GET_BOOL, NO_ARG, 0, 0,
1319
1319
{"named-commands", 'G',
1320
N_("Enable named commands. Named commands mean this program's internal commands; see drizzle> help . When enabled, the named commands can be used from any line of the query, otherwise only from the first line, before an enter. Disable with --disable-named-commands. This option is disabled by default."),
1320
"Enable named commands. Named commands mean this program's internal commands; see drizzle> help . When enabled, the named commands can be used from any line of the query, otherwise only from the first line, before an enter. Disable with --disable-named-commands. This option is disabled by default.",
1321
1321
(char**) &named_cmds, (char**) &named_cmds, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
1323
1323
{"no-named-commands", 'g',
1324
N_("Named commands are disabled. Use \\* form only, or use named commands only in the beginning of a line ending with a semicolon (;) Since version 10.9 the client now starts with this option ENABLED by default! Disable with '-G'. Long format commands still work from the first line. WARNING: option deprecated; use --disable-named-commands instead."),
1324
"Named commands are disabled. Use \\* form only, or use named commands only in the beginning of a line ending with a semicolon (;) Since version 10.9 the client now starts with this option ENABLED by default! Disable with '-G'. Long format commands still work from the first line. WARNING: option deprecated; use --disable-named-commands instead.",
1325
1325
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1326
{"ignore-spaces", 'i', N_("Ignore space after function names."), 0, 0, 0,
1326
{"ignore-spaces", 'i', "Ignore space after function names.", 0, 0, 0,
1327
1327
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1328
{"local-infile", OPT_LOCAL_INFILE, N_("Enable/disable LOAD DATA LOCAL INFILE."),
1328
{"local-infile", OPT_LOCAL_INFILE, "Enable/disable LOAD DATA LOCAL INFILE.",
1329
1329
(char**) &opt_local_infile,
1330
1330
(char**) &opt_local_infile, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
1331
{"no-beep", 'b', N_("Turn off beep on error."), (char**) &opt_nobeep,
1331
{"no-beep", 'b', "Turn off beep on error.", (char**) &opt_nobeep,
1332
1332
(char**) &opt_nobeep, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1333
{"host", 'h', N_("Connect to host."), (char**) ¤t_host,
1333
{"host", 'h', "Connect to host.", (char**) ¤t_host,
1334
1334
(char**) ¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1335
{"line-numbers", OPT_LINE_NUMBERS, N_("Write line numbers for errors."),
1335
{"html", 'H', "Produce HTML output.", (char**) &opt_html, (char**) &opt_html,
1336
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1337
{"xml", 'X', "Produce XML output", (char**) &opt_xml, (char**) &opt_xml, 0,
1338
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1339
{"line-numbers", OPT_LINE_NUMBERS, "Write line numbers for errors.",
1336
1340
(char**) &line_numbers, (char**) &line_numbers, 0, GET_BOOL,
1337
1341
NO_ARG, 1, 0, 0, 0, 0, 0},
1338
{"skip-line-numbers", 'L', N_("Don't write line number for errors. WARNING: -L is deprecated, use long version of this option instead."), 0, 0, 0, GET_NO_ARG,
1342
{"skip-line-numbers", 'L', "Don't write line number for errors. WARNING: -L is deprecated, use long version of this option instead.", 0, 0, 0, GET_NO_ARG,
1339
1343
NO_ARG, 0, 0, 0, 0, 0, 0},
1340
{"unbuffered", 'n', N_("Flush buffer after each query."), (char**) &unbuffered,
1344
{"unbuffered", 'n', "Flush buffer after each query.", (char**) &unbuffered,
1341
1345
(char**) &unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1342
{"column-names", OPT_COLUMN_NAMES, N_("Write column names in results."),
1346
{"column-names", OPT_COLUMN_NAMES, "Write column names in results.",
1343
1347
(char**) &column_names, (char**) &column_names, 0, GET_BOOL,
1344
1348
NO_ARG, 1, 0, 0, 0, 0, 0},
1345
1349
{"skip-column-names", 'N',
1346
N_("Don't write column names in results. WARNING: -N is deprecated, use long version of this options instead."),
1350
"Don't write column names in results. WARNING: -N is deprecated, use long version of this options instead.",
1347
1351
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1348
1352
{"set-variable", 'O',
1349
N_("Change the value of a variable. Please note that this option is deprecated; you can set variables directly with --variable-name=value."),
1353
"Change the value of a variable. Please note that this option is deprecated; you can set variables directly with --variable-name=value.",
1350
1354
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1351
{"sigint-ignore", OPT_SIGINT_IGNORE, N_("Ignore SIGINT (CTRL-C)"),
1355
{"sigint-ignore", OPT_SIGINT_IGNORE, "Ignore SIGINT (CTRL-C)",
1352
1356
(char**) &opt_sigint_ignore, (char**) &opt_sigint_ignore, 0, GET_BOOL,
1353
1357
NO_ARG, 0, 0, 0, 0, 0, 0},
1354
1358
{"one-database", 'o',
1355
N_("Only update the default database. This is useful for skipping updates to other database in the update log."),
1359
"Only update the default database. This is useful for skipping updates to other database in the update log.",
1356
1360
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1357
1361
{"pager", OPT_PAGER,
1358
N_("Pager to use to display results. If you don't supply an option the default pager is taken from your ENV variable PAGER. Valid pagers are less, more, cat [> filename], etc. See interactive help (\\h) also. This option does not work in batch mode. Disable with --disable-pager. This option is disabled by default."),
1362
"Pager to use to display results. If you don't supply an option the default pager is taken from your ENV variable PAGER. Valid pagers are less, more, cat [> filename], etc. See interactive help (\\h) also. This option does not work in batch mode. Disable with --disable-pager. This option is disabled by default.",
1359
1363
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
1360
1364
{"no-pager", OPT_NOPAGER,
1361
N_("Disable pager and print to stdout. See interactive help (\\h) also. WARNING: option deprecated; use --disable-pager instead."),
1365
"Disable pager and print to stdout. See interactive help (\\h) also. WARNING: option deprecated; use --disable-pager instead.",
1362
1366
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1363
1367
{"password", 'p',
1364
N_("Password to use when connecting to server. If password is not given it's asked from the tty."),
1368
"Password to use when connecting to server. If password is not given it's asked from the tty.",
1365
1369
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
1366
{"port", 'P', N_("Port number to use for connection or 0 for default to, in order of preference, my.cnf, $DRIZZLE_TCP_PORT, ")
1367
N_("built-in default") " (" STRINGIFY_ARG(DRIZZLE_PORT) ").",
1370
{"port", 'P', "Port number to use for connection or 0 for default to, in "
1371
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
1372
#if MYSQL_PORT_DEFAULT == 0
1375
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
1368
1376
(char**) &opt_drizzle_port,
1369
1377
(char**) &opt_drizzle_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1370
{"prompt", OPT_PROMPT, N_("Set the drizzle prompt to this value."),
1378
{"prompt", OPT_PROMPT, "Set the drizzle prompt to this value.",
1371
1379
(char**) ¤t_prompt, (char**) ¤t_prompt, 0, GET_STR_ALLOC,
1372
1380
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1373
{"protocol", OPT_DRIZZLE_PROTOCOL, N_("The protocol of connection (tcp,socket,pipe,memory)."),
1381
{"protocol", OPT_DRIZZLE_PROTOCOL, "The protocol of connection (tcp,socket,pipe,memory).",
1374
1382
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1376
N_("Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file."),
1384
"Don't cache result, print it row by row. This may slow down the server if the output is suspended. Doesn't use history file.",
1377
1385
(char**) &quick, (char**) &quick, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1378
{"raw", 'r', N_("Write fields without conversion. Used with --batch."),
1386
{"raw", 'r', "Write fields without conversion. Used with --batch.",
1379
1387
(char**) &opt_raw_data, (char**) &opt_raw_data, 0, GET_BOOL, NO_ARG, 0, 0, 0,
1381
{"reconnect", OPT_RECONNECT, N_("Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default."),
1389
{"reconnect", OPT_RECONNECT, "Reconnect if the connection is lost. Disable with --disable-reconnect. This option is enabled by default.",
1382
1390
(char**) &opt_reconnect, (char**) &opt_reconnect, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
1383
{"silent", 's', N_("Be more silent. Print results with a tab as separator, each row on new line."), 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0,
1391
{"silent", 's', "Be more silent. Print results with a tab as separator, each row on new line.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0,
1385
{"socket", 'S', N_("Socket file to use for connection."),
1393
{"socket", 'S', "Socket file to use for connection.",
1386
1394
(char**) &opt_drizzle_unix_port, (char**) &opt_drizzle_unix_port, 0, GET_STR_ALLOC,
1387
1395
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1388
{"table", 't', N_("Output in table format."), (char**) &output_tables,
1396
{"table", 't', "Output in table format.", (char**) &output_tables,
1389
1397
(char**) &output_tables, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1390
1398
{"tee", OPT_TEE,
1391
N_("Append everything into outfile. See interactive help (\\h) also. Does not work in batch mode. Disable with --disable-tee. This option is disabled by default."),
1399
"Append everything into outfile. See interactive help (\\h) also. Does not work in batch mode. Disable with --disable-tee. This option is disabled by default.",
1392
1400
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1393
{"no-tee", OPT_NOTEE, N_("Disable outfile. See interactive help (\\h) also. WARNING: option deprecated; use --disable-tee instead"), 0, 0, 0, GET_NO_ARG,
1401
{"no-tee", OPT_NOTEE, "Disable outfile. See interactive help (\\h) also. WARNING: option deprecated; use --disable-tee instead", 0, 0, 0, GET_NO_ARG,
1394
1402
NO_ARG, 0, 0, 0, 0, 0, 0},
1395
1403
#ifndef DONT_ALLOW_USER_CHANGE
1396
{"user", 'u', N_("User for login if not current user."), (char**) ¤t_user,
1404
{"user", 'u', "User for login if not current user.", (char**) ¤t_user,
1397
1405
(char**) ¤t_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1399
{"safe-updates", 'U', N_("Only allow UPDATE and DELETE that uses keys."),
1400
(char**) &safe_updates, (char**) &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
1402
{"i-am-a-dummy", 'U', N_("Synonym for option --safe-updates, -U."),
1403
(char**) &safe_updates, (char**) &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
1405
{"verbose", 'v', N_("Write more. (-v -v -v gives the table output format)."), 0,
1407
{"safe-updates", 'U', "Only allow UPDATE and DELETE that uses keys.",
1408
(char**) &safe_updates, (char**) &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
1410
{"i-am-a-dummy", 'U', "Synonym for option --safe-updates, -U.",
1411
(char**) &safe_updates, (char**) &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
1413
{"verbose", 'v', "Write more. (-v -v -v gives the table output format).", 0,
1406
1414
0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1407
{"version", 'V', N_("Output version information and exit."), 0, 0, 0,
1415
{"version", 'V', "Output version information and exit.", 0, 0, 0,
1408
1416
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
1409
{"wait", 'w', N_("Wait and retry if connection is down."), 0, 0, 0, GET_NO_ARG,
1417
{"wait", 'w', "Wait and retry if connection is down.", 0, 0, 0, GET_NO_ARG,
1410
1418
NO_ARG, 0, 0, 0, 0, 0, 0},
1411
1419
{"connect_timeout", OPT_CONNECT_TIMEOUT,
1412
N_("Number of seconds before connection timeout."),
1420
"Number of seconds before connection timeout.",
1413
1421
(char**) &opt_connect_timeout,
1414
1422
(char**) &opt_connect_timeout, 0, GET_ULONG, REQUIRED_ARG, 0, 0, 3600*12, 0,
1416
1424
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
1417
N_("Max packet length to send to, or receive from server"),
1425
"Max packet length to send to, or receive from server",
1418
1426
(char**) &opt_max_allowed_packet, (char**) &opt_max_allowed_packet, 0,
1419
1427
GET_ULONG, REQUIRED_ARG, 16 *1024L*1024L, 4096,
1420
1428
(int64_t) 2*1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
1421
1429
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
1422
N_("Buffer for TCP/IP and socket communication"),
1430
"Buffer for TCP/IP and socket communication",
1423
1431
(char**) &opt_net_buffer_length, (char**) &opt_net_buffer_length, 0, GET_ULONG,
1424
1432
REQUIRED_ARG, 16384, 1024, 512*1024*1024L, MALLOC_OVERHEAD, 1024, 0},
1425
1433
{"select_limit", OPT_SELECT_LIMIT,
1426
N_("Automatic limit for SELECT when using --safe-updates"),
1434
"Automatic limit for SELECT when using --safe-updates",
1427
1435
(char**) &select_limit,
1428
1436
(char**) &select_limit, 0, GET_ULONG, REQUIRED_ARG, 1000L, 1, ULONG_MAX,
1430
1438
{"max_join_size", OPT_MAX_JOIN_SIZE,
1431
N_("Automatic limit for rows in a join when using --safe-updates"),
1439
"Automatic limit for rows in a join when using --safe-updates",
1432
1440
(char**) &max_join_size,
1433
1441
(char**) &max_join_size, 0, GET_ULONG, REQUIRED_ARG, 1000000L, 1, ULONG_MAX,
1435
{"secure-auth", OPT_SECURE_AUTH, N_("Refuse client connecting to server if it uses old (pre-4.1.1) protocol"), (char**) &opt_secure_auth,
1443
{"secure-auth", OPT_SECURE_AUTH, "Refuse client connecting to server if it"
1444
" uses old (pre-4.1.1) protocol", (char**) &opt_secure_auth,
1436
1445
(char**) &opt_secure_auth, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
1437
{"show-warnings", OPT_SHOW_WARNINGS, N_("Show warnings after every statement."),
1446
{"server-arg", OPT_SERVER_ARG, "Send embedded server this as a parameter.",
1447
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
1448
{"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",
1438
1449
(char**) &show_warnings, (char**) &show_warnings, 0, GET_BOOL, NO_ARG,
1439
1450
0, 0, 0, 0, 0, 0},
1440
1451
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}