-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
MySQL 4.0.5, a new version of the world's most popular Open Source Database, has been released. It is now available in source and binary form for a number of platforms from our download pages at http://www.mysql.com/downloads/ and mirror sites. This is a new beta development release, adding new features and fixing recently discovered bugs. This will be the last release labelled as "beta" - the upcoming MySQL 4.0.6 will be labelled "gamma", which emphasizes the fact that the MySQL 4.0 code base has further stabilized and is becoming ready for productive use. To avoid confusion between the product names of the GPL and non-GPL (commercial) binaries, MySQL AB has now further refined the new naming scheme. Starting with MySQL 4.0.5 and onwards, the following binaries will be available: MySQL Standard (GPL) This is the recommended binary for most users that want to use MySQL under the terms of the GNU General Public License (GPL). It includes the InnoDB Storage Engine and all default features that are considered stable and useful enough for general usage. MySQL Max (GPL) This is an enhanced version of the Standard GPL package. In addition to the InnoDB Storage Engine, it includes additional features like the Berkeley DB (BDB) Storage Engine (certain platforms only) as well as other additional features that are either not exhaustively tested yet or not required for most users, e.g. OpenSSL (where available), User defined functions (UDFs), or BIG_TABLE support. When these features have matured and proven to be stable enough, they will be part of future versions of the Standard binaries. Please note, that not all of these features are included in all binaries. MySQL Classic (Commercial License) Similar to MySQL Standard, but *without* InnoDB and only available as a commercial licensed version. MySQL Pro (Commercial License) Similar to MySQL Standard (*including* InnoDB), but only available as a commercial licensed version. - From the 4.0.5 ChangeLog: Functionality added or changed: * Changed handling of last argument in `WEEK()' so that one can get week number according to the ISO 8601 specification. (Old code should still work). * Fixed that `INSERT DELAY' threads doesn't hang on `Waiting for INSERT' when one sends a `SIGHUP' to `mysqld'. * Change that `AND' works according to SQL ANSI99 when it comes to `NULL' handling. In practice, this only affects queries where you do something like `WHERE ... NOT (NULL AND 0)'. * `mysqld' will now resolve `basedir' to its full path (with `realpath()'). This enables one to use relative symlinks to the MySQL installation directory. This will however cause `show variables' to report different directories on systems where there is a symbolic link in the path. * Fixed that MySQL will not use an index scan on an index that has been disabled with `IGNORE INDEX' or `USE INDEX'. * Added `--use-frm' option to `mysqlcheck'. When used with `REPAIR', it gets the table structure from the `.frm' file, so the table can be repaired even if the `.MYI' header is corrupted. * Fixed bug in `MAX()' optimization when used with `JOIN' and `ON' expressions. * Added support for reading of MySQL 4.1 table definition files. * `BETWEEN' behaviour changed (*note Comparison Operators::). Now `datetime_col BETWEEN timestamp AND timespamp' should work as expected. * One can create `TEMPORARY' `MERGE' tables now. * `DELETE FROM myisam_table' now shrinks not only the `.MYD' file but also the `.MYI' file. * When one uses the `--open-files-limit=#' option to `mysqld_safe' it's now passed on to `mysqld'. * Changed output from `EXPLAIN' from `'where used'' to `'Using where'' to make it more in line with other output. * Removed variable `safe_show_database' as it was not used anymore. * Updated source tree to be built using `automake 1.5' and `libtool 1.4'. * Fixed an inadvertently changed option (`--ignore-space') back to the original `--ignore-spaces' in `mysqlclient'. (Both syntaxes will work). * Don't require `UPDATE' privilege when using `REPLACE'. * Allow braces in joins in all positions. Formerly, things like `SELECT * FROM (t2 LEFT JOIN t3 USING (a)), t1' worked, but not `SELECT * FROM t1, (t2 LEFT JOIN t3 USING (a))'. Note that braces are simply removed, they do not change the way the join is executed. * InnoDB now supports also isolation levels `READ UNCOMMITTED' and `READ COMMITTED'. For a detailed InnoDB changelog, see the section InnoDB Change History in this manual. Bugs fixed: * Corrected test for `root' user in `mysqld_safe'. * Fixed error message issued when storage engine cannot do `CHECK' or `REPAIR'. * Fixed rare core dump problem in complicated `GROUP BY' queries that didn't return any result. * Fixed `mysqlshow' to work properly with wildcarded database names and with database names that contain underscores. * Added support for `DROP TEMPORARY TABLE ...', to be used to make replication safer. * When transactions are enabled, all commands that update temporary tables inside a `BEGIN/COMMIT' are now stored in the binary log on `COMMIT' and not stored if one does `ROLLBACK'. This fixes some problems with non-transactional temporary tables used inside transactions. * Portability fixes to get MySQL to compile cleanly with Sun Forte 5.0. * Fixed `MyISAM' crash when using dynamic-row tables with huge numbers of packed fields. * Fixed query cache behaviour with `BDB' transactions. * Fixed possible floating point exception in `MATCH' relevance calculations. * Fixed bug in full-text search `IN BOOLEAN MODE' that made `MATCH' to return incorrect relevance value in some complex joins. * Fixed a bug that limited `MyISAM' key length to a value slightly less that 500. It is exactly 500 now. * Fixed that `GROUP BY' on columns that may have a `NULL' value doesn't always use disk based temporary tables. * The filename argument for the `--des-key-file' argument to `mysqld' is interpreted relative to the data directory if given as a relative pathname. * Removed a condition that temp table with index on column that can be `NULL' has to be `MyISAM'. This was okay for 3.23, but not needed in 4.*. This resulted in slowdown in many queries since 4.0.2. * Small code improvement in multi-table updates. * Fixed a newly introduced bug that caused `ORDER BY ... LIMIT #' to not return all rows. * Fixed a bug in multi-table deletes when outer join is used on an empty table, which gets first to be deleted. * Fixed a bug in multi-table updates when a single table is updated. * Fixed bug that caused `REPAIR TABLE' and `myisamchk' to corrupt `FULLTEXT' indexes. * Fixed bug with caching the `mysql' grant table database. Now queries in this database are not cached in the query cache. * Small fix in `mysqld_safe' for some shells. * Give error if a `MyISAM' `MERGE' table has more than 2 ^ 32 rows and MySQL was not compiled with with `-DBIG_TABLES'. * Fixed some `ORDER BY ... DESC' problems with `InnoDB' tables. Additional notes: * MySQL AB now provides binaries for two additional platforms: - Sun Solaris 9 (sparc) 32bit and 64bit - HP/UX 11 (64 bit) * In addition to the bugs fixed in MySQL 4.0.5, we had to provide some packages labelled as "4.0.5a" to fix the following problems that were spotted shortly after the original 4.0.5 packages were released: - The Linux binary was accidentally linked against an unpatched glibc and could behave badly on SMP systems under high load - The "mysql" command line client on Solaris 2.8 was accidentally linked against a non-default system library (libncurses.so) - On MacOS X, the "mysqld" binary did not properly shut down and had to be killed manually - On HP/UX 11, the MySQL server "mysqld" crashed, when one used the command "SHOW VARIABLES" Please upgrade, if you had downloaded a 4.0.5 binary and there is a 4.0.5a version available for your platform. The latter two problems were resolved by applying two additional patches to the 4.0.5 sources. Of course, these patches also have been added to our development source tree and will be part of future releases by default. They are also included in the 4.0.5a source archives. * The Windows binary now includes a WinMySQLAdmin binary exclusively for the Windows NT operating system named "WinMySQLAdmin-nt.exe". The reason for this is that the NT 4.0 Kernel doesn't support a function to catch the MySQL server process. Bye, LenZ - -- For technical support contracts, visit https://order.mysql.com/?ref=mlgr __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Mr. Lenz Grimmer <[EMAIL PROTECTED]> / /|_/ / // /\ \/ /_/ / /__ MySQL AB, Production Engineer /_/ /_/\_, /___/\___\_\___/ Hamburg, Germany <___/ www.mysql.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE95TwOSVDhKrJykfIRAl8NAJ4gEk1v7HJVTyIVhKtiJUBbCBZSsgCfZOTa WPlu251CqiK3+3afIyqJWmU= =76kR -----END PGP SIGNATURE----- --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php