(mysql.info) news-5-0-17
Info Catalog
(mysql.info) news-5-0-18
(mysql.info) news-5-0-x
(mysql.info) news-5-0-16
D.1.4 Changes in release 5.0.17 (14 December 2005)
--------------------------------------------------
Functionality added or changed:
* The original Linux RPM packages (5.0.17-0) had an issue with a
`zlib' dependency that would result in an error during an install
or upgrade. They were replaced by new binaries, 5.0.17-1. (Bug
#15223 (http://bugs.mysql.com/15223)) Here is a list of the new RPM
binaries:
* MySQL-{Max,client,devel,server,shared,ndb*}-5.0.17-1.i386.rpm
* MySQL-*-standard-5.0.17-1.rhel3.i386.rpm,
MySQL-*-standard-5.0.17-1.rhel3.ia64.rpm,
MySQL-*-standard-5.0.17-1.rhel3.x86_64.rpm
* MySQL-*-pro-5.0.17-1.rhel3.i386.rpm,
MySQL-*-pro-5.0.17-1.rhel3.ia64.rpm,
MySQL-*-pro-5.0.17-1.rhel3.x86_64.rpm
* MySQL-*-pro-gpl-5.0.17-1.rhel3.i386.rpm,
MySQL-*-pro-gpl-5.0.17-1.rhel3.ia64.rpm,
MySQL-*-pro-gpl-5.0.17-1.rhel3.x86_64.rpm
* The syntax for `CREATE TRIGGER' now includes a `DEFINER' clause
for specifying which access privileges to check at trigger
invocation time. See create-trigger, for more information.
*Known issue*: If you attempt to replicate from a master server
older than MySQL 5.0.17 to a slave running MySQL 5.0.17 or up,
replication of `CREATE TRIGGER' statements fails on the slave with
a `Definer not fully qualified' error. A workaround is to create
triggers on the master using a version-specific comment embedded
in each `CREATE TRIGGER' statement:
CREATE /*!50017 DEFINER = 'root'@'localhost' */ TRIGGER ... ;
`CREATE TRIGGER' statements written this way will replicate to
newer slaves, which pick up the `DEFINER' clause from the comment
and execute successfully. (Bug #16266
(http://bugs.mysql.com/16266))
* 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 CIRCUMLEX', 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))
* Support files for compiling with Visual Studio 6 have been
removed. (Bug #15094 (http://bugs.mysql.com/15094))
Bugs fixed:
* RPM packages had an incorrect `zlib' dependency. (Bug #15223
(http://bugs.mysql.com/15223))
* `NDB Cluster': `REPLACE' failed when attempting to update a
primary key value in a Cluster table. (Bug #14007
(http://bugs.mysql.com/14007))
* `make' failed when attempting to build MySQL in different
directory than source. (Bug #11827 (http://bugs.mysql.com/11827))
* Corrected an error-handling problem within stored routines on
64-bit platforms. (Bug #15630 (http://bugs.mysql.com/15630))
* Slave SQL thread cleanup was not handled properly on Mac OS X when
a statement was killed, resulting in a slave crash. (Bug #15623
(http://bugs.mysql.com/15623), Bug #15668
(http://bugs.mysql.com/15668))
* Symbolic links did not function properly on Windows platforms.
(Bug #14960 (http://bugs.mysql.com/14960), Bug #14310
(http://bugs.mysql.com/14310))
* `mysqld' would not start on Windows 9X operating systems including
Windows Me. (Bug #15209 (http://bugs.mysql.com/15209))
* `InnoDB': During replication, There was a failure to record events
in the binary log that still occurred even in the event of a
`ROLLBACK'. For example, this sequence of commands:
BEGIN;
CREATE TEMPORARY TABLE t1 (a INT) ENGINE=INNODB;
ROLLBACK;
INSERT INTO t1 VALUES (1);
would succeed on the replication master as expected. However, the
`INSERT' would fail on the slave because the `ROLLBACK' would
(erroneously) cause the `CREATE TEMPORARY TABLE' statement not to
be written to the binlog. (Bug #7947 (http://bugs.mysql.com/7947))
* A bug in `mysql-test/t/mysqltest.test' caused that test to fail.
(Bug #15605 (http://bugs.mysql.com/15605))
* The `CREATE' test case in `mysql-test-run.pl' failed on AIX and
SCO. (Bug #15607 (http://bugs.mysql.com/15607))
* `NDB Cluster': Creating a table with packed keys failed silently.
`NDB' now supports the `PACK_KEYS' option to `CREATE TABLE'
correctly. (Bug #14514 (http://bugs.mysql.com/14514))
* `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': Activity 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
#)
* `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 re-created. (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 re-created 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).)
Info Catalog
(mysql.info) news-5-0-18
(mysql.info) news-5-0-x
(mysql.info) news-5-0-16
automatically generated byinfo2html