MySQL Server 4.0 laid the foundation for new features implemented in MySQL 4.1, such as subqueries and Unicode support, which were desired by many of our customers.
MySQL Server 4.1 is currently in production status, and binaries are available for download at http://dev.mysql.com/downloads/mysql/4.1.html. All binary releases pass our extensive test suite without any errors on the platforms on which we test. See Section B.1, “Changes in Release 4.1.x (Production)”.
For those wishing to use the most recent development source for MySQL 4.1, we also make our Bazaar repositories publicly available. See Section 2.9.3, “Installing from the Development Source Tree”.
The following features were added in MySQL 4.1.
Support for subqueries and derived tables:
Faster binary client/server protocol with support for prepared statements and parameter binding. See Section 17.6.4, “C API Prepared Statements”.
BTREE indexing is supported for
HEAP tables, significantly improving
response time for nonexact searches.
CREATE TABLE allows
you to create, with a single statement, a new table with a
structure exactly like that of an existing table.
MyISAM storage engine added support
for OpenGIS spatial types for storing geographical data.
See Chapter 16, Spatial Extensions.
Support was added for replication over SSL connections.
Support for a number of additional storage engines was implemented in the MySQL 4.1 release series:
EXAMPLE storage engine is a
“stub” engine that serves as an example
in the MySQL source code for writing new storage
engines, and is primarily of interest to developers.
See Section 13.6, “The
EXAMPLE Storage Engine”.
NDBCLUSTER is the storage
engine used by MySQL Cluster to implement tables that
are partitioned over many computers. See
Chapter 15, MySQL Cluster.
ARCHIVE storage engine is used
for storing large amounts of data without indexes in a
very small footprint. See
Section 13.7, “The
ARCHIVE Storage Engine”.
CSV storage engine stores data
in text files using comma-separated values format. See
Section 13.8, “The
CSV Storage Engine”.
BLACKHOLE storage engine
accepts but does not store data, and always returns an
empty result set. It is for use primarily in
Section 13.9, “The
BLACKHOLE Storage Engine”.
These engine were implemented at different points in the development of MySQL 4.1. Please see the indicated sections for particulars in each case.
Standards compliance, portability, and migration:
The enhanced client/server protocol available beginning with MySQL 4.1.1 provides the ability to pass multiple warnings to the client, rather than only a single result, making it much easier to track problems that occur in operations such as bulk data loading.
Internationalization and Localization:
To support applications that require the use of local
languages, the MySQL software added extensive Unicode
support through the
ucs2 character sets.
Definition of character sets by column, table, and database. This allows for a high degree of flexibility in application design, particularly for multi-language Web sites. See Section 9.1, “Character Set Support”.
Per-connection time zones support, allowing individual clients to select their own time zones when necessary.
The addition of a server-based
HELP command that can be
used to get help information for SQL statements. This
information is always applicable to the particular server
version being used. Because this information is available
by issuing an SQL statement, any client can access it. For
help command of the
mysql command-line client has been
modified to have this capability.
The improved client/server protocol allows multiple statements to be issued with a single call, and for returning multiple result sets. See Section 17.6.12, “C API Support for Multiple Statement Execution”.
INSERT ... ON DUPLICATE KEY UPDATE
... was implemented. This allows you to update
an existing row if the insert would have caused a
duplicate value for a primary or unique index. See
Section 12.2.4, “
The aggregate function
GROUP_CONCAT(), added the
capability to concatenate column values from grouped rows
into a single result string. See
Section 11.11, “Functions and Modifiers for Use with
GROUP BY Clauses”.
The News section of this manual includes a more in-depth list of MySQL 4.1 features. See Section B.1, “Changes in Release 4.1.x (Production)”.