Copyright (C) 2000-2012 |
GNU Info (mysql.info)News-3.22.5Changes 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 |