Changes in MySQL 5.1.4 (2005-12-21)

Added the --server-id option to
mysqlbinlog to enable only those events
created by the server having the given server ID to be
extracted.
(Bug #15485)

It is now possible to build the server such that
MyISAM tables can support up to 128 keys
rather than the standard 64. This can be done by configuring the
build using the option
--with-max-indexes=N, where N≤128 is the
maximum number of indexes to permit per table.
(Bug #10932)

Added the mysqlslap program, which is
designed to emulate client load for a MySQL server and report
the timing of each stage. It works as if multiple clients are
accessing the server.

MySQL Cluster:
The --ndb option for
perror did not function.
(Bug #15486)

MySQL Cluster:
Using ORDER BY
primary_key_column when
selecting from a table having the primary key on a
VARCHAR column caused a forced
shutdown of the cluster.
(Bug #15240, Bug #15682, Bug #14828, Bug #15517)

Server could not be built on default Debian systems with BDB
enabled.
(Bug #15734)

SHOW ENGINES output showed the
FEDERATED engine as
DISABLED even for builds with
FEDERATED support.
(Bug #15559)

BDB: A DELETE,
INSERT, or
UPDATE of a
BDB table could cause the server to crash
where the query contained a subquery using an index read.
(Bug #15536)

It was not possible to reorganize a partition reusing a
discarded partition name.

Previously, attempting to do so would produce the error
All partitions must have unique names in the
table .
(Bug #15521)

The BLACKHOLE storage engine did not handle
transactions properly: Rolled-back transactions were written to
the binary log. Now they ae not.
(Bug #15406)

A left join on a column that having a NULL
value could cause the server to crash.
(Bug #15268)

Selecting from a view processed with the temptable algorithm
caused a server crash if the query cache was enabled.
(Bug #15119)

Creating a view that referenced a stored function that selected
from a view caused a crash upon selection from the view.
(Bug #15096)

Multiple-table update operations were counting updates and not
updated rows. As a result, if a row had several updates it was
counted several times for the “rows matched” value
but updated only once.
(Bug #15028)

ROW_COUNT() returned an incorrect
result after EXECUTE of a
prepared statement.
(Bug #14956)

ANALYZE TABLE did not properly
update table statistics for a MyISAM table
with a FULLTEXT index containing stopwords,
so a subsequent ANALYZE TABLE
would not recognize the table as having already been analyzed.
(Bug #14902)

Creating a view within a stored procedure could result in an out
of memory error or a server crash.
(Bug #14885)

SELECT queries that began with an
opening parenthesis were not being placed in the query cache.
(Bug #14652)

Space truncation was being ignored when inserting into
BINARY or
VARBINARY columns. Now space
truncation results in a warning, or an error in strict mode.
(Bug #14299)

The maximum value of MAX_ROWS was handled
incorrectly on 64-bit systems.
(Bug #14155)

For binary string data types, mysqldump
--hex-blob produced an illegal output value of
0x rather than ''.
(Bug #13318)

Some comparisons for the IN()
operator were inconsistent with equivalent comparisons for the
= operator.
(Bug #12612)

Attempts to assign NULL to a NOT
NULL column in strict mode now result in a message of
Column 'col_name' cannot be
null, rather than Column set to default
value; NULL supplied to NOT NULL column
'col_name' at row
n.
(Bug #11491)

SHOW CREATE DATABASE was
sometimes refused when the client had privileges for the
database.
(Bug #9785)

Invalid casts to DATE values now
result in a message of Incorrect datetime
value, rather than Truncated incorrect
datetime value.
(Bug #8294)