Commit f6bf3093 authored by paul@teton.kitebird.com's avatar paul@teton.kitebird.com

Merge paul@work.mysql.com:/home/bk/mysql-4.0

into teton.kitebird.com:/home/paul/mysql-4.0
parents ab1b6244 4c0ecf76
...@@ -28394,7 +28394,7 @@ Note that if you specify @code{ZEROFILL} for a column, MySQL will ...@@ -28394,7 +28394,7 @@ Note that if you specify @code{ZEROFILL} for a column, MySQL will
automatically add the @code{UNSIGNED} attribute to the column. automatically add the @code{UNSIGNED} attribute to the column.
@strong{Warning:} You should be aware that when you use subtraction @strong{Warning:} You should be aware that when you use subtraction
between integers values where one is of type @code{UNSIGNED}, the result between integer values where one is of type @code{UNSIGNED}, the result
will be unsigned! @xref{Cast Functions}. will be unsigned! @xref{Cast Functions}.
@table @code @table @code
...@@ -33939,8 +33939,9 @@ given by @code{where_definition}, and returns the number of records deleted. ...@@ -33939,8 +33939,9 @@ given by @code{where_definition}, and returns the number of records deleted.
If you issue a @code{DELETE} with no @code{WHERE} clause, all rows are If you issue a @code{DELETE} with no @code{WHERE} clause, all rows are
deleted. If you do this in @code{AUTOCOMMIT} mode, this works as deleted. If you do this in @code{AUTOCOMMIT} mode, this works as
@code{TRUNCATE}. @xref{TRUNCATE}. In MySQL 3.23 @code{DELETE} without a @code{TRUNCATE}. @xref{TRUNCATE, , @code{TRUNCATE}}. In MySQL 3.23,
@code{WHERE} clause will return zero as the number of affected records. @code{DELETE} without a @code{WHERE} clause will return zero as the number
of affected records.
If you really want to know how many records are deleted when you are deleting If you really want to know how many records are deleted when you are deleting
all rows, and are willing to suffer a speed penalty, you can use a all rows, and are willing to suffer a speed penalty, you can use a
...@@ -33957,18 +33958,18 @@ If you specify the keyword @code{LOW_PRIORITY}, execution of the ...@@ -33957,18 +33958,18 @@ If you specify the keyword @code{LOW_PRIORITY}, execution of the
@code{DELETE} is delayed until no other clients are reading from the table. @code{DELETE} is delayed until no other clients are reading from the table.
If you specify the word @code{QUICK} then the table handler will not If you specify the word @code{QUICK} then the table handler will not
merge index leafs during delete, which may speed up certain kind of merge index leaves during delete, which may speed up certain kind of
deletes. deletes.
In MyISAM tables deleted records are maintained in a linked list and In @code{MyISAM} tables, deleted records are maintained in a linked list and
subsequent @code{INSERT} operations reuse old record positions. To subsequent @code{INSERT} operations reuse old record positions. To
reclaim unused space and reduce file sizes, use the @code{OPTIMIZE reclaim unused space and reduce file sizes, use the @code{OPTIMIZE
TABLE} statement or the @code{myisamchk} utility to reorganise tables. TABLE} statement or the @code{myisamchk} utility to reorganise tables.
@code{OPTIMIZE TABLE} is easier, but @code{myisamchk} is faster. See @code{OPTIMIZE TABLE} is easier, but @code{myisamchk} is faster. See
@ref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}} and @ref{Optimisation}. @ref{OPTIMIZE TABLE, , @code{OPTIMIZE TABLE}} and @ref{Optimisation}.
The first multi table delete format is supported starting from MySQL 4.0.0. The first multi-table delete format is supported starting from MySQL 4.0.0.
The second multi table delete format is supported starting from MySQL 4.0.2. The second multi-table delete format is supported starting from MySQL 4.0.2.
The idea is that only matching rows from the tables listed The idea is that only matching rows from the tables listed
@strong{before} the @code{FROM} or before the @code{USING} clause are @strong{before} the @code{FROM} or before the @code{USING} clause are
...@@ -33989,8 +33990,8 @@ DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id ...@@ -33989,8 +33990,8 @@ DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id
In the above case we delete matching rows just from tables @code{t1} and In the above case we delete matching rows just from tables @code{t1} and
@code{t2}. @code{t2}.
@code{ORDER BY} and using multiple tables in the DELETE is supported in @code{ORDER BY} and using multiple tables in the @code{DELETE} is supported
MySQL 4.0. in MySQL 4.0.
If an @code{ORDER BY} clause is used, the rows will be deleted in that order. If an @code{ORDER BY} clause is used, the rows will be deleted in that order.
This is really only useful in conjunction with @code{LIMIT}. For example: This is really only useful in conjunction with @code{LIMIT}. For example:
...@@ -48750,13 +48751,13 @@ Fixed bug with indexless boolean fulltext search. ...@@ -48750,13 +48751,13 @@ Fixed bug with indexless boolean fulltext search.
Fixed bug that sometimes appeared when fulltext search was used Fixed bug that sometimes appeared when fulltext search was used
with ``const'' tables. with ``const'' tables.
@item @item
Fixed wrong error value when doing a @code{SELECT} with an empty HEAP table. Fixed incorrect error value when doing a @code{SELECT} with an empty HEAP table.
@item @item
Use @code{ORDER BY column DESC} now sorts @code{NULL} values first. Use @code{ORDER BY column DESC} now sorts @code{NULL} values first.
@item @item
Fixed bug in @code{WHERE key_name='constant' ORDER BY key_name DESC}. Fixed bug in @code{WHERE key_name='constant' ORDER BY key_name DESC}.
@item @item
Fixed bug in @code{SELECT DISTINCT ... ORDER BY DESC} optimization. Fixed bug in @code{SELECT DISTINCT ... ORDER BY DESC} optimisation.
@item @item
Fixed bug in @code{... HAVING 'GROUP_FUNCTION'(xxx) IS [NOT] NULL}. Fixed bug in @code{... HAVING 'GROUP_FUNCTION'(xxx) IS [NOT] NULL}.
@item @item
...@@ -48764,7 +48765,7 @@ Fixed bug in truncation operator for boolean fulltext search. ...@@ -48764,7 +48765,7 @@ Fixed bug in truncation operator for boolean fulltext search.
@item @item
Allow numeric user id to @code{mysqld --user=#}. Allow numeric user id to @code{mysqld --user=#}.
@item @item
Fixed a bug where @code{SQL_CALC_ROWS} returned a wrong value when used Fixed a bug where @code{SQL_CALC_ROWS} returned an incorrect value when used
with one table and @code{ORDER BY} and with InnoDB tables. with one table and @code{ORDER BY} and with InnoDB tables.
@item @item
Fixed that @code{SELECT 0 LIMIT 0} doesn't hang thread. Fixed that @code{SELECT 0 LIMIT 0} doesn't hang thread.
...@@ -48775,11 +48776,11 @@ many keys with the same start column. ...@@ -48775,11 +48776,11 @@ many keys with the same start column.
Don't use table scan with BerkeleyDB and InnoDB tables when we can use Don't use table scan with BerkeleyDB and InnoDB tables when we can use
an index that covers the whole row. an index that covers the whole row.
@item @item
Optimized InnoDB sort-buffer handling to take less memory. Optimised InnoDB sort-buffer handling to take less memory.
@item @item
Fixed bug in multi table @code{DELETE} and InnoDB tables. Fixed bug in multi-table @code{DELETE} and InnoDB tables.
@item @item
Fixed problem with @code{TRUNCATE} and InnoDB that gave the error Fixed problem with @code{TRUNCATE} and InnoDB that produced the error
@code{Can't execute the given command because you have active locked @code{Can't execute the given command because you have active locked
tables or an active transaction}. tables or an active transaction}.
@item @item
...@@ -48800,7 +48801,7 @@ Fixed new bug in @code{myisamchk} where it didn't correctly update number of ...@@ -48800,7 +48801,7 @@ Fixed new bug in @code{myisamchk} where it didn't correctly update number of
@item @item
Changed to use @code{autoconf} 2.52 (from @code{autoconf} 2.13). Changed to use @code{autoconf} 2.52 (from @code{autoconf} 2.13).
@item @item
Fixed optimization problem where the MySQL Server was in ``preparing'' state Fixed optimisation problem where the MySQL Server was in ``preparing'' state
for a long time when selecting from an empty table which had contained for a long time when selecting from an empty table which had contained
a lot of rows. a lot of rows.
@item @item
...@@ -48808,9 +48809,9 @@ Fixed bug in complicated join with @code{const} tables. This fix also ...@@ -48808,9 +48809,9 @@ Fixed bug in complicated join with @code{const} tables. This fix also
improves performance a bit when referring to another table from a improves performance a bit when referring to another table from a
@code{const} table. @code{const} table.
@item @item
First pre-version of multi table @code{UPDATE}s. First pre-version of multi-table @code{UPDATE} statement.
@item @item
Fixed bug in multi table @code{DELETE}. Fixed bug in multi-table @code{DELETE}.
@item @item
Fixed bug in @code{SELECT CONCAT(argument-list) ... GROUP BY 1}. Fixed bug in @code{SELECT CONCAT(argument-list) ... GROUP BY 1}.
@item @item
...@@ -48861,7 +48862,7 @@ Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1. ...@@ -48861,7 +48862,7 @@ Fixed stack overrun problem @code{LOAD DATA FROM MASTER} on OSF1.
@item @item
Fixed shutdown problem on HP-UX. Fixed shutdown problem on HP-UX.
@item @item
Added functions @code{des_encrypt()} and @code{des_decrypt()}. Added functions @code{DES_ENCRYPT()} and @code{DES_DECRYPT()}.
@item @item
Added statement @code{FLUSH DES_KEY_FILE}. Added statement @code{FLUSH DES_KEY_FILE}.
@item @item
...@@ -48902,7 +48903,7 @@ able to use boolean fulltext search}. ...@@ -48902,7 +48903,7 @@ able to use boolean fulltext search}.
@code{LOCATE()} and @code{INSTR()} are now case sensitive if either @code{LOCATE()} and @code{INSTR()} are now case sensitive if either
argument is a binary string. argument is a binary string.
@item @item
Changed @code{RAND()} initialization so that @code{RAND(N)} and Changed @code{RAND()} initialisation so that @code{RAND(N)} and
@code{RAND(N+1)} are more distinct. @code{RAND(N+1)} are more distinct.
@item @item
Fixed core dump bug in @code{UPDATE ... ORDER BY}. Fixed core dump bug in @code{UPDATE ... ORDER BY}.
...@@ -49191,7 +49192,7 @@ Fixed problem with one thread using an InnoDB table and another ...@@ -49191,7 +49192,7 @@ Fixed problem with one thread using an InnoDB table and another
thread doing an @code{ALTER TABLE} on the same table. Before that, thread doing an @code{ALTER TABLE} on the same table. Before that,
mysqld could crash with an assertion failure in row0row.c, line 474. mysqld could crash with an assertion failure in row0row.c, line 474.
@item @item
Tuned the InnoDB SQL optimizer to favor more often index searches Tuned the InnoDB SQL optimiser to favor more often index searches
over table scans. over table scans.
@item @item
Fixed a performance problem with InnoDB tables when several large SELECT Fixed a performance problem with InnoDB tables when several large SELECT
...@@ -49201,7 +49202,7 @@ platforms. ...@@ -49201,7 +49202,7 @@ platforms.
@item @item
If MySQL binlogging is used, InnoDB now prints after crash recovery the If MySQL binlogging is used, InnoDB now prints after crash recovery the
latest MySQL binlog name and the offset InnoDB was able to recover latest MySQL binlog name and the offset InnoDB was able to recover
to. This is useful, for example, when resynchronizing a master and a to. This is useful, for example, when resynchronising a master and a
slave database in replication. slave database in replication.
@item @item
Added better error messages to help in installation problems of InnoDB tables. Added better error messages to help in installation problems of InnoDB tables.
...@@ -49372,7 +49373,7 @@ Foreign keys checking is now done for @code{InnoDB} tables. ...@@ -49372,7 +49373,7 @@ Foreign keys checking is now done for @code{InnoDB} tables.
than 4 GB on those operating systems which have big files. than 4 GB on those operating systems which have big files.
@item @item
@code{InnoDB} calculates better table cardinality estimates for the @code{InnoDB} calculates better table cardinality estimates for the
MySQL optimizer. MySQL optimiser.
@item @item
Accent characters in the default character set latin1 are ordered Accent characters in the default character set latin1 are ordered
according to the MySQL ordering. according to the MySQL ordering.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment