|| ||Lenz Grimmer <email@example.com>|
|| ||MySQL 4.0.3-beta is released|
|| ||Wed, 28 Aug 2002 22:16:40 +0200|
-----BEGIN PGP SIGNED MESSAGE-----
MySQL 4.0.3-beta, the world's most popular Open Source Database, has been
released and is now available in source and binary form for a number of
platforms from our download pages at http://www.mysql.com/downloads/ and
This is the first release of the current 4.0 development tree which has been
labelled "beta". This means, that we will not add any new features to this
code base, but rather focus on stabilizing this release. All new development
efforts are now focused on the upcoming 4.1 version. Also please see
http://www.mysql.com/doc/en/Which_version.html for more info about our
Version 4.0 of the MySQL server includes many enhancements and new features in
comparison to the previous version 3.23:
o The InnoDB table type is now included in the standard binaries, adding
transactions, row-level locking, and foreign keys.
o A query qache, offering vastly increased performance for many applications.
By caching complete result sets, later identical queries can return
o Improved full-text indexing with boolean mode, truncation, and phrase
o Enhanced MERGE tables, now supporting INSERTs and AUTO_INCREMENT.
o UNION syntax in SELECT.
o Multi-table DELETE statements.
o libmysqld, the embedded server library.
o Additional GRANT privilege options for even tighter control and security.
o Management of user resources in the GRANT system, particularly useful for
ISPs and other hosting providers.
o Dynamic server variables, allowing configuration changes without having to
take down the server.
o Improved replication code and features.
o SHOW INNODB STATUS returns the output of the InnoDB Monitor to the MySQL
client. This is very useful in performance tuning and finding out the
reasons of transaction deadlocks.
o SET UNIQUE_CHECKS = 0 speeds up disk-bound table imports.
o SET FOREIGN KEY CHECKS = 0 allows one to import table dumps in any order
regardless of foreign key constraints.
o HANDLER commands now work also for InnoDB type tables. In some cases
HANDLER can be used as a substitute of server-side cursors. See the MySQL
manual about the details of HANDLER.
o Numerous new functions and options.
o Changes to existing code for enhanced performance and reliability.
There have been many changes between the last version (4.0.2-alpha, released
in July 2002) and 4.0.3-beta. Some still missing features have been added and
numerous bugs have been squished.
- From the Changelog:
o Fixed problem with configure ... --localstatedir=....
o Cleaned up mysql.server script.
o Fixed a bug in mysqladmin shutdown when pid file was modified while
mysqladmin was still waiting for the previous one to disappear. This could
happen during a very quick restart and caused mysqladmin to hang until
shutdown_timeout seconds had passed.
o Don't increment warnings when setting AUTO_INCREMENT columns to NULL in
LOAD DATA INFILE.
o Fixed all boolean type variables/options to work with the old syntax, e.g.
all of these work: --lower-case-table-names, --lower-case-table-names=1, -O
o Fixed shutdown problem (SIGTERM signal handling) on Solaris. (Bug from
o SHOW MASTER STATUS now returns an empty set if binary log is not enabled.
o SHOW SLAVE STATUS now returns an empty set if slave is not initialised.
o Don't update MyISAM index file on update if not strictly necessary.
o Fixed bug in SELECT DISTINCT ... FROM many_tables ORDER BY not-used-column.
o Fixed a bug with BIGINTs and quoted strings.
o Added QUOTE() function that performs SQL quoting to produce values that can
be used as data values in queries.
o Changed variable DELAY_KEY_WRITE to an enum to allow one set
DELAY_KEY_WRITE for all tables without taking down the server.
o Changed behavior of IF(condition,column,NULL) so that it returns the value
of the column type.
o Made safe_mysqld a symlink to mysqld_safe in binary distribution.
o Fixed security bug when having an empty database name in the user.db table.
o Fixed some problems with CREATE TABLE ... SELECT function().
o mysqld now has the option --temp-pool enabled by default as this gives
better performance with some operating systems.
o Fixed hang in CHANGE MASTER TO if the slave thread died very quickly.
o Big cleanup in replication code (less logging, better error messages,
o If the --code-file option is specified, the server calls setrlimit() to set
the maximum allowed core file size to unlimited, so core files can be
o Fixed bug in query cache after temporary table creation.
o Added --count=N (-c) option to mysqladmin, to make the program do only N
iterations. To be used with --sleep (-i). Useful in scripts.
o Fixed bug in multi-table UPDATE: when updating a table, do_select() became
confused about reading records from a cache.
o Fixed bug in multi-table UPDATE when several fields were referenced from a
o Fixed bug in truncating nonexisting table.
o Fixed bug in REVOKE that caused user resources to be randomly set.
o Fixed bug in GRANT for the new CREATE TEMPORARY TABLE privilege.
o Fixed bug in multi-table DELETE when tables are re-ordered in the table
initialisation method and ref_lengths are of different sizes.
o Fixed two bugs in SELECT DISTINCT with large tables.
o Fixed bug in query cache initialisation with very small query cache size.
o Allow DEFAULT with INSERT statement.
o The startup parameters myisam_max_sort_file_size and
myisam_max_extra_sort_file_size are now given in bytes, not megabytes.
o External system locking of MyISAM/ISAM files is now turned off by default.
One can turn this on with --external-locking. (For most users this is never
o Fixed core dump bug with INSERT ... SET db_name.table_name.colname=''.
o Fixed client hangup bug when using some SQL commands with wrong syntax.
o Fixed a timing bug in DROP DATABASE
o New SET [GLOBAL | SESSION] syntax to change thread specific and global
server variables at runtime.
o Added variable slave_compressed_protocol.
o Renamed variable query_cache_startup_type to query_cache_type,
myisam_bulk_insert_tree_size to bulk_insert_buffer_size, record_buffer to
read_buffer_size and record_rnd_buffer to record_rnd_buffer_size.
o Renamed some SQL variables, but old names will still work until 5.0.
o Renamed --skip-locking to --skip-external-locking.
o Removed unused variable query_buffer_size.
o Fixed a bug that made the pager option in the mysql client non-functional.
o Added full AUTO_INCREMENT support to MERGE tables.
o Extended LOG() function to accept an optional arbitrary base parameter.
o Added LOG2() function (useful for finding out how many bits a number would
require for storage).
o Added LN() natural logarithm function for compatibility with other
databases. It is synonymous with LOG(X).
Some additional notes:
Binaries for MS Windows as well as "Max" binaries are also under preparation
and will be added to the web pages as soon as they are ready - we decided to
announce the release of 4.0.3 nevertheless, so people can start testing with
the existing binaries or by building from source. Thanks for your patience
and sorry for the inconvenience.
Hope you enjoy it!
For technical support contracts, visit https://order.mysql.com/?ref=mlgr
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Lenz Grimmer <firstname.lastname@example.org>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Production Engineer
/_/ /_/\_, /___/\___\_\___/ Hamburg, Germany
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----
to post comments)