summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jani@prima.mysql.com>2000-11-20 21:22:02 +0200
committerunknown <jani@prima.mysql.com>2000-11-20 21:22:02 +0200
commitca7f2d94be5c55ebef7ee3d86138aeb7af1fe903 (patch)
tree211571a6a007b153874884eab37471be755dd5b5
parentc21988993eaa0fe8d7c85e75559fbaf0d613222c (diff)
downloadmariadb-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.texi121
-rw-r--r--client/mysql.cc14
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;