(mysql.info) news-5-0-7
Info Catalog
(mysql.info) news-5-0-8
(mysql.info) news-5-0-x
(mysql.info) news-5-0-6
D.1.14 Changes in release 5.0.7 (10 June 2005)
----------------------------------------------
Functionality added or changed:
* Security improvement: Applied a patch to fix a UDF library-loading
vulnerability that could result in a buffer overflow and code
execution.
(`http://www.appsecinc.com/resources/alerts/mysql/2005-002.html')
* Added `mysql_set_character_set()' C API function for setting the
default character set of the current connection. This allows
clients to affect the character set used by
`mysql_real_escape_string()'. (Bug #8317
(http://bugs.mysql.com/8317))
* The behavior of the `Last_query_cost' system variable has been
changed. The default value is now 0 (rather than -1) and it now
has session-level scope (rather than being global). See
server-status-variables, for additional information.
* All characters occurring on the same line following the
`DELIMITER' keyword will be set as delimiter. For example,
`DELIMITER :;' will set `:;' as the delimiter. This behavior is now
consistent between MySQL 5.1 and MySQL 5.0. (Bug #9879
(http://bugs.mysql.com/9879))
* The `table', `type', and `rows' columns of `EXPLAIN' output can
now be `NULL'. This is required for using `EXPLAIN' on `SELECT'
queries that use no tables (for example, `EXPLAIN SELECT 1'). (Bug
#9899 (http://bugs.mysql.com/9899))
* Placeholders now can be used for `LIMIT' in prepared statements.
(Bug #7306 (http://bugs.mysql.com/7306))
* `SHOW BINARY LOGS' now displays a `File_size' column that
indicates the size of each file.
* The -delayed-insert option for `mysqldump' has been disabled to
avoid causing problems with storage engines that do not support
`INSERT DELAYED'. (Bug #7815 (http://bugs.mysql.com/7815))
* Improved the optimizer to be able to use indexes for expressions
of the form `INDEXED_COL NOT IN (VAL1, VAL2, ...)' and
`INDEXED_COL NOT BETWEEN VAL1 AND VAL2'.. (Bug #10561
(http://bugs.mysql.com/10561))
* Removed `mysqlshutdown.exe' and `mysqlwatch.exe' from the Windows
`No Installer' distribution (they had already been removed from
the `With Installer' distribution before). Removed those programs
from the source distribution.
* Removed `WinMySQLAdmin' from the source distribution and from the
`No Installer' Windows distribution (it had already been removed
from the `With Installer' distribution before).
* `InnoDB': In stored procedures and functions, `InnoDB' no longer
takes full explicit table locks for every involved table. Only
`intention' locks are taken, similar to those in the execution of
an ordinary SQL statement. This greatly reduces the number of
deadlocks.
Bugs fixed:
* *Security update*: A user with limited privileges could obtain
information about the privileges of other users by querying
objects in the `INFORMATION_SCHEMA' database for which that user
did not have the requisite privileges. (Bug #10964
(http://bugs.mysql.com/10964))
* Triggers with dropped functions caused crashes. (Bug #5893
(http://bugs.mysql.com/5893))
* Failure of a `BEFORE' trigger did not prevent the triggering
statement from performing its operation on the row for which the
trigger error occurred. Now the triggering statement fails as
described in using-triggers. (Bug #10902
(http://bugs.mysql.com/10902))
* Issuing a write lock for a table from one client prevented other
clients from accessing the table's metadata. For example, if one
client issued a `LOCK TABLES MYDB.MYTABLE WRITE', then a second
client attempting to execute a `USE MYDB;' would hang. (Bug #9998
(http://bugs.mysql.com/9998))
* The `LAST_DAY()' failed to return `NULL' when supplied with an
invalid argument. See date-and-time-functions. (Bug #10568
(http://bugs.mysql.com/10568))
* The functions `COALESCE()', `IF()', and `IFNULL()' performed
incorrect conversions of their arguments. (Bug #9939
(http://bugs.mysql.com/9939))
* The `TIME_FORMAT()' function returned incorrect results with some
format specifiers. See date-and-time-functions. (Bug
#10590 (http://bugs.mysql.com/10590))
* Dropping stored routines when the MySQL server had been started
with -skip-grant-tables generated extraneous warnings. (Bug #9993
(http://bugs.mysql.com/9993))
* A problem with the `my_global.h' file caused compilation of MySQL
to fail on single-processor Linux systems running 2.6 kernels.
(Bug #10364 (http://bugs.mysql.com/10364))
* The ucs2_turkish_ci collation failed with upper('i'). UPPER/LOWER
now can return a string with different length. (Bug #8610
(http://bugs.mysql.com/8610))
* OPTIMIZE of InnoDB table does not return 'Table is full' if out of
tablespace. (Bug #8135 (http://bugs.mysql.com/8135))
* GROUP BY queries with ROLLUP returned wrong results for
expressions containing group by columns. (Bug #7894
(http://bugs.mysql.com/7894))
* Fixed bug in `FIELD()' function where value list contains `NULL'.
(Bug #10944 (http://bugs.mysql.com/10944))
* Corrected a problem where an incorrect data type was returned in
the result set metadata when using a prepared `SELECT DISTINCT'
statement to select from a view. (Bug #11111
(http://bugs.mysql.com/11111))
* Fixed bug in the MySQL Instance manager that caused the version to
always be `unknown' when `SHOW INSTANCE STATUS' was issued. (Bug
#10229 (http://bugs.mysql.com/10229))
* Using `ORDER BY' to sort the results of an `IF()' that contained a
`FROM_UNIXTIME()' expression returned incorrect results due to
integer overflow. (Bug #9669 (http://bugs.mysql.com/9669))
* Fixed a server crash resulting from accessing `InnoDB' tables
within stored functions. This is handled by prohibiting statements
that do an implicit or explicit commit or rollback within stored
functions or triggers. (Bug #10015 (http://bugs.mysql.com/10015))
* Fixed a server crash resulting from the second invocation of a
stored procedure that selected from a view defined as a join that
used `ON' in the join conditions. (Bug #6866
(http://bugs.mysql.com/6866))
* Using `ALTER TABLE' for a table that had a trigger caused a crash
when executing a statement that activated the trigger, and also a
crash later with `USE DB_NAME' for the database containing the
table. (Bug #5894 (http://bugs.mysql.com/5894))
* Fixed a server crash resulting from an attempt to allocate too
much memory when `GROUP BY BLOB_COL' and `COUNT(DISTINCT)' were
used. (Bug #11088 (http://bugs.mysql.com/11088))
* Fixed a portability problem for compiling on Windows with Visual
Studio 6. (Bug #11153 (http://bugs.mysql.com/11153))
* The incorrect sequence of statements `HANDLER TBL_NAME READ
INDEX_NAME NEXT' without a preceding `HANDLER TBL_NAME READ
INDEX_NAME = (VALUE_LIST)' for an `InnoDB' table resulted in a
server crash rather than an error. (Bug #5373
(http://bugs.mysql.com/5373))
* On Windows, with `lower_case_table_names' set to 2, using `ALTER
TABLE' to alter a `MEMORY' or `InnoDB' table that had a mixed-case
name also improperly changed the name to lowercase. (Bug #9660
(http://bugs.mysql.com/9660))
* The server timed out SSL connections too quickly on Windows. (Bug
#8572 (http://bugs.mysql.com/8572))
* Executing `LOAD INDEX INTO CACHE' for a table while other threads
where selecting from the table caused a deadlock. (Bug #10602
(http://bugs.mysql.com/10602))
* Fixed a server crash resulting from `CREATE TABLE ... SELECT'
that selected from a table being altered by `ALTER TABLE'. (Bug
#10224 (http://bugs.mysql.com/10224))
* The `FEDERATED' storage engine properly handled outer joins, but
not inner joins. (Bug #10848 (http://bugs.mysql.com/10848))
* Consistently report `INFORMATION_SCHEMA' table names in uppercase
in `SHOW TABLE STATUS' output. (Bug #10059
(http://bugs.mysql.com/10059))
* Fixed a failure of `WITH ROLLUP' to sum values properly. (Bug
#10982 (http://bugs.mysql.com/10982))
* Triggers were not being activated for multiple-table `UPDATE' or
`DELETE' statements. (Bug #5860 (http://bugs.mysql.com/5860))
* `INSERT BEFORE' triggers were not being activated for `INSERT ...
SELECT' statements. (Bug #6812 (http://bugs.mysql.com/6812))
* `INSERT BEFORE' triggers were not being activated for implicit
inserts (`LOAD DATA'). (Bug #8755 (http://bugs.mysql.com/8755))
* If a stored function contained a `FLUSH' statement, the function
crashed when invoked. `FLUSH' now is disallowed within stored
functions. (Bug #8409 (http://bugs.mysql.com/8409))
* Multiple-row `REPLACE' could fail on a duplicate-key error when
having one `AUTO_INCREMENT' key and one unique key. (Bug #11080
(http://bugs.mysql.com/11080))
* Fixed a server crash resulting from invalid string pointer when
inserting into the `mysql.host' table. (Bug #10181
(http://bugs.mysql.com/10181))
* Multiple-table `DELETE' did always delete on the fly from the
first table that was to be deleted from. In some cases, when using
many tables and it was necessary to access the same row twice in
the first table, we could miss some rows-to-be-deleted from other
tables. This is now fixed.
* The `mysql_next_result()' function could hang if you were
executing many statements in a `mysql_real_query()' call and one
of those statements raised an error. (Bug #9992
(http://bugs.mysql.com/9992))
* The combination of `COUNT()', `DISTINCT', and `CONCAT()' sometimes
triggered a memory deallocation bug on Windows resulting in a
server crash. (Bug #9593 (http://bugs.mysql.com/9593))
* `InnoDB': Do very fast shutdown only if `innodb_fast_shutdown=2',
but wait for threads to exit and release allocated memory if
`innodb_fast_shutdown=1'. Starting with MySQL/InnoDB 5.0.5, InnoDB
would do brutal shutdown also when `innodb_fast_shutdown=1'. (Bug
#9673 (http://bugs.mysql.com/9673))
* `InnoDB': Fixed `InnoDB: Error: stored_select_lock_type is 0
inside ::start_stmt()!' in a stored procedure call if
`innodb_locks_unsafe_for_binlog' was set in `my.cnf'. (Bug #10746
(http://bugs.mysql.com/10746))
* `InnoDB': Fixed a duplicate key error that occurred with `REPLACE'
in a table with an `AUTO-INC' column. (Bug #11005
(http://bugs.mysql.com/11005))
* MySQL would pass an incorrect key length to storage engines for
`MIN()'. This could cause warnings `InnoDB: Warning: using a
partial-field key prefix in search.' in the `.err' log. (Bug
#11039 (http://bugs.mysql.com/11039), same as Bug #13218
(http://bugs.mysql.com/13218) in MySQL 4.1.15)
* Fixed a server crash for `INSERT' or `UPDATE' when the `WHERE'
clause contained a correlated subquery that referred to a column
of the table being modified. (Bug #6384
(http://bugs.mysql.com/6384))
* Fixed a problem causing an incorrect result for columns that
include an aggregate function as part of an expression when `WITH
ROLLUP' is added to `GROUP BY'. (Bug #7914
(http://bugs.mysql.com/7914))
* Fixed a problem with returning an incorrect result from a view
that selected a `COALESCE()' expression from the result of an
outer join. (Bug #9938 (http://bugs.mysql.com/9938))
* MySQL was adding a `DEFAULT' clause to `ENUM' columns that
included no explicit `DEFAULT' and were defined as `NOT NULL'.
(This is supposed to happen only for columns that are `NULL'.)
(Bug #6267 (http://bugs.mysql.com/6267))
* Corrected inappropriate error messages that were displayed when
attempting to set the read-only `warning_count' and `error_count'
system variables. (Bug #10339 (http://bugs.mysql.com/10339))
Info Catalog
(mysql.info) news-5-0-8
(mysql.info) news-5-0-x
(mysql.info) news-5-0-6
automatically generated byinfo2html