summaryrefslogtreecommitdiff
path: root/Docs/manual.texi
diff options
context:
space:
mode:
Diffstat (limited to 'Docs/manual.texi')
-rw-r--r--Docs/manual.texi59
1 files changed, 46 insertions, 13 deletions
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 9e39092318e..b319edc01d8 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -9778,8 +9778,7 @@ the sort order!
@item The default return type of @code{IF} will now depend on both arguments
and not only the first argument.
@item @code{AUTO_INCREMENT} will not work with negative numbers.
-@item @code{INNER}, @code{DELAYED}, @code{RIGHT} and @code{WHEN}
-are now reserved words.
+@item @code{INNER}, @code{DELAYED}, @code{RIGHT}, @code{CASE}, @code{THEN}, @code{WHEN}, @code{ELSE}, @code{END} and @code{WHEN} are now reserved words.
@item @code{FLOAT(X)} is now a true floating-point type and not a value with
a fixed number of decimals.
@item When declaring @code{DECIMAL(length,dec)} the length argument no
@@ -9816,10 +9815,11 @@ almost always sorted. In Version 3.23, you must use @code{GROUP BY} or
@item
@code{SUM()} now returns @code{NULL}, instead of 0, if there is no matching
rows. This is according to ANSI SQL.
-@item New restricted words: @code{CASE, THEN, WHEN, ELSE, END, and RIGHT}.
@item An @code{AND} or @code{OR} with @code{NULL} values will now return
@code{NULL} instead of 0. This mostly affects queries that use @code{NOT}
on an @code{AND/OR} expression as @code{NOT NULL} = @code{NULL}.
+@code{LPAD()} and @code{RPAD()} will shorten the result string if it's longer
+than the length argument.
@end itemize
@cindex compatibility, between MySQL versions
@@ -14389,11 +14389,13 @@ The values retrieved from the @code{CHAR(4)} and @code{VARCHAR(4)} columns
will be the same in each case, because trailing spaces are removed from
@code{CHAR} columns upon retrieval.
-Values in @code{CHAR} and @code{VARCHAR} columns are sorted and compared in
-case-insensitive fashion, unless the @code{BINARY} attribute was specified
-when the table was created. The @code{BINARY} attribute means that column
-values are sorted and compared in case-sensitive fashion according to the
-ASCII order of the machine where the @strong{MySQL} server is running.
+Values in @code{CHAR} and @code{VARCHAR} columns are sorted and compared
+in case-insensitive fashion, unless the @code{BINARY} attribute was
+specified when the table was created. The @code{BINARY} attribute means
+that column values are sorted and compared in case-sensitive fashion
+according to the ASCII order of the machine where the @strong{MySQL}
+server is running. @code{BINARY} doesn't affect how the column is stored
+or retrieved.
The @code{BINARY} attribute is sticky. This means that if a column marked
@code{BINARY} is used in an expression, the whole expression is compared as a
@@ -14831,6 +14833,11 @@ between function calls and references to tables or columns that happen to
have the same name as a function. Spaces around arguments are permitted,
though.
+You can force @strong{MySQL} to accept spaces after the function name by
+starting @code{mysqld} with @code{--ansi} or using the
+@code{CLIENT_IGNORE_SPACE} to @code{mysql_connect()}, but in this case all
+function names will become reserved words. @xref{ANSI mode}.
+
@need 2000
For the sake of brevity, examples display the output from the @code{mysql}
program in abbreviated form. So this:
@@ -16160,8 +16167,9 @@ This function is multi-byte safe.
@findex LPAD()
@item LPAD(str,len,padstr)
-Returns the string @code{str}, left-padded with the string
-@code{padstr} until @code{str} is @code{len} characters long:
+Returns the string @code{str}, left-padded with the string @code{padstr}
+until @code{str} is @code{len} characters long. If @code{str} is longer
+than @code{len'} then it will be shortened to @code{len} characters.
@example
mysql> select LPAD('hi',4,'??');
@@ -16171,7 +16179,10 @@ mysql> select LPAD('hi',4,'??');
@findex RPAD()
@item RPAD(str,len,padstr)
Returns the string @code{str}, right-padded with the string
-@code{padstr} until @code{str} is @code{len} characters long.
+@code{padstr} until @code{str} is @code{len} characters long. If
+@code{str} is longer than @code{len'} then it will be shortened to
+@code{len} characters.
+
@example
mysql> select RPAD('hi',5,'?');
-> 'hi???'
@@ -20624,6 +20635,12 @@ threads. Otherwise, you can see only your own threads. @xref{KILL, ,
@code{KILL}}. If you don't use the @code{FULL} option, then only
the first 100 characters of each query will be shown.
+This command is very useful if you get the 'too many connections' error
+message and want to find out what's going on. @strong{MySQL} reserves
+one extra connection for a client with the @code{Process_priv} privilege
+to ensure that you should always be able to login and check the system
+(assuming you are not giving this privilege to all your users).
+
@cindex privileges, display
@node SHOW GRANTS, SHOW CREATE TABLE, SHOW PROCESSLIST, SHOW
@subsection SHOW GRANTS (Privileges) for a User
@@ -26846,8 +26863,8 @@ statement. In this case the last @code{SELECT} statement in the previous
scenario would execute before the @code{INSERT} statement.
@item
-You can give a specific @code{INSERT}, @code{UPDATE}, or @code{DELETE} statement
-lower priority with the @code{LOW_PRIORITY} attribute.
+You can give a specific @code{INSERT}, @code{UPDATE}, or @code{DELETE}
+statement lower priority with the @code{LOW_PRIORITY} attribute.
@item
Start @code{mysqld} with a low value for @strong{max_write_lock_count} to give
@@ -39765,6 +39782,11 @@ though, so Version 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.29
@itemize @bullet
@item
+Fixed bug in @code{REPLACE} with BDB tables.
+@item
+@code{LPAD()} and @code{RPAD()} will shorten the result string if it's longer
+than the length argument.
+@item
Remove not used BDB logs on shutdown.
@item
When creating a table, put @code{PRIMARY} keys first, followed by
@@ -44994,6 +45016,17 @@ using @code{-O thread_cache_size= 5'} will help a lot!
If you want to get a core dump on Linux if @code{mysqld} dies with a
SIGSEGV signal, you can start mysqld with the @code{--core-file} option.
+This core file can be used to make a backtrace that may help you
+find out why @code{mysqld} died:
+
+@example
+shell> gdb mysqld core
+gdb> backtrace
+gdb> info local
+gdb> exit
+@end example
+
+@xref{Crashing}.
If you are using gdb 4.17.x or above on Linux, you should install a
@file{.gdb} file, with the following information, in your current