End of Product Lifecycle. Active development and support for MySQL Database Server versions 3.23, 4.0, and 4.1 has ended. For details, see http://www.mysql.com/about/legal/lifecycle/#calendar. Please consider upgrading to a recent version. Further updates to the content of this manual will be minimal. All formats of this manual will continue to be available until 31 Dec 2010.
          Cleaned up NULL handling for default values
          in DESCRIBE tbl_name.
        
          Fixed TRUNCATE() to round up
          negative values to the nearest integer.
        
          Fixed buffer overflow problem if someone specified a too-long
          --datadir option to
          mysqld. (CVE-2002-0969)
        
          Changed
          --chroot=
          option to execute pathchroot() immediately
          after all options have been parsed.
        
          Do not allow database names that contain
          “\”.
        
          lower_case_table_names now
          also applies to database names.
        
          Added XOR operator (logical and
          bitwise XOR) with
          ^ as a
          synonym for bitwise XOR.
        
          Added function
          IS_FREE_LOCK('.
          Based on code contributed by Hartmut Holzgraefe
          lock_name')<hartmut@six.de>.
        
          Removed mysql_ssl_clear() from C API, as it
          was not needed.
        
          Added SHA1() function to
          calculate 160 bit hash value as described in RFC 3174 (Secure
          Hash Algorithm). This function can be considered a
          cryptographically more secure equivalent of
          MD5(). See
          Section 11.10.2, “Encryption and Compression Functions”.
        
          Added AES_ENCRYPT() and
          AES_DECRYPT() functions to
          perform encryption according to AES standard (Rijndael). See
          Section 11.10.2, “Encryption and Compression Functions”.
        
          Added --single-transaction
          option to mysqldump, allowing a consistent
          dump of InnoDB tables. See
          Section 4.5.4, “mysqldump — A Database Backup Program”.
        
          Fixed bug in
          innodb_log_group_home_dir in
          SHOW VARIABLES.
        
Fixed a bug in optimizer with merge tables when nonunique values are used in summing up (causing crashes).
Fixed a bug in optimizer when a range specified makes index grouping impossible (causing crashes).
          Fixed a rare bug when FULLTEXT index is
          present and no tables are used.
        
          Added privileges CREATE TEMPORARY
          TABLES, EXECUTE,
          LOCK TABLES,
          REPLICATION CLIENT,
          REPLICATION SLAVE,
          SHOW DATABASES and
          SUPER. To use these, you must
          run the mysql_fix_privilege_tables script
          after upgrading.
        
Fixed query cache align data bug.
Fixed mutex bug in replication when reading from master fails.
          Added missing mutex in TRUNCATE
          TABLE. This fixes some core dump/hangup problems
          when using TRUNCATE TABLE.
        
          Fixed bug in multiple-table
          DELETE when optimizer uses only
          indexes.
        
          Fixed that ALTER TABLE
           is as fast
          as tbl_name RENAME
          new_tbl_nameRENAME TABLE.
        
          Fixed bug in GROUP BY with two or more
          columns, where at least one column can contain
          NULL values.
        
          Use Turbo Boyer-Moore algorithm to speed up
          LIKE "%keyword%"
          searches.
        
          Fixed bug in DROP DATABASE with
          symlink.
        
          Fixed crash in REPAIR ... USE_FRM.
        
          Fixed bug in EXPLAIN with
          LIMIT offset != 0.
        
          Fixed bug in phrase operator "..." in
          boolean full-text search.
        
          Fixed bug that caused duplicated rows when using truncation
          operator * in boolean full-text search.
        
          Fixed bug in truncation operator of boolean full-text search
          (incorrect results when there are only
          +word*s in the query).
        
          Fixed bug in boolean full-text search that caused a crash when
          an identical MATCH expression that did not
          use an index appeared twice.
        
Query cache is now automatically disabled in mysqldump.
Fixed problem on Windows 98 that made sending of results very slow.
Boolean full-text search weighting scheme changed to something more reasonable.
          Fixed bug in boolean full-text search that caused MySQL to
          ignore queries of
          ft_min_word_len characters.
        
Boolean full-text search now supports “phrase searches.”
          New configure option --without-query-cache.
        
Memory allocation strategy for “root memory” changed. Block size now grows with number of allocated blocks.
          INET_NTOA() now returns
          NULL if you give it an argument that is too
          large (greater than the value corresponding to
          255.255.255.255).
        
          Fix SQL_CALC_FOUND_ROWS to work with
          UNION. It works only if the
          first SELECT has this option
          and if there is global LIMIT for the entire
          statement. For the moment, this requires using parentheses for
          individual SELECT queries
          within the statement.
        
          Fixed bug in SQL_CALC_FOUND_ROWS and
          LIMIT.
        
          Do not give an error for CREATE TABLE ...(...
          VARCHAR(0)).
        
          Fixed SIGINT and SIGQUIT
          problems in mysql.cc on Linux with some
          glibc versions.
        
          Fixed bug in convert.cc, which is caused
          by having an incorrect net_store_length()
          linked in the CONVERT::store() method.
        
          DOUBLE and
          FLOAT columns now honor the
          UNSIGNED flag on storage.
        
          InnoDB now retains foreign key constraints
          through ALTER TABLE and
          CREATE/DROP INDEX.
        
          InnoDB now allows foreign key constraints
          to be added through the ALTER
          TABLE syntax.
        
          InnoDB tables can now be set to
          automatically grow in size (auto-extend).
        
          Added
          --ignore-lines=
          option to mysqlimport. This has the same
          effect as the nIGNORE  clause for n
          LINESLOAD
          DATA.
        
          Fixed bug in UNION with last
          offset being transposed to total result set.
        
          REPAIR ... USE_FRM added.
        
          Fixed that DEFAULT_SELECT_LIMIT is always
          imposed on UNION result set.
        
          Fixed that some SELECT options
          can appear only in the first
          SELECT.
        
          Fixed bug with LIMIT with
          UNION, where last select is in
          the braces.
        
          Fixed that full-text works fine with
          UNION operations.
        
Fixed bug with indexless boolean full-text search.
          Fixed bug that sometimes appeared when full-text search was
          used with const tables.
        
          Fixed incorrect error value when doing a
          SELECT with an empty
          HEAP table.
        
          Use ORDER BY column DESC now sorts
          NULL values first. (In other words,
          NULL values sort first in all cases,
          whether or not DESC is specified.) This is
          changed back in 4.0.10.
        
          Fixed bug in WHERE key_name='constant' ORDER BY
          key_name DESC.
        
          Fixed bug in SELECT DISTINCT ... ORDER BY
          DESC optimization.
        
          Fixed bug in ... HAVING
          'GROUP_FUNCTION'(.
        xxx) IS [NOT]
          NULL
Fixed bug in truncation operator for boolean full-text search.
          Allow value of --user option
          for mysqld to be specified as a numeric
          user ID
          (--user=).
        user_id
          Fixed a bug where SQL_CALC_ROWS returned an
          incorrect value when used with one table and ORDER
          BY and with InnoDB tables.
        
          Fixed that SELECT 0 LIMIT 0 doesn't hang
          thread.
        
          Fixed some problems with USE/IGNORE INDEX
          when using many keys with the same start column.
        
          Do not use table scan with BerkeleyDB and
          InnoDB tables when we can use an index that
          covers the whole row.
        
          Optimized InnoDB sort-buffer handling to
          take less memory.
        
          Fixed bug in multiple-table
          DELETE and
          InnoDB tables.
        
          Fixed problem with TRUNCATE
          TABLE and InnoDB tables that
          produced the error Can't execute the given command
          because you have active locked tables or an active
          transaction.
        
          Added
          NO_UNSIGNED_SUBTRACTION to
          the set of flags that may be specified with the
          --sql-mode option for
          mysqld. It disables unsigned arithmetic
          rules when it comes to subtraction. (This makes MySQL 4.0
          behave more like 3.23 with UNSIGNED
          columns).
        
          The result returned for all bit operators
          (|,
          <<,
          ...) is now of type unsigned integer.
        
          Added detection of nan values in
          MyISAM to make it possible to repair tables
          with nan in float or double columns.
        
          Fixed new bug in myisamchk where it didn't
          correctly update number of “parts” in the
          MyISAM index file.
        
Changed to use autoconf 2.52 (from autoconf 2.13).
Fixed optimization problem where the MySQL Server was in “preparing” state for a long time when selecting from an empty table which had contained a lot of rows.
          Fixed bug in complicated join with
          const tables. This fix also
          improves performance a bit when referring to another table
          from a const table.
        
          First pre-version of multiple-table
          UPDATE statement.
        
          Fixed bug in multiple-table
          DELETE.
        
          Fixed bug in SELECT CONCAT(argument_list) ... GROUP
          BY 1.
        
          INSERT ...
          SELECT did a full rollback in case of an error.
          Fixed so that we only roll back the last statement in the
          current transaction.
        
Fixed bug with empty expression for boolean full-text search.
          Fixed core dump bug in updating full-text key from/to
          NULL.
        
          ODBC compatibility: Added
          BIT_LENGTH() function.
        
          Fixed core dump bug in GROUP BY BINARY
          column.
        
          Added support for NULL keys in
          HEAP tables.
        
          Use index for ORDER BY in queries of type:
          SELECT * FROM t WHERE key_part1=1 ORDER BY key_part1
          DESC, key_part2 DESC
        
          Fixed bug in FLUSH
          QUERY CACHE.
        
          Added CAST() and
          CONVERT() functions. The
          CAST and CONVERT
          functions are nearly identical and mainly useful when you want
          to create a column with a specific type in a CREATE
          ... SELECT statement. For more information, read
          Section 11.9, “Cast Functions and Operators”.
        
          CREATE ... SELECT on
          DATE and
          TIME functions now create
          columns of the expected type.
        
Changed order in which keys are created in tables.
          Added new columns Null and
          Index_type to SHOW
          INDEX output.
        
          Added --no-beep and
          --prompt options to
          mysql command-line client.
        
New feature: management of user resources.
GRANT ... WITH MAX_QUERIES_PER_HOUR N1
               MAX_UPDATES_PER_HOUR N2
               MAX_CONNECTIONS_PER_HOUR N3;
          Added mysql_secure_installation to the
          scripts/ directory.
        


User Comments
Add your own comment.