Functionality added or changed:
            PRIMARY KEY now implies NOT
            NULL. (Bug#390)
          
            The Windows binary packages are now compiled with
            --enable-local-infile to match the Unix
            build configuration.
          
            Removed timing of tests from
            mysql-test-run. time
            does not accept all required parameters on many platforms
            (for example, QNX) and timing the tests is not really
            required (it's not a benchmark anyway).
          
            SHOW MASTER STATUS and SHOW
            SLAVE STATUS required the SUPER
            privilege; now they accept REPLICATION
            CLIENT as well. (Bug#343)
          
            Added multi-threaded MyISAM repair optimization and
            myisam_repair_threads variable to enable
            it. See 項4.6.8.4. 「SHOW VARIABLES」.
          
            Added innodb_max_dirty_pages_pct variable
            which controls amount of dirty pages allowed in
            InnoDB buffer pool.
          
            CURRENT_USER() and Access
            denied error messages now report the hostname
            exactly as it was specified in the GRANT
            command.
          
Removed benchmark results from the source and binary distributions. They are still available in the BK source tree, though.
            InnoDB tables now support
            ANALYZE TABLE.
          
MySQL now issues an error when it opens a table that was created with MySQL 4.1.
            Option --new now changes binary items
            (0xFFDF) to be treated as binary strings
            instead of numbers by default. This fixes some problems with
            character sets where it's convenient to input the string as
            a binary item. After this change you have to convert the
            binary string to INTEGER with a
            CAST if you want to compare two binary
            items with each other and know which one is bigger than the
            other. SELECT CAST(0xfeff AS UNSIGNED) <
            CAST(0xff AS UNSIGNED). This will be the default
            behavior in MySQL 4.1. (Bug#152)
          
            Enabled delayed_insert_timeout on Linux
            (most modern glibc libraries have a fixed
            pthread_cond_timedwait). (Bug#211)
          
            Don't create more insert delayed threads than given by
            max_insert_delayed_threads. (Bug#211)
          
            Changed UPDATE ... LIMIT to apply the
            limit to rows that were matched, whether or not they
            actually were changed. Previously the limit was applied as a
            restriction on the number of rows changed.
          
Tuned optimizer to favor clustered index over table scan.
            BIT_AND() and BIT_OR()
            now return an unsigned 64-bit value.
          
            Added warnings to error log of why a secure connection
            failed (when running with --log-warnings).
          
            Deprecated options --skip-symlink and
            --use-symbolic-links and replaced these
            with --symbolic-links.
          
            The default option for
            innodb_flush_log_at_trx_commit was
            changed from 0 to 1 to make InnoDB tables
            ACID by default. See 項7.5.3. 「InnoDB 起動オプション」.
          
            Added a feature to SHOW KEYS to display
            keys that are disabled by ALTER TABLE DISABLE
            KEYS command.
          
            When using a non-existing table type with CREATE
            TABLE, first try if the default table type exists
            before falling back to MyISAM.
          
            Added MEMORY as an alias for
            HEAP.
          
            Renamed function rnd to
            my_rnd as the name was too generic and is
            an exported symbol in libmysqlclient
            (thanks to Dennis Haney for the initial patch).
          
            Portability fix: renamed include/dbug.h
            to include/my_debug.h.
          
            mysqldump no longer silently deletes the
            binlogs when called with --master-data or
            --first-slave; while this behavior was
            convenient for some users, others may suffer from it. Now
            one has to explicitely ask for this deletion with the new
            --delete-master-logs option.
          
            If the slave is configured (using for example
            replicate-wild-ignore-table=mysql.%) to
            exclude mysql.user,
            mysql.host, mysql.db,
            mysql.tables_priv and
            mysql.columns_priv from replication, then
            GRANT and REVOKE will
            not be replicated.
          
Bugs fixed:
            Logged Access denied error message had
            incorrect Using password value. (Bug#398)
          
            Fixed bug with NATURAL LEFT JOIN,
            NATURAL RIGHT JOIN and RIGHT
            JOIN when using many joined tables. The problem
            was that the JOIN method was not always
            associated with the tables surrounding the
            JOIN method. If you have a query that
            uses many RIGHT JOIN or NATURAL
            ... JOINS you should check that they work as you
            expected after upgrading MySQL to this version. (Bug#291)
          
            mysql command line client no longer looks
            for \* commands inside backtick-quoted
            strings.
          
            Fixed Unknown error when using
            UPDATE ... LIMIT. (Bug#373)
          
            Fixed problem with ANSI mode and GROUP BY
            with constants. (Bug#387)
          
            Fixed bug with UNION and OUTER
            JOIN. (Bug#386)
          
            Fixed bug if one used a multiple-table
            UPDATE and the query required a temporary
            table bigger than tmp_table_size. (Bug#286)
          
            Run mysql_install_db with the
            -IN-RPM option for the Mac OS X
            installation to not fail on systems with improperly
            configured hostname configurations.
          
            LOAD DATA INFILE will now read
            000000 as a zero date instead as
            "2000-00-00".
          
            Fixed bug that caused DELETE FROM table WHERE
            const_expression always to delete the whole table
            (even if expression result was false). (Bug#355)
          
            Fixed core dump bug when using
            FORMAT('nan',#). (Bug#284)
          
            Fixed name resolution bug with HAVING ...
            COUNT(DISTINCT ...).
          
            Fixed incorrect result from truncation operator
            (*) in MATCH ...
            AGAINST() in some complex joins.
          
            Fixed a crash in REPAIR ... USE_FRM
            command, when used on read-only, nonexisting table or a
            table with a crashed index file.
          
            Fixed a crashing bug in mysql monitor program. It occurred
            if program was started with --no-defaults,
            with a prompt that contained hostname and connection to
            non-existing db was requested
          
Fixed problem when comparing a key for a multi-byte-character set. (Bug#152)
            Fixed bug in LEFT,
            RIGHT and MID when
            used with multi-byte character sets and some GROUP
            BY queries. (Bug#314)
          
            Fix problem with ORDER BY being discarded
            for some DISTINCT queries. (Bug#275)
          
            Fixed that SET SQL_BIG_SELECTS=1 works as
            documented (This corrects a new bug introduced in 4.0)
          
            Fixed some serious bugs in UPDATE ... ORDER
            BY. (Bug#241)
          
            Fixed unlikely problem in optimizing
            WHERE clause with constant expression
            like in WHERE 1 AND (a=1 AND b=1).
          
            Fixed that SET SQL_BIG_SELECTS=1 works
            again.
          
            Introduced proper backtick quoting for db.table in
            SHOW GRANTS.
          
            FULLTEXT index stopped working after
            ALTER TABLE that converts
            TEXT column to CHAR.
            (Bug#283)
          
            Fixed a security problem with SELECT and
            wildcarded select list, when user only had partial column
            SELECT privileges on the table.
          
Mark a MyISAM table as "analyzed" only when all the keys are indeed analyzed.
            Only ignore world-writeable my.cnf
            files that are regular files (and not, for example, named
            pipes or character devices).
          
            Fixed few smaller issues with SET
            PASSWORD.
          
Fixed error message which contained deprecated text.
            Fixed a bug with two NATURAL JOINs in the
            query.
          
            SUM() didn't return
            NULL when there was no rows in result or
            when all values was NULL.
          
On Unix symbolic links handling was not enabled by default and there was no way to turn this on.
            Added missing dashes to parameter
            --open-files-limit in
            mysqld_safe. (Bug#264)
          
            Fixed incorrect hostname for TCP/IP connections displayed in
            SHOW PROCESSLIST.
          
            Fixed a bug with NAN in
            FORMAT(...) function ...
          
Fixed a bug with improperly cached database privileges.
            Fixed a bug in ALTER TABLE ENABLE / DISABLE
            KEYS which failed to force a refresh of table data
            in the cache.
          
            Fixed bugs in replication of LOAD DATA
            INFILE for custom parameters
            (ENCLOSED, TERMINATED
            and so on) and temporary tables. (Bug#183, Bug#222)
          
            Fixed a replication bug when the master is 3.23 and the
            slave 4.0: the slave lost the replicated temporary tables if
            FLUSH LOGS was issued on the master. (Bug#254)
          
            Fixed a bug when doing LOAD DATA INFILE
            IGNORE: When reading the binary log,
            mysqlbinlog and the replication code read
            REPLACE instead of
            IGNORE. This could make the slave's table
            become different from the master's table. (Bug#218)
          
            Fixed a deadlock when
            relay_log_space_limit was set to a too
            small value. (Bug#79)
          
Fixed a bug in HAVING clause when an alias is used from the select list.
            Fixed overflow bug in MyISAM when a row
            is inserted into a table with a large number of columns and
            at least one BLOB/TEXT column. Bug was
            caused by incorrect calculation of the needed buffer to pack
            data.
          
            Fixed a bug when SELECT
            @nonexistent_variable
            caused the error in client - server protocol due to
            net_printf() being sent to the client twice.
          
            Fixed a bug in setting SQL_BIG_SELECTS
            option.
          
            Fixed a bug in SHOW PROCESSLIST which
            only displayed a localhost in the "Host"
            column. This was caused by a glitch that only used current
            thread information instead of information from the linked
            list of threads.
          
Removed unnecessary Mac OS X helper files from server RPM. (Bug#144)
            Allow optimization of multiple-table update for
            InnoDB tables as well.
          
Fixed a bug in multiple-table updates that caused some rows to be updated several times.
            Fixed a bug in mysqldump when it was
            called with --master-data: the
            CHANGE MASTER TO commands appended to the
            SQL dump had incorrect coordinates. (Bug#159)
          
            Fixed a bug when an updating query using
            USER() was replicated on the slave; this
            caused segfault on the slave. (Bug#178).
            USER() is still badly replicated on the
            slave (it is replicated to "").
          
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

