@code{CONCAT_WS()} stands for CONCAT With Separator and is a special form of
@code{CONCAT()}. The irst argument is the separator for the rest of the
@code{CONCAT()}. The first argument is the separator for the rest of the
arguments. The separator can be a string as well as the rest of the
arguments. If the separator is @code{NULL}, the result will be @code{NULL}.
The function will skip any @code{NULL}s and empty strings, after the
...
...
@@ -15709,7 +15717,7 @@ the days that were lost when the calender was changed.
@item DATE_FORMAT(date,format)
Formats the @code{date} value according to the @code{format} string. The
following specifiers may be used in the @code{format} string:
@multitable @columnfractions .1 .9
@multitable @columnfractions .1 .6
@item @code{%M} @tab Month name (@code{January}..@code{December})
@item @code{%W} @tab Weekday name (@code{Sunday}..@code{Saturday})
@item @code{%D} @tab Day of the month with english suffix (@code{1st}, @code{2nd}, @code{3rd}, etc.)
...
...
@@ -16680,7 +16688,7 @@ in high-byte-first-order directly after the key, to improve
compression. This means that if you have many equal keys on two rows
in a row, all following 'same' keys will usually only take 2 bytes
(including the pointer to the row). Compare this to the ordinary case
where the following keys will take 'storage_size_for_key' +
where the following keys will take storage_size_for_key +
pointer_size (usually 4). On the other hand, if all keys are
totally different, you will lose 1 byte per key, if the key isn't a
key that can have @code{NULL} values (In this case the packed key length will
...
...
@@ -16712,7 +16720,7 @@ for this).
If you specify @code{RAID_TYPE=STRIPED} for a @code{MyISAM} table,
@code{MyISAM} will create @code{RAID_CHUNKS} sub-directories named 00,
01, 02 in the database directory. In each of these directories
@code{MyISAM} will create an @code{table_name.MYD}. When writing data
@code{MyISAM} will create a @code{table_name.MYD}. When writing data
to the data file, the @code{RAID} handler will map the first
@code{RAID_CHUNKSIZE} *1024 bytes to the first file, the next
@code{RAID_CHUNKSIZE} *1024 bytes to the next file and so on.
...
...
@@ -17106,8 +17114,9 @@ Check the table(s) for errors and updates the key statistics for the table.
The command returns a table with the following columns:
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@item Op @tab Always 'check'
@item Op @tab Always ``check''
@item Msg_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@end multitable
...
...
@@ -17122,10 +17131,11 @@ told @strong{MySQL} that there wasn't any need to check the table.
The different check types stand for the following:
@multitable @columnfractions .20 .80
@item @strong{Type} @tab @strong{Meaning}
@item @code{QUICK} @tab Don't scan the rows for fixed size record tables.
@item @code{FAST} @tab Only check tables which haven't been closed properly.
@item @code{CHANGED} @tab Only check tables which have been changed since last check or haven't been closed properly.
@item @code{EXTENDED} @tab Do a full key lookup for all keys for each row. This enasures that the table is 100 % consistent, but will take a long time!
@item @code{EXTENDED} @tab Do a full key lookup for all keys for each row. This ensures that the table is 100 % consistent, but will take a long time!
@end multitable
@findex ANALYZE TABLE
...
...
@@ -17147,8 +17157,9 @@ constant.
The command returns a table with the following columns:
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@item Op @tab Always 'analyze
@item Op @tab Always ``analyze''
@item Msg_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@end multitable
...
...
@@ -17174,8 +17185,9 @@ Repair the corrupted table. The command returns a table with the following
columns:
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@item Op @tab Always 'repair'
@item Op @tab Always ``repair''
@item Msg_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@end multitable
...
...
@@ -17683,7 +17695,7 @@ The query cannot contain an @code{ORDER BY} clause.
The target table of the @code{INSERT} statement cannot appear in the
@code{FROM} clause of the @code{SELECT} part of the query, because it's
forbidden in ANSI SQL to @code{SELECT} from the same table into which you are
@code{INSERT}ing. (The problem is that the @code{SELECT} possibly would
inserting. (The problem is that the @code{SELECT} possibly would
find records that were inserted earlier during the same run. When using
sub-select clauses, the situation could easily be very confusing!)
...
...
@@ -17831,6 +17843,7 @@ The following status variables provide information about @code{INSERT
DELAYED} commands:
@multitable @columnfractions .35 .65
@item @strong{Variable} @tab @strong{Meaning}
@item @code{Delayed_insert_threads} @tab Number of handler threads
@item @code{Delayed_writes} @tab Number of rows written with @code{INSERT DELAYED}
@item @code{Not_flushed_delayed_rows} @tab Number of rows waiting to be written
...
...
@@ -18672,6 +18685,7 @@ below, though the format and numbers probably differ:
The status variables listed above have the following meaning:
@multitable @columnfractions .35 .65
@item @strong{Variable} @tab @strong{Meaning}
@item @code{Aborted_clients} @tab Number of connections that has been aborted because the client has died without closing the connection properly.
@item @code{Aborted_connects} @tab Number of tries to connect to the @strong{MySQL} server that has failed.
@item @code{Bytes_received} @tab Number of bytes received from the client
...
...
@@ -18758,9 +18772,9 @@ The output resembles that shown below, though the format and numbers may
@item @code{replicate-do-db} @tab Tells the slave thread to restrict replication to the specified database. To specify more than one database, use the directive multiple times, once for each database.
Note that this will only work if you do not use cross-database queries such as
@code{UPDATE some_db.some_table SET foo='bar'} while having selected a different or
no database. @tab Slave @tab @code{replicate-do-db=some_db}
@item @code{replicate-ignore-db} @tab Tells the slave thread to not replicate to the specified
database. To specify more than one database to ignore, use the directive multiple times,
once for each database. You must not use cross database updates for this option. @tab Slave @tab @code{replicate-ignore-db=some_db}
@item @code{sql-bin-update-same} @tab If set, setting @code{SQL_LOG_BIN} to a value will
automatically set @code{SQL_LOG_UPDATE} to the same value and vice
@item @code{log-slave-updates} @tab Tells the slave to log the updates from the slave thread to the binary log. Off by default. You will need to turn it on if you plan to daisy-chain the slaves @tab Slave @tab @code{log-slave-updates}
@item @code{binlog-do-db} @tab Tells the master it should log updates
for the specified database, and exclude all others not explicitly