Functionality added or changed:
MySQL Cluster: 
        The InnoDB, NDB,
        BDB, and ARCHIVE storage
        engines now support spatial columns. See
        Section 11.12, “Spatial Extensions”.
      
Replication: 
        Added a --hexdump option to
        mysqlbinlog that displays a hex dump of the
        log in comments. This output can be helpful for replication
        debugging.
      
        When a date column is set NOT NULL and
        contains 0000-00-00, it will be updated for
        UPDATE statements that contains 
         in the
        WHERE clause.
       (Bug#14186)columnname IS NULL
        When trying to run the server with yaSSL enabled, MySQL now
        tries to open /dev/random automatically if
        /dev/urandom is not available.
       (Bug#13164)
        MySQL 5.0 now supports character set conversion for
        seven additional cp950 characters into the
        big5 character set:
        0xF9D6, 0xF9D7,
        0xF9D8, 0xF9D9,
        0xF9DA, 0xF9DB, and
        0xF9DC.
      
If you move data containing these additional characters to an older MySQL installation which does not support them, you may encounter errors.
        You must now declare a prefix for an index on any column of any
        Geometry class, the only exception being when
        the column is a POINT.
       (Bug#12267)
        The read_only system variable
        no longer applies to TEMPORARY tables.
       (Bug#4544)
        Due to changes in binary logging, the restrictions on which
        stored routine creators can be trusted not to create unsafe
        routines have been lifted for stored procedures (but not stored
        functions). Consequently, the
        log_bin_trust_routine_creators system
        variable and the corresponding
        --log-bin-trust-routine-creators server option
        were renamed to
        log_bin_trust_function_creators
        and --log-bin-trust-function-creators. For
        backward compatibility, the old names are recognized but result
        in a warning. See Section 18.5, “Binary Logging of Stored Programs”.
      
        The CHECK TABLE statement now
        works for ARCHIVE tables.
      
        In MySQL 5.0.13, syntax for DEFINER and
        SQL SECURITY clauses was added to the
        CREATE VIEW and
        ALTER VIEW statements, but the
        clauses had no effect. They now are enabled. They specify the
        security context to be used when checking access privileges at
        view invocation time. See Section 12.1.12, “CREATE VIEW Syntax”, for
        more information.
      
        Added the Compression status
        variable, which indicates whether the client connection uses
        compression in the client/server protocol.
      
Bugs fixed:
MySQL Cluster: 
        Repeated transactions using unique index lookups could cause a
        memory leak leading to error 288, Out of index
        operations in transaction coordinator.
       (Bug#14199)
MySQL Cluster: A memory leak occurred when performing ordered index scans using indexes on columns larger than 32 bytes. This would eventually lead to the forced shutdown of all mysqld server processes used with the cluster. (Bug#13078)
For some stored functions dumped by mysqldump --routines, the function definition could not be reloaded later due to a parsing error. (Bug#14723)
        Deletes from a CSV table could cause table
        corruption.
       (Bug#14672)
        Executing REPAIR TABLE,
        ANALYZE TABLE, or
        OPTIMIZE TABLE on a view for
        which an underlying table had been dropped caused a server
        crash.
       (Bug#14540)
mysqlmanager did not start up correctly on Windows 2003. (Bug#14537)
Selecting from a table in both an outer query and a subquery could cause a server crash. (Bug#14482)
        ORDER BY DESC within the
        GROUP_CONCAT() function was not
        honored when used in a view.
       (Bug#14466)
The input polling loop for Instance Manager did not sleep properly. Instance Manager used up too much CPU as a result. (Bug#14388)
        Indexes for BDB tables were being limited
        incorrectly to 255 bytes.
       (Bug#14381)
        The mysql parser did not properly strip the
        delimiter from input lines less than nine characters long. For
        example, this could cause USE abc; to result
        in an Unknown database: abc; error.
       (Bug#14358)
        The displayed value for the
        CHARACTER_MAXIMUM_LENGTH column in the
        INFORMATION_SCHEMA.COLUMNS table
        was not adjusted for multi-byte character sets.
       (Bug#14290)
        The parser did not correctly recognize wildcards in the host
        part of the DEFINER user in
        CREATE VIEW statements.
       (Bug#14256)
        Memory corruption and a server crash could be caused by
        statements that used a cursor and generated a result set larger
        than max_heap_table_size.
       (Bug#14210)
        A bug fix in MySQL 5.0.15 caused the displayed values for the
        CHARACTER_MAXIMUM_LENGTH and
        CHARACTER_OCTET_LENGTH columns in the
        INFORMATION_SCHEMA.COLUMNS table to
        be reversed.
       (Bug#14207)
        Statements of the form
        CREATE TABLE ...
        SELECT ... that created a column with a multi-byte
        character set could incorrectly calculate the maximum length of
        the column, resulting in a Specified key was too
        long error.
       (Bug#14139)
        Use of WITH ROLLUP PROCEDURE ANALYSE() could
        hang the server.
       (Bug#14138)
        On Windows, the value of
        character_sets_dir in
        SHOW VARIABLES output was
        displayed inconsistently (using both
        “/” and
        “\” as path name component
        separators).
       (Bug#14137)
        A comparison with an invalid date (such as WHERE
        )
        caused any index on col_name > '2005-09-31'col_name not to
        be used and a string comparison for each row, resulting in slow
        performance.
       (Bug#14093)
        Subqueries in the FROM clause failed if the
        current database was INFORMATION_SCHEMA.
       (Bug#14089)
        For InnoDB tables, using a column prefix for
        a utf8 column in a primary key caused
        Cannot find record errors when attempting to
        locate records.
       (Bug#14056)
Some updatable views could not be updated. (Bug#14027)
A prepared statement that selected from a view processed using the merge algorithm could crash on the second execution. (Bug#14026)
        When the DATE_FORMAT() function
        appeared in both the SELECT and
        ORDER BY clauses of a query but with
        arguments that differ by case (for example,
        %m and %M), incorrect
        sorting may have occurred.
       (Bug#14016)
        TIMEDIFF(),
        ADDTIME(), and
        STR_TO_DATE() were not reporting
        that they could return NULL, so functions
        that invoked them might misinterpret their results.
       (Bug#14009)
        Within stored routines, REPLACE()
        could return an empty string (rather than the original string)
        when no replacement was done, and
        IFNULL() could return garbage
        results.
       (Bug#13941)
        Inserting a new row into an InnoDB table
        could cause DATETIME values
        already stored in the table to change.
       (Bug#13900)
        An update of a CSV table could cause a server
        crash.
       (Bug#13894)
        Corrected a parser precedence problem that resulted in an
        Unknown column ... in 'on clause' error for
        some joins.
       (Bug#13832)
        Trying to take the logarithm of a negative value is now handled
        in the same fashion as division by zero. That is, it produces a
        warning when
        ERROR_FOR_DIVISION_BY_ZERO is
        set, and an error in strict mode.
       (Bug#13820)
        The example configuration files supplied with MySQL
        distributions listed the
        thread_cache_size variable as
        thread_cache.
       (Bug#13811)
        mysqld_safe did not correctly start the
        -max version of the server (if it was
        present) if the --ledir option was given.
       (Bug#13774)
        SHOW CREATE TABLE did not display
        the CONNECTION string for
        FEDERATED tables.
       (Bug#13724)
        For a MyISAM table originally created in
        MySQL 4.1, INSERT DELAYED could
        cause a server crash.
       (Bug#13707)
        The server incorrectly accepted column definitions of the form
        DECIMAL(0, for
        D)D less than 11.
       (Bug#13667)
Trying to create a stored routine with no database selected would crash the server. (Bug#13587, Bug#13514)
        Inserts of too-large DECIMAL
        values were handled inconsistently (sometimes set to the maximum
        DECIMAL value, sometimes set to
        0).
       (Bug#13573)
        TIMESTAMPDIFF() returned an
        incorrect result if one argument but not the other was a leap
        year and a date was from March or later.
       (Bug#13534)
        Specifying --default-character-set=cp-932 for
        mysqld would cause SQL scripts containing
        comments written using that character set to fail with a syntax
        error.
       (Bug#13487)
        Use of  in the
        col_name =
        VALUES(col_name)ON DUPLICATE KEY UPDATE clause of an
        INSERT statement failed with an
        Column ' error.
       (Bug#13392)col_name' in field
        list is ambiguous
        The default value of
        query_prealloc_size was set to
        8192, lower than its minimum of 16384. The minimum has been
        lowered to 8192.
       (Bug#13334)
        InnoDB: When dropping and adding a
        PRIMARY KEY, if a loose index scan using only
        the second part of multiple-part index was chosen, incorrect
        keys were created and an endless loop resulted.
       (Bug#13293)
mysqladmin and mysqldump would hang on SCO OpenServer. (Bug#13238)
        SELECT DISTINCT
        CHAR( returned
        incorrect results after col_name)SET NAMES utf8.
       (Bug#13233)
For queries with nested outer joins, the optimizer could choose join orders that query execution could not handle. The fix is that now the optimizer avoids choosing such join orders. (Bug#13126)
        The server did not take character set into account in checking
        the width of the mysql.user.Password column.
        As a result, it could incorrectly generate long password hashes
        even if the column was not long enough to hold them.
       (Bug#13064)
        The source distribution failed to compile when configured with
        the --without-geometry option.
       (Bug#12991)
        Use of the deprecated --sql-bin-update-same
        option caused a server crash.
       (Bug#12974)
        Maximum values were handled incorrectly for command-line options
        of type GET_LL.
       (Bug#12925)
        mysqldump could not dump views if the
        -x option was given.
       (Bug#12838)
        Two threads that were creating triggers on an
        InnoDB table at the same time could deadlock.
       (Bug#12739)
        InnoDB: Large
        innobase_buffer_pool_size and
        innobase_log_file_size values were displayed
        incorrectly on 64-bit systems.
       (Bug#12701)
        For LIKE ... ESCAPE, an escape sequence
        longer than one character was accepted as valid. Now the
        sequence must be empty or one character long. If the
        NO_BACKSLASH_ESCAPES SQL mode
        is enabled, the sequence must be one character long.
       (Bug#12595)
        Inserting cp932 strings into a
        VARCHAR column caused a server
        crash rather than string truncation if the string was longer
        than the column definition.
       (Bug#12547)
        A prepared statement failed with Illegal mix of
        collations if the client character set was
        utf8 and the statement used a table that had
        a character set of latin1.
       (Bug#12371)
        Using ALTER TABLE to add an index
        could fail if the operation ran out of temporary file space. Now
        it automatically makes a second attempt that uses a slower
        method but no temporary file. In this case, problems that
        occurred during the first attempt can be displayed with
        SHOW WARNINGS.
       (Bug#12166)
        mysqlimport now issues a SET
        @@character_set_database = binary statement before
        loading data so that a file containing mixed character sets
        (columns with different character sets) can be loaded properly.
       (Bug#12123)
        Running OPTIMIZE TABLE and other
        data-updating statements concurrently on an
        InnoDB table could cause a crash or the
        following warnings in the error log: Warning: Found
        locks from different threads in write: enter
        write_lock, Warning: Found locks from
        different threads in write: start of release lock.
       (Bug#11704)
        LOAD DATA
        INFILE would not accept the same character for both
        the ESCAPED BY and the ENCLOSED
        BY clauses.
       (Bug#11203)
        The value of Last_query_cost
        was not updated for queries served from the query cache.
       (Bug#10303)
        Starting mysqld with the
        --skip-innodb
        and
        --default-storage-engine=innodb
        (or --default-table-type=innodb
        caused a server crash.
       (Bug#9815)
        The --exit-info=65536 option conflicted with
        --temp-pool and caused problems
        with the server's use of temporary files. Now
        --temp-pool is ignored if
        --exit-info=65536 is specified.
       (Bug#9551)
        For a user that has the SELECT
        privilege on a view, the server erroneously was also requiring
        the user to have the EXECUTE
        privilege at view execution time for stored functions used in
        the view definition.
       (Bug#9505)
        Where one stored procedure called another stored procedure: If
        the second stored procedure generated an exception, the
        exception was not caught by the calling stored procedure. For
        example, if stored procedure A used an
        EXIT statement to handle an exception,
        subsequent statements in A would be executed
        regardless when A was called by another
        stored procedure B, even if an exception that
        should have been handled by the EXIT was
        generated in A.
       (Bug#7049)
On Windows, the server was not ignoring hidden or system directories that Windows may have created in the data directory, and would treat them as available databases. (Bug#4375)

User Comments
Add your own comment.