Loading Docs/manual.texi +113 −18 Original line number Diff line number Diff line Loading @@ -27956,8 +27956,8 @@ Debug log. Default is 'd:t:o,/tmp/mysql.trace' @item -D, --database=.. Database to use; This is mainly useful in the @code{my.cnf} file. @cindex default character set option @item --default-character-set=... Set the default character set. @item --default-character-set=... Set the default character set. @cindex execute option @item -e, --execute=... Execute command and quit. (Output like with --batch) Loading Loading @@ -27992,6 +27992,12 @@ Produce HTML output. @item -L, --skip-line-numbers Don't write line number for errors. Useful when one want's to compare result files that includes error messages @cindex no pager option @item --no-pager Disable pager and print to stdout. See interactive help (\h) also. @cindex no tee option @item --no-tee Disable outfile. See interactive help (\h) also. @cindex unbuffered option. @item -n, --unbuffered Flush buffer after each query. Loading @@ -28005,7 +28011,11 @@ Give a variable a value. @code{--help} lists variables. @item -o, --one-database Only update the default database. This is useful for skipping updates to other database in the update log. @item @cindex pager option @item @code{--pager[=...]} Output type. Default is your @code{ENV} variable @code{PAGER}. Valid pagers are less, more, cat [> filename], etc. See interactive help (\h) also. This option does not work in batch mode. Pager works only in UNIX. @cindex password option @item -p[password], --password[=...] Password to use when connecting to server. If password is not given on Loading @@ -28031,6 +28041,10 @@ Socket file to use for connection. Output in table format. This is default in non-batch mode. @item -T, --debug-info Print some debug info at exit. @cindex tee option @item --tee=... Append everything into outfile. See interactive help (\h) also. Does not work in batch mode. @cindex user option @item -u, --user=# User for login if not current user. Loading Loading @@ -28058,21 +28072,27 @@ commands that it supports: mysql> help MySQL commands: help (\h) Display this text ? (\h) Synonym for `help' clear (\c) Clear command connect (\r) Reconnect to the server. Optional arguments are db and host edit (\e) Edit command with $EDITOR exit (\q) Exit mysql. Same as quit go (\g) Send command to mysql server ego (\G) Send command to mysql server; Display result vertically print (\p) Print current command quit (\q) Quit mysql rehash (\#) Rebuild completion hash source (\.) Execute a SQL script file. Takes a file name as an argument status (\s) Get status information from the server use (\u) Use another database. Takes database name as argument @end example help (\h) Display this text. ? (\h) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. Optional arguments are db and host. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute a SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. @end example From the above, pager only works in UNIX. @cindex status command The @code{status} command gives you some information about the Loading Loading @@ -28112,6 +28132,68 @@ All big results are automatically limited to @code{#select_limit#} rows. @code{#max_join_size} row combinations will be aborted. @end itemize Some useful hints about the @code{mysql} client: Some data is much more readable when displayed vertically, instead of the usual horizontal box type output. For example longer text, which includes new lines, is often much easier to be read with vertical output. @example mysql> select * from mails where length(txt) < 300 limit 300,1\G *************************** 1. row *************************** msg_nro: 3068 date: 2000-03-01 23:29:50 time_zone: +0200 mail_from: Monty reply: monty@@no.spam.com mail_to: "Thimble Smith" <tim@@no.spam.com> sbj: UTF-8 txt: >>>>> "Thimble" == Thimble Smith writes: Thimble> Hi. I think this is a good idea. Is anyone familiar with UTF-8 Thimble> or Unicode? Otherwise I'll put this on my TODO list and see what Thimble> happens. Yes, please do that. Regards, Monty file: inbox-jani-1 hash: 190402944 1 row in set (0.09 sec) @end example For logging, one can use the @code{tee} option. The @code{tee} can be started with option @code{--tee=...}, or from the command line interactively with command @code{tee}. All the data displayed on the screen will also be appended into a given file. This can be very useful for debugging purposes also. The @code{tee} can be disabled from the command line with command @code{notee}. Executing @code{tee} again starts logging again. Without a parameter the previous file will be used. Note that @code{tee} will flush the results into the file after each command, just before the command line appears again waiting for the next command. Browsing, or searching the results in the interactive mode in UNIX less, more, or any other similar program, is now possible with option @code{--pager[=...]}. Without argument, @code{mysql} client will look for environment variable PAGER and set @code{pager} to that. @code{pager} can be started from the interactive command line with command @code{pager} and disabled with command @code{nopager}. The command takes an argument optionally and the @code{pager} will be set to that. Command @code{pager} can be called without an argument, but this requires that the option @code{--pager} was used, or the @code{pager} will default to stdout. @code{pager} works only in UNIX, since it uses the popen() function, which doesn't exist in Windows. In Windows, the @code{tee} option can be used instead, although it may not be as handy as @code{pager} can be in some situations. You can even combine the two functions above; have the @code{tee} enabled, @code{pager} set to 'less' and you will be able to browse the results in unix 'less' and still have everything appended into a file the same time. @cindex administration, server @cindex server administration @cindex @code{mysladmn} Loading Loading @@ -38720,6 +38802,17 @@ though, so Version 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.28 @itemize @bullet @item Fixed crash when automatic repair of @code{MyISAM} table failed. @item Fixed a major performance bug in the table locking code when one constantly had a LOT of @code{SELECT}, @code{UPDATE} and @code{INSERT} statements running. The symptom was that the @code{UPDATE} and @code{INSERT} queries was locked a long time while new @code{SELECT} statements where executed without locks. @item When reading options_files with @code{mysql_options()} the @code{return-found-rows} option was ignored. @item One can now specify @code{interactive-timeout} in the option file that is read by @code{mysql_options()}. This makes it possible to force programs that runs for a long time (like @code{mysqlhotcopy}) to use Loading Loading @@ -43265,6 +43358,8 @@ Secure connections (with SSL). @item Extend the optimizer to be able to optimize some @code{ORDER BY key_name DESC} queries. @item New key cache @end itemize @node TODO future, TODO sometime, TODO MySQL 4.0, TODO client/mysql.cc +16 −18 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ static HashTable ht; enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT}; typedef enum enum_info_type INFO_TYPE; const char *VER="11.4"; const char *VER="11.6"; static MYSQL mysql; /* The connection */ static bool info_flag=0,ignore_errors=0,wait_flag=0,quick=0, Loading Loading @@ -496,14 +496,12 @@ static void usage(int version) Give a variable an value. --help lists variables.\n\ -o, --one-database Only update the default database. This is useful\n\ for skipping updates to other database in the update\n\ log.\n\ --tee=... Append everything into outfile. See interactive help\n\ (\\h) also. Does not work in batch mode.\n"); log.\n"); #ifndef __WIN__ printf("\ --pager[=...] Output type. Default is your ENV variable PAGER.\n\ Valid pagers are less, more, cat [> filename], etc.\n\ See interactive help (\\h) also. This options does\n\ See interactive help (\\h) also. This option does\n\ not work in batch mode.\n"); #endif printf("\ Loading @@ -524,7 +522,9 @@ static void usage(int version) #include "sslopt-usage.h" printf("\ -t --table Output in table format.\n\ -T, --debug-info Print some debug info at exit.\n"); -T, --debug-info Print some debug info at exit.\n\ --tee=... Append everything into outfile. See interactive help\n\ (\\h) also. Does not work in batch mode.\n"); #ifndef DONT_ALLOW_USER_CHANGE printf("\ -u, --user=# User for login if not current user.\n"); Loading Loading @@ -763,16 +763,6 @@ static int read_lines(bool execute_commands) status.query_start_line=line_number; } else #ifdef __WIN__ { tee_fprintf(stdout, glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> "); linebuffer[0]=(char) sizeof(linebuffer); line=_cgets(linebuffer); } #else { if (opt_outfile) { Loading @@ -783,14 +773,22 @@ static int read_lines(bool execute_commands) in_string == '\'' ? " '> " : " \"> ", OUTFILE); } #ifdef __WIN__ tee_fprintf(stdout, glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> "); linebuffer[0]=(char) sizeof(linebuffer); line=_cgets(linebuffer); #else line=readline((char*) (glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> ")); #endif if (opt_outfile) fprintf(OUTFILE, "%s\n", line); } #endif if (!line) // End of file { status.exit_status=0; Loading Loading @@ -1762,7 +1760,7 @@ com_pager(String *buffer, char *line __attribute__((unused))) { if (!strlen(default_pager)) { tee_fprintf(stdout, "Default pager wasn't available, using stdout.\n"); tee_fprintf(stdout, "Default pager wasn't set, using stdout.\n"); opt_nopager=1; strmov(pager, "stdout"); PAGER= stdout; Loading client/mysqladmin.c +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include <my_pthread.h> /* because of signal() */ #endif #define ADMIN_VERSION "8.11" #define ADMIN_VERSION "8.12" #define MAX_MYSQL_VAR 64 #define MAX_TIME_TO_WAIT 3600 /* Wait for shutdown */ #define MAX_TRUNC_LENGTH 3 Loading extra/perror.c +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ static HA_ERRORS ha_errlist[]= { 142,"Unknown character set used"}, { 143,"Conflicting table definition between MERGE and mapped table"}, { 144,"Table is crashed and last repair failed"}, { 145,"Table was marked as crashed and should be repaired"}, { 0,NullS }, }; Loading include/my_base.h +1 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ enum ha_base_keytype { #define HA_ERR_UNKNOWN_CHARSET 142 /* Can't open charset */ #define HA_ERR_WRONG_TABLE_DEF 143 #define HA_ERR_CRASHED_ON_REPAIR 144 /* Last (automatic?) repair failed */ #define HA_ERR_CRASHED_ON_USAGE 145 /* Table must be repaired */ /* Other constants */ Loading Loading
Docs/manual.texi +113 −18 Original line number Diff line number Diff line Loading @@ -27956,8 +27956,8 @@ Debug log. Default is 'd:t:o,/tmp/mysql.trace' @item -D, --database=.. Database to use; This is mainly useful in the @code{my.cnf} file. @cindex default character set option @item --default-character-set=... Set the default character set. @item --default-character-set=... Set the default character set. @cindex execute option @item -e, --execute=... Execute command and quit. (Output like with --batch) Loading Loading @@ -27992,6 +27992,12 @@ Produce HTML output. @item -L, --skip-line-numbers Don't write line number for errors. Useful when one want's to compare result files that includes error messages @cindex no pager option @item --no-pager Disable pager and print to stdout. See interactive help (\h) also. @cindex no tee option @item --no-tee Disable outfile. See interactive help (\h) also. @cindex unbuffered option. @item -n, --unbuffered Flush buffer after each query. Loading @@ -28005,7 +28011,11 @@ Give a variable a value. @code{--help} lists variables. @item -o, --one-database Only update the default database. This is useful for skipping updates to other database in the update log. @item @cindex pager option @item @code{--pager[=...]} Output type. Default is your @code{ENV} variable @code{PAGER}. Valid pagers are less, more, cat [> filename], etc. See interactive help (\h) also. This option does not work in batch mode. Pager works only in UNIX. @cindex password option @item -p[password], --password[=...] Password to use when connecting to server. If password is not given on Loading @@ -28031,6 +28041,10 @@ Socket file to use for connection. Output in table format. This is default in non-batch mode. @item -T, --debug-info Print some debug info at exit. @cindex tee option @item --tee=... Append everything into outfile. See interactive help (\h) also. Does not work in batch mode. @cindex user option @item -u, --user=# User for login if not current user. Loading Loading @@ -28058,21 +28072,27 @@ commands that it supports: mysql> help MySQL commands: help (\h) Display this text ? (\h) Synonym for `help' clear (\c) Clear command connect (\r) Reconnect to the server. Optional arguments are db and host edit (\e) Edit command with $EDITOR exit (\q) Exit mysql. Same as quit go (\g) Send command to mysql server ego (\G) Send command to mysql server; Display result vertically print (\p) Print current command quit (\q) Quit mysql rehash (\#) Rebuild completion hash source (\.) Execute a SQL script file. Takes a file name as an argument status (\s) Get status information from the server use (\u) Use another database. Takes database name as argument @end example help (\h) Display this text. ? (\h) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. Optional arguments are db and host. edit (\e) Edit command with $EDITOR. ego (\G) Send command to mysql server, display result vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. nopager (\n) Disable pager, print to stdout. notee (\t) Don't write into outfile. pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. print (\p) Print current command. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute a SQL script file. Takes a file name as an argument. status (\s) Get status information from the server. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. @end example From the above, pager only works in UNIX. @cindex status command The @code{status} command gives you some information about the Loading Loading @@ -28112,6 +28132,68 @@ All big results are automatically limited to @code{#select_limit#} rows. @code{#max_join_size} row combinations will be aborted. @end itemize Some useful hints about the @code{mysql} client: Some data is much more readable when displayed vertically, instead of the usual horizontal box type output. For example longer text, which includes new lines, is often much easier to be read with vertical output. @example mysql> select * from mails where length(txt) < 300 limit 300,1\G *************************** 1. row *************************** msg_nro: 3068 date: 2000-03-01 23:29:50 time_zone: +0200 mail_from: Monty reply: monty@@no.spam.com mail_to: "Thimble Smith" <tim@@no.spam.com> sbj: UTF-8 txt: >>>>> "Thimble" == Thimble Smith writes: Thimble> Hi. I think this is a good idea. Is anyone familiar with UTF-8 Thimble> or Unicode? Otherwise I'll put this on my TODO list and see what Thimble> happens. Yes, please do that. Regards, Monty file: inbox-jani-1 hash: 190402944 1 row in set (0.09 sec) @end example For logging, one can use the @code{tee} option. The @code{tee} can be started with option @code{--tee=...}, or from the command line interactively with command @code{tee}. All the data displayed on the screen will also be appended into a given file. This can be very useful for debugging purposes also. The @code{tee} can be disabled from the command line with command @code{notee}. Executing @code{tee} again starts logging again. Without a parameter the previous file will be used. Note that @code{tee} will flush the results into the file after each command, just before the command line appears again waiting for the next command. Browsing, or searching the results in the interactive mode in UNIX less, more, or any other similar program, is now possible with option @code{--pager[=...]}. Without argument, @code{mysql} client will look for environment variable PAGER and set @code{pager} to that. @code{pager} can be started from the interactive command line with command @code{pager} and disabled with command @code{nopager}. The command takes an argument optionally and the @code{pager} will be set to that. Command @code{pager} can be called without an argument, but this requires that the option @code{--pager} was used, or the @code{pager} will default to stdout. @code{pager} works only in UNIX, since it uses the popen() function, which doesn't exist in Windows. In Windows, the @code{tee} option can be used instead, although it may not be as handy as @code{pager} can be in some situations. You can even combine the two functions above; have the @code{tee} enabled, @code{pager} set to 'less' and you will be able to browse the results in unix 'less' and still have everything appended into a file the same time. @cindex administration, server @cindex server administration @cindex @code{mysladmn} Loading Loading @@ -38720,6 +38802,17 @@ though, so Version 3.23 is not released as a stable version yet. @appendixsubsec Changes in release 3.23.28 @itemize @bullet @item Fixed crash when automatic repair of @code{MyISAM} table failed. @item Fixed a major performance bug in the table locking code when one constantly had a LOT of @code{SELECT}, @code{UPDATE} and @code{INSERT} statements running. The symptom was that the @code{UPDATE} and @code{INSERT} queries was locked a long time while new @code{SELECT} statements where executed without locks. @item When reading options_files with @code{mysql_options()} the @code{return-found-rows} option was ignored. @item One can now specify @code{interactive-timeout} in the option file that is read by @code{mysql_options()}. This makes it possible to force programs that runs for a long time (like @code{mysqlhotcopy}) to use Loading Loading @@ -43265,6 +43358,8 @@ Secure connections (with SSL). @item Extend the optimizer to be able to optimize some @code{ORDER BY key_name DESC} queries. @item New key cache @end itemize @node TODO future, TODO sometime, TODO MySQL 4.0, TODO
client/mysql.cc +16 −18 Original line number Diff line number Diff line Loading @@ -109,7 +109,7 @@ static HashTable ht; enum enum_info_type { INFO_INFO,INFO_ERROR,INFO_RESULT}; typedef enum enum_info_type INFO_TYPE; const char *VER="11.4"; const char *VER="11.6"; static MYSQL mysql; /* The connection */ static bool info_flag=0,ignore_errors=0,wait_flag=0,quick=0, Loading Loading @@ -496,14 +496,12 @@ static void usage(int version) Give a variable an value. --help lists variables.\n\ -o, --one-database Only update the default database. This is useful\n\ for skipping updates to other database in the update\n\ log.\n\ --tee=... Append everything into outfile. See interactive help\n\ (\\h) also. Does not work in batch mode.\n"); log.\n"); #ifndef __WIN__ printf("\ --pager[=...] Output type. Default is your ENV variable PAGER.\n\ Valid pagers are less, more, cat [> filename], etc.\n\ See interactive help (\\h) also. This options does\n\ See interactive help (\\h) also. This option does\n\ not work in batch mode.\n"); #endif printf("\ Loading @@ -524,7 +522,9 @@ static void usage(int version) #include "sslopt-usage.h" printf("\ -t --table Output in table format.\n\ -T, --debug-info Print some debug info at exit.\n"); -T, --debug-info Print some debug info at exit.\n\ --tee=... Append everything into outfile. See interactive help\n\ (\\h) also. Does not work in batch mode.\n"); #ifndef DONT_ALLOW_USER_CHANGE printf("\ -u, --user=# User for login if not current user.\n"); Loading Loading @@ -763,16 +763,6 @@ static int read_lines(bool execute_commands) status.query_start_line=line_number; } else #ifdef __WIN__ { tee_fprintf(stdout, glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> "); linebuffer[0]=(char) sizeof(linebuffer); line=_cgets(linebuffer); } #else { if (opt_outfile) { Loading @@ -783,14 +773,22 @@ static int read_lines(bool execute_commands) in_string == '\'' ? " '> " : " \"> ", OUTFILE); } #ifdef __WIN__ tee_fprintf(stdout, glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> "); linebuffer[0]=(char) sizeof(linebuffer); line=_cgets(linebuffer); #else line=readline((char*) (glob_buffer.is_empty() ? "mysql> " : !in_string ? " -> " : in_string == '\'' ? " '> " : " \"> ")); #endif if (opt_outfile) fprintf(OUTFILE, "%s\n", line); } #endif if (!line) // End of file { status.exit_status=0; Loading Loading @@ -1762,7 +1760,7 @@ com_pager(String *buffer, char *line __attribute__((unused))) { if (!strlen(default_pager)) { tee_fprintf(stdout, "Default pager wasn't available, using stdout.\n"); tee_fprintf(stdout, "Default pager wasn't set, using stdout.\n"); opt_nopager=1; strmov(pager, "stdout"); PAGER= stdout; Loading
client/mysqladmin.c +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include <my_pthread.h> /* because of signal() */ #endif #define ADMIN_VERSION "8.11" #define ADMIN_VERSION "8.12" #define MAX_MYSQL_VAR 64 #define MAX_TIME_TO_WAIT 3600 /* Wait for shutdown */ #define MAX_TRUNC_LENGTH 3 Loading
extra/perror.c +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ static HA_ERRORS ha_errlist[]= { 142,"Unknown character set used"}, { 143,"Conflicting table definition between MERGE and mapped table"}, { 144,"Table is crashed and last repair failed"}, { 145,"Table was marked as crashed and should be repaired"}, { 0,NullS }, }; Loading
include/my_base.h +1 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ enum ha_base_keytype { #define HA_ERR_UNKNOWN_CHARSET 142 /* Can't open charset */ #define HA_ERR_WRONG_TABLE_DEF 143 #define HA_ERR_CRASHED_ON_REPAIR 144 /* Last (automatic?) repair failed */ #define HA_ERR_CRASHED_ON_USAGE 145 /* Table must be repaired */ /* Other constants */ Loading