DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

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

Info Catalog (mysql.info) news-5-0-13 (mysql.info) news-5-0-x (mysql.info) news-5-0-11
 
 D.1.9 Changes in release 5.0.12 (02 Sept 2005)
 ----------------------------------------------
 
 Functionality added or changed:
 
    *           *Incompatible change:*           Beginning with MySQL
      5.0.12, natural joins and joins with           `USING', including
      outer join variants, are           processed according to the
      SQL:2003 standard. The changes           include elimination of
      redundant output columns for           `NATURAL' joins and joins
      specified with a           `USING' clause and proper ordering of
      output           columns. (Bug #6136 (http://bugs.mysql.com/6136),
      Bug #6276 (http://bugs.mysql.com/6276), Bug #6489
      (http://bugs.mysql.com/6489), Bug #6495
      (http://bugs.mysql.com/6495), Bug #6558
      (http://bugs.mysql.com/6558), Bug #9067
      (http://bugs.mysql.com/9067), Bug #9978
      (http://bugs.mysql.com/9978), Bug #10428
      (http://bugs.mysql.com/10428), Bug #10646
      (http://bugs.mysql.com/10646), Bug #10972
      (http://bugs.mysql.com/10972).) The precedence of the comma
      operator also now is           lower compared to `JOIN'. (Bug
      #4789 (http://bugs.mysql.com/4789), Bug #12065
      (http://bugs.mysql.com/12065), Bug #13551
      (http://bugs.mysql.com/13551).)
 
      These changes make MySQL more compliant with standard SQL.
        However, they can result in different output columns for some
             joins. Also, some queries that appeared to work correctly
              prior to 5.0.12 must be rewritten to comply with the
      standard.            For details about the scope of the changes
      and examples that           show what query rewrites are
      necessary, see            join.
 
    *           Recursive triggers are detected and disallowed. Also,
      within a           stored function or trigger, it is not allowable
      to modify a           table that is already being used (for
      reading or writing) by           the statement that invoked the
      function or trigger. (Bug #11896 (http://bugs.mysql.com/11896),
      Bug #12644 (http://bugs.mysql.com/12644))
 
    *           `SHOW TABLE STATUS' for a view now shows
      `VIEW' in uppercase, consistent with           `SHOW TABLES' and
             `INFORMATION_SCHEMA'. (Bug #5501
      (http://bugs.mysql.com/5501))
 
    *           An optimizer estimate of zero rows for a non-empty
         `InnoDB' table used in a left or right join           could
      cause incomplete rollback for the table. (Bug #12779
      (http://bugs.mysql.com/12779))
 
    *           Calls to stored procedures were written to the binary
      log even           within transactions that were rolled back,
      causing them to be           executed on replication slaves. (Bug
      #12334 (http://bugs.mysql.com/12334))
 
    *           Interleaved execution of stored procedures and functions
      could           be written to the binary log incorrectly, causing
      replication           slaves to get out of sync. (Bug #12335
      (http://bugs.mysql.com/12335))
 
    *           A query of the form `SHOW TABLE STATUS FROM
      DB_NAME WHERE name IN           (SELECT_QUERY)' would
      crash the server. (Bug #12636 (http://bugs.mysql.com/12636))
 
    *           Users created using an IP address or other alias rather
      than a           hostname listed in `/etc/hosts' could not
       set their own passwords. (Bug #12302
      (http://bugs.mysql.com/12302))
 
    *           Using `DESCRIBE' on a view after renaming a
      column in one of the view's base tables caused the server to
         crash. (Bug #12533 (http://bugs.mysql.com/12533))
 
    *           `SHOW OPEN TABLES' now supports           `FROM' and
      `LIKE' clauses.            (Bug #12183
      (http://bugs.mysql.com/12183))
 
    *           `SHOW TABLE STATUS FROM INFORMATION_SCHEMA'
      now sorts output by table name the same as it does for other
         databases. (Bug #12315 (http://bugs.mysql.com/12315))
 
    *           `SHOW ENGINE INNODB STATUS' now can display
      longer query strings. (Bug #7819 (http://bugs.mysql.com/7819))
 
    *           Added the `SLEEP()' function, which pauses           for
      the number of seconds given by its argument. (Bug #6760
      (http://bugs.mysql.com/6760))
 
    *           Trying to drop the default keycache by setting
      `@@global.key_buffer_size' to zero now           returns a warning
      that the default keycache cannot be dropped.            (Bug
      #10473 (http://bugs.mysql.com/10473))
 
    *           The stability of cursors when used with
      `InnoDB' tables was greatly improved. (Bug #11832
      (http://bugs.mysql.com/11832), Bug #12243
      (http://bugs.mysql.com/12243), Bug #11309
      (http://bugs.mysql.com/11309))
 
    *           It is no longer possible to issue `FLUSH'
      commands from within stored functions or triggers. See
       routine-restrictions, for details. (Bug #12280
      (http://bugs.mysql.com/12280), Bug #12307
      (http://bugs.mysql.com/12307))
 
    *           `INFORMATION_SCHEMA' objects are now reported
      as a `SYSTEM VIEW' table type. (Bug #11711
      (http://bugs.mysql.com/11711))
 
 Bugs fixed:
 
    *           `CHECKSUM TABLE' command returned incorrect
      results for tables with deleted rows. After upgrading, users
         who used stored checksum information to detect table changes
             should rebuild their checksum data. (Bug #12296
      (http://bugs.mysql.com/12296))
 
    *           A data type of `CHAR BINARY' was not
      recognized as valid for stored routine parameters. (Bug #9048
      (http://bugs.mysql.com/9048))
 
    *           `SET GLOBAL TRANSACTION ISOLATION LEVEL' was
      not working. (Bug #11207 (http://bugs.mysql.com/11207))
 
    *           `NDB Cluster': Corrected the parsing of the
      `CLUSTERLOG' command by           `ndb_mgm' to allow multiple
      items. (Bug #12833 (http://bugs.mysql.com/12833))
 
    *           `NDB Cluster': Improved error messages           related
      to filesystem issues. (Bug #11218 (http://bugs.mysql.com/11218))
 
    *           `NDB Cluster': When a schema was detected to
      be corrupt, `ndb' neglected to close it,           resulting in a
      `file already open' error if the           schema was opened again
      later. written. (Bug #12027 (http://bugs.mysql.com/12027))
 
    *           `NDB Cluster': When it could not copy a
      fragment, `ndbd' exited without printing a           message about
      the condition to the error log. Now the message           is
      written. (Bug #12900 (http://bugs.mysql.com/12900))
 
    *           `NDB Cluster': When a disk full condition
      occurred, `ndbd' exited without printing a           message about
      the condition to the error log. Now the message           is
      written. (Bug #12716 (http://bugs.mysql.com/12716))
 
    *           `mysql_fix_privilege_tables.sql' was           missing a
      comma, causing a syntax error when executed. (Bug #12705
      (http://bugs.mysql.com/12705))
 
    *           `STRCMP()' was not handled correctly in           views.
      (Bug #12489 (http://bugs.mysql.com/12489))
 
    *           `NDB Cluster': Bad values in           `config.ini'
      caused           `ndb_mdmd' to crash. (Bug #12043
      (http://bugs.mysql.com/12043))
 
    *           `TRUNCATE TABLE' did not work with           `TEMPORARY'
      `InnoDB' tables.            (Bug #11816
      (http://bugs.mysql.com/11816))
 
    *           Built-in commands for the `mysql' client,           such
      as `delimiter' and `\d'           are now always parsed within
      files that are read using the           `\.' and `source' commands.
               (Bug #11523 (http://bugs.mysql.com/11523))
 
    *           `ALTER TABLE DB_NAME.T           RENAME T' did not move
      the           table to default database unless the new name was
      qualified           with the database name. (Bug #11493
      (http://bugs.mysql.com/11493))
 
    *           It was not possible to create a stored function with a
      spatial           return value data type. (Bug #10499
      (http://bugs.mysql.com/10499))
 
    *           The only valid values for the `PACK_KEYS'
      table option are 0 and 1, but other values were being
      accepted. (Bug #10056 (http://bugs.mysql.com/10056))
 
    *           If a `DROP DATABASE' fails on a master server
      due to the presence of a non-database file in the database
       directory, the master have the database tables deleted, but
          not the slaves. To deal with failed database drops, we now
            write `DROP TABLE' statements to the binary           log
      for the tables so that they are dropped on slaves. (Bug #4680
      (http://bugs.mysql.com/4680))
 
    *           Improper use of loose index scan in `InnoDB'
      sometimes caused incorrect query results. (Bug #12672
      (http://bugs.mysql.com/12672))
 
    *           `DELETE' or `UPDATE' for an           indexed `MyISAM'
      table could fail. This was           due to a change in end-space
      comparison behavior from 4.0 to           4.1. (Bug #12565
      (http://bugs.mysql.com/12565))
 
    *           Joins on `VARCHAR' columns of different
      lengths could produce incorrect results. (Bug #11398
      (http://bugs.mysql.com/11398))
 
    *           A `Duplicate column name' error no longer occurs
       when selecting from a view defined as `SELECT           *' from
      a join that uses a `USING'           clause on tables that have a
      common column name. (Bug #6558 (http://bugs.mysql.com/6558))
 
    *           Invocations of the `SLEEP()' function
      incorrectly could get optimized away for statements in which
         it occurs. Statements containing `SLEEP()'
      incorrectly could be stored in the query cache. (Bug #12689
      (http://bugs.mysql.com/12689))
 
    *           `NDB Cluster': An `ALTER           TABLE' command caused
      loss of data stored prior to           the issuing of the command.
      (Bug #12118 (http://bugs.mysql.com/12118))
 
    *           Query cache is switched off if a thread (connection) has
               tables locked. This prevents invalid results where the
      locking           thread inserts values between a second thread
      connecting and           selecting from the table. (Bug #12385
      (http://bugs.mysql.com/12385))
 
    *           `NOW()', `CURRENT_TIME' and           values generated
      by timestamp columns are now constant for the           duration
      of a stored function or trigger. This prevents the
      breaking of statements-based replication. (Bug #12480
      (http://bugs.mysql.com/12480), Bug #12481
      (http://bugs.mysql.com/12481))
 
    *           Some statements executed on a master server caused the
      SQL           thread on a slave to run out of memory. (Bug #12532
      (http://bugs.mysql.com/12532))
 
    *           A `SELECT DISTINCT' query with a constant
      value for one of the columns would return only a single row.
          (Bug #12625 (http://bugs.mysql.com/12625))
 
    *           `NDB Cluster': Cluster failed to take
      character set data into account when recomputing hashes (and
         thus could not locate records for updating or deletion)
        following a configuration change and node restart. (Bug #12220
      (http://bugs.mysql.com/12220))
 
    *           `NDB Cluster': Wrong error message displayed
      when cluster management server closed port while
      `mysqld' was connecting. (Bug #10950 (http://bugs.mysql.com/10950))
 
    *           A view was allowed to depend on a function that referred
      to a           temporary table. (Bug #10970
      (http://bugs.mysql.com/10970))
 
    *           Prepared statement parameters could cause errors in the
      binary           log if the character set was `cp932'. (Bug #11338
      (http://bugs.mysql.com/11338))
 
    *           The `CREATE_OPTIONS' column of
      `INFORMATION_SCHEMA.TABLES' showed incorrect           options for
      tables in `INFORMATION_SCHEMA'.            (Bug #12397
      (http://bugs.mysql.com/12397))
 
    *           `MEMORY' tables using           `B-Tree' index on 64-bit
      platforms could           produce false table is full errors. (Bug
      #12460 (http://bugs.mysql.com/12460))
 
    *           Issuing `FLUSH INSTANCES' followed by           `STOP
      INSTANCE' caused instance manager to           crash. (Bug #10957
      (http://bugs.mysql.com/10957))
 
    *           Duplicate instructions in stored procedures resulted in
              incorrect execution when the optimizer optimized the
      duplicate           code away. (Bug #12168
      (http://bugs.mysql.com/12168))
 
    *           `SHOW TABLES FROM' returned wrong error
      message if the schema specified did not exist. (Bug #12591
      (http://bugs.mysql.com/12591))
 
    *           The `ROW()' function returned an incorrect
      result when comparison involved `NULL'           values. (Bug
      #12509 (http://bugs.mysql.com/12509))
 
    *           Views with multiple `UNION' and           `UNION ALL'
      produced incorrect results. (Bug #10624
      (http://bugs.mysql.com/10624))
 
    *           Stored procedures with particularly long loops could
      crash           server due to memory leak. (Bug #12297
      (http://bugs.mysql.com/12297), Bug #11247
      (http://bugs.mysql.com/11247))
 
    *           Trigger and stored procedure execution could break
         replication. (Bug #12482 (http://bugs.mysql.com/12482))
 
    *           A server crash could result from an update of a view
      defined           as a join, even though the update updated only a
      single table.            (Bug #12569 (http://bugs.mysql.com/12569))
 
    *           On Windows when the
      -innodb_buffer_pool_awe_mem_mb option has           been given,
      the server detects whether AWE support is           available and
      has been compiled into the server, and displays           an
      appropriate error message if not. (Bug #6581
      (http://bugs.mysql.com/6581))
 
    *           The `NUMERIC_SCALE' column of the
      `INFORMATION_SCHEMA.COLUMNS' table should be           returned as
      `0' for integer columns. It was           being returned as
      `NULL'. (Bug #12301 (http://bugs.mysql.com/12301))
 
    *           The `COLUMN_DEFAULT' column of the
      `INFORMATION_SCHEMA.COLUMNS' table should be           returned as
      `NULL' if a column has no default           value. An empty string
      was being returned if the column was           defined as `NOT
      NULL'. (Bug #12518 (http://bugs.mysql.com/12518))
 
    *           Slave I/O threads were considered to be in the running
      state           when launched (rather than after successfully
      connecting to           the master server), resulting in incorrect
      `SHOW SLAVE           STATUS' output. (Bug #10780
      (http://bugs.mysql.com/10780))
 
    *           Column names in subqueries must be unique, but were not
      being           checked for uniqueness. (Bug #11864
      (http://bugs.mysql.com/11864))
 
    *           On Windows, the server could crash during shutdown if
      both           replication threads and normal client connection
      threads were           active. (Bug #11796
      (http://bugs.mysql.com/11796))
 
    *           Some subqueries of the form `SELECT ... WHERE ROW(...)
              IN (SUBQUERY)' were being           handled incorrectly.
      (Bug #11867 (http://bugs.mysql.com/11867))
 
    *           Selecting from a view after `INSERT'
      statements for the view's underlying table yielded different
         results than subsequent selects. (Bug #12382
      (http://bugs.mysql.com/12382))
 
    *           The `mysql_info()' C API function could           return
      incorrect data when executed as part of a
      multi-statement that included a mix of statements that do and
          do not return information. (Bug #11688
      (http://bugs.mysql.com/11688))
 
    *           When restoring `INFORMATION_SCHEMA' as the
      default database after failing to execute a stored procedure
         in an inaccessible database, the server returned a spurious
            `ERROR 42000: Unknown database
      'information_schema'' message. (Bug #12318
      (http://bugs.mysql.com/12318))
 
    *           Renamed the `rest()' macro in           `my_list.h' to
             `list_rest()' to avoid name clashes with user
      code. (Bug #12327 (http://bugs.mysql.com/12327))
 
    *           `DATE_ADD()' and           `DATE_SUB()' were converting
      invalid dates to           `NULL' in `TRADITIONAL' SQL
      mode rather than rejecting them with an error. (Bug #10627
      (http://bugs.mysql.com/10627))
 
    *           A trigger that included a `SELECT' statement
      could cause a server crash. (Bug #11587
      (http://bugs.mysql.com/11587))
 
    *           An incorrect conversion from `double' to
      `ulonglong' caused indexes not to be used for           `BDB'
      tables on HP-UX. (Bug #10802 (http://bugs.mysql.com/10802))
 
    *           `myisampack' failed to delete           `.TMD' temporary
      files when run with           -T option. (Bug #12235
      (http://bugs.mysql.com/12235))
 
    *           Added portability check for Intel compiler to address a
              problem compiling `InnoDB' code. (Bug #11510
      (http://bugs.mysql.com/11510))
 
    *           `XA' allowed two active transactions to be
      started with the same XID. (Bug #12162
      (http://bugs.mysql.com/12162))
 
    *           Concatenating `USER()' or           `DATEBASE()' with a
      column produced invalid           results. (Bug #12351
      (http://bugs.mysql.com/12351))
 
    *           Creating a view that included the
      `TIMESTAMPDIFF()' function resulted in a           invalid view.
      (Bug #12298 (http://bugs.mysql.com/12298))
 
    *           Comparison of `InnoDB' multi-part primary           keys
      that include `VARCHAR' columns can           result in incorrect
      results. (Bug #12340 (http://bugs.mysql.com/12340))
 
    *           For PKG installs on Mac OS X, the preinstallation and
            postinstallation scripts were being run only for new
        installations and not for upgrade installations, resulting in
             an incomplete installation process. (Bug #11380
      (http://bugs.mysql.com/11380))
 
    *           Using cursors and nested queries for the same table,
      corrupted           results were returned for the outer query.
      (Bug #11909 (http://bugs.mysql.com/11909))
 
    *           User variables were not automatically cast for
      comparisons,           causing queries to fail if the column and
      connection character           sets differed. Now when mixing
      strings with different           character sets but the same
      coercibility, allow conversion if           one character set is a
      superset of the other. (Bug #10892 (http://bugs.mysql.com/10892))
 
    *           Selecting from a view defined as a join over many tables
      could           result in a server crash due to miscalculation of
      the number           of conditions in the `WHERE' clause. (Bug
      #12470 (http://bugs.mysql.com/12470))
 
    *           Pathame values for options such as --basedir
      or -datadir didn't work on Japanese Windows           machines for
      directory names containing multi-byte characters           having
      a second byte of `0x5C'           (‘`\'’). (Bug #5439
      (http://bugs.mysql.com/5439))
 
    *           A race condition between server threads could cause a
      crash if           one thread deleted a stored routine while
      another thread was           executing a stored routine. (Bug
      #12228 (http://bugs.mysql.com/12228))
 
    *           Mishandling of comparison for rows containing
      `NULL' values against rows produced by an           `IN' subquery
      could cause a server crash.            (Bug #12392
      (http://bugs.mysql.com/12392))
 
    *           Inserting `NULL' into a           `GEOMETRY' column for
      a table that has a           trigger could result in a server
      crash if the table was           subsequently dropped. (Bug #12281
      (http://bugs.mysql.com/12281))
 
    *           A failure to obtain a lock for an `IN SHARE
      MODE' query could result in a server crash. (Bug #12082
      (http://bugs.mysql.com/12082))
 
    *           `SELECT ... INTO           VAR_NAME' within a trigger
            could cause a server crash. (Bug #11973
      (http://bugs.mysql.com/11973))
 
    *           `INSERT ... SELECT ... ON DUPLICATE KEY
      UPDATE' could fail with an erroneous `Column           'COL_NAME'
      specified twice'           error. (Bug #10109
      (http://bugs.mysql.com/10109))
 
    *           `SHOW TABLE STATUS' sometimes reported a
      `Row_format' value of           `Dynamic' for `MEMORY'
      tables, though such tables always have a format of
      `Fixed'. (Bug #3094 (http://bugs.mysql.com/3094))
 
    *           A query using a `LEFT JOIN', an           `IN' subquery
      on the outer table, and an           `ORDER BY' clause, caused the
      server to crash           when cursors were enabled. (Bug #11901
      (http://bugs.mysql.com/11901))
 
    *           Using a stored procedure that referenced tables in the
             `INFORMATION_SCHEMA' database would return an
      empty result set. (Bug #10055 (http://bugs.mysql.com/10055), Bug
      #12278 (http://bugs.mysql.com/12278))
 
    *           Columns defined as `TINYINT(1)' were           redefined
      as `TINYINT(4)' when incorporated           into a `VIEW'. (Bug
      #11335 (http://bugs.mysql.com/11335))
 
    *           `ISO-8601' formatted dates were not being
      parsed correctly. (Bug #7308 (http://bugs.mysql.com/7308))
 
    *           `FLUSH TABLES WITH READ LOCK' combined with
      `LOCK TABLE .. WRITE' caused deadlock. (Bug #9459
      (http://bugs.mysql.com/9459))
 
    *           `NULL' column definitions read incorrectly           for
      inner tables of nested outer joins. (Bug #12154
      (http://bugs.mysql.com/12154))
 
    *           `GROUP_CONCAT' ignores the           `DISTINCT' modifier
      when used in a query           joining multiple tables where one
      of the tables has a single           row. (Bug #12095
      (http://bugs.mysql.com/12095))
 
    *           `UNION' query with           `FULLTEXT' could cause
      server crash. (Bug #11869 (http://bugs.mysql.com/11869))
 
Info Catalog (mysql.info) news-5-0-13 (mysql.info) news-5-0-x (mysql.info) news-5-0-11
automatically generated byinfo2html