Hi,

MySQL 5.0.26, a new version of the popular Open Source Database
Management System, has been released.

This is part 2 of the related announcement, listing the changes of 5.0.25 over 5.0.24a which was the last published release of 5.0. As 5.0.25 was not generally released, most users will get these changes only with 5.0.26.

Please, see the other mail for the changes in 5.0.26 (over 5.0.25).



Changes in release 5.0.25 (15 September 2006)

This is a bugfix release for the current production release
family. This version was released as MySQL Classic 5.0.25 to
commercial customers only.

Functionality added or changed:
  * For the mysql client, typing Control-C causes mysql to attempt
    to kill the current statement. If this cannot be done, or
    Control-C is typed again before the statement is killed, mysql
    exits. Previously, Control-C caused mysql to exit in all
    cases. (Bug#17926: http://bugs.mysql.com/17926; see also
    Bug#1989: http://bugs.mysql.com/1989)
  * For mysqlshow, if a database name argument contains wildcard
    characters (such as `_') but matches a single database name
    exactly, treat the name as a literal name. This allows a
    command such as mysqlshow information_schema work without
    having to escape the wildcard character.
    (Bug#19147: http://bugs.mysql.com/19147)
  * If a DROP VIEW statement named multiple views, it stopped with
    an error if a non-existent view was named and did not drop the
    remaining views. Now it continues on and reports an error at
    the end, similar to DROP TABLE.
    (Bug#16614: http://bugs.mysql.com/16614)
  * Table comments longer than 60 characters and column comments
    longer than 255 characters were truncated silently. Now a
    warning is issued, or an error in strict mode.
    (Bug#13934: http://bugs.mysql.com/13934)
  * The bundled yaSSL library was upgraded to version 1.3.7.
  * The bundled yaSSL library licensing has added a FLOSS
    exception similar to MySQL to resolve licensing
    incompatibilities with MySQL. (See the
    extra/yassl/FLOSS-EXCEPTIONS file in a MySQL source
    distribution for details.)
    (Bug#16755: http://bugs.mysql.com/16755)
  * The server now issues a warning if it removes leading spaces
    from an alias. (Bug#10977: http://bugs.mysql.com/10977)
  * The VIEW_DEFINITION column of the INFORMATION_SCHEMA VIEWS
    table now contains information about the view algorithm.
    (Bug#16832: http://bugs.mysql.com/16832)
  * For a successful dump, mysqldump now writes a SQL comment to
    the end of the dump file in the following format:
        -- Dump completed on YYYY-MM-DD hh:mm:ss
    (Bug#10877: http://bugs.mysql.com/10877)
  * The mysqld and mysqlmanager manpages have been reclassified
    from volume 1 to volume 8.
    (Bug#21220: http://bugs.mysql.com/21220)
  * configure now defines the symbol DBUG_ON in config.h to
    indicate whether the source tree is configured to be compiled
    with debugging support.
    (Bug#19517: http://bugs.mysql.com/19517)
  * The MySQL distribution now compiles on UnixWare 7.13.
    (Bug#20190: http://bugs.mysql.com/20190)
  * The mysql client used the default character set if it
    automatically reconnected to the server, which is incorrect if
    the character set had been changed. To enable the character
    set to remain synchronized on the client and server, the mysql
    command charset (or \C) that changes the default character set
    and now also issues a SET NAMES statement. The changed
    character set is used for reconnects.
    (Bug#11972: http://bugs.mysql.com/11972)
  * mysql_upgrade no longer reads the [client] option file group
    because it is not a client and did not understand client
    options such as host. Now it reads only the [mysql_upgrade]
    group. (Bug#19452: http://bugs.mysql.com/19452)
  * MySQL now can do stack dumps on x86_64 and i386/NPTL systems.
    (Bug#21250: http://bugs.mysql.com/21250)
  * TIMESTAMP columns that are NOT NULL now are reported that way
    by SHOW COLUMNS and INFORMATION_SCHEMA.
    (Bug#20910: http://bugs.mysql.com/20910)

Bugs fixed:
  * Security fix: On Linux, and possibly other platforms using
    case-sensitive filesystems, it was possible for a user granted
    rights on a database to create or access a database whose name
    differed only from that of the first by the case of one or
    more letters. (CVE-2006-4226
    (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4226),
    Bug#17647: http://bugs.mysql.com/17647)
  * Security fix: A stored routine created by one user and then
    made accessible to a different user using GRANT EXECUTE could
    be executed by that user with the privileges of the routine's
    definer. (CVE-2006-4227
    (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4227),
    Bug#18630: http://bugs.mysql.com/18630)
  * CREATE TABLE ... SELECT statements that selected GEOMETRY
    values resulted in a table that contained BLOB columns, not
    GEOMETRY columns. (Bug#14807: http://bugs.mysql.com/14807)
  * A DATE can be represented as an integer (such as 20060101) or
    as a string (such as '2006.01.01'). When a DATE (or TIME)
    column is compared in one SELECT against both representations,
    constant propagation by the optimizer led to comparison of
    DATE as a string against DATE as an integer. This could result
    in integer comparisons such as 2006 against 20060101,
    erroneously producing a false result.
    (Bug#21475: http://bugs.mysql.com/21475)
  * A query result could be sorted improperly when using ORDER BY
    for the second table in a join.
    (Bug#21302: http://bugs.mysql.com/21302)
  * EXPORT_SET() did not accept arguments with coercible character
    sets. (Bug#21531: http://bugs.mysql.com/21531)
  * The --collation-server server option was being ignored. With
    the fix for this problem, if you choose a non-default
    character set with --character-set-server, you should also use
    --collation-server to specify the collation.
    (Bug#15276: http://bugs.mysql.com/15276)
  * The index_merge/Intersection optimizer could have a memory
    overrrun when the number of table columns covered by an index
    is sufficiently large, possibly resulting in a server crash.
    (Bug#16201: http://bugs.mysql.com/16201)
  * With max_sp_recursion set to 0, a stored procedure that
    executed a SHOW CREATE PROCEDURE statement for itself
    triggered a recursion limit exceeded error, though the
    statement involves no recursion.
    (Bug#21416: http://bugs.mysql.com/21416)
  * The optimizer could produce an incorrect result after AND with
    collations such as latin1_german2_ci, utf8_czech_ci, and
    utf8_lithianian_ci. (Bug#9509: http://bugs.mysql.com/9509)
  * Database and table names have a maximum length of 64
    characters (even if they contain multi-byte characters), but
    were being truncated to 64 bytes.
    (Bug#21432: http://bugs.mysql.com/21432)
  * character_set_results can be NULL to signify "no conversion,"
    but some code did not check for NULL, resulting in a server
    crash. (Bug#21913: http://bugs.mysql.com/21913)
  * InnoDB was slow with more than 100,000 .idb files.
    (Bug#21112: http://bugs.mysql.com/21112)
  * SHOW INNODB STATUS contained some duplicate output.
    (Bug#21113: http://bugs.mysql.com/21113)
  * Using cursors with READ COMMITTED isolation level could cause
    InnoDB to crash. (Bug#19834: http://bugs.mysql.com/19834)
  * The ndb_mgm program was included in both the MySQL-ndb-tools
    and MySQL-ndb-management RPM packages, resulting in a conflict
    if both were installed. Now ndb_mgm is included only in
    MySQL-ndb-tools. (Bug#21058: http://bugs.mysql.com/21058)
  * A query could produce different results with and without and
    index, if the WHERE clause contained a range condition that
    used an invalid DATETIME constant.
    (Bug#16249: http://bugs.mysql.com/16249)
  * libmysqld produced some warnings to stderr which could not be
    silenced. These warnings now are suppressed.
    (Bug#13717: http://bugs.mysql.com/13717)
  * The optimizer sometimes produced an incorrect row-count
    estimate after elimination of const tables. This resulted in
    choosing extremely inefficient execution plans in same cases
    when distribution of data in joins were skewed.
    (Bug#21390: http://bugs.mysql.com/21390)
  * Query results could be incorrect if the WHERE clause contained
    t.key_part NOT IN (val_list), where val_list is a list of more
    than 1000 constants. (Bug#21282: http://bugs.mysql.com/21282)
  * STR_TO_DATE() sometimes would return NULL if the %D format
    specifier was not the last specifier in the format string.
    (Bug#20987: http://bugs.mysql.com/20987)
  * The myisam_stats_method variable was mishandled when set from
    an option file or on the command line.
    (Bug#21054: http://bugs.mysql.com/21054)
  * The optimizer assumed that if (a=x AND b=x) is true, (a=x AND
    b=x) AND a=b is also true. But that is not always so if a and
    b have different data types.
    (Bug#21159: http://bugs.mysql.com/21159)
  * InnoDB did not honor IGNORE INDEX, which prevented using
    IGNORE INDEX in cases where an index sort would be slower than
    a filesort. (Bug#21174: http://bugs.mysql.com/21174)
  * If a column definition contained a character set declaration,
    but a DEFAULT value began with an introducer, the introducer
    character set was used as the column character set.
    (Bug#20695: http://bugs.mysql.com/20695)
  * The MD5(), SHA1(), and ENCRYPT() functions should return a
    binary string, but the result sometimes was converted to the
    character set of the argument. MAKE_SET() and EXPORT_SET() now
    use the correct character set for their default separators,
    resulting in consistent result strings which can be coerced
    according to normal character set rules.
    (Bug#20536: http://bugs.mysql.com/20536)
  * For connections that required a SUBJECT value, a check was
    performed to verify that the value was correct, but the
    connection was not refused if not.
    (Bug#20411: http://bugs.mysql.com/20411)
  * Some Linux-x86_64-icc packages (of previous releases)
    mistakenly contained 32-bit binaries. Only ICC builds are
    affected, not gcc builds. Solaris and FreeBSD x86_64 builds
    are not affected. (Bug#22238: http://bugs.mysql.com/22238)
  * INSERT ... SELECT sometimes generated a spurious Column count
    doesn't match value count error.
    (Bug#21774: http://bugs.mysql.com/21774)
  * For TIME_FORMAT(), the %H and %k format specifiers can return
    values larger than two digits (if the hour is greater than
    99), but for some query results that contained three-character
    hours, column values were truncated.
    (Bug#19844: http://bugs.mysql.com/19844)
  * For table-format output, mysql did not always calculate
    columns widths correctly for columns containing multi-byte
    characters in the column name or contents.
    (Bug#17939: http://bugs.mysql.com/17939)
  * Views could not be updated within a stored function or
    trigger. (Bug#17591: http://bugs.mysql.com/17591)
  * Some user-level level errors were being written to the
    server's error log, which is for server errors.
    (Bug#20402: http://bugs.mysql.com/20402)
  * When using tables created under MySQL 4.1 with a 5.0 server,
    if the tables contained VARCHAR columns, for some queries the
    metadata sent to the client could have an empty column name.
    (Bug#14897: http://bugs.mysql.com/14897)
  * On 64-bit systems, use of the cp1250 character set with a
    primary key column in a LIKE clause caused a server crash for
    patterns having letters in the range 128..255.
    (Bug#19741: http://bugs.mysql.com/19741)
  * N'xxx' and _utf8'xxx' were not treated as equivalent because
    N'xxx' failed to unescape backslashes (\) and doubled
    apostrophe/single quote characters ('').
    (Bug#17313: http://bugs.mysql.com/17313)
  * ORDER BY RAND() LIMIT 1 always set a user variable to the last
    possible value from the table.
    (Bug#16861: http://bugs.mysql.com/16861)
  * A subquery in the WHERE clause of the outer query and using IN
    and GROUP BY returned an incorrect result.
    (Bug#16255: http://bugs.mysql.com/16255)
  * When NOW() was used in a BETWEEN clause of the definition for
    a view, it was replaced with a constant in the view.
    (Bug#15950: http://bugs.mysql.com/15950)
  * A stored procedure with a CONTINUE handler that encountered an
    error continued to execute a statement that caused an error,
    rather with the next statement following the the one that
    caused the error. (Bug#8153: http://bugs.mysql.com/8153)
  * libmysqlclient defined a symbol BN_bin2bn which belongs to
    OpenSSL. This could break applications that also linked
    against OpenSSL's libcrypto library. The fix required
    correcting an error in a build script that was failing to add
    rename macros for some functions.
    (Bug#21930: http://bugs.mysql.com/21930)
  * COUNT(*) queries with ORDER BY and LIMIT could return the
    wrong result. (Bug#21787: http://bugs.mysql.com/21787)
    Note: This problem was introduced by the fix for
    Bug#9676: http://bugs.mysql.com/9676, which limited the rows
    stored in a temporary table to the LIMIT clause. This
    optimization is not applicable to non-group queries with
    aggregate functions. The current fix disables the optimization
    in such cases.
  * Memory overruns could occur for certain kinds of subqueries.
    (Bug#21477: http://bugs.mysql.com/21477)
  * The SELECT privilege was required for an insert on a view,
    instead of the INSERT privilege.
    (Bug#21261: http://bugs.mysql.com/21261)
    Note: This fixes a regression that was introduced by the fix
    for Bug#20989: http://bugs.mysql.com/20989.
  * Running SHOW MASTER LOGS at the same time as binary log files
    were being switched would cause mysqld to hang.
    (Bug#21965: http://bugs.mysql.com/21965)
  * A server or network failure with an open client connection
    would cause the client to hang even though the server was no
    longer available. (Bug#9678: http://bugs.mysql.com/9678)
  * Transient errors in replication from master to slave may
    trigger multiple Got fatal error 1236: 'binlog truncated in
    the middle of event' errors on the slave.
    (Bug#4053: http://bugs.mysql.com/4053)
  * Inserts into BIT columns of FEDERATED tables did not work.
    (Bug#14532: http://bugs.mysql.com/14532)
  * The yaSSL library bundled with libmysqlclient had some
    conflicts with OpenSSL. Now macros are used to rename the
    conflicting symbols to have a prefix of ya.
    (Bug#19810: http://bugs.mysql.com/19810)
  * It is possible to create MERGE tables into which data cannot
    be inserted (by not specifying a UNION clause. However, when
    an insert was attempted, the error message was confusing. Now
    an error occurs indicating that the table is read-only.
    (Bug#17766: http://bugs.mysql.com/17766)
  * A NUL byte within a prepared statement string caused the rest
    of the string not to be written to the query log, allowing
    logging to be bypassed.
    (Bug#21813: http://bugs.mysql.com/21813)
  * mysql_upgrade created temporary files in a possibly insecure
    way. (Bug#21224: http://bugs.mysql.com/21224)
  * Some prepared statements caused a server crash when executed a
    second time. (Bug#21166: http://bugs.mysql.com/21166)
  * With query_cache_type set to 0, RESET QUERY CACHE was very
    slow and other threads were blocked during the operation. Now
    a cache reset is faster and non-blocking.
    (Bug#21051: http://bugs.mysql.com/21051)
  * NDB Cluster: Setting TransactionDeadlockDetectionTimeout to a
    value greater than 12000 would cause scans to deadlock, time
    out, fail to release scan records, until the cluster ran out
    of scan records and stopped processing.
    (Bug#21800: http://bugs.mysql.com/21800)
  * NDB Cluster: The server provided a non-descriptive error
    message when encountering a fatally corrupted REDO log.
    (Bug#21615: http://bugs.mysql.com/21615)
  * NDB Cluster: A partial rollback could lead to node restart
    failures. (Bug#21536: http://bugs.mysql.com/21536)
  * NDB Cluster: The failure of a unique index read due to an
    invalid schema version could be handled incorrectly in some
    cases, leading to unpredictable results.
    (Bug#21384: http://bugs.mysql.com/21384)
  * NDB Cluster: In a cluster with more than 2 replicas, a manual
    restart of one of the data nodes could fail and cause the
    other nodes in its nodegroup to shut down.
    (Bug#21213: http://bugs.mysql.com/21213)
  * NDB Cluster: When the redo buffer ran out of space, a Pointer
    too large error was raised and the cluster could become
    unusable until restarted with --initial.
    (Bug#20892: http://bugs.mysql.com/20892)
  * NDB Cluster: In some situations with a high disk-load, writing
    of the redo log could hang, causing a crash with the error
    message GCP STOP detected.
    (Bug#20904: http://bugs.mysql.com/20904)
  * NDB Cluster: A vague error message was returned when reading
    of both schema files occurred during a restart of the cluster.
    (Bug#20860: http://bugs.mysql.com/20860)
  * NDB Cluster: The server did not honor the value set for
    ndb_cache_check_time in the my.cnf file.
    (Bug#20708: http://bugs.mysql.com/20708)
  * NDB Cluster: The server failed with a non-descriptive error
    message when out of data memory.
    (Bug#18475: http://bugs.mysql.com/18475)
  * NDB Cluster: ndb_size.pl and ndb_error_reporter were missing
    from RPM packages. (Bug#20426: http://bugs.mysql.com/20426)
  * When DROP DATABASE or SHOW OPEN TABLES was issued while
    concurrently issuing DROP TABLE (or RENAME TABLE, CREATE TABLE
    LIKE or any other statement that required a name lock) in
    another connection, the server crashed.
    (Bug#21216: http://bugs.mysql.com/21216)
  * Use of zero-length variable names caused a server crash.
    (Bug#20908: http://bugs.mysql.com/20908)
  * Prepared statements caused general log and server memory
    corruption. (Bug#14346: http://bugs.mysql.com/14346)
  * mysqldump incorrectly tried to use LOCK TABLES for tables in
    the INFORMATION_SCHEMA database.
    (Bug#21527: http://bugs.mysql.com/21527)
  * Adding ORDER BY to a SELECT DISTINCT(expr) query could produce
    incorrect results. (Bug#21456: http://bugs.mysql.com/21456)
  * For InnoDB tables, the server could crash when executing NOT
    IN () subqueries. (Bug#21077: http://bugs.mysql.com/21077)
  * Use of the --prompt option or prompt command caused mysql to
    be unable to connect to the Instance Manager.
    (Bug#17485: http://bugs.mysql.com/17485)
  * The server crashed if it tried to access a CSV table for which
    the data file had been removed.
    (Bug#15205: http://bugs.mysql.com/15205)
  * CREATE USER did not respect the 16-character username limit.
    (Bug#10668: http://bugs.mysql.com/10668)
  * On Windows, a definition for mysql_set_server_option() was
    missing from the C client library.
    (Bug#16513: http://bugs.mysql.com/16513)
  * For the CSV storage engine, memory-mapped pages of the data
    file were not invalidated when new data was appended to the
    file via traditional (file descriptor-based) I/O primitives.
    (Bug#15669: http://bugs.mysql.com/15669)
  * In debugging mode, mysqld printed server_init rather than
    network_init during network initialization.
    (Bug#20968: http://bugs.mysql.com/20968)
  * For user-defined functions created with CREATE FUNCTION, the
    DEFINER clause is not legal, but no error was generated.
    (Bug#21269: http://bugs.mysql.com/21269)
  * mysqld --flush failed to flush changes to disk following an
    UPDATE statement for which no updated column had an index.
    (Bug#20060: http://bugs.mysql.com/20060)
  * When not running in strict mode, the server failed to convert
    the invalid years portion of a DATE or DATETIME value to
    '0000' when inserting it into a table.
    (Bug#19370: http://bugs.mysql.com/19370)
  * Setting myisam_repair_threads caused any repair operation on
    the table to fail to update the cardinality of indexes,
    instead making them always equal to 1.
    (Bug#18874: http://bugs.mysql.com/18874)
  * The --with-collation option was not honored for client
    connections. (Bug#7192: http://bugs.mysql.com/7192)
  * Users who had the SHOW VIEW privilege for a view and
    privileges on one of the view's base table could not see
    records in INFORMATION_SCHEMA tables relating to the base
    table. (Bug#20543: http://bugs.mysql.com/20543)
  * An issue with yaSSL prevented Connector/J clients from
    connecting to the server using a certificate.
    (Bug#19705: http://bugs.mysql.com/19705)
  * Some server errors were not reported to the client, causing
    both to try to read from the connection until a hang or crash
    resulted. (Bug#16581: http://bugs.mysql.com/16581)
  * When setting a column to its implicit default value as the
    result of inserting a NULL into a NOT NULL column as part of a
    multi-row insert or LOAD DATA operation, the server returned a
    misleading warning message.
    (Bug#14770: http://bugs.mysql.com/14770)
  * DECIMAL columns were handled incorrectly in two respects
    (Bug#16172: http://bugs.mysql.com/16172):
      1. When the precision of the column was too small for the
         value. In this case, the original value was returned
         instead of an error.
      2. When the scale of the column was set to 0. In this case,
         the value. In this case, the value was treated as though
         the scale had been defined as 2.
  * Tables created with the FEDERATED storage engine did not
    permit indexes using NULL columns.
    (Bug#15133: http://bugs.mysql.com/15133)
  * The Instance Manager allowed STOP INSTANCE to be used on a
    server instance that was not running.
    (Bug#12673: http://bugs.mysql.com/12673)
  * On Windows, mysql_upgrade.exe could not find mysqlcheck.exe.
    (Bug#20950: http://bugs.mysql.com/20950)
  * FEDERATED tables raised invalid duplicate key errors when
    attempting on one server to insert rows having the same
    primary key values as rows that had been deleted from the
    linked table on the other server.
    (Bug#18764: http://bugs.mysql.com/18764)
  * The C API failed to return a status message when invoking a
    stored procedure. (Bug#15752: http://bugs.mysql.com/15752)
  * A stored procedure that created and invoked a prepared
    statement was not executed when called in a mysqld init-file.
    (Bug#17843: http://bugs.mysql.com/17843)
  * Stored procedures did not use the character set defined for
    the database in which they were created.
    (Bug#16676: http://bugs.mysql.com/16676)
  * CREATE PROCEDURE, CREATE FUNTION, CREATE TRIGGER, and CREATE
    VIEW statements containing multi-line comments (/* ... */)
    could not be replicated.
    (Bug#20438: http://bugs.mysql.com/20438)
  * The final parenthesis of a CREATE INDEX statement occurring in
    a stored procedure was omitted from the binary log when the
    stored procedure was called.
    (Bug#19207: http://bugs.mysql.com/19207)
  * Attempting to insert a string of greater than 4096 bytes into
    a FEDERATED table resulted in the error ERROR 1296 (HY000) at
    line 2: Got error 10000 'Error on remote system: 1054: Unknown
    column 'string-value' from FEDERATED. This error was raised
    regardless of the type of column involved (VARCHAR, TEXT, and
    so on.) (Bug#17608: http://bugs.mysql.com/17608)
  * Performance during an import on a table with a trigger that
    called a stored procedure was severely degraded. This issue
    first arose in MySQL 5.0.18.
    (Bug#21013: http://bugs.mysql.com/21013)
  * Repeated DROP TABLE statements in a stored procedure could
    sometimes cause the server to crash.
    (Bug#19399: http://bugs.mysql.com/19399)
  * The value returned by a stored function returning a string
    value was not of the declared character set.
    (Bug#16211: http://bugs.mysql.com/16211)
  * For mysql, escaping with backslash sometimes did not work.
    (Bug#20103: http://bugs.mysql.com/20103)
  * Under certain circumstances, AVG(key_val) returned a value but
    MAX(key_val) returned an empty set due to incorrect
    application of MIN()/MAX() optimization.
    (Bug#20954: http://bugs.mysql.com/20954)
  * Using aggregate functions in subqueries yielded incorrect
    results under certain circumstances due to incorrect
    application of MIN()/MAX() optimization.
    (Bug#20792: http://bugs.mysql.com/20792)
  * A query using WHERE column = constant OR column IS NULL did
    not return consistent results on successive invocations. The
    column in each part of the WHERE clause could be either the
    same column, or two different columns, for the effect to be
    observed. (Bug#21091: http://bugs.mysql.com/21091)
  * The PASSWORD() function returned invalid results when used in
    some UNION queries. (Bug#16881: http://bugs.mysql.com/16881)
  * USE did not refresh database privileges when employed to
    re-select the current database.
    (Bug#10979: http://bugs.mysql.com/10979)
  * A query using WHERE NOT (column < ANY (subquery)) yielded a
    different result from the same query using the same column and
    subquery with WHERE (column > ANY (subquery)).
    (Bug#20975: http://bugs.mysql.com/20975)
  * A user variable set to a value selected from an unsigned
    column was stored as a signed value.
    (Bug#7498: http://bugs.mysql.com/7498)
  * SELECT statements using GROUP BY against a view could have
    missing columns in the output when there was a trigger defined
    on one of the base tables for the view.
    (Bug#20466: http://bugs.mysql.com/20466)
  * A SELECT with a subquery that was bound to the outer query
    over multiple columns returned different results when a
    constant was used instead of one of the dependant columns.
    (Bug#18925: http://bugs.mysql.com/18925)
  * When performing a GROUP_CONCAT(), the server transformed BLOB
    columns VARCHAR columns, which could cause erroneous results
    when using Connector/J and possibly other MySQL APIs.
    (Bug#16712: http://bugs.mysql.com/16712)
  * The type of the value returned by the VARIANCE() function
    varied according to the type of the input value. The function
    should always return a DOUBLE value.
    (Bug#10966: http://bugs.mysql.com/10966)
  * Performing an INSERT on a view that was defined using a SELECT
    that specified a collation and a column alias caused the
    server to crash (Bug#21086: http://bugs.mysql.com/21086).
  * A query of the form shown here caused the server to crash:
       SELECT * FROM t1 NATURAL JOIN (
           t2 JOIN (
               t3 NATURAL JOIN t4,
               t5 NATURAL JOIN t6
           )
           ON (t3.id3 = t2.id3 AND t5.id5 = t2.id5)
       );
    (Bug#21007: http://bugs.mysql.com/21007)
  * NDB Cluster (Direct APIs): Invoking the MGM API function
    ndb_mgm_listen_event() caused a memory leak.
    (Bug#21671: http://bugs.mysql.com/21671)
  * NDB Cluster (Direct APIs): The MGM API function
    ndb_logevent_get_fd() was not actually implemented.
    (Bug#21129: http://bugs.mysql.com/21129)
  * A memory leak was found when running ndb_mgm -e "SHOW".
    (Bug#21670: http://bugs.mysql.com/21670)
  * NDB Cluster: Restarting a data node while DDL operations were
    in progress on the cluster could cause other data nodes to
    fail. This could also lead to mysqld hanging or crashing under
    some circumstances. (Bug#21017: http://bugs.mysql.com/21017,
    Bug#21050: http://bugs.mysql.com/21050)
  * NDB Cluster: An issue that arose from a patch for
    Bug#19852: http://bugs.mysql.com/19852 made in MySQL 5.0.23
    was corrected. (See Section D.1.6, "Changes in release 5.0.23
    (Not released).")
  * NDB Cluster: The management client ALL STATUS command could
    sometimes report the status of some data nodes incorrectly.
    (Bug#13985: http://bugs.mysql.com/13985)
  * NDB Cluster: Some queries involving joins on very large NDB
    tables could crash the MySQL server.
    (Bug#21059: http://bugs.mysql.com/21059)
  * NDB Cluster: SELECT ... FOR UPDATE failed to lock the selected
    rows. (Bug#18184: http://bugs.mysql.com/18184)
  * NDB Cluster: A Cluster whose storage nodes were installed from
    the MySQL-ndb-storage-* RPMs could not perform CREATE or ALTER
    operations that made use of non-default character sets or
    collations. (Bug#14918: http://bugs.mysql.com/14918)
  * NDB Cluster: REPLACE statements did not work correctly on an
    NDB table having both a primary key and a unique key. In such
    cases, proper values were not set for columns which were not
    explicitly referenced in the statement.
    (Bug#20728: http://bugs.mysql.com/20728)
  * NDB Cluster: Trying to create or drop a table while a node was
    restarting caused the node to crash. This is now handled by
    raising an error. (Bug#18781: http://bugs.mysql.com/18781)
  * NDB Cluster: Running ndbd --nowait-nodes=id where id was the
    node ID of a node that was already running would fail with an
    invalid error message.
    (Bug#20419: http://bugs.mysql.com/20419)
  * NDB Cluster: Incorrect values were inserted into
    AUTO_INCREMENT columns of tables restored from a cluster
    backup. (Bug#20820: http://bugs.mysql.com/20820)
  * NDB Cluster: When attempting to restart the cluster following
    a data import, the cluster would fail during Phase 4 of the
    restart with Error 2334: Job buffer congestion.
    (Bug#20774: http://bugs.mysql.com/20774)
  * NDB Cluster: A node failure during a scan could sometime cause
    the node to crash when restarting too quickly following the
    failure. (Bug#20197: http://bugs.mysql.com/20197)
  * NDB Cluster: It was possible to use port numbers greater than
    65535 for ServerPort in the config.ini file.
    (Bug#19164: http://bugs.mysql.com/19164)
  * NDB Cluster: Under certain circumstances, a node that was shut
    down then restarted could hang during the restart.
    (Bug#18863: http://bugs.mysql.com/18863)
  * NDB Cluster (Replication): In some cases, a large number of
    MySQL servers sending requests to the cluster simultaneously
    could cause the cluster to crash. This could also be triggered
    by many NDB API clients making simultaneous event
    subscriptions or unsubscriptions.
    (Bug#20683: http://bugs.mysql.com/20683)
  * NDB Cluster (Direct APIs): NdbScanOperation::readTuples() and
    NdbIndexScanOperation::readTuples() ignored the batch
    parameter. (Bug#20252: http://bugs.mysql.com/20252)
  * The implementation for UNCOMPRESS() did not indicate that it
    could return NULL, causing the optimizer to do the wrong
    thing. (Bug#18539: http://bugs.mysql.com/18539)
  * TIMESTAMPDIFF() examined only the date and ignored the time
    when the requested difference unit was months or quarters.
    (Bug#16226: http://bugs.mysql.com/16226)
  * perror did not properly report NDB error codes.
    (Bug#16561: http://bugs.mysql.com/16561)
  * mysqlimport sends a set @@character_set_database=binary
    statement to the server, but this is not understood by pre-4.1
    servers. Now mysqlimport encloses the statement within a
    /*!40101 ... */ comment so that old servers will ignore it.
    (Bug#15690: http://bugs.mysql.com/15690)
  * The character set was not being properly initialized for
    CAST() with a type like CHAR(2) BINARY, which resulted in
    incorrect results or even a server crash.
    (Bug#17903: http://bugs.mysql.com/17903)
  * For ODBC compatibility, MySQL supports use of WHERE col_name
    IS NULL for DATE or DATETIME columns that are NOT NULL, to
    allow column values of '0000-00-00' or '0000-00-00 00:00:00'
    to be selected. However, this was not working for WHERE
    clauses in DELETE statements.
    (Bug#8143: http://bugs.mysql.com/8143)
  * The --master-data option for mysqldump requires certain
    privileges, but mysqldump generated a truncated dump file
    without producing an appropriate error message or exit status
    if the invoking user did not have those privileges.
    (Bug#21215: http://bugs.mysql.com/21215)
  * ALTER VIEW did not retain existing values of attributes that
    had been originally specified but were not changed in the
    ALTER VIEW statement. (Bug#21080: http://bugs.mysql.com/21080)
  * mysql crashed for very long arguments to the connect command.
    (Bug#21042: http://bugs.mysql.com/21042)
  * perror crashed on Solaris due to NULL return value of
    strerror() system call.
    (Bug#20145: http://bugs.mysql.com/20145)
  * The query command for mysqltest did not work.
    (Bug#19890: http://bugs.mysql.com/19890)
  * For certain queries, the server incorrectly resolved a
    reference to an aggregate function and crashed.
    (Bug#20868: http://bugs.mysql.com/20868)
  * When executing a SELECT with ORDER BY on a view that is
    constructed from a SELECT statement containing a stored
    function, the stored function was evaluated too many times.
    (Bug#19862: http://bugs.mysql.com/19862)
  * Subqueries on INFORMATION_SCHEMA tables could erroneously
    return an empty result.
    (Bug#21231: http://bugs.mysql.com/21231)
  * On 64-bit Windows, a missing table generated error 1017, not
    the correct value of 1146.
    (Bug#21396: http://bugs.mysql.com/21396)
  * The same trigger error message was produced under two
    conditions: The trigger duplicated an existing trigger name,
    or the trigger duplicated an existing combination of action
    and event. Now different messages are produced for the two
    conditions so as to be more informative.
    (Bug#10946: http://bugs.mysql.com/10946)
  * Multiplication of DECIMAL values could produce incorrect
    fractional part and trailing garbage caused by signed
    overflow. (Bug#20569: http://bugs.mysql.com/20569)
  * A subquery that contained LIMIT N,1 could return more than one
    row. (Bug#20519: http://bugs.mysql.com/20519)
  * DESCRIBE returned the type BIGINT for a column of a view if
    the column was specified by an expression over values of the
    type INT. (Bug#19714: http://bugs.mysql.com/19714)
  * Multiple invocations of the REVERSE() function could return
    different results. (Bug#18243: http://bugs.mysql.com/18243)
  * Using > ALL with subqueries that return no rows yielded
    incorrect results under certain circumstances due to incorrect
    application of MIN()/MAX() optimization.
    (Bug#18503: http://bugs.mysql.com/18503)
  * Using ANY with "non-table" subqueries such as SELECT 1 yielded
    incorrect results under certain circumstances due to incorrect
    application of MIN()/MAX() optimization.
    (Bug#16302: http://bugs.mysql.com/16302)
  * When a row was inserted through a view but did not specify a
    value for a column that had no default value in the base
    table, no warning or error occurred. Now a warning occurs, or
    an error in strict SQL mode.
    (Bug#16110: http://bugs.mysql.com/16110)
  * The use of WHERE col_name IS NULL in SELECT statements reset
    the value of LAST_INSERT_ID() to zero.
    (Bug#14553: http://bugs.mysql.com/14553)
  * The server crashed when using the range access method to
    execut a subquery with a ORDER BY DESC clause.
    (Bug#20869: http://bugs.mysql.com/20869)
  * Use of the join cache in favor of an index for ORDER BY
    operations could cause incorrect result sorting.
    (Bug#17212: http://bugs.mysql.com/17212)
  * A user-defined function that is called on each row of a
    returned result set, could receive an in_null state that is
    set, if it was set previously. Now, the is_null state is reset
    to false before each invocation of a UDF.
    (Bug#19904: http://bugs.mysql.com/19904)
  * Referring to a stored function qualified with the name of one
    database and tables in another database caused a "table
    doesn't exist" error. (Bug#18444: http://bugs.mysql.com/18444)
  * For NDB and possibly InnoDB tables, a BEFORE UPDATE trigger
    could insert incorrect values.
    (Bug#18437: http://bugs.mysql.com/18437)
  * Triggers on tables in the mysql database caused a server
    crash. Triggers for tables in this database now are
    disallowed. (Bug#18361: http://bugs.mysql.com/18361)
  * The length of the pattern string prefix for LIKE operations
    was calculated incorrectly for multi-byte character sets. As a
    result, the the scanned range was wider than necessary if the
    prefix contained any multi-byte characters, and rows could be
    missing from the result set.
    (Bug#16674: http://bugs.mysql.com/16674,
    Bug#18359: http://bugs.mysql.com/18359)
  * For very complex SELECT statements could create temporary
    tables that were too big, but for which the temporary files
    did not get removed, causing subsequent queries to fail.
    (Bug#11824: http://bugs.mysql.com/11824)
  * For spatial data types, the server formerly returned these as
    VARSTRING values with a binary collation. Now the server
    returns spatial values as BLOB values.
    (Bug#10166: http://bugs.mysql.com/10166)
  * Using SELECT and a table join while running a concurrent
    INSERT operation would join incorrect rows.
    (Bug#14400: http://bugs.mysql.com/14400)
  * Using SELECT on a corrupt table using the dynamic record
    format could cause a server crash.
    (Bug#19835: http://bugs.mysql.com/19835)
  * Using tables from MySQL 4.x in MySQL 5.x, in particular those
    with VARCHAR fields and using INSERT DELAYED to update data in
    the table would result in either data corruption or a server
    crash. (Bug#16611: http://bugs.mysql.com/16611,
    Bug#16218: http://bugs.mysql.com/16218,
    Bug#17294: http://bugs.mysql.com/17294)
  * Checking a MyISAM table (using CHECK TABLE) having a spatial index
    and only one row would wrongly indicate that the table was
    corrupted. (Bug#17877: http://bugs.mysql.com/17877)
  * SHOW GRANTS FOR CURRENT_USER did not return definer grants
    when executed in DEFINER context (such as within a stored
    prodedure defined with SQL SECURITY DEFINER), it returned the
    invoker grants. (Bug#15298: http://bugs.mysql.com/15298)
  * For SELECT ... FOR UPDATE statements that used DISTINCT or
    GROUP BY over all key parts of a unique index (or primary
    key), the optimizer unnecessarily created a temporary table,
    thus losing the linkage to the underlying unique index values.
    This caused a Result set not updatable error. (The temporary
    table is unnecessary because under these circumstances the
    distinct or grouped columns must also be unique.)
    (Bug#16458: http://bugs.mysql.com/16458)
  * The first time a user who had been granted the CREATE ROUTINE
    privilege used that privilege to create a stored function or
    procedure, the Password column in that user's row in the
    mysql.user table was set to NULL.
    (Bug#19857: http://bugs.mysql.com/19857)
  * Creation of a view as a join of views or tables could fail if
    the views or tables are in different databases.
    (Bug#20482: http://bugs.mysql.com/20482)
  * Use of MIN() or MAX() with GROUP BY on a ucs2 column could
    cause a server crash. (Bug#20076: http://bugs.mysql.com/20076)
  * INSERT INTO ... SELECT ... LIMIT 1 could be slow because the
    LIMIT was ignored when selecting candidate rows.
    (Bug#9676: http://bugs.mysql.com/9676)
  * Certain queries having a WHERE clause that included conditions
    on multi-part keys with more than 2 key parts could produce
    incorrect results and send [Note] Use_count: Wrong count for
    key at... messages to STDERR.
    (Bug#16168: http://bugs.mysql.com/16168)
  * The mysql_list_fields() C API function returned the incorrect
    table name for views. (Bug#19671: http://bugs.mysql.com/19671)
  * A cast problem caused incorrect results for prepared
    statements that returned float values when MySQL was compiled
    with gcc 4.0. (Bug#19694: http://bugs.mysql.com/19694)
  * Updating a column of a FEDERATED table to NULL sometimes
    failed. (Bug#16494: http://bugs.mysql.com/16494)

Enjoy!
Joerg

--
Joerg Bruehe, Senior Production Engineer
MySQL AB, www.mysql.com






--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to