MySQL 4.1.10 リリース!
投稿日時 2005-2-16 2:13:10 | トピック: MySQL
| MySQL4.1.10 がリリースされました。 多くの不具合修正が行われています。 日本語の文字コードに関する修正状況はチェンジログを見る限りは不明です。
以下チェンジログ: -------------------------------------------------- ■関数の追加と変更: - Added `mysql_library_init()' and `mysql_library_end()' as synonyms for the `mysql_server_init()' and `mysql_server_end()' C API functions. `mysql_library_init()' and `mysql_library_end()' are `#define' symbols, but the names more clearly indicate that they should be called when beginning and ending use of a MySQL C API library no matter whether the application uses `libmysqlclient' or `libmysqld'. (Bug #6149)
- The server now issues a warning when `lower_case_table_names=2' and the data directory is on a case-sensitive filesystem, just as when `lower_case_table_names=0' on a case-insensitive filesystem. (Bug #7887)
- The server now issues a warning to the error log when it encounters older tables that contain character columns that might be interpreted by newer servers to have a different column length. (Bug #6913) See *Note Upgrading-from-4.0:: for a discussion of this problem and what to do about it.
- InnoDB: When MySQL/InnoDB is compiled on Mac OS X 10.2 or earlier, detect the operating system version at run time and use the `fcntl()' file flush method on Mac OS X versions 10.3 and later. Apple had disabled `fsync()' in Mac OS X for internal disk drives, which caused corruption at power outages.
- InnoDB: A shared record lock (`LOCK_REC_NOT_GAP') is now taken for a matching record in the foreign key check because inserts can be allowed into gaps.
- InnoDB: Relaxed locking in INSERT...SELECT, single table UPDATE...SELECT and single table DELETE...SELECT clauses when innobase_locks_unsafe_for_binlog is used and isolation level of the transaction is not serializable. `InnoDB' uses consistent read in these cases for a selected table.
■バグ修正: - A test case was failing on Linux/IA-64 due to insufficient thread stack size. The size was increased from 192KB to 256KB on this platform. (Bug #8391)
- Fixed `LOAD INDEX' statement to actually load index in memory.(Bug #8452)
- If multiple prepared statements were executed without retrieving their results, executing one of them again would cause the client program to crash. (Bug #8330)
- Non-numeric values inserted into a `YEAR' column were being stored as `2000' rather than as `0000'. (Bug #6067)
- Fixed a failure of multiple-table updates to replicate properly on slave servers when `--replicate-*-table' options had been specified. (Bug #7011)
- `mysql_stmt_close()' C API function was not clearing an error indicator when a previous prepare call failed, causing subsequent invocations of error-retrieving calls to indicate spurious error values. (Bug #7990)
- Fixed failure of `CREATE TABLE ... LIKE' Windows when the source or destination table was located in a symlinked database directory. (Bug #6607)
- With `lower_case_table_names' set to 1, `mysqldump' on Windows could write the same table name in different lettercase for different SQL statements. Fixed so that consistent lettercase is used. (Bug #5185) `HAVING' that referred to `RAND()' or a user-defined function in the `SELECT' part through an alias could cause a crash or wrong value. (Bug #8216)
- If one used `CONVERT_TZ()' function in `SELECT', which in its turn was used in `CREATE TABLE' statements, then system time zone tables were added to list of tables joined in SELECT and thus erroneous result was produced. (Bug #7899)
- Fixed a bug in `CONV()' function returning unsigned `BIGINT' number (third argument is positive, and return value does not fit in 32 bits). (Bug #7751)
- Fixed a failure of the `IN()' operator to return correct result if all values in the list were constants and some of them were using substring functions, for example, `LEFT()', `RIGHT()', or `MID()'.
- Fixed problem with `SHOW INDEX' reporting `Sub_part' values in bytes rather than characters for columns with a multi-byte character set. (Bug #7943)
- Fixed a crash in `CONVERT_TZ()' function when its second or third argument was from a `const' table (*note `const' tables: EXPLAIN.). (Bug #7705)
- Correct a problem with `mysql_config', which was failing to produce proper `zlib' option for linking under some circumstances. (Bug #6273)
Fixed a problem with calculation of number of columns in row comparison against a subquery. (Bug #8020)
- Fixed erroneous output resulting from `SELECT DISTINCT' combined with a subquery and `GROUP BY'. (Bug #7946)
- Fixed server crash in comparing a nested row expression (for example `row(1,(2,3))') with a subquery. (Bug #8022)
- Fixed server crash resulting from certain correlated subqueries with forward references (referring to an alias defined later in the outer query). (Bug #8025)
- Fixed server crash resulting from re-execution of prepared statements containing subqueries. (Bug #8125)
- Removed a dependence of boolean full-text search on `--default-character-set' option. (Bug #8159)
- Fixed a crash in a boolean full-text search in certain joins. (Bug #8234)
- Fixed erroneous comparison where strings that began with `CHAR(31)' were considered equal to the empty string. (Bug #8134)
- Add description of `debug' command to `mysqladmin' help output. (Bug #8207)
- `perror.exe' was always returning "Unknown error" on Windows. *Note `perror': perror. (Bug #7390)
- Modify `SET' statements produced by `mysqldump' to write quoted strings using single quotes rather than double quotes. This avoids problems if the dump file is reloaded while the `ANSI_QUOTES' SQL mode is in effect. (Bug #8148)
- Fixed a bug where `ALTER TABLE' improperly would accept an index on a `TIMESTAMP' column that `CREATE TABLE' would reject. (Bug #7884)
- Fixed a bug in multiple-table `UPDATE' statements that could cause spurious `Table '#sql_....' is full' errors if the number of rows to update is big enough. (Bug #7788)
- Fixed a problem where `SHOW INDEX' on a `MERGE' table could crash a debugging version of the server. (Bug #7377)
- Fixed a problem where adding an `ORDER BY' clause for an indexed column would cause a `SELECT' to return an empty result. (Bug #7311)
- Fixed a problem where `ALTER TABLE' on a `TEMPORARY' table with a mixed-lettercase name could cause the table to disappear when `lower_case_table_names' was set to 2. (Bug #7261)
- Fixed a problem with key cache statistics being reported incorrectly by the server after receipt of a `SIGHUP' signal. (Bug #4285)
- Fixed a problem that caused `mysql_stmt_prepare()' to be very slow when used in client programs on Windows. (Bug #5787)
- For indexes, `SHOW CREATE TABLE' now displays the index type even if it is the default, for storage engines that support multiple index types. (Bug #7235)
- Fixed a bug where the use of `GROUP_CONCAT()' with `HAVING' caused a server crash. (Bug #7769)
- Fixed a bug where comparing the result of a subquery to a non-existent column caused a server crash on Windows. (Bug #7885)
- Fixed a bug which caused `TIMEDIFF()' function to return wrong results if one of its arguments had non-zero microsecond part (Bug #7586).
- Fixed a bug which caused `TIMESTAMP' columns with display width specified to be not identical to `DATETIME' columns when server was run in `MAXDB' mode (Bug #7418).
- Fixed a bug in `UNION' statements that resulted in the wrong number of the examined rows reported in the slow query log.
- Fixed a bug in a combination of `-not' and `trunc*' operators of full-text search. Using more than one truncated negative search term, was causing empty result set.
- InnoDB: Fixed a bug introduced in 4.1.9 to the Windows version if you used `innodb_file_per_table'. `mysqld' would stop and complain about Windows error number 87 in a file operation. (See the Bugs database or the 4.1.9 change notes about a workaround for that bug in 4.1.9). (Bug #8021)
- InnoDB: Corrected the handling of trailing spaces in the `ucs2' character set. (Bug #7350)
- InnoDB: Use native `tmpfile()' function on Netware. All InnoDB temporary files will be created under `sys:\tmp'. Previously, InnoDB temporary files were never deleted on Netware.
- Fixed a bug in `max_heap_table_size' handling, that resulted in `Table is full' error when the table was still smaller than the limit. (Bug #7791).
- Fixed a symlink vulnerability in the `mysqlaccess' script. Reported by Javier Fernandez-Sanguino Pena and Debian Security Audit Team (http://www.debian.org/security/audit). (CAN-2005-0004 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0004))
- `mysqlbinlog' forgot to add backquotes around the collation of user variables (causing later parsing problems as `BINARY' is a reserved word). (Bug #7793)
- Ensured that `mysqldump --single-transaction' sets its transaction isolation level to `REPEATABLE READ' before proceeding (otherwise if the MySQL server was configured to run with a default isolation level lower than `REPEATABLE READ' it could give an inconsistent dump). (Bug #7850)
- Changed `mysql' client so that including `\p' as part of a prompt command will use the name of the shared memory connection when the connection is using shared memory. (Bug #7922)
- Fixed a problem in the server where executing a multi-statement query more than once with the query cache active could yield incorrect result sets. (Bug #7966)
- Fixed that a 4.1.10 slave can connect to a master < 3.23.50 without hanging (the reason for the hang is a bug in these quite old masters - `SELECT @@unknown_var' hangs them - which was fixed in MySQL 3.23.50). (Bug #7965)
|
|