New Features Planned for 5.0

The following features are planned for inclusion into MySQL 5.0. Some of the features such as stored procedures are complete and are included in MySQL 5.0 alpha, which is available now. Others such as cursors are only partially available. Expect these and other features to mature and be fully supported in upcoming releases.

Note that because we have many developers that are working on different projects, there will also be many additional features. There is also a small chance that some of these features will be added to MySQL 4.1. For a list what is already done in MySQL 4.1, see Nutshell 4.1 features.

For those wishing to take a look at the bleeding edge of MySQL development, we make our BitKeeper repository for MySQL version 5.0 publicly available. See Installing source tree. As of December 2003, binary builds of version 5.0 are also available.

Stored Procedures
  • Stored procedures are currently implemented, based on the SQL:2003 standard. See Stored Procedures.

    We will also implement a framework to hook in external languages, and (where possible) compatibility with, for example, PL/SQL and T-SQL.

 
New functionality
  • Elementary cursor support. See Cursors.

  • The ability to specify explicitly for MyISAM tables that an index should be created as an RTREE index. (In MySQL 4.1, RTREE indexes are used internally for geometrical data that use GIS datatypes, but cannot be created on request.)

  • Dynamic length rows for HEAP tables.

 
Standards compliance, portability and migration
  • Add true VARCHAR support (column lengths longer than 255, and no stripping of trailing whitespace). (There is already support for this in the MyISAM storage engine, but it is not yet available at the user level.)

 
Speed enhancements
  • SHOW COLUMNS FROM table_name (used by mysql client to allow expansions of column names) should not open the table, only the definition file. This will require less memory and be much faster.

  • Allow DELETE on MyISAM tables to use the record cache. To do this, we need to update the threads record cache when we update the .MYD file.

  • Better support for MEMORY (HEAP) tables:

    • Dynamic length rows.

    • Faster row handling (less copying).

 
Usability enhancements
  • Resolving the issue of RENAME TABLE on a table used in an active MERGE table possibly corrupting the table.

 

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