Functionality Added or Changed
Important Change:
If you upgrade to MySQL 4.1.1 or higher, it is difficult to
downgrade back to 4.0 or 4.1.0. That is because, for earlier
versions, InnoDB is not aware of multiple
tablespaces.
Replication:
New binary log format that enables replication of these session
variables: sql_mode,
sql_auto_is_null,
foreign_key_checks (which was
replicated since 4.0.14, but here it is done more efficiently
and takes less space in the binary logs),
unique_checks. Other variables
(like character sets,
sql_select_limit, ...) will be
replicated in upcoming 5.0.x releases.
Replication: Easier replication upgrade (5.0.0 masters can read older binary logs and 5.0.0 slaves can read older relay logs). See Replication Compatibility Between MySQL Versions, for more details). The format of the binary log and relay log is changed compared to that of MySQL 4.1 and older.
LOAD DATA
INFILE causes an implicit commit.
The behavior of
LOAD DATA
INFILE in this regard was changed again in MySQL
5.0.26. See the section called “Changes in MySQL 5.0.26 (2006-10-03)”.
Added SELECT ...
INTO , which
can be of mixed (that is, global and local) types. See
list_of_varsSELECT ... INTO Syntax.
The precedence of the XOR operator now lies
between OR and AND.
Previously, XOR had the same precedence as
OR.
Added WEEK and QUARTER
values as INTERVAL arguments for the
DATE_ADD() and
DATE_SUB() functions.
For user-defined functions (UDFs), the
UDF_ARGS structure now has
attributes and
attribute_lengths members that provide
information about the argument names.
UDF Argument Processing.
Implemented Index Merge optimization for OR
clauses. See Index Merge Optimization.
The output of the SHOW BINLOG
EVENTS statement has been modified. The
Orig_log_pos column has been renamed to
End_log_pos and now represents the offset of
the last byte of the event, plus one.
Basic support for stored procedures and functions (SQL:2003 style). See Using Stored Routines (Procedures and Functions).
Added support for SUM(DISTINCT),
MIN(DISTINCT), and
MAX(DISTINCT).
The KILL statement now takes
CONNECTION and QUERY
modifiers. The first is the same as
KILL with no modifier (it kills a
given connection thread). The second kills only the statement
currently being executed by the connection.
Added TIMESTAMPADD() and
TIMESTAMPDIFF() functions.
