GNU Info

Info Node: (mysql.info)News-3.22.5

(mysql.info)News-3.22.5


Next: News-3.22.4 Prev: News-3.22.6 Up: News-3.22.x
Enter node , (file) or (file)node

Changes in release 3.22.5
-------------------------

   * All table lock handing is changed to avoid some very subtle
     deadlocks when using `DROP TABLE', `ALTER TABLE', `DELETE FROM
     TABLE' and `mysqladmin flush-tables' under heavy usage.  Changed
     locking code to get better handling of locks of different types.

   * Updated `DBI' to 1.00 and `DBD' to 1.2.0.

   * Added a check that the error message file contains error messages
     suitable for the current version of `mysqld'. (To avoid errors if
     you accidentally try to use an old error message file.)

   * All count structures in the client (`affected_rows()',
     `insert_id()', ...) are now of type `BIGINT' to allow 64-bit values
     to be used.  This required a minor change in the MySQL protocol
     which should affect only old clients when using tables with
     `AUTO_INCREMENT' values > 16M.

   * The return type of `mysql_fetch_lengths()' has changed from `uint
     *' to `ulong *'. This may give a warning for old clients but
     should work on most machines.

   * Change `mysys' and `dbug' libraries to allocate all thread
     variables in one struct.  This makes it easier to make a threaded
     `libmysql.dll' library.

   * Use the result from `gethostname()' (instead of `uname()') when
     constructing `.pid' file names.

   * New better compressed server/client protocol.

   * `COUNT()', `STD()' and `AVG()' are extended to handle more than 4G
     rows.

   * You can now store values in the range `-838:59:59' <= x <=
     `838:59:59' in a `TIME' column.

   * *WARNING: INCOMPATIBLE CHANGE!!* If you set a `TIME' column to too
     short a value, MySQL now assumes the value is given as: `[[[D
     ]HH:]MM:]SS' instead of `HH[:MM[:SS]]'.

   * `TIME_TO_SEC()' and `SEC_TO_TIME()' can now handle negative times
     and hours up to 32767.

   * Added new option `SET OPTION SQL_LOG_UPDATE={0|1}' to allow users
     with the *process* privilege to bypass the update log.  (Modified
     patch from Sergey A Mukhin <violet@rosnet.net>.)

   * Fixed fatal bug in `LPAD()'.

   * Initialize line buffer in `mysql.cc' to make `BLOB' reading from
     pipes safer.

   * Added `-O max_connect_errors=#' option to `mysqld'.  Connect
     errors are now reset for each correct connection.

   * Increased the default value of `max_allowed_packet' to `1M' in
     `mysqld'.

   * Added `--low-priority-updates' option to `mysqld', to give
     table-modifying operations (`INSERT', `REPLACE', `UPDATE',
     `DELETE') lower priority than retrievals.  You can now use
     `{INSERT | REPLACE | UPDATE | DELETE} LOW_PRIORITY ...' You can
     also use `SET OPTION SQL_LOW_PRIORITY_UPDATES={0|1}' to change the
     priority for one thread.  One side effect is that `LOW_PRIORITY'
     is now a reserved word. :(

   * Add support for `INSERT INTO table ... VALUES(...),(...),(...)',
     to allow inserting multiple rows with a single statement.

   * `INSERT INTO tbl_name' is now also cached when used with `LOCK
     TABLES'.  (Previously only `INSERT ... SELECT' and `LOAD DATA
     INFILE' were cached.)

   * Allow `GROUP BY' functions with `HAVING':
          mysql> SELECT col FROM table GROUP BY col HAVING COUNT(*)>0;

   * `mysqld' will now ignore trailing `;' characters in queries. This
     is to make it easier to migrate from some other SQL servers that
     require the trailing `;'.

   * Fix for corrupted fixed-format output generated by `SELECT INTO
     OUTFILE'.

   * *WARNING: INCOMPATIBLE CHANGE!!* Added Oracle `GREATEST()' and
     `LEAST()' functions.  You must now use these instead of the
     `MAX()' and `MIN()' functions to get the largest/smallest value
     from a list of values. These can now handle `REAL', `BIGINT' and
     string (`CHAR' or `VARCHAR') values.

   * *WARNING: INCOMPATIBLE CHANGE!!* `DAYOFWEEK()' had offset 0 for
     Sunday. Changed the offset to 1.

   * Give an error for queries that mix `GROUP BY' columns and fields
     when there is no `GROUP BY' specification.

   * Added `--vertical' option to `mysql', for printing results in
     vertical mode.

   * Index-only optimization; some queries are now resolved using only
     indexes.  Until MySQL 4.0, this works only for numeric columns.
     Note: MySQL indexes.

   * Lots of new benchmarks.

   * A new C API chapter and lots of other improvements in the manual.


automatically generated by info2www version 1.2.2.9