MySQL 5.0.10-beta, a new version of the popular Open Source Database
Management System, has been released. It includes support for Stored
Procedures, Triggers, Views and many other new enhancements.
The Community Edition is now available in source and binary form for a
number of platforms from our mirror sites via the download pages:
Note that not all mirror sites may be up-to-date at this point. If you
cannot find this version on a particular mirror, please try again later
or choose another download site.
This is the sixth published Beta release in the 5.0 series. All
attention will continue to be focused on fixing bugs and stabilizing
5.0 for later production release.
NOTE: This Beta release, as any other pre-production release, should not
be installed on ``production'' level systems or systems with critical
data. It is good practice to back up your data before installing any new
version of software. Although MySQL has done its best to ensure a high
level of quality, protect your data by making a backup as you would for
any software beta release.
Please refer to our bug database at http://bugs.mysql.com/ for more
details about the individual bugs fixed in this version.
News from the ChangeLog:
Functionality added or changed:
* Security improvement: Applied a patch that addresses a zlib data
vulnerability that could result in a buffer overflow and code
* The viewing of triggers and trigger metadata has been enhanced as
+ An extension to the SHOW command has been added: SHOW TRIGGERS
can be used to view a listing of triggers. See Section
22.214.171.124, "SHOW TRIGGERS Syntax" for details.
+ The INFORMATION_SCHEMA database now includes a TRIGGERS table.
See Section 22.1.16, "The INFORMATION_SCHEMA TRIGGERS Table"
for details. (Bug #9586 (http://bugs.mysql.com/9586))
* On Windows, the search path used by MySQL applications for my.ini
now includes ..\my.ini (that is, the application's parent directory,
and hence, the installation directory). (Bug #10419
* Added mysql_get_character_set_info() C API function for obtaining
information about the default character set of the current
* The bundled version of the readline library was upgraded to version
* It is no longer necessary to issue an explicit LOCK TABLES for any
tables accessed by a trigger prior to executing any statements that
might invoke the trigger. (Bug #9581 (http://bugs.mysql.com/9581),
Bug #8406 (http://bugs.mysql.com/8406))
* MySQL Cluster: A new -p option is available for use with the
ndb_mgmd client. When called with this option, ndb_mgmd prints all
configuration data to stdout, then exits.
* The namespace for triggers has changed. Previously, trigger names
had to be unique per table. Now they must be unique within the
schema (database). An implication of this change is that DROP
TRIGGER syntax now uses a schema name instead of a table name
(schema name is optional and, if omitted, the current schema will be
Note: When upgrading from a previous version of MySQL 5 to MySQL
5.0.10 or newer, you must drop all triggers before upgrading and
re-create them after or DROP TRIGGER will not work after the
upgrade. (Bug #5892 (http://bugs.mysql.com/5892))
* NDB_MGMD was leaking file descriptors. (Bug #11898
* IP addresses not shown in ndb_mgm SHOW command on second ndb_mgmd
(or on ndb_mgmd restart). (Bug #11596 (http://bugs.mysql.com/11596))
* Functions that evaluate to constants (such as NOW() and
CURRENT_USER() were being evaluated in the definition of a VIEW
rather than included verbatim. (Bug #4663
* Execution of SHOW TABLES failed to increment the Com_show_tables
status variable. (Bug #11685 (http://bugs.mysql.com/11685))
* For execution of a stored procedure that refers to a view, changes
to the view definition were not seen. The procedure continued to
see the old contents of the view. (Bug #6120
* For prepared statements, the SQL parser did not disallow '?'
parameter markers immediately adjacent to other tokens, which could
result in malformed statements in the binary log. (For example,
SELECT * FROM t WHERE? = 1 could become SELECT * FROM t WHERE0 =
1.) (Bug #11299 (http://bugs.mysql.com/11299))
* When two threads compete for the same table, a deadlock could occur
if one thread has also a lock on another table through LOCK TABLES
and the thread is attempting to remove the table in some manner and
the other thread want locks on both tables.
(Bug #10600 (http://bugs.mysql.com/10600))
* Aliasing the column names in a VIEW did not work when executing a
SELECT query on the VIEW. (Bug #11399 (http://bugs.mysql.com/11399))
* Performing an ORDER BY on a SELECT from a VIEW produced unexpected
results when VIEW and underlying table had the same column name on
different columns. Bug #11709 (http://bugs.mysql.com/11709))
* The C API function mysql_statement_reset() did not clear error
information. (Bug #11183 (http://bugs.mysql.com/11183))
* When used within a subquery, SUBSTRING() returned an empty string.
(Bug #10269 (http://bugs.mysql.com/10269))
* Multiple-table UPDATE queries using CONVERT_TZ() would fail with an
error. (Bug #9979 (http://bugs.mysql.com/9979))
* mysql_fetch_fields() returned incorrect length information for
MEDIUM and LONG TEXT and BLOB columns. (Bug #9735
* mysqlbinlog was failing the test suite on Windows due to BOOL being
incorrectly cast to INT. (Bug #11567 (http://bugs.mysql.com/11567))
* NDBCLuster: Server left core files following shutdown if data nodes
had failed. (Bug #11516 (http://bugs.mysql.com/11516))
* Creating a trigger in one database that references a table in
another database was being allowed without generating errors.
(Bug #8751 (http://bugs.mysql.com/8751))
* Duplicate trigger names were allowed within a single schema.
(Bug #6182 (http://bugs.mysql.com/6182))
* Server did not accept some fully-qualified trigger names. (Bug #8758
* The traditional SQL mode accepted invalid dates if the date value
provided was the result of an implicit type conversion. (Bug #5906
* The MySQL server had issues with certain combinations of basedir and
datadir. (Bug #7249 (http://bugs.mysql.com/7249))
* INFORMATION_SCHEMA.COLUMNS had some inaccurate values for some data
types. (Bug #11057 (http://bugs.mysql.com/11057))
* LIKE pattern matching using prefix index didn't return correct
result. (Bug #11650 (http://bugs.mysql.com/11650))
* For several character sets, MySQL incorrectly converted the
character code for the division sign to the eucjpms character set.
(Bug #11717 (http://bugs.mysql.com/11717))
* When invoked within a view, SUBTIME() returned incorrect values.
(Bug #11760 (http://bugs.mysql.com/11760))
* SHOW BINARY LOGS displayed a file size of 0 for all log files but
the current one if the files were not located in the data directory.
(Bug #12004 (http://bugs.mysql.com/12004))
* Server-side prepared statements failed for columns with a character
set of ucs2. (Bug #9442 (http://bugs.mysql.com/9442))
* References to system variables in an SQL statement prepared with
PREPARE were evaluated during EXECUTE to their values at prepare
time, not to their values at execution time. (Bug #9359
* For server shutdown on Windows, error messages of the form Forcing
close of thread n user: 'name' were being written to the error log.
Now connections are closed more gracefully without generating
error messages. (Bug #7403 (http://bugs.mysql.com/7403))
* Increased the version number of the libmysqlclient shared library
from 14 to 15 because it is binary incompatible with the MySQL 4.1
client library. (Bug #11893 (http://bugs.mysql.com/11893))
* A recent optimizer change caused DELETE ... WHERE ... NOT LIKE and
DELETE ... WHERE ... NOT BETWEEN to not properly identify the rows
to be deleted. (Bug #11853 (http://bugs.mysql.com/11853))
* Within a stored procedure that selects from a table, invoking
another procedure that requires a write lock for the table caused
that procedure to fail with a message that the table was
read-locked. (Bug #9565 (http://bugs.mysql.com/9565))
* Within a stored procedure, selecting from a table through a view
caused subsequent updates to the table to fail with a message that
the table was read-locked. (Bug #9597 (http://bugs.mysql.com/9597))
* For a stored procedure defined with SQL SECURITY DEFINER
characteristic, CURRENT_USER() incorrectly reported the use invoking
the procedure, not the user who defined it. (Bug #7291
* Creating a table with a SET or ENUM column with the DEFAULT 0 clause
caused a server crash if the table's character set was utf8.
(Bug #11819 (http://bugs.mysql.com/11819))
* With strict SQL mode enabled, ALTER TABLE reported spurious
"Invalid default value" messages for columns that had no DEFAULT
clause. (Bug #9881 (http://bugs.mysql.com/9881))
* In SQL prepared statements, comparisons could fail for values not
equally space-padded. For example, SELECT 'a' = 'a '; returns 1, but
PREPARE s FROM 'SELECT ?=?'; SET @a = 'a', @b = 'a '; PREPARE s FROM
'SELECT ?=?'; EXECUTE s USING @a, @b; incorrectly returned 0.
(Bug #9379 (http://bugs.mysql.com/9379))
* Labels in stored routines did not work if the character set was not
latin1. (Bug #7088 (http://bugs.mysql.com/7088))
* Invoking the DES_ENCRYPT() function could cause a server crash if
the server was started without the --des-key-file option.
(Bug #11643 (http://bugs.mysql.com/11643))
* The server crashed upon execution of a statement that used a stored
function indirectly (via a view) if the function was not yet in the
connection-specific stored routine cache and the statement would
update a Handler_xxx status variable. This fix allows the use of
stored routines under LOCK TABLES without explicitly locking the
mysql.lock table. However, you cannot use mysql.proc in statements
that will combine locking of it with modifications for other tables.
(Bug #11554 (http://bugs.mysql.com/11554))
* The server crashed when dropping a trigger that invoked a stored
procedure, if the procedure was not yet in the connection-specific
stored routine cache. (Bug #11889 (http://bugs.mysql.com/11889))
* Selecting the result of an aggregate function for an ENUM or SET
column within a subquery could result in a server crash.
(Bug #11821 (http://bugs.mysql.com/11821))
* Incorrect column values could be retrieved from views defined using
statements of the form SELECT * FROM tbl_name. (Bug #11771
* The mysql.proc table was not being created properly with the proper
utf8 character set and collation, causing server crashes for stored
procedure operations if the server was using a multi-byte character
set. To take advantage of the bug fix, mysql_fix_privileges_tables
should be run to correct the structure of the mysql.proc table.
(Bug #11365 (http://bugs.mysql.com/11365))
* Execution of a prepared statement that invoked a non-existent or
dropped stored routine would crash the server.
(Bug #11834 (http://bugs.mysql.com/11834))
* Executing a statement that invoked a trigger would cause problems
unless a LOCK TABLES was first issued for any tables accessed by the
trigger. Note: The exact nature of the problem depended upon the
MySQL 5.0 release being used: prior to 5.0.3, this resulted in a
crash; from 5.0.3 to 5.0.7, MySQL would issue a warning; in 5.0.9,
the server would issue an error.
(Bug #8406 (http://bugs.mysql.com/8406))
The same issue caused LOCK TABLES to fail following UNLOCK TABLES if
triggers were involved. (Bug #9581 (http://bugs.mysql.com/9581))
* In a shared Windows environment, MySQL could not find its
configuration file unless the file was in the C:\ directory.
(Bug #5354 (http://bugs.mysql.com/5354))
|• MySQL 5.0.10-beta has been released||Joerg Bruehe||28 Jul|