FreeBSD Port: mysql-server-5.0.13-RC released

Abdullah Ibn Hamad melookforyou at
Wed Sep 28 01:39:58 PDT 2005


mysql-server-5.0.13 Release Candidate released.

Note: The 5.0.x release candidate builds pass our test
suite and fix a lot of reported bugs found in the
previous 5.0.x releases. Please see our bugs database
for more information about issues you may encounter
with this release.

Functionality added or changed: 

Better detection of connection timeout for replication
servers on WIndows allows elimination of extraneous
Lost connection errors in the error log. (Bug #5588) 

The counters for the Key_read_requests, Key_reads,
Key_write_requests, and Key_writes status variables
were changed from unsigned long to unsigned longlong
to accommodate larger variables without rollover. (Bug

The restriction on the use of PREPARE, EXECUTE, and
DEALLOCATE PREPARE within stored procedures was
lifted. The restriction still applies to stored
functions and triggers. (Bug #10975, Bug #7115, Bug

A new command line argument was added to mysqld to
ignore client character set information sent during
handshake, and use server side settings instead, to
reproduce 4.0 behaviour (Bug #9948): 

mysqld --skip-character-set-client-handshake

OPTIMIZE TABLE and HANDLER now are prohibited in
stored procedures and functions and in triggers. (Bug
#12953, Bug #12995) 

InnoDB: The TRUNCATE TABLE statement for InnoDB tables
always resets the counter for an AUTO_INCREMENT column
now, regardless of whether there is a foreign key
constraint on the table. (Beginning with 5.0.3,
TRUNCATE TABLE reset the counter, but only if there
was no such constraint.) (Bug #11946) 

The LEAST() and GREATEST() functions used to return
NULL only if all arguments were NULL. Now they return
NULL if any argument is NULL, the same as Oracle. (Bug

Two new collations have been added for Esperanto:
utf8_esperanto_ci and ucs2_esperanto_ci. 

Reorder network startup to come after all other
initialization, particularly storage engine startup
which can take a long time. This also prevents MySQL
from being run on a privileged port (any port under
1024) unless run as the root user. (Bug #11707) 

Bugs fixed: 

Within a stored procedure, fetching a large number of
rows in a loop using a cursor could result in a server
crash or an out of memory error. Also, values inserted
within a stored procedure using a cursor were
interpreted as latin1 even if character set variables
had been set to a different character set. (Bug #6513,
Bug #9819) 

For a server compiled with yaSSL, clients that used
MySQL Connector/J were not able to establish SSH
connections. (Bug #13029) 

When used in view definitions, DAYNAME(expr),
DAYOFWEEK(expr), WEEKDAY(expr) were incorrectly
treated as though the expression was TO_DAYS(expr) or
TO_DAYS(TO_DAYS(expr)). (Bug #13000) 

Incorrect implicit nesting of joins caused the parser
to fail on queries of the form SELECT ... FROM t1 JOIN
t2 JOIN t3 ON t1.t1col = t3.t3col with an Unknown
column 't1.t1col' in 'on clause' error. (Bug #12943) 

NDB: A cluster shutdown following the crash of a data
node would fail to terminate the remaining node
processes, even though ndb_mgm showed the shutdown
request as having been completed. (Bug #10938, Bug
#9996, Bug #11623) 

A column that can be NULL was not handled properly for
WITH ROLLUP in a subquery or view. (Bug #12885) 

Within a transaction, the following statements now
cause an implicit commit: CREATE FUNCTION, DROP
PROCEDURE, CREATE PROCEDURE. This corrects a problem
where these statements followed by ROLLBACK might not
be replicated properly. (Bug #12870) 

Simultaneous execution of DML statements and CREATE
TRIGGER or DROP TRIGGER statements on the same table
could cause server crashes or errors. (Bug #12704) 

If a stored function invoked from a SELECT failed with
an error, it could cause the client connection to be
dropped. Now such errors generate warnings instead so
as not to interrupt the SELECT. (Bug #12379) 

A concurrency problem for CREATE ... SELECT could
cause a server crash. (Bug #12845) 

The server incorrectly generated an Unknown table
error message when for attempts to drop tables in the
INFORMATION_SCHEMA database. Now it issues an Access
denied message. (Bug #9846) 

The server allowed privileges to be granted explicitly
for the INFORMATION_SCHEMA database. Such privileges
are always implicit and should not be grantable. (Bug

The server allowed TEMPORARY tables and stored
procedures to be created in the INFORMATION_SCHEMA
database. (Bug #9683, Bug #10708) 

The server failed to disallow SET AUTOCOMMIT in stored
functions and triggers. It is allowed to change the
value of AUTOCOMMIT in stored procedures, but a
runtime error might occur if the procedure is invoked
from a stored function or trigger. (Bug #12712) 

Using an INOUT parameter with a DECIMAL data type in a
stored procedure caused a server crash. (Bug #12979) 

Performing an IS NULL check on the MIN() or MAX() of
an indexed columns produced incorrect results. (Bug

The mysql.server script contained incorrect path for
the libexec directory. (Bug #12550) 

The NDB START BACKUP command could be interrupted by a
SHOW command. (Bug #13054) 

The LIKE ... ESCAPE syntax produced invalid results
when escape character was larger than one byte. (Bug

A client connection thread cleanup problem caused the
server to crash when closing the connection if the
binary log was enabled. (Bug #12517) 

Using AS to rename a column selected from a view in a
subquery made it not possible to refer to that column
in the outer query. (Bug #12993) 

The character_set_system system variable could not be
selected with SELECT @@character_set_system. (Bug

A view-creation statement of the form CREATE VIEW name
AS SELECT ... FROM tbl_name AS name failed with a Not
unique table/alias: 'name' error. (Bug #6808) 

UNION [DISTINCT] was not removing all duplicates for
multi-byte character values. (Bug #12891) 

Multiplying a DECIMAL value within a loop in a stored
routine could incorrectly result in a value of NULL.
(Bug #12938) 

mysql and mysqldump were ignoring the
--defaults-extra-file option. (Bug #12917) 

Columns named in the USING() clause of JOIN ...
USING() were incorrectly resolved in case-sensitive
fashion. (Bug #13067) 

Local variables in stored routines were not always
initialized correctly. (Bug #13133) 

SHOW FIELDS FROM schemaname.viewname caused error 1046
when no default schema was set. (Bug #12905) 

The value of character_set_results could be set to
NULL, but returned the string "NULL" when retrieved.
(Bug #12363) 

InnoDB: Limit recursion depth to 200 in deadlock
detection to avoid running out of stack space. (Bug

GROUP_CONCAT() ignored an empty string if it was the
first value to occur in the result. (Bug #12863) 

Outer join elimination was erroneously applied for
some queries that used a NOT BETWEEN condition, an
IN(value_list) condition, or an IF() condition. (Bug
#12101, Bug #12102) 

SHOW FIELDS truncated the TYPE column to 40
characters. (Bug #7142) 

Use of PREPARE and EXECUTE with a statement that
selected from a view in a subquery could cause a
server crash. (Bug #12651) 

On HP-UX 11.x (PA-RISC), the -L option caused
mysqlimport to crash. (Bug #12958) 

If the binary log is enabled, execution of a stored
procedure that modifies table data and uses user
variables could cause a server crash or incorrect
information to be written to the binary log. (Bug

Queries with subqueries, where the inner subquery uses
the range or index_merge access method, could return
incorrect results. (Bug #12720) 

After changing the character set with SET CHARACTER
SET, the result of the GROUP_CONCAT() function was not
converted to the proper character set. (Bug #12829) 

A bug introduced in MySQL 5.0.12 caused SHOW TABLE
STATUS to display an Auto_increment value of 0 for
InnoDB tables. (Bug #12973) 

Foreign keys were not properly enforced in TEMPORARY
tables. Foreign keys now are disallowed in TEMPORARY
tables. (Bug #12084) 

Replication of LOAD DATA INFILE failed between systems
that use different pathname syntax (such as delimiter
characters). (Bug #11815) 

Within a stored procedure, a server crash was caused
by assigning to a VARCHAR INOUT parameter the value of
an expression that included the variable itself. (For
example, SET c = c.) (Bug #12849) 

SELECT ... JOIN ... ON ... JOIN ... USING caused a
server crash. (Bug #12977) 

Using GROUP BY when selecting from a view in some
cases could cause incorrect results to be returned.
(Bug #12922) 

A lock wait timeout caused InnoDB to roll back the
entire current transaction. Now it rolls back only the
most recent SQL statement. (Bug #12308) 

myisampack did not properly pack BLOB values larger
than 224 bytes. (Bug #4214) 

Incorrect results could be returned from a view
processed using a temporary table. (Bug #12941) 

The server crashed when one thread resized the query
cache while another thread was using it. (Bug #12848) 

mysqld_multi now quotes arguments on command lines
that it constructs to avoid problems with arguments
that contain shell metacharacters. (Bug #11280) 

InnoDB: A consistent read could return inconsistent
results due to a bug introduced in MySQL 5.0.5. (Bug

Deadlock occurred when several account management
statements were run (particularly between FLUSH
(Bug #12423) 

The Windows installer made a change to one of the
mysql.proc table files, causing stored routine
functionality to be compromised. The Windows installer
now never overwrites files in the MySQL data
directory. During an upgrade from one version to
another, a file in the data directory will not be
overwritten even if it has not been modified since it
was put there by an older installer. 

If you have already lost access to stored routines
because of this problem, you can get them back using
the following procedure: 

Stop the server. 

In the mysql\data directory under your MySQL
installation directory, and replace the proc.frm file
with corresponding file from the version of MySQL that
you were using before you upgraded. 

Start the server 

Start the mysql command-line client (use the root
account or another account that has full database
privileges) and execute the
mysql_fix_privilege_tables.sql script that upgrades
the grant tables to the current structure.
Instructions for doing this are given in Section
2.10.8, “Upgrading the Grant Tables”. 

After this, all stored routine functionality should
work. (Bug #12820) 

On Windows, the server was preventing tables from
being created if the table name was a prefix of a
forbidden name. For example, nul is a forbidden name
because it's the same as a Windows device name, but a
table with the name of n or nu was being forbidden as
well. (Bug #12325) 

InnoDB was too permissive with LOCK TABLE ... READ
LOCAL and alowed new inserts into the table. Now READ
LOCAL is equivalent to READ for InnoDB. This will
cause slightly more locking in mysqldump, but makes
InnoDB table dumps consistent with MyISAM table dumps.
(Bug #12410) 

Use of the mysql client HELP command from within a
stored routine caused a “packets out of order” error
and a lost connection. Now HELP is detected and
disallowed within stored routines. (Bug #12490) 

Use of yaSSL for a secure client connection caused
LOAD DATA LOCAL INFILE to fail. (Bug #11286) 

longer qualify the routine name with the database
name, for consistency with the behavior of SHOW CREATE
TABLE. (Bug #10362) 

A UNION of long utf8 VARCHAR columns was sometimes
returned as a column with a LONGTEXT data type rather
than VARCHAR. This could prevent such queries from
working at all if selected into a MEMORY table because
the MEMORY storage engine does not support the TEXT
data types. (Bug #12537) 

If a client has opened an InnoDB table for which the
.ibd file is missing, InnoDB would not honor a DROP
TABLE statement for the table. (Bug #12852) 

table caused the client to lose the connection. (The
server was not returning the error properly.) (Bug

NULL) AS DECIMAL) caused a server crash. (Bug #12841) 

When using a cursor, a SELECT statement that uses a
GROUP BY clause could return incorrect results. (Bug

The SYSDATE() function now returns the time at which
it was invoked. In particular, within a stored routine
or trigger, SYSDATE() returns the time at which it
executes, not the time at which the stored routine or
triggering statement began to execute. (Bug #12480) 

CREATE VIEW inside a stored procedure caused a server
crash if the table underlying the view had been
deleted. (Bug #12468) 

A memory leak resulting from repeated SELECT ... INTO
statements inside a stored procedure could cause the
server to crash. (Bug #11333) 


-Abdullah Ibn Hamad Al-Marri
WeArab Network


Find your next car at

More information about the freebsd-ports mailing list