(mysql.info) news-5-0-13
Info Catalog
(mysql.info) news-5-0-14
(mysql.info) news-5-0-x
(mysql.info) news-5-0-12
D.1.8 Changes in release 5.0.13 (22 Sept 2005: Release Candidate)
-----------------------------------------------------------------
Functionality added or changed:
* The syntax for `CREATE VIEW' and `ALTER VIEW' statements now
includes `DEFINER' and `SQL SECURITY' clauses for specifying the
security context to be used when checking access privileges at
view invocation time. (The syntax is present in 5.0.13, but these
clauses have no effect until 5.0.16.) See create-view, for
more information.
* The -hex-dump option for `mysqldump' now also applies to `BIT'
columns.
* Added a -routines option for `mysqldump' that enables dumping of
stored routines. (Bug #9056 (http://bugs.mysql.com/9056))
* The connection string for `FEDERATED' tables now is specified
using a `CONNECTION' table option rather than a `COMMENT' table
option.
* Better detection of connection timeout for replication servers on
Windows allows elimination of extraneous `Lost connection' errors
in the error log. (Bug #5588 (http://bugs.mysql.com/5588))
* The counters for the `Key_read_requests', `Key_reads',
`Key_write_requests', and `Key_writes' status variables were
changed from `unsigned long' to `unsigned longlong' to accommodate
larger variables without rollover. (Bug #12920
(http://bugs.mysql.com/12920))
* The restriction on the use of `PREPARE', `EXECUTE', and `DEALLOCATE
PREPARE' within stored procedures was lifted. The restriction
still applies to stored functions and triggers. (Bug #10975
(http://bugs.mysql.com/10975), Bug #7115
(http://bugs.mysql.com/7115), Bug #10605
(http://bugs.mysql.com/10605))
* A new command line argument was added to `mysqld' to ignore client
character set information sent during handshake, and use server
side settings instead, to reproduce 4.0 behavior (Bug #9948
(http://bugs.mysql.com/9948)):
mysqld --skip-character-set-client-handshake
* `OPTIMIZE TABLE' and `HANDLER' now are
prohibited in stored procedures and functions and in
triggers. (Bug #12953 (http://bugs.mysql.com/12953), Bug #12995
(http://bugs.mysql.com/12995))
* `InnoDB': The `TRUNCATE TABLE' statement for
`InnoDB' tables always resets the counter for an
`AUTO_INCREMENT' column now, regardless of whether
there is a foreign key constraint on the table.
(Beginning with 5.0.3, `TRUNCATE TABLE' reset the
counter, but only if there was no such constraint.) (Bug #11946
(http://bugs.mysql.com/11946))
* The `LEAST()' and `GREATEST()' functions used
to return `NULL' only if all arguments were
`NULL'. Now they return `NULL' if any argument is
`NULL', the same as Oracle. (Bug #12791
(http://bugs.mysql.com/12791))
* Two new collations have been added for Esperanto:
`utf8_esperanto_ci' and `ucs2_esperanto_ci'.
* Reorder network startup to come after all other
initialization, particularly storage engine startup which can
take a long time. This also prevents MySQL from being run on
a privileged port (any port under 1024) unless run as
the root user. (Bug #11707 (http://bugs.mysql.com/11707))
* The Windows binary packages are now compiled with the
Microsoft Visual Studio 2003 compiler instead of Microsoft
Visual C++ 6.0.
* The binaries compiled with the Intel icc compiler are now
built using icc 9.0 instead of icc 8.1. You will have to
install new versions of the Intel icc runtime libraries,
which are available from here:
(http://dev.mysql.com/downloads/os-linux.html
(http://dev.mysql.com/downloads/os-linux.html))
Bugs fixed:
* *Incompatible change:* A lock wait timeout
caused `InnoDB' to roll back the entire current
transaction. Now it rolls back only the most recent SQL
statement. (Bug #12308 (http://bugs.mysql.com/12308))
* The `FEDERATED' storage engine does not
support `ALTER TABLE', but no appropriate error message
was issued. (Bug #13108 (http://bugs.mysql.com/13108))
* `mysqldump' did not dump triggers properly.
(Bug #12597 (http://bugs.mysql.com/12597))
* `NDBCluster': The average row size for Cluster
tables was being calculated incorrectly. This affected
the values shown for the `Data_length' and
`Avg_row_length' columns in the output generated by
`SHOW TABLE STATUS' as well as the values for the
`data_length' and `data_length/table_rows' columns shown
in the `TABLES' table of the
`INFORMATION_SCHEMA' database with respect to Cluster
tables (tables using other storage engines were not
affected by this bug). (Bug #9896 (http://bugs.mysql.com/9896))
* Within a stored procedure, fetching a large number of
rows in a loop using a cursor could result in a server
crash or an out of memory error. Also, values inserted
within a stored procedure using a cursor were
interpreted as `latin1' even if character set variables
had been set to a different character set. (Bug #6513
(http://bugs.mysql.com/6513), Bug #9819
(http://bugs.mysql.com/9819))
* For a server compiled with yaSSL, clients that used MySQL
Connector/J were not able to establish SSH connections.
(Bug #13029 (http://bugs.mysql.com/13029))
* When used in view definitions, `DAYNAME(EXPR)',
`DAYOFWEEK(EXPR)', `WEEKDAY(EXPR)'
were incorrectly treated as though the expression was
`TO_DAYS(EXPR)' or `TO_DAYS(TO_DAYS(EXPR))'.
(Bug #13000 (http://bugs.mysql.com/13000))
* Incorrect implicit nesting of joins caused the parser to
fail on queries of the form `SELECT ... FROM t1 JOIN t2
JOIN t3 ON t1.t1col = t3.t3col' with an
`Unknown column 't1.t1col' in 'on clause'' error. (Bug
#12943 (http://bugs.mysql.com/12943))
* `NDB': A cluster shutdown following the crash
of a data node would fail to terminate the remaining node
processes, even though `ndb_mgm' showed the shutdown
request as having been completed. (Bug #10938
(http://bugs.mysql.com/10938), Bug #9996
(http://bugs.mysql.com/9996), Bug #11623
(http://bugs.mysql.com/11623))
* A column that can be `NULL' was not handled
properly for `WITH ROLLUP' in a subquery or view. (Bug
#12885 (http://bugs.mysql.com/12885))
* Within a transaction, the following statements now cause
an implicit commit: `CREATE FUNCTION', `DROP
FUNCTION', `DROP PROCEDURE', `ALTER FUNCTION',
`ALTER PROCEDURE', `CREATE PROCEDURE'. This corrects a
problem where these statements followed by `ROLLBACK'
might not be replicated properly. (Bug #12870
(http://bugs.mysql.com/12870))
* Simultaneous execution of DML statements and `CREATE
TRIGGER' or `DROP TRIGGER' statements on the same
table could cause server crashes or errors. (Bug #12704
(http://bugs.mysql.com/12704))
* If a stored function invoked from a `SELECT'
failed with an error, it could cause the client connection to
be dropped. Now such errors generate warnings instead so as
not to interrupt the `SELECT'. (Bug #12379
(http://bugs.mysql.com/12379))
* A concurrency problem for `CREATE ... SELECT'
could cause a server crash. (Bug #12845
(http://bugs.mysql.com/12845))
* The server incorrectly generated an `Unknown
table' error message when for attempts to drop tables in
the `INFORMATION_SCHEMA' database. Now it issues an
`Access denied' message. (Bug #9846 (http://bugs.mysql.com/9846))
* The server allowed privileges to be granted explicitly
for the `INFORMATION_SCHEMA' database. Such
privileges are always implicit and should not be grantable.
(Bug #10734 (http://bugs.mysql.com/10734))
* The server allowed `TEMPORARY' tables and
stored procedures to be created in the
`INFORMATION_SCHEMA' database. (Bug #9683
(http://bugs.mysql.com/9683), Bug #10708
(http://bugs.mysql.com/10708))
* The server failed to disallow `SET AUTOCOMMIT'
in stored functions and triggers. It is allowed to
change the value of `AUTOCOMMIT' in stored procedures,
but a runtime error might occur if the procedure is
invoked from a stored function or trigger. (Bug #12712
(http://bugs.mysql.com/12712))
* Using an `INOUT' parameter with a `DECIMAL'
data type in a stored procedure caused a server crash.
(Bug #12979 (http://bugs.mysql.com/12979))
* Performing an `IS NULL' check on the `MIN()'
or `MAX()' of an indexed column in a complex query could
produce incorrect results. (Bug #12695
(http://bugs.mysql.com/12695))
* The `mysql.server' script contained incorrect
path for the `libexec' directory. (Bug #12550
(http://bugs.mysql.com/12550))
* The NDB `START BACKUP' command could be
interrupted by a `SHOW' command. (Bug #13054
(http://bugs.mysql.com/13054))
* The `LIKE ... ESCAPE' syntax produced invalid
results when escape character was larger than one byte. (Bug
#12611 (http://bugs.mysql.com/12611))
* A client connection thread cleanup problem caused the
server to crash when closing the connection if the
binary log was enabled. (Bug #12517
(http://bugs.mysql.com/12517))
* Using `AS' to rename a column selected from a
view in a subquery made it not possible to refer to that
column in the outer query. (Bug #12993
(http://bugs.mysql.com/12993))
* The `character_set_system' system variable
could not be selected with `SELECT
@@character_set_system'. (Bug #11775 (http://bugs.mysql.com/11775))
* A view-creation statement of the form `CREATE VIEW
NAME AS SELECT ... FROM TBL_NAME AS NAME'
failed with a `Not unique table/alias: 'NAME''
error. (Bug #6808 (http://bugs.mysql.com/6808))
* `UNION [DISTINCT]' was not removing all
duplicates for multi-byte character values. (Bug #12891
(http://bugs.mysql.com/12891))
* Multiplying a `DECIMAL' value within a loop in
a stored routine could incorrectly result in a value of
`NULL'. (Bug #12938 (http://bugs.mysql.com/12938))
* `mysql' and `mysqldump' were ignoring the
-defaults-extra-file option. (Bug #12917
(http://bugs.mysql.com/12917))
* Columns named in the `USING()' clause of `JOIN
... USING()' were incorrectly resolved in case-sensitive
fashion. (Bug #13067 (http://bugs.mysql.com/13067))
* Local variables in stored routines were not always
initialized correctly. (Bug #13133
(http://bugs.mysql.com/13133))
* `SHOW FIELDS FROM SCHEMANAME.VIEWNAME'
caused error 1046 when no default schema was set. (Bug #12905
(http://bugs.mysql.com/12905))
* The value of `character_set_results' could be
set to `NULL', but returned the string `"NULL"' when
retrieved. (Bug #12363 (http://bugs.mysql.com/12363))
* `InnoDB': Limit recursion depth to 200 in
deadlock detection to avoid running out of stack space. (Bug
#12588 (http://bugs.mysql.com/12588))
* `GROUP_CONCAT()' ignored an empty string if it
was the first value to occur in the result. (Bug #12863
(http://bugs.mysql.com/12863))
* Outer join elimination was erroneously applied for some
queries that used a `NOT BETWEEN' condition, an
`IN(VALUE_LIST)' condition, or an `IF()'
condition. (Bug #12101 (http://bugs.mysql.com/12101), Bug #12102
(http://bugs.mysql.com/12102))
* `SHOW FIELDS' truncated the `TYPE' column to
40 characters. (Bug #7142 (http://bugs.mysql.com/7142))
* Use of `PREPARE' and `EXECUTE' with a
statement that selected from a view in a subquery could
cause a server crash. (Bug #12651 (http://bugs.mysql.com/12651))
* On HP-UX 11.x (PA-RISC), the -L option caused
`mysqlimport' to crash. (Bug #12958 (http://bugs.mysql.com/12958))
* If the binary log is enabled, execution of a stored
procedure that modifies table data and uses user
variables could cause a server crash or incorrect
information to be written to the binary log. (Bug #12637
(http://bugs.mysql.com/12637))
* Queries with subqueries, where the inner subquery uses
the `range' or `index_merge' access method,
could return incorrect results. (Bug #12720
(http://bugs.mysql.com/12720))
* After changing the character set with `SET CHARACTER
SET', the result of the `GROUP_CONCAT()' function
was not converted to the proper character set. (Bug
#12829 (http://bugs.mysql.com/12829))
* A bug introduced in MySQL 5.0.12 caused `SHOW TABLE
STATUS' to display an `Auto_increment' value of 0
for `InnoDB' tables. (Bug #12973
(http://bugs.mysql.com/12973))
* Foreign keys were not properly enforced in
`TEMPORARY' tables. Foreign keys now are disallowed in
`TEMPORARY' tables. (Bug #12084 (http://bugs.mysql.com/12084))
* Replication of `LOAD DATA INFILE' failed
between systems that use different pathname syntax (such as
delimiter characters). (Bug #11815
(http://bugs.mysql.com/11815))
* Within a stored procedure, a server crash was caused by
assigning to a `VARCHAR INOUT' parameter the
value of an expression that included the variable itself. (For
example, `SET c = c'.) (Bug #12849
(http://bugs.mysql.com/12849))
* `SELECT ... JOIN ... ON ... JOIN ... USING'
caused a server crash. (Bug #12977 (http://bugs.mysql.com/12977))
* Using `GROUP BY' when selecting from a view in
some cases could cause incorrect results to be returned.
(Bug #12922 (http://bugs.mysql.com/12922))
* `myisampack' did not properly pack `BLOB'
values larger than 224 bytes. (Bug #4214
(http://bugs.mysql.com/4214))
* Incorrect results could be returned from a view processed
using a temporary table. (Bug #12941
(http://bugs.mysql.com/12941))
* The server crashed when one thread resized the query
cache while another thread was using it. (Bug #12848
(http://bugs.mysql.com/12848))
* `mysqld_multi' now quotes arguments on command
lines that it constructs to avoid problems with
arguments that contain shell metacharacters. (Bug #11280
(http://bugs.mysql.com/11280))
* `InnoDB': A consistent read could return
inconsistent results due to a bug introduced in MySQL 5.0.5.
(Bug #12947 (http://bugs.mysql.com/12947))
* Deadlock occurred when several account management
statements were run (particularly between `FLUSH
PRIVILEGES'/`SET PASSWORD' and `GRANT'/`REVOKE'
statements). (Bug #12423 (http://bugs.mysql.com/12423))
* The Windows installer made a change to one of the
`mysql.proc' table files, causing stored routine
functionality to be compromised. The Windows installer
now never overwrites files in the MySQL data directory. During
an upgrade from one version to another, a file in the data
directory will not be overwritten even if it has not been
modified since it was put there by an older installer.
If you have already lost access to stored routines because of
this problem, you can get them back using the following
procedure:
* Stop the server.
* In the `mysql\data' directory under
your MySQL installation directory, and replace the
`proc.frm' file with corresponding file
from the version of MySQL that you were using before you
upgraded.
* Start the server
* Start the `mysql' command-line client
(use the `root' account or another account
that has full database privileges) and execute the
`mysql_fix_privilege_tables.sql' script that
upgrades the grant tables to the current structure.
Instructions for doing this are given in
mysql-fix-privilege-tables.
After this, all stored routine functionality should work. (Bug
#12820 (http://bugs.mysql.com/12820))
* On Windows, the server was preventing tables from being
created if the table name was a prefix of a forbidden
name. For example, `nul' is a forbidden name
because it's the same as a Windows device name, but a table
with the name of `n' or `nu' was being forbidden as
well. (Bug #12325 (http://bugs.mysql.com/12325))
* `InnoDB' was too permissive with `LOCK TABLE
... READ LOCAL' and allowed new inserts into the table.
Now `READ LOCAL' is equivalent to `READ' for
`InnoDB'. This will cause slightly more locking in
`mysqldump', but makes `InnoDB' table dumps consistent
with `MyISAM' table dumps. (Bug #12410
(http://bugs.mysql.com/12410))
* Use of the `mysql' client `HELP' command from
within a stored routine caused a `packets out of order'
error and a lost connection. Now `HELP' is detected and
disallowed within stored routines. (Bug #12490
(http://bugs.mysql.com/12490))
* Use of yaSSL for a secure client connection caused
`LOAD DATA LOCAL INFILE' to fail. (Bug #11286
(http://bugs.mysql.com/11286))
* `SHOW CREATE PROCEDURE' and `SHOW CREATE
FUNCTION' no longer qualify the routine name with the
database name, for consistency with the behavior of
`SHOW CREATE TABLE'. (Bug #10362 (http://bugs.mysql.com/10362))
* A `UNION' of long `utf8' `VARCHAR' columns was
sometimes returned as a column with a `LONGTEXT' data
type rather than `VARCHAR'. This could prevent such
queries from working at all if selected into a
`MEMORY' table because the `MEMORY' storage engine does
not support the `TEXT' data types. (Bug #12537
(http://bugs.mysql.com/12537))
* If a client has opened an `InnoDB' table for
which the `.ibd' file is missing, `InnoDB' would not
honor a `DROP TABLE' statement for the table. (Bug
#12852 (http://bugs.mysql.com/12852))
* `ALTER TABLE ... DISCARD TABLESPACE' for
non-`InnoDB' table caused the client to lose the
connection. (The server was not returning the error
properly.) (Bug #12207 (http://bugs.mysql.com/12207))
* `DO IFNULL(NULL, NULL)' and `SELECT
CAST(IFNULL(NULL, NULL) AS DECIMAL)' caused a server
crash. (Bug #12841 (http://bugs.mysql.com/12841))
* When using a cursor, a `SELECT' statement that
uses a `GROUP BY' clause could return incorrect results.
(Bug #11904 (http://bugs.mysql.com/11904))
* The `SYSDATE()' function now returns the time
at which it was invoked. In particular, within a stored
routine or trigger, `SYSDATE()' returns the time at
which it executes, not the time at which the stored
routine or triggering statement began to execute. (Bug #12480
(http://bugs.mysql.com/12480))
* `CREATE VIEW' inside a stored procedure caused
a server crash if the table underlying the view had been
deleted. (Bug #12468 (http://bugs.mysql.com/12468))
* A memory leak resulting from repeated `SELECT ...
INTO' statements inside a stored procedure could
cause the server to crash. (Bug #11333
(http://bugs.mysql.com/11333))
Info Catalog
(mysql.info) news-5-0-14
(mysql.info) news-5-0-x
(mysql.info) news-5-0-12
automatically generated byinfo2html