Chapter 20. MySQL Development Roadmap

Table of Contents

MySQL 4.0 in a Nutshell
Features Available in MySQL 4.0
The Embedded MySQL Server
MySQL 4.1 in a Nutshell
Features Available in MySQL 4.1
Stepwise Rollout
Ready for Immediate Development Use
MySQL 5.0, The Next Development Release

This section provides a snapshot of the MySQL development roadmap, including major features implemented or planned for MySQL 4.0, 4.1, 5.0, and 5.1. The following sections provide information for each release series.

The production release series is MySQL 4.0, which was declared stable for production use as of Version 4.0.12, released in March 2003. This means that future 4.0 development will be limited only to making bug fixes. For the older MySQL 3.23 series, only critical bug fixes will be made.

Active MySQL development currently is taking place in the MySQL 4.1 and 5.0 release series. This means that new features are being added to MySQL 4.1 and MySQL 5.0. Both 4.1 and 5.0 are available now in alpha status.

Before upgrading from one release series to the next, please see the notes at Upgrade.

Plans for some of the most requested features are summarized in the following table.

FeatureMySQL version
Unions 4.0
Subqueries 4.1
R-trees 4.1 (for MyISAM tables)
Stored procedures 5.0
Views 5.0 or 5.1
Cursors 5.0
Foreign keys 5.1 (already implemented in 3.23 for InnoDB)
Triggers 5.1
Full outer join 5.1
Constraints 5.1

MySQL 4.0 in a Nutshell

Long awaited by our users, MySQL Server 4.0 is now available in production status.

MySQL 4.0 is available for download from http://www.mysql.com/ and from our mirrors. MySQL 4.0 has been tested by a large number of users and is in production use at many large sites.

The major new features of MySQL Server 4.0 are geared toward our existing business and community users, enhancing the MySQL database software as the solution for mission-critical, heavy-load database systems. Other new features target the users of embedded databases.

Features Available in MySQL 4.0

Speed enhancements
  • MySQL 4.0 has a query cache that can give a huge speed boost to applications with repetitive queries. See Query Cache.

  • Version 4.0 further increases the speed of MySQL Server in a number of areas, such as bulk INSERT statements, searching on packed indexes, full-text searching (using FULLTEXT indexes), and COUNT(DISTINCT).

 
Embedded MySQL Server introduced
  • The new Embedded Server library can easily be used to create standalone and embedded applications. The embedded server provides an alternative to using MySQL in a client/server environment. See Nutshell Embedded MySQL.

 
InnoDB storage engine as standard
  • The InnoDB storage engine is now offered as a standard feature of the MySQL server. This means full support for ACID transactions, foreign keys with cascading UPDATE and DELETE, and row-level locking are now standard features. See InnoDB.

 
New functionality
  • The enhanced FULLTEXT search properties of MySQL Server 4.0 enables FULLTEXT indexing of large text masses with both binary and natural-language searching logic. You can customize minimal word length and define your own stop word lists in any human language, enabling a new set of applications to be built with MySQL Server. See Fulltext Search.

 
Standards compliance, portability, and migration
  • Many users will also be happy to learn that MySQL Server now supports the UNION statement, a long-awaited standard SQL feature.

  • MySQL now runs natively on the Novell NetWare 6.0 platform. See NetWare installation.

  • Features to simplify migration from other database systems to MySQL Server include TRUNCATE TABLE (as in Oracle).

 
Internationalization
  • Our German, Austrian, and Swiss users will note that MySQL now supports a new character set, latin1_de, which ensures that the German sorting order sorts words with umlauts in the same order as do German telephone books.

 
Usability enhancements In the process of implementing features for new users, we have not forgotten requests from our loyal community of existing users.
  • Most mysqld parameters (startup options) can now be set without taking down the server. This is a convenient feature for database administrators (DBAs). See SET OPTION.

  • Multiple-table DELETE and UPDATE statements have been added..

  • On Windows, symbolic link handling at the database level is enabled by default. On Unix, the MyISAM storage engine now supports symbolic linking at the table level (and not just the database level as before).

  • SQL_CALC_FOUND_ROWS and FOUND_ROWS() are new functions that make it possible to find out the number of rows a SELECT query that includes a LIMIT clause would have returned without that clause.

The news section of this manual includes a more in-depth list of features. See News-4.0.x.

The Embedded MySQL Server

The libmysqld embedded server library makes MySQL Server suitable for a vastly expanded realm of applications. By using this library, developers can embed MySQL Server into various applications and electronics devices, where the end user has no knowledge of there actually being an underlying database. Embedded MySQL Server is ideal for use behind the scenes in Internet appliances, public kiosks, turnkey hardware/software combination units, high performance Internet servers, self-contained databases distributed on CD-ROM, and so on.

Many users of libmysqld will benefit from the MySQL Dual Licensing. For those not wishing to be bound by the GPL, the software is also made available under a commercial license. The embedded MySQL library uses the same interface as the normal client library, so it is convenient and easy to use. See libmysqld.