LWN.net Logo

MySQL 5.0.17 has been released

From:  Joerg Bruehe <joerg-AT-mysql.com>
To:  announce-AT-lists.mysql.com, MySQL General List <mysql-AT-lists.mysql.com>, packagers-AT-lists.mysql.com
Subject:  MySQL 5.0.17 has been released
Date:  Mon, 19 Dec 2005 20:27:53 +0100
Archive-link:  Article, Thread

Hi,

MySQL 5.0.17, a new version of the popular Open Source Database
Management System, has been released. The Community Edition is now
available in source and binary form for a number of platforms from our
download pages at
     http://dev.mysql.com/downloads/
and mirror sites.

Note that not all mirror sites may be up to date at this point in time -
if you can't find this version on some mirror, please try again later or
choose another download site.

This is a bugfix release for the current production version.

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:
    * The syntax for CREATE TRIGGER now includes a DEFINER clause for
      specifying which access privileges to check at trigger invocation
      time.  See  Section  18.1,  "CREATE  TRIGGER  Syntax" for more
      information.
    * Added a DEFINER column to the INFORMATION_SCHEMA.TRIGGERS table.
    * Invoking a stored function or trigger creates a new savepoint
      level. When the function or trigger finishes, the previous
      savepoint level is restored.
      (See Bug #13825 (http://bugs.mysql.com/13825) for more
      information.)
    * Recursion  is  allowed  in stored procedures. Recursive stored
      functions  and  triggers  still  are  disallowed.
      (Bug#10100 (http://bugs.mysql.com/10100))
    * In the latin5_turkish_ci collation, the order of the characters
      A WITH CIRCUMFLEX,  I WITH CIRCUMFLEX, and U WITH CIRCUMFLEX was
      changed. If you have used these characters in any indexed columns,
      you  should  rebuild  those  indexes.
      (Bug#13421 (http://bugs.mysql.com/13421))

Bugs fixed:
    * NDB Cluster: Using ORDER BY primary_key_column when selecting from
      a table having the primary key on a VARCHAR column caused a forced
      shutdown of the cluster.
      (Bug #14828 (http://bugs.mysql.com/14828),
      Bug #15240 (http://bugs.mysql.com/15240),
      Bug #15682 (http://bugs.mysql.com/15682),
      Bug #15517 (http://bugs.mysql.com/15517))
    * NDB Cluster: Under certain circumstances, when mysqld connects to a
      cluster management server, the connection would fail before a node
      ID could be allocated. (Bug #15215 (http://bugs.mysql.com/15215))
    * NDB Cluster: There was a small window for a node failure to occur
      during  a  backup without an error being reported.
      (Bug #15425 (http://bugs.mysql.com/15425))
    * mysql --help was missing a newline after the version string when
      the bundled  readline  library  was  not  used.
      (Bug #15097 (http://bugs.mysql.com/15097))
    * Implicit versus explicit conversion of float to integer (such as
      inserting a float value into an integer column versus using
      CAST(... AS UNSIGNED before inserting the value) could produce
      different results. Implicit and explicit typecasts now are done the
      same way, with a value equal to the nearest integer according to
      the prevailing rounding mode.
      (Bug #12956 (http://bugs.mysql.com/12956))
    * GROUP  BY  on  a view column did not correctly account for the
      possibility that the column could contain NULL values.
      (Bug #14850 (http://bugs.mysql.com/14850))
    * ANALYZE TABLE did not properly update table statistics for a MyISAM
      table with a FULLTEXT index containing stopwords, so a subsequent
      ANALYZE TABLE would not recognize the table as having already been
      analyzed. (Bug #14902 (http://bugs.mysql.com/14902))
    * The maximum value of MAX_ROWS was handled incorrectly on 64-bit
      systems. (Bug #14155 (http://bugs.mysql.com/14155))
    * NDB Cluster: A forced cluster shutdown occurred when the management
      daemon was restarted with a changed config.ini file that added an
      API/SQL node. (Bug #15512 (http://bugs.mysql.com/15512))
    * Multiple-table update operations were counting updates and not
      updated rows. As a result, if a row had several updates it was
      counted several times for the "rows matched" value but updated only
      once. (Bug #15028 (http://bugs.mysql.com/15028))
    * A  statement  that  produced  a  warning,  when  fetched  via
      mysql_stmt_fetch(), did not produce a warning count according to
      mysql_warning_count(). (Bug #15510 (http://bugs.mysql.com/15510))
    * Manual manipulation of the mysql.proc table could cause a server
      crash. This should not happen, but it is also not supported that
      the server  will  notice  such  changes.
      (Bug #14233 (http://bugs.mysql.com/14233))
    * Revised table locking to allow proper assessment of view security.
      (Bug #11555 (http://bugs.mysql.com/11555))
    * Within a stored procedure, inserting with INSERT ... SELECT into a
      table with an AUTO_INCREMENT column did not generate the correct
      sequence number. (Bug #14304 (http://bugs.mysql.com/14304))
    * SELECT queries that began with an opening parenthesis were not
      being placed in the query cache.
      (Bug #14652 (http://bugs.mysql.com/14652))
    * Space truncation was being ignored when inserting into BINARY or
      VARBINARY columns. Now space truncation results in a warning, or an
      error in strict mode. (Bug #14299 (http://bugs.mysql.com/14299))
    * The database-changing code for stored routine handling caused an
      error-handling problem resulting in a server crash.
      (Bug #15392 (http://bugs.mysql.com/15392))
    * Selecting from a view processed with the temptable algorithm caused
      a  server  crash  if  the query cache was enabled.
      (Bug #15119 (http://bugs.mysql.com/15119))
    * REPAIR  TABLES,  BACKUP TABLES, RESTORE TABLES within a stored
      procedure  caused  a  server  crash.
      (Bug #13012 (http://bugs.mysql.com/13012))
    * Creating a view that referenced a stored function that selected
      from a view caused a crash upon selection from the view.
      (Bug #15096 (http://bugs.mysql.com/15096))
    * ALTER  TABLE  ...  SET  DEFAULT  had  no  effect.
      (Bug #14693 (http://bugs.mysql.com/14693))
    * Creating a view within a stored procedure could result in an out of
      memory  error  or  a  server  crash.
      (Bug #14885 (http://bugs.mysql.com/14885))
    * InnoDB: A race condition allowed two threads to drop a hash index
      simultaneously. (Bug #14747 (http://bugs.mysql.com/14747))
    * mysqlhotcopy tried to copy INFORMATION_SCHEMA tables.
      (Bug #14610 (http://bugs.mysql.com/14610))
    * CHAR(...  USING  ...) and CONVERT(CHAR(...) USING ...), though
      logically equivalent, could produce different results.
      (Bug #14146 (http://bugs.mysql.com/14146))
    * The value of INFORMATION_SCHEMA.TABLES.TABLE_TYPE sometimes was
      reported as empty. (Bug #14476 (http://bugs.mysql.com/14476))
    * InnoDB: Activitity on an InnoDB table caused execution time for
      SHOW CREATE  TABLE  for  the  table  to  increase.
      (Bug #13762 (http://bugs.mysql.com/13762))
    * DELETE from CSV tables reported an incorrect rows-affected value.
      (Bug #13406 (http://bugs.mysql.com/13406))
    * The server crashed if compiled without any transactional storage
      engines. (Bug #15047 (http://bugs.mysql.com/15047))
    * Declaring a stored routine variable to have a DEFAULT value that
      referred to a variable of the same name caused a server crash. (For
      example:  DECLARE x INT DEFAULT x) Now the DEFAULT variable is
      interpreted as referring to a variable in an outer scope, if there
      is one. (Bug #14376 (http://bugs.mysql.com/14376))
    * Perform  character  set conversion of constant values whenever
      possible without data loss.
      (Bug #10446 (http://bugs.mysql.com/10446))
    * mysql ignored the MYSQL_TCP_PORT environment variable.
      (Bug #5792 (http://bugs.mysql.com/5792))
    * ROW_COUNT() returned an incorrect result after EXECUTE of a
      prepared statement. (Bug #14956 (http://bugs.mysql.com/14956))
    * A UNION of DECIMAL columns could produce incorrect results.
      (Bug #14216 (http://bugs.mysql.com/14216))
    * Queries that select records based on comparisons to a set of column
      could crash the server if there was one index covering the columns,
      and a set of other non-covering indexes that taken together cover
      the columns. (Bug #15204 (http://bugs.mysql.com/15204))
    * When using an aggregate function to select from a table that has a
      multiple-column primary key, adding ORDER BY to the query could
      produce  an  incorrect  result.
      (Bug #14920 (http://bugs.mysql.com/14920))
    * SHOW CREATE TABLE for a view could fail if the client had locked
      the view. (Bug #14726 (http://bugs.mysql.com/14726))
    * For binary string data types, mysqldump --hex-blob produced an
      illegal  output  value  of  0x  rather  than  ''.
      (Bug #13318 (http://bugs.mysql.com/13318))
    * Some  comparisons for the IN() operator were inconsistent with
      equivalent  comparisons  for  the  =  operator.
      (Bug #12612 (http://bugs.mysql.com/12612))
    * In a stored procedure, continuing (via a condition handler) after a
      failed variable initialization caused a server crash.
      (Bug #14643 (http://bugs.mysql.com/14643))
    * Within a stored procedure, exception handling for UPDATE statements
      that caused a duplicate-key error caused a Packets out of order
      error  for  the  following  statement.
      (Bug #13729 (http://bugs.mysql.com/13729))
    * Creating a table containing an ENUM or SET column from within a
      stored procedure or prepared statement caused a server crash later
      when  executing  the  procedure  or  statement.
      (Bug #14410 (http://bugs.mysql.com/14410))
    * Selecting from a view used filesort retrieval when faster retrieval
      was possible. (Bug #14816 (http://bugs.mysql.com/14816))
    * Warnings from a previous command were not being reset when fetching
      from a cursor. (Bug #13524 (http://bugs.mysql.com/13524))
    * RESET MASTER failed to delete log files on Windows.
      (Bug #13377 (http://bugs.mysql.com/13377))
    * Using ORDER BY on a column from a view, when also selecting the
      column normally, and via an alias, caused a mistaken Column 'x' in
      order  clause  is  ambiguous  error.
      (Bug #14662 (http://bugs.mysql.com/14662))
    * Invoking a stored procedure within another stored procedure caused
      the server to crash. (Bug #13549 (http://bugs.mysql.com/13549))
    * Stored functions making use of cursors were not replicated.
      (Bug #14077 (http://bugs.mysql.com/14077))
    * CAST(expr AS BINARY(N)) did not pad with 0x00 to a length of N
      bytes. (Bug #14255 (http://bugs.mysql.com/14255))
    * Casting a FLOAT or DOUBLE whose value was less than 1.0E-06 to
      DECIMAL  would  yield  an  inappropriate  value.
      (Bug #14268 (http://bugs.mysql.com/14268))
    * In some cases, a left outer join could yield an invalid result or
      cause the server to crash, due to a MYSQL_DATA_TRUNCATED error.
      (Bug #13488 (http://bugs.mysql.com/13488))
    * For  a  invalid  view  definition,  selecting  from  the
      INFORMATION_SCHEMA.VIEWS table or using SHOW CREATE VIEW failed,
      making it difficult to determine what part of the definition was
      invalid. Now the server returns the definition and issues a
      warning. (Bug #13818 (http://bugs.mysql.com/13818))
    * The server could misinterpret old trigger definition files created
      before MySQL 5.0.17. Now they are interpreted correctly, but this
      takes more time and the server issues a warning that the trigger
      should be recreated. (Bug #14090 (http://bugs.mysql.com/14090))
    * mysqldump --triggers did not account for the SQL mode and could
      dump trigger definitions with missing whitespace if the
      IGNORE_SPACE mode was enabled.
      (Bug #14554 (http://bugs.mysql.com/14554))
    * Within a trigger definition the CURRENT_USER() function evaluated
      to the user whose actions caused the trigger to be activated. Now
      that triggers have a DEFINER value, CURRENT_USER() evaluates to the
      trigger definer. (Bug #5861 (http://bugs.mysql.com/5861))
    * CREATE TABLE tbl_name (...) SELECT ... could crash the server and
      write invalid data into the .frm file if the CREATE TABLE and
      SELECT both contained a column with the same name. Also, if a
      default value is specified in the column definition, it is now
      actually used.  (Bug #14480 (http://bugs.mysql.com/14480))
    * A newline character in a column alias in a view definition caused
      an error  when  selecting  from  the  view  later.
      (Bug #13622 (http://bugs.mysql.com/13622))
    * mysql_fix_privilege_tables.sql contained an erroneous comment that
      resulted in an error when the file contents were processed.
      (Bug #14469 (http://bugs.mysql.com/14469))
    * On  Windows,  the  server  could crash during shutdown if both
      replication  threads and normal client connection threads were
      active. (Re-fix of Bug #11796 (http://bugs.mysql.com/11796))
    * The grammar for supporting the DEFINER = CURRENT_USER clause in
      CREATE  VIEW  and  ALTER  VIEW  was  incorrect.
      (Bug #14719 (http://bugs.mysql.com/14719))
    * Queries on ARCHIVE tables that used the filesort sorting method
      could  result  in  a  server  crash.
      (Bug #14433 (http://bugs.mysql.com/14433))
    * The mysql_stmt_fetch() C APP function could return MYSQL_NO_DATA
      for a SELECT COUNT(*) FROM tbl_name WHERE 1 = 0 statement, which
      should return 1 row. (Bug #14845 (http://bugs.mysql.com/14845))
    * A LIMIT-related optimization failed to take into account that
      MyISAM table indexes can be disabled, causing Error 124 when it
      tried to use such an index.
      (Bug #14616 (http://bugs.mysql.com/14616))
    * A server crash resulted from the following sequence of events:
      1) With no default database selected, create a stored procedure
         with the procedure name explicitly qualified with a database
         name (CREATE PROCEDURE db_name.proc_name ...).
      2) Create another stored procedure with no database name qualifier.
      3) Execute SHOW PROCEDURE STATUS.
      (Bug #14569 (http://bugs.mysql.com/14569))
    * Complex subqueries could cause improper internal query execution
      environment  initialization  and crash the server.
      (Bug #14342 (http://bugs.mysql.com/14342))
    * For a table that had been opened with HANDLER OPEN, issuing
      OPTIMIZE TABLE, ALTER TABLE, or REPAIR TABLE caused a server crash.
      (Bug #14397 (http://bugs.mysql.com/14397))
    * A server crash could occur if a prepared statement invoked a stored
      procedure that existed when the statement was prepared but had been
      dropped and recreated prior to statement execution.
      (Bug #12329 (http://bugs.mysql.com/12329))
    * A server crash could occur if a prepared statement updated a table
      for which a trigger existed when the statement was prepared but had
      been  dropped  prior  to  statement  execution.
      (Bug #13399 (http://bugs.mysql.com/13399))
    * Statements that implicitly commit a transaction are prohibited in
      stored functions and triggers. An attempt to create a function or
      trigger containing such a statement produces an error.
      (Bug #13627 (http://bugs.mysql.com/13627))
      (The originally reported symptom was that a trigger that dropped
      another trigger could cause a server crash. That problem was fixed
      by the patch for Bug #13343 (http://bugs.mysql.com/13343).)


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/mysql?unsub=gcdmg-mysql@m.gmane.org




(Log in to post comments)

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds