Documentation Home
MySQL 5.1 Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 2.1Mb
PDF (A4) - 2.1Mb


MySQL 5.1 Release Notes  /  Changes in MySQL 5.1.3 (2005-11-29)

Changes in MySQL 5.1.3 (2005-11-29)

Functionality Added or Changed

  • Incompatible Change; Plugin API: MySQL 5.1 adds support for a very flexible plugin API that enables loading and unloading of various components at runtime, without restarting the server. Although the work on this is not finished yet, plugin full-text parsers are a first step in this direction. This enables users to implement their own input filter on the indexed text, enabling full-text search capability on arbitrary data such as PDF files or other document formats. A pre-parser full-text plugin performs the actual parsing and extraction of the text and hands it over to the built-in MySQL full-text search. (Author: Sergey Vojtovich)

    The plugin API requires the mysql.plugin table. When upgrading from an older version of MySQL, you should run the mysql_fix_privilege_tables command to create this table. See mysql_fix_privilege_tables — Upgrade MySQL System Tables.

    Plugins are installed in the directory named by the plugin_dir system variable. This variable also controls the location from which the server loads user-defined functions (UDFs), which is a change from earlier versions of MySQL. That is, all UDF library files now must be installed in the plugin directory. When upgrading from an older version of MySQL, you must migrate your UDF files to the plugin directory.

  • Incompatible Change: Renamed the table_cache system variable to table_open_cache. Any scripts that refer to table_cache should be updated to use the new name.

  • MySQL Cluster: VARCHAR columns used in MySQL Cluster tables are now variable-sized; that is, they now only allocate as much space as required to store the data. Previously, a VARCHAR(n) column allocated n+2 bytes (aligned to 4 bytes), regardless of whether the actual inserted value required that much space. (In other words, a VARCHAR column always required the same, fixed, amount of storage as a CHAR column of the same size.)

  • Partitioning: MySQL Server now supports user-defined table partitioning, which enables distributing portions of individual tables across a file system, according to rules which can be set when the table is created. In effect, different portions of a table are stored as separate tables in different locations, but from the user point of view, the partitioned table is still a single table. See Partitioning, for further information on this functionality. (Author: Mikael Ronström)

  • RAND() no longer permits nonconstant initializers. (Previously, the effect of nonconstant initializers is undefined.) (Bug #6172)

  • Added the SHOW AUTHORS statement.

  • The Instance Manager (IM) now has some additional functionality:

    • SHOW instance_name LOG FILES provides a listing of all log files used by the instance. (Author: Petr Chardin)

    • SHOW instance_name LOG {ERROR | SLOW | GENERAL} size retrieves a part of the specified log file. (Author: Petr Chardin)

    • SET instance_name. option_name=option_value sets an option to the specified value and writes it to the config file See mysqlmanager — The MySQL Instance Manager, for more details on these new commands. (Author: Petr Chardin)

  • Fast ALTER TABLE: Operations that change only table metadata and not table data do not require a temporary table to be used, which improves performance. For example, renaming a column changes only the .frm file and no longer uses a temporary table.

  • SET instance_name. option_name=option_value sets an option to the specified value and writes it to the config file See mysqlmanager — The MySQL Instance Manager, for more details on these new commands. (Author: Petr Chardin)

  • The performance of boolean full-text searches (using the + Operator) has been improved. See Full-Text Search Functions, for more details about full-text searching. (Author: Sergey Vojtovich)

  • Added the SHOW FUNCTION CODE and SHOW PROCEDURE CODE statements (available only for servers that have been built with debugging support). See SHOW PROCEDURE CODE Syntax.

  • SHOW instance_name LOG {ERROR | SLOW | GENERAL} size retrieves a part of the specified log file. (Author: Petr Chardin)

  • Added the table_definition_cache system variable. If you use a large number of tables, you can create a large table definition cache to speed up opening of tables. The table definition cache takes less space and does not use file descriptors, unlike the normal table cache.

  • SHOW instance_name LOG FILES provides a listing of all log files used by the instance. (Author: Petr Chardin)

Bugs Fixed

  • RESET MASTER failed to delete log files on Windows. One consequence of this change is that server opens the general query and slow log files in shared mode, so now they can be renamed while the server has them open (something not true in previous versions). (Bug #13377)

  • Set functions could not be aggregated in outer subqueries. (Bug #12762)