@code{CONCAT_WS()} stands for CONCAT With Separator and is a special form of
@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. 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}.
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
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.
...
@@ -15709,7 +15717,7 @@ the days that were lost when the calender was changed.
@item DATE_FORMAT(date,format)
@item DATE_FORMAT(date,format)
Formats the @code{date} value according to the @code{format} string. The
Formats the @code{date} value according to the @code{format} string. The
following specifiers may be used in the @code{format} string:
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{%M} @tab Month name (@code{January}..@code{December})
@item @code{%W} @tab Weekday name (@code{Sunday}..@code{Saturday})
@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.)
@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
...
@@ -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
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
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
(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
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
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
key that can have @code{NULL} values (In this case the packed key length will
...
@@ -16712,7 +16720,7 @@ for this).
...
@@ -16712,7 +16720,7 @@ for this).
If you specify @code{RAID_TYPE=STRIPED} for a @code{MyISAM} table,
If you specify @code{RAID_TYPE=STRIPED} for a @code{MyISAM} table,
@code{MyISAM} will create @code{RAID_CHUNKS} sub-directories named 00,
@code{MyISAM} will create @code{RAID_CHUNKS} sub-directories named 00,
01, 02 in the database directory. In each of these directories
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
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 first file, the next
@code{RAID_CHUNKSIZE} *1024 bytes to the next file and so on.
@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.
...
@@ -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:
The command returns a table with the following columns:
@multitable @columnfractions .35 .65
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@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_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@item Msg_text @tab The message.
@end multitable
@end multitable
...
@@ -17122,10 +17131,11 @@ told @strong{MySQL} that there wasn't any need to check the table.
...
@@ -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:
The different check types stand for the following:
@multitable @columnfractions .20 .80
@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{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{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{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
@end multitable
@findex ANALYZE TABLE
@findex ANALYZE TABLE
...
@@ -17147,8 +17157,9 @@ constant.
...
@@ -17147,8 +17157,9 @@ constant.
The command returns a table with the following columns:
The command returns a table with the following columns:
@multitable @columnfractions .35 .65
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@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_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@item Msg_text @tab The message.
@end multitable
@end multitable
...
@@ -17174,8 +17185,9 @@ Repair the corrupted table. The command returns a table with the following
...
@@ -17174,8 +17185,9 @@ Repair the corrupted table. The command returns a table with the following
columns:
columns:
@multitable @columnfractions .35 .65
@multitable @columnfractions .35 .65
@item @strong{Column} @tab @strong{Value}
@item Table @tab Table name
@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_type @tab One of @code{status}, @code{error}, @code{info} or @code{warning}.
@item Msg_text @tab The message.
@item Msg_text @tab The message.
@end multitable
@end multitable
...
@@ -17683,7 +17695,7 @@ The query cannot contain an @code{ORDER BY} clause.
...
@@ -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
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
@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
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
find records that were inserted earlier during the same run. When using
sub-select clauses, the situation could easily be very confusing!)
sub-select clauses, the situation could easily be very confusing!)
...
@@ -17831,6 +17843,7 @@ The following status variables provide information about @code{INSERT
...
@@ -17831,6 +17843,7 @@ The following status variables provide information about @code{INSERT
DELAYED} commands:
DELAYED} commands:
@multitable @columnfractions .35 .65
@multitable @columnfractions .35 .65
@item @strong{Variable} @tab @strong{Meaning}
@item @code{Delayed_insert_threads} @tab Number of handler threads
@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{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
@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:
...
@@ -18672,6 +18685,7 @@ below, though the format and numbers probably differ:
The status variables listed above have the following meaning:
The status variables listed above have the following meaning:
@multitable @columnfractions .35 .65
@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_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{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
@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
...
@@ -18758,9 +18772,9 @@ The output resembles that shown below, though the format and numbers may
(Set on @strong{Slave}, Example: @code{master-info-file=master.info})
@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
@item
@code{UPDATE some_db.some_table SET foo='bar'} while having selected a different or
@code{replicate-do-db}
no database. @tab Slave @tab @code{replicate-do-db=some_db}
@tab Tells the slave thread to restrict replication to the specified database.
@item @code{replicate-ignore-db} @tab Tells the slave thread to not replicate to the specified
To specify more than one database, use the directive multiple times, once for
database. To specify more than one database to ignore, use the directive multiple times,
each database. Note that this will only work if you do not use cross-database
once for each database. You must not use cross database updates for this option. @tab Slave @tab @code{replicate-ignore-db=some_db}
queries such as @code{UPDATE some_db.some_table SET foo='bar'} while having
@item @code{sql-bin-update-same} @tab If set, setting @code{SQL_LOG_BIN} to a value will
selected a different or no database.
automatically set @code{SQL_LOG_UPDATE} to the same value and vice
(Set on @strong{Slave}, Example: @code{replicate-do-db=some_db})
@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}
@code{replicate-ignore-db}
@item @code{binlog-do-db} @tab Tells the master it should log updates
@tab Tells the slave thread to not replicate to the specified database. To
for the specified database, and exclude all others not explicitly
specify more than one database to ignore, use the directive multiple times,