DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) news-5-0-8

Info Catalog (mysql.info) news-5-0-9 (mysql.info) news-5-0-x (mysql.info) news-5-0-7
 
 D.1.13 Changes in release 5.0.8 (Not released)
 ----------------------------------------------
 
 * Starting with version       5.0.8, changes for MySQL Cluster
 can be found in the combined       Change History.
 
 Functionality added or changed:
 
    *           *Warning: Incompatible change:*           Previously,
      conversion of `DATETIME' values           to numeric form by
      adding zero produced a result in           `YYYYMMDDHHMMSS'
      format. The result of           `DATETIME+0' is now in
      `YYYYMMDDHHMMSS.000000' format. (Bug#12268
      (http://bugs.mysql.com/12268))
 
    *           `MEMORY' tables now support indexes of up to
      500 bytes. See  memory-storage-engine. (Bug #10566
      (http://bugs.mysql.com/10566))
 
    *           New `SQL_MODE' -           `NO_ENGINE_SUBSTITUTION'
      Prevents automatic           substitution of storage engine when
      the requested storage           engine is disabled or not compiled
      in. (Bug #6877 (http://bugs.mysql.com/6877))
 
    *           The statements `CREATE TABLE',           `TRUNCATE
      TABLE', `DROP           DATABASE', and `CREATE DATABASE'
      cause an implicit commit. (Bug #6883 (http://bugs.mysql.com/6883))
 
    *           Expanded on information provided in general log and slow
      query           log for prepared statements. (Bug #8367
      (http://bugs.mysql.com/8367), Bug #9334
      (http://bugs.mysql.com/9334))
 
    *           Where a `GROUP BY' query uses a grouping
      column from the query's `SELECT' clause,           MySQL now
      issues a warning. This is done because the SQL           standard
      states that any grouping column must unambiguously
      reference a column of the table resulting from the query's
       `FROM' clause, and allowing columns from the           `SELECT'
      clause to be used as grouping           columns is a MySQL
      extension to the standard.
 
      By way of example, consider the following table:
 
           CREATE TABLE users (
             userid INT NOT NULL PRIMARY KEY,
             username VARCHAR(25),
             usergroupid INT NOT NULL
           );
 
      MySQL allows you to use the alias in this query:
 
           SELECT usergroupid AS id, COUNT(userid) AS number_of_users
           FROM users
           GROUP BY id;
 
      However, the SQL standard requires that the column name be used,
      as shown here:
 
           SELECT usergroupid AS id, COUNT(userid) AS number_of_users
           FROM users
           GROUP BY usergroupid;
 
      Queries such as the first of the two shown above will continue to
      be supported in MySQL; however, beginning with MySQL 5.0.8, using
      a column alias in this fashion will generate a warning.  Note that
      in the event of a collision between column names and/or aliases
      used in joins, MySQL attempts to resolve the conflict by giving
      preference to columns arising from tables named in the query's
      `FROM' clause. (Bug #11211 (http://bugs.mysql.com/11211))
 
    * The granting or revocation of privileges on a stored routine is no
      longer performed when running the server with -skip-grant-tables
      even after the statement `SET @@global.automatic_sp_privileges=1;'
      has been executed. (Bug #9993 (http://bugs.mysql.com/9993))
 
    * Added support for `B'10'' syntax for bit literal. (Bug #10650
      (http://bugs.mysql.com/10650))
 
 Bugs fixed:
 
    * *Security fix*: On Windows systems, a user with any of the
      following privileges
 
         * `REFERENCES'
 
         * `CREATE TEMPORARY TABLES'
 
         * `GRANT OPTION'
 
         * `CREATE'
 
         * `SELECT'
 
      on `*.*' could crash `mysqld' by issuing a `USE LPT1;' or `USE
      PRN;' command. In addition, any of the commands `USE NUL;', `USE
      CON;', `USE COM1;', or `USE AUX;' would report success even though
      the database was not in fact changed.  * Although this bug
      was thought to be fixed previously, it was later discovered to be
      present in the MySQL 5.0.7-beta release for Windows. (Bug #9148
      (http://bugs.mysql.com/9148), CAN-2005-0799
      (http://cve.mitre.org/cvename.cgi?name=CAN-2005-0799)
 
    * A `CREATE TABLE DB_NAME.TBL_NAME LIKE ...' statement would crash
      the server when no database was selected. (Bug #11028
      (http://bugs.mysql.com/11028))
 
    * `SELECT DISTINCT' queries or `GROUP BY' queries without `MIN()' or
      `MAX()' could return inconsistent results for indexed columns.
      (Bug #11044 (http://bugs.mysql.com/11044))
 
    * The `SHOW INSTANCE OPTIONS' command in MySQL Instance Manager
      displayed option values incorrectly for options for which no value
      had been given. (Bug #11200 (http://bugs.mysql.com/11200))
 
    * An outer join with an empty derived table (a result from a
      subquery) returned no result. (Bug #11284
      (http://bugs.mysql.com/11284))
 
    * An outer join with an `ON' condition that evaluated to false could
      return an incorrect result. (Bug #11285
      (http://bugs.mysql.com/11285))
 
    * `mysqld_safe' would sometimes fail to remove the pid file for the
      old `mysql' process after a crash. As a result, the server would
      fail to start due to a false `A mysqld process already exists...'
      error. (Bug #11122 (http://bugs.mysql.com/11122))
 
    * `CAST( ... AS DECIMAL) didn't work for strings. (Bug #11283
      (http://bugs.mysql.com/11283))'
 
    * `NULLIF()' function could produce incorrect results if first
      argument is `NULL'. (Bug #11142 (http://bugs.mysql.com/11142))
 
    * Setting `@@SQL_MODE = NULL' caused an erroneous error message.
      (Bug #10732 (http://bugs.mysql.com/10732))
 
    * Converting a `VARCHAR' column having an index to a different type
      (such as `TINYTEXT') gave rise to an incorrect error message. (Bug
      #10543 (http://bugs.mysql.com/10543))
 
      Note that this bugfix induces a slight change in the behavior of
      indexes: If an index is defined to be the same length as a field
      (or is left to default to that field's length), and the length of
      the field is later changed, then the index will adopt the new
      length of the field. Previously, the size of the index did not
      change for some field types (such as `VARCHAR') when the field
      type was changed.
 
    * `sql_data_access' column of `routines' table of
      `INFORMATION_SCHEMA' was empty. (Bug #11055
      (http://bugs.mysql.com/11055))
 
    * A `CAST()' value could not be included in a `VIEW'. (Bug #11387
      (http://bugs.mysql.com/11387))
 
    * Server crashed when using `GROUP BY' on the result of a `DIV'
      operation on a `DATETIME' value. (Bug #11385
      (http://bugs.mysql.com/11385))
 
    * Possible `NULL' values in `BLOB' columns could crash the server
      when a `BLOB' was used in a `GROUP BY' query. (Bug #11295
      (http://bugs.mysql.com/11295))
 
    * Fixed 64 bit compiler warning for packet length in replication.
      (Bug #11064 (http://bugs.mysql.com/11064))
 
    * Multiple range accesses in a subquery cause server crash. (Bug
      #11487 (http://bugs.mysql.com/11487))
 
    * An issue with index merging could cause suboptimal index merge
      plans to be chosen when searching by indexes created on `DATE'
      columns. The same issue caused the InnoDB storage engine to issue
      the warning `using a partial-field key prefix in search'. (Bug
      #8441 (http://bugs.mysql.com/8441))
 
    * The `mysqlhotcopy' script was not parsing the output of `SHOW
      SLAVE STATUS' correctly when called with the -record_log_pos
      option. (Bug #7967 (http://bugs.mysql.com/7967))
 
    * `SELECT * FROM TABLE' returned incorrect results when called from
      a stored procedure, where TABLE had a primary key. (Bug #10136
      (http://bugs.mysql.com/10136))
 
    * When used in defining a view, the `TIME_FORMAT()' function failed
      with calculated values, for example, when passed the value returned
      by `SEC_TO_TIME()'. (Bug #7521 (http://bugs.mysql.com/7521))
 
    * `SELECT DISTINCT ... GROUP BY CONSTANT' returned multiple rows (it
      should return a single row). (Bug #8614
      (http://bugs.mysql.com/8614))
 
    * `INSERT INTO SELECT FROM VIEW' produced incorrect result when
      using `ORDER BY'. (Bug #11298 (http://bugs.mysql.com/11298))
 
    * Fixed hang/crash with Boolean full-text search where a query
      contained more query terms that one-third of the query length (it
      could be achieved with truncation operator: 'a*b*c*d*').  (Bug
      #7858 (http://bugs.mysql.com/7858))
 
    * Fixed column name generation in `VIEW' creation to ensure there
      are no duplicate column names. (Bug #7448
      (http://bugs.mysql.com/7448))
 
    * An `ORDER BY' clause sometimes had no effect on the ordering of a
      result when selecting specific columns (as opposed to using
      `SELECT *') from a view.  (Bug #7422 (http://bugs.mysql.com/7422))
 
    * Some data definition statements (`CREATE TABLE' where the table
      was not a temporary table, `TRUNCATE TABLE', `DROP DATABASE', and
      `CREATE DATABASE') were not being written to the binary log after a
      `ROLLBACK'. This also caused problems with replication. (Bug #6883
      (http://bugs.mysql.com/6883))
 
    * Calling a stored procedure that made use of an `INSERT ... SELECT
      ... UNION SELECT ...' query caused a server crash. (Bug #11060
      (http://bugs.mysql.com/11060))
 
    * Selecting from a view defined using `SELECT SUM(DISTINCT ...)'
      caused an error; attempting to execute a `SELECT * FROM
      INFORMATION_SCHEMA.TABLES' query after defining such a view
      crashed the server. (Bug #7015 (http://bugs.mysql.com/7015))
 
    * The `mysql' client would output a prompt twice following input of
      very long strings, because it incorrectly assumed that a call to
      the `_cgets()' function would clear the input buffer. (Bug #10840
      (http://bugs.mysql.com/10840))
 
    * A three byte buffer overflow in the client functions caused
      improper exiting of the client when reading a command from the
      user. (Bug #10841 (http://bugs.mysql.com/10841))
 
    * Fixed a problem where a stored procedure caused a server crash if
      the query cache was enabled. (Bug #9715
      (http://bugs.mysql.com/9715))
 
    * `SHOW CREATE DATABASE INFORMATION_SCHEMA' returned an `unknown
      database' error. (Bug #9434 (http://bugs.mysql.com/9434))
 
    * Corrected a problem with `IFNULL()' returning an incorrect result
      on 64-bit systems. (Bug #11235 (http://bugs.mysql.com/11235))
 
    * Fixed a problem resolving table names with
      `lower_case_table_names=2' when the table name lettercase differed
      in the `FROM' and `WHERE' clauses. (Bug #9500
      (http://bugs.mysql.com/9500))
 
    * Fixed server crash due to some internal functions not taking into
      account that for multi-byte character sets, `CHAR' columns could
      exceed 255 bytes and `VARCHAR' columns could exceed 65,535 bytes.
      (Bug #11167 (http://bugs.mysql.com/11167))
 
    * Fixed locking problems for multiple-statement `DELETE' statements
      performed within a stored routine, such as incorrectly locking a
      to-be-modified table with a read lock rather than a write lock.
      (Bug #11158 (http://bugs.mysql.com/11158))
 
    * Fixed a portability problem testing for `crypt()' support that
      caused compilation problems when using OpenSSL/yaSSL on HP-UX and
      Mac OS X. (Bug #10675 (http://bugs.mysql.com/10675), Bug #11150
      (http://bugs.mysql.com/11150))
 
    * The hostname cache was not working. (Bug #10931
      (http://bugs.mysql.com/10931))
 
    * On Windows, `mysqlshow' did not interpret wildcard characters
      properly if they were given in the table name argument. (Bug
      #10947 (http://bugs.mysql.com/10947))
 
    * The default hostname for MySQL server was always `mysql'. (Bug
      #11174 (http://bugs.mysql.com/11174))
 
    * Using `PREPARE' to prepare a statement that invoked a stored
      routine that deallocated the prepared statement caused a server
      crash. This is prevented by disabling dynamic SQL within stored
      routines. (Bug #10975 (http://bugs.mysql.com/10975)) (Note: This
      restriction was lifted in 5.0.13 for stored procedures, but not
      stored functions or triggers.)
 
    * Using `PREPARE' to prepare a statement that invoked a stored
      routine that executed the prepared statement caused a `Packets out
      of order' error the second time the routine was invoked. This is
      prevented by disabling dynamic SQL within stored routines. (Bug
      #7115 (http://bugs.mysql.com/7115)) (Note: This restriction was
      lifted in 5.0.13 for stored procedures, but not stored functions
      or triggers.)
 
    * Using prepared statements within a stored routine (`PREPARE',
      `EXECUTE', `DEALLOCATE') could cause the client connection to be
      dropped after the routine returned. This is prevented by disabling
      dynamic SQL within stored routines.  (Bug #10605
      (http://bugs.mysql.com/10605)) (Note: This restriction was lifted
      in 5.0.13 for stored procedures, but not stored functions or
      triggers.)
 
    * When using a cursor with a prepared statement, the first execution
      returned the correct result but was not cleaned up properly,
      causing subsequent executions to return incorrect results. (Bug
      #10729 (http://bugs.mysql.com/10729))
 
    * MySQL Cluster: Connections between data nodes and management nodes
      were not being closed following shutdown of `ndb_mgmd'. (Bug
      #11132 (http://bugs.mysql.com/11132))
 
    * MySQL Cluster: `mysqld' processes would not reconnect to cluster
      following restart of `ndb_mgmd'. (Bug #11221
      (http://bugs.mysql.com/11221))
 
    * MySQL Cluster: Fixed problem whereby data nodes would fail to
      restart on 64-bit Solaris (Bug #9025 (http://bugs.mysql.com/9025))
 
    * MySQL Cluster: Calling `ndb_select_count()' crashed the cluster
      when running on Red Hat Enterprise 4/64-bit/Opteron. (Bug #10058
      (http://bugs.mysql.com/10058))
 
    * MySQL Cluster: Insert records were incorrectly applied by
      `ndb_restore', thus making restoration from backup inconsistent if
      the binlog contained inserts. (Bug #11166
      (http://bugs.mysql.com/11166))
 
    * MySQL Cluster: Cluster would time out and crash after first query
      on 64-bit Solaris 9. (Bug #8918 (http://bugs.mysql.com/8918))
 
    * MySQL Cluster: `ndb_mgm' client `show' command displayed incorrect
      output after master data node failure. (Bug #11050
      (http://bugs.mysql.com/11050))
 
    * MySQL Cluster: A delete performed as part of a transaction caused
      an erroneous result. (Bug #11133 (http://bugs.mysql.com/11133))
 
    * MySQL Cluster: Not allowing sufficient parallelism in cluster
      configuration (for example, `NoOfTransactions' too small) caused
      `ndb_restore' to fail without providing any error messages. (Bug
      #10294 (http://bugs.mysql.com/10294))
 
    * MySQL Cluster: When using dynamically allocated ports on Linux,
      cluster would hang on initial startup. (Bug #10893
      (http://bugs.mysql.com/10893))
 
    * MySQL Cluster: Setting TransactionInactiveTimeout= 0 did not
      result in an infinite timeout. (Bug #11290
      (http://bugs.mysql.com/11290))
 
    * `InnoDB': Enforce maximum `CHAR_LENGTH()' of UTF-8 data in `ON
      UPDATE CASCADE'. (Bug #10409 (http://bugs.mysql.com/10409))
 
    * `InnoDB': Pad UTF-8 `VARCHAR' columns with `0x20'. Pad UCS2 `CHAR'
      columns with `0x0020'. (Bug #10511 (http://bugs.mysql.com/10511))
 
Info Catalog (mysql.info) news-5-0-9 (mysql.info) news-5-0-x (mysql.info) news-5-0-7
automatically generated byinfo2html