(mysql.info) news-5-0-2
Info Catalog
(mysql.info) news-5-0-3
(mysql.info) news-5-0-x
(mysql.info) news-5-0-1
D.1.19 Changes in release 5.0.2 (01 Dec 2004)
---------------------------------------------
Functionality added or changed:
* *Warning: Incompatible change!* The precedence of `NOT' operator
has changed so that expressions such as `NOT a BETWEEN b AND c'
are parsed correctly as `NOT (a BETWEEN b AND c)' rather than as
`(NOT a) BETWEEN b AND c'. The pre-5.0 higher-precedence behavior
can be obtained by enabling the new `HIGH_NOT_PRECEDENCE' SQL mode.
* `SHOW STATUS' now shows the thread specific status variables and
`SHOW GLOBAL STATUS' shows the status variables for the whole
server.
* Added support for the `INFORMATION_SCHEMA' `information database'
that provides database metadata. See information-schema.
* A `HAVING' clause in a `SELECT' statement now can refer to columns
in the `GROUP BY' clause, as required by standard SQL.
* Added the `CREATE USER' and `RENAME USER' statements.
* Modify `DROP USER' so that it drops the account, including all its
privileges. Formerly, it removed the account record only for an
account that had had all privileges revoked.
* Added `IS [NOT] BOOLEAN_VALUE' syntax, where BOOLEAN_VALUE is
`TRUE', `FALSE', or `UNKNOWN'.
* Added several `InnoDB' status variables. See
server-status-variables.
* Implemented the `WITH CHECK OPTION' clause for `CREATE VIEW'.
* `CHECK TABLE' now works for views.
* The `SCHEMA' and `SCHEMAS' keywords are now accepted as synonyms
for `DATABASE' and `DATABASES'.
* Added initial support for rudimentary triggers (the `CREATE
TRIGGER' and `DROP TRIGGER' statements).
* Added basic support for read-only server side cursors.
* `mysqldump --single-transaction --master-data' is now able to take
an online (non-blocking) dump of InnoDB and report the
corresponding binary log coordinates, which makes a backup
suitable for point-in-time recovery, roll-forward or replication
slave creation. See mysqldump.
* Added -start-datetime, -stop-datetime, -start-position,
-stop-position options to `mysqlbinlog' (makes point-in-time
recovery easier).
* Made the MySQL server not react to signals `SIGHUP' and `SIGQUIT'
on Mac OS X 10.3. This is needed because under this OS, the MySQL
server receives lots of these signals (reported as Bug #2030
(http://bugs.mysql.com/2030)).
* New -auto-increment-increment and -auto-increment-offset startup
options. These allow you to set up a server to generate
auto-increment values that don't conflict with another server.
* MySQL now by default checks dates and in strict mode allows only
fully correct dates. If you want MySQL to behave as before, you
should enable the new `ALLOW_INVALID_DATES' SQL mode.
* Added `STRICT_TRANS_TABLES', `STRICT_ALL_TABLES',
`NO_ZERO_IN_DATE', `NO_ZERO_DATE', `ERROR_FOR_DIVISION_BY_ZERO',
and `TRADITIONAL' SQL modes. The `TRADITIONAL' mode is shorthand
for all the preceding modes. When using mode `TRADITIONAL', MySQL
generates an error if you try to insert a wrong value in a column.
It does not adjust the value to the closest possible legal value.
* MySQL now remembers which columns were declared to have default
values. In `STRICT_TRANS_TABLES'/`STRICT_ALL_TABLES' mode, you now
get an error if you do an `INSERT' without specifying all columns
that don't have a default value. A side effect of this is that when
you do `SHOW CREATE' for a new table, you no longer see a
`DEFAULT' value for a column for which you didn't specify a
default value.
* The compilation flag `DONT_USE_DEFAULT_FIELDS' was removed because
you can get the same behavior by setting the `sql_mode' system
variable to `STRICT_TRANS_TABLES'.
* Added `NO_AUTO_CREATE_USER' SQL mode to prevent `GRANT' from
automatically creating new users if it would otherwise do so,
unless a password also is specified.
* We now detect too-large floating point numbers during statement
parsing and generate an error messages for them.
* Renamed the `sql_updatable_view_key' system variable to
`updatable_views_with_limit'. This variable now can have only two
values:
* `1' or `YES': Don't issue an error message (warning only) if
a VIEW without presence of a key in the underlying table is
used in queries with a `LIMIT' clause for updating. (This is
the default value.)
* `0' or `NO': Prohibit update of a VIEW, which does not
contain a key in the underlying table and the query uses a
`LIMIT' clause (usually get from GUI tools).
* Reverted output format of `SHOW TABLES' to old pre-5.0.1 format
that did not include a table type column. To get the additional
column that lists the table type, use `SHOW FULL TABLES' now.
* The `mysql_fix_privilege_tables' script now initializes the global
`CREATE VIEW' and `SHOW VIEW' privileges in the `user' table to
the value of the `CREATE' privilege in that table.
* If the server finds that the `user' table has not been upgraded to
include the view-related privilege columns, it treats each account
as having view privileges that are the same as its `CREATE'
privilege.
* InnoDB: If you specify the option `innodb_locks_unsafe_for_binlog'
in `my.cnf', InnoDB in an `UPDATE' or a `DELETE' only locks the
rows that it updates or deletes. This greatly reduces the
probability of deadlocks.
* A connection doing a rollback now displays "Rolling back" in the
`State' column of `SHOW PROCESSLIST'.
* `mysqlbinlog' now prints an informative commented line (thread id,
timestamp, server id, and so forth) before each `LOAD DATA
INFILE', like it does for other queries; unless -short-form is
used.
* Two new server system variables were introduced.
`auto_increment_increment' and `auto_increment_offset' can be set
locally or globally, and are intended for use in controlling the
behavior of `AUTO_INCREMENT' columns in master-to-master
replication. Note that these variables are not intended to take
the place of sequences. See server-system-variables.
Bugs fixed:
* Fixed that `mysqlbinlog --read-from-remote-server' sometimes
couldn't accept two binary log files on the command line. (Bug
#4507 (http://bugs.mysql.com/4507))
* Fixed that `mysqlbinlog --position --read-from-remote-server' had
incorrect `# at' lines. (Bug #4506 (http://bugs.mysql.com/4506))
* Fixed that `CREATE TABLE ... TYPE=HEAP ... AS SELECT...' caused
replication slave to stop. (Bug #4971 (http://bugs.mysql.com/4971))
* Fixed that `mysql_options(...,MYSQL_OPT_LOCAL_INFILE,...)' failed
to disable `LOAD DATA LOCAL INFILE'. (Bug #5038
(http://bugs.mysql.com/5038))
* Fixed that `disable-local-infile' option had no effect if client
read it from a configuration file using
`mysql_options(...,MYSQL_READ_DEFAULT,...)'. (Bug #5073
(http://bugs.mysql.com/5073))
* Fixed that `SET GLOBAL SYNC_BINLOG' did not work on some platforms
(Mac OS X). (Bug #5064 (http://bugs.mysql.com/5064))
* Fixed that `mysql-test-run' failed on the `rpl_trunc_binlog' test
if running test from the installed (the target of 'make install')
directory. (Bug #5050 (http://bugs.mysql.com/5050))
* Fixed that `mysql-test-run' failed on the `grant_cache' test when
run as Unix user 'root'. (Bug #4678 (http://bugs.mysql.com/4678))
* Fixed an unlikely deadlock which could happen when using `KILL'.
(Bug #4810 (http://bugs.mysql.com/4810))
* Fixed a crash when one connection got `KILL'ed while it was doing
`START SLAVE'. (Bug #4827 (http://bugs.mysql.com/4827))
* Made `FLUSH TABLES WITH READ LOCK' block `COMMIT' if server is
running with binary logging; this ensures that the binary log
position can be trusted when doing a full backup of tables and the
binary log. (Bug #4953 (http://bugs.mysql.com/4953))
* Fixed that the counter of an `auto_increment' column was not reset
by `TRUNCATE TABLE' is the table was a temporary one. (Bug #5033
(http://bugs.mysql.com/5033))
* Fixed slave SQL thread so that the `SET COLLATION_SERVER...'
statements it replicates don't advance its position (so that if it
gets interrupted before the actual update query, it later redoes
the `SET'). (Bug #5705 (http://bugs.mysql.com/5705))
* Fixed that if the slave SQL thread found a syntax error in a query
(which should be rare, as the master parsed it successfully), it
stops. (Bug #5711 (http://bugs.mysql.com/5711))
* Fixed that if a write to a `MyISAM' table fails because of a full
disk or an exceeded disk quota, it prints a message to the error
log every 10 minutes, and waits until disk becomes free. (Bug
#3248 (http://bugs.mysql.com/3248))
* Fixed problem introduced in 4.0.21 where a connection starting a
transaction, doing updates, then `FLUSH TABLES WITH READ LOCK',
then `COMMIT', would cause replication slaves to stop (complaining
about error 1223). Bug surfaced when using the InnoDB `innobackup'
script. (Bug #5949 (http://bugs.mysql.com/5949))
* `OPTIMIZE TABLE', `REPAIR TABLE', and `ANALYZE TABLE' are now
replicated without any error code in the binary log. (Bug #5551
(http://bugs.mysql.com/5551))
* If a connection had an open transaction but had done no updates to
transactional tables (for example if had just done a `SELECT FOR
UPDATE' then executed a non-transactional update, that update
automatically committed the transaction (thus releasing InnoDB's
row-level locks etc). (Bug #5714 (http://bugs.mysql.com/5714))
* If a connection was interrupted by a network error and did a
rollback, the network error code got stored into the `BEGIN' and
`ROLLBACK' binary log events; that caused superfluous slave stops.
(Bug #6522 (http://bugs.mysql.com/6522))
* Fixed a bug which prevented `mysqlbinlog' from being able to read
from `stdin', for example, when piping the output from `zcat' to
`mysqlbinlog'. (Bug #7853 (http://bugs.mysql.com/7853))
Info Catalog
(mysql.info) news-5-0-3
(mysql.info) news-5-0-x
(mysql.info) news-5-0-1
automatically generated byinfo2html