Software Update: MySQL 5.0.17

Spread the love

MySQL AB has released a new version of MySQL 5.0, a popular open source database server, and raised the version number to 5.0.17. The list of changes shows us many small adjustments that iron out the small mistakes here and there. Please note that a number of functions have also been slightly modified. The full list looks like this:

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 for more information.)
  • Recursion is allowed in stored procedures. Recursive stored functions and triggers are still disallowed. (Bug#10100)
  • In the latin5_turkish_ci collation, the order of the characters A WITH CIRCUMFLEX, I WITH CIRCUMLEX, and U WITH CIRCUMFLEX was changed. If you have used these characters in any indexed columns, you should rebuild those indexes. (Bug#13421)

Bug 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, Bug #15240, Bug #15682, Bug #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)
  • NDB Cluster: There was a small window for a node failure to occur during a backup without an error being reported. (Bug #15425)
  • mysql –help was missing a newline after the version string when the bundled readline library was not used. (Bug #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)
  • GROUP BY on a view column did not correctly account for the possibility that the column could contain NULL values. (Bug #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)
  • The maximum value of MAX_ROWS was handled incorrectly on 64-bit systems. (Bug #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)
  • 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)
  • 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)
  • 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)
  • Revised table locking locking to allow proper assessment of view security. (Bug #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)
  • SELECT queries that began with an opening parenthesis were not being placed in the query cache. (Bug #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)
  • The database-changing code for stored routine handling caused an error-handling problem resulting in a server crash. (Bug #15392)
  • Selecting from a view processed with the temptable algorithm caused a server crash if the query cache was enabled. (Bug #15119)
  • REPAIR TABLES, BACKUP TABLES, RESTORE TABLES within a stored procedure caused a server crash. (Bug #13012)
  • Creating a view that referenced a stored function that selected from a view caused a crash upon selection from the view. (Bug #15096)
  • ALTER TABLE … SET DEFAULT had no effect. (Bug #14693)
  • Creating a view within a stored procedure could result in an out of memory error or a server crash. (Bug #14885)
  • InnoDB: A race condition allowed two threads to drop a hash index simultaneously. (Bug #14747)
  • mysqlhotcopy tried to copy INFORMATION_SCHEMA tables. (Bug #14610)
  • CHAR(… USING …) and CONVERT(CHAR(…) USING …), though logically equivalent, could produce different results. (Bug #14146)
  • The value of INFORMATION_SCHEMA.TABLES.TABLE_TYPE sometimes was reported as empty. (Bug #14476)
  • InnoDB: Activity on an InnoDB table caused execution time for SHOW CREATE TABLE for the table to increase. (Bug #13762)
  • DELETE from CSV tables reported an incorrect rows-affected value. (Bug #13406)
  • The server crashed if compiled without any transactional storage engines. (Bug #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)
  • Perform character set conversion of constant values ​​whenever possible without data loss. (Bug #10446)
  • mysql ignored the MYSQL_TCP_PORT environment variable. (Bug #5792)
  • ROW_COUNT() returned an incorrect result after EXECUTE of a prepared statement. (Bug #14956)
  • A UNION or DECIMAL columns could produce incorrect results. (Bug #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)
  • 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)
  • SHOW CREATE TABLE for a view could fail if the client had locked the view. (Bug #14726)
  • For binary string data types, mysqldump –hex-blob produced an illegal output value of 0x rather than ”. (Bug #13318)
  • Some comparisons for the IN() operator were inconsistent with equivalent comparisons for the = operator. (Bug #12612)
  • In a stored procedure, continuing (via a condition handler) after a failed variable initialization caused a server crash. (Bug #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)
  • 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)
  • Selecting from a view used filesort retrieval when faster retrieval was possible. (Bug #14816)
  • Warnings from a previous command were not being reset when fetching from a cursor. (Bug #13524)
  • RESET MASTER failed to delete log files on Windows. (Bug #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)
  • Invoking a stored procedure within another stored procedure caused the server to crash. (Bug #13549)
  • Stored functions making use of cursors were not replicated. (bug#)
  • CAST(expr AS BINARY(N)) did not pad with 0x00 to a length of N bytes. (Bug #14255)
  • Casting a FLOAT or DOUBLE whose value was less than 1.0E-06 to DECIMAL would yield an inappropriate value. (Bug #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)
  • For an 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)
  • 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)
  • 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)
  • 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)
  • 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)
  • A newline character in a column alias in a view definition caused an error when selecting from the view later. (Bug #13622)
  • mysql_fix_privilege_tables.sql contained an erroneous comment that resulted in an error when the file contents were processed. (Bug #14469)
  • On Windows, the server could crash during shutdown if both replication threads and normal client connection threads were active. (Refix or Bug #11796)
  • The grammar for supporting the DEFINER = CURRENT_USER clause in CREATE VIEW and ALTER VIEW was incorrect. (Bug #14719)
  • Queries on ARCHIVE tables that used the filesort sorting method could result in a server crash. (Bug #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)
  • 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)
  • 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)
  • Complex subqueries could cause improper internal query execution environment initialization and crash the server. (Bug #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)
  • 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)
  • 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)

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) (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.) Version number
5.0.17 Operating systems
Windows 9x, Windows NT, Windows 2000, Linux, BSD, Windows XP, macOS, Solaris, UNIX, Windows Server 2003 Website
MySQL AB
Download License type

Prerequisites (GNU/BSD/etc.)

You might also like