diff options
author | unknown <jani@prima.mysql.com> | 2000-11-20 21:22:02 +0200 |
---|---|---|
committer | unknown <jani@prima.mysql.com> | 2000-11-20 21:22:02 +0200 |
commit | ca7f2d94be5c55ebef7ee3d86138aeb7af1fe903 (patch) | |
tree | 211571a6a007b153874884eab37471be755dd5b5 | |
parent | c21988993eaa0fe8d7c85e75559fbaf0d613222c (diff) | |
download | mariadb-git-ca7f2d94be5c55ebef7ee3d86138aeb7af1fe903.tar.gz |
Added documentation.
Docs/manual.texi:
Added documentation about new pager and tee features in mysql
client. Added an example about the vertical output.
client/mysql.cc:
Small documentation changes.
-rw-r--r-- | Docs/manual.texi | 121 | ||||
-rw-r--r-- | client/mysql.cc | 14 |
2 files changed, 110 insertions, 25 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi index 4afbe8cf76b..371e2cc1cdb 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -27959,8 +27959,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) @@ -27995,6 +27995,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. @@ -28008,7 +28014,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 --pager[=...] +Output type. Default is 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. 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 @@ -28034,6 +28044,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. @@ -28061,21 +28075,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 @@ -28115,6 +28135,71 @@ 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: Michael Widenius <monty@monty.pp.sci.fi> + reply: monty@mysql.com + mail_to: "Thimble Smith" <tim@mysql.com> + cc: mysql_all@mysql.com + sbj: UTF-8 + txt: >>>>> "Thimble" == Thimble Smith <tim@mysql.com> 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) + +mysql> +@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} diff --git a/client/mysql.cc b/client/mysql.cc index a855288ddb0..e5246aac6c5 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -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.5"; +const char *VER="11.6"; static MYSQL mysql; /* The connection */ static bool info_flag=0,ignore_errors=0,wait_flag=0,quick=0, @@ -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("\ @@ -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"); @@ -1760,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; |