MySQL 4.0.15

Címkék

Megjelent a népszerű, nyílt forrású adatbázis-kezelő 4.0.15-ös verziója. Ez egy bugfix kiadás. A kiadás elérhető forrás, és számos platformra bináris formában. Ebben a kiadásban már támogatást kapunk HP-UX 11i (Itanium) és OpenBSD 3.4 x86 platformokra.

Letölthető a www.mysql.com/downloads/ url-ről, és a tükörszerverekről.

Bejelentés:

From: Lenz Grimmer

To: announce@lists.mysql.com

Subject: MySQL 4.0.15 has been released

Date: Wed, 10 Sep 2003 20:02:32 +0200 (CEST)

Cc: mysql@lists.mysql.com, packagers@lists.mysql.com

-----BEGIN PGP SIGNED MESSAGE-----

Hash: SHA1

Hi,

MySQL 4.0.15, a new version of the popular Open Source/Free Software

Database, has been released. It is now available in source and binary form

for a number of platforms from our download pages at

http://www.mysql.com/downloads/ and mirror sites.

Note that not all mirror sites may be up to date at this point in time -

if you can't find this version on some mirror, please try again later or

choose another download site.

This is a bugfix release for the current production version.

Please refer to our bug database at http://bugs.mysql.com/ for more

details about the individual bugs fixed in this version.

News from the ChangeLog:

Functionality added or changed:

* `mysqldump' now correctly quotes all identifiers when communicating

with the server. This assures that during the dump process,

`mysqldump' will never send queries to the server that result in a

syntax error. This problem is *not* related to the `mysqldump'

program's output, which was not changed. (Bug #1148)

* Change result set metadata information so that `MIN()' and `MAX()'

report that they can return `NULL' (this is true because an empty

set will return `NULL'). (Bug #324)

* Produce an error message on Windows if a second `mysqld' server is

started on the same TCP/IP port as an already running `mysqld'

server.

* The `mysqld' server variables `wait_timeout', `net_read_timeout'

and `net_write_timeout' now work on Windows.

* Added option `--sql-mode=NO_DIR_IN_CREATE' to make it possible for

slaves to ignore `INDEX DIRECTORY' and `DATA DIRECTORY' options

given to `CREATE TABLE'. When this is mode is on, `SHOW CREATE

TABLE' will not show the given directories.

* `SHOW CREATE TABLE' now shows the `INDEX DIRECTORY' and `DATA

DIRECTORY' options, if they were specified when the table was

created.

* The `open_files_limit' server variable now shows the real open

files limit.

* `MATCH ... AGAINST()' in natural language mode now treats words

that are present in more than 2,000,000 rows as stopwords.

* The Mac OS X installation disk images now include an additional

`MySQLStartupItem.pkg' package that enables the automatic startup

of MySQL on system bootup. *Note Mac OS X installation::.

* Most of the documentation included in the binary tarball

distributions (`.tar.gz') has been moved into a subdirectory

`docs'. *Note Installation layouts::.

* The manual is now included as an additional `info' file in the

binary distributions. (Bug #1019)

* Many binary distributions now include the embedded server library

(`libmysqld') by default. *Note Nutshell Embedded MySQL::.

* MySQL can now use range optimisation for `BETWEEN' with

non-constant limits. (Bug #991)

* Replication error messages now include the default database, so

that users can check which database the failing query was run for.

* Now the slave does not replicate `SET PASSWORD' if it is

configured to exclude the `mysql' database from replication (using

for example `replicate-wild-ignore-table=mysql.%'). This was

already the case for `GRANT' and `REVOKE' since version 4.0.13

(though there was Bug #980 in 4.0.13 & 4.0.14, which has been

fixed in 4.0.15).

* Rewrote the information shown in the `State' column of `SHOW

PROCESSLIST' for replication threads and for `MASTER_POS_WAIT()'

and added the most common states for these threads to the

documentation, *note Replication Implementation Details::.

* Added a test in replication to detect the case where the master

died in the middle of writing a transaction to the binlog; such

unfinished transactions now trigger an error message on the slave.

* A `GRANT' command that creates an anonymous user (that is, an

account with an empty username) no longer requires `FLUSH

PRIVILEGES' for the account to be recognized by the server. (Bug

#473)

* `CHANGE MASTER' now flushes `relay-log.info'. Previously this was

deferred to the next run of `START SLAVE', so if `mysqld' was

shutdown on the slave after `CHANGE MASTER' without having run

`START SLAVE', the relay log's name and position were lost. At

restart they were reloaded from `relay-log.info', thus reverting

to their old (incorrect) values from before `CHANGE MASTER' and

leading to error messages (as the old relay log did not exist any

more) and the slave threads refusing to start. (Bug #858)

Bugs fixed:

* Fixed buffer overflow in SET PASSWORD which could potentially be

exploited by MySQL users with root privileges to execute random code or

to gain shell access (thanks to Jedi/Sector One for spotting and

reporting this one).

* Fixed server crash on `FORCE INDEX' in a query that contained

"Range checked for each record" in the `EXPLAIN' output.

(Bug #1172)

* Fixed table/column grant handling - proper sort order (from most

specific to less specific, *note Request access::) was not honored.

(Bug #928)

* Fixed rare bug in MYISAM introduced in 4.0.3 where the index file

header was not updated directly after an `UPDATE' of split dynamic

rows. The symptom was that the table had a corrupted delete-link

if mysqld was shut down or the table was checked directly after

the update.

* Fixed `Can't unlock file' error when running `myisamchk

--sort-index' on Windows. (Bug #1119)

* Fixed possible deadlock when changing `key_buffer_size' while the

key cache was actively used. (Bug #1088)

* Fixed overflow bug in `MyISAM' and `ISAM' when a row is updated in

a table with a large number of columns and at least one `BLOB/TEXT'

column.

* Fixed incorrect result when doing `UNION' and `LIMIT #,#' when one

didn't use braces around the `SELECT' parts.

* Fixed incorrect result when doing `UNION' and `ORDER BY .. LIMIT #'

when one didn't use braces around the `SELECT' parts.

* Fixed problem with `SELECT SQL_CALC_FOUND_ROWS ... UNION ALL ...

LIMIT #' where `FOUND_ROWS()' returned incorrect number of rows.

* Fixed unlikely stack bug when having a BIG expression of type

`1+1-1+1-1...' in certain combinations. (Bug #871)

* Fixed the bug that sometimes prevented a table with a `FULLTEXT'

index from being marked as "analyzed".

* Fixed MySQL so that the field length (in C API) for the second

column in `SHOW CREATE TABLE' is always larger than the data

length. The only known application that was affected by the old

behaviour was Borland dbExpress, which truncated the output from

the command. (Bug #1064)

* Fixed crash in comparisons of strings using the `tis620' character

set. (Bug #1116)

* Fixed `ISAM' bug in `MAX()' optimisation.

* `myisamchk --sort-records=N' no longer marks table as crashed if

sorting failed because of an inappropriate key. (Bug #892)

* Fixed a minor bug in `MyISAM' compressed table handling that

sometimes made it impossible to repair compressed table in "Repair

by sort" mode. "Repair with keycache" (`myisamchk

--safe-recover') worked, though. (Bug #1015)

* Fixed bug in propagating the version number to the manual included

in the distribution files. (Bug #1020)

* Fixed key sorting problem (a `PRIMARY' key declared for a column

that is not explicitly marked `NOT NULL' was sorted after a

`UNIQUE' key for a `NOT NULL' column).

* Fixed the result of `INTERVAL' when applied to a `DATE' value.

(Bug #792)

* Fixed compiling of the embedded server library in the RPM spec

file. (Bug #959)

* Added some missing files to the RPM spec file and fixed some RPM

building errors that occured on Red Hat Linux 9. (Bug #998)

* Fixed incorrect `XOR' evaluation in `WHERE' clause. (Bug #992)

* Fixed bug with processing in query cache merged tables constructed

from more then 255 tables. (Bug #930)

* Fixed incorrect results from outer join query (e.g. `LEFT JOIN')

when `ON' condition is always false, and range search in used.

(Bug #926)

* Fixed a bug causing incorrect results from `MATCH ... AGAINST()'

in some joins. (Bug #942)

* `MERGE' tables do not ignore "Using index" (from `EXPLAIN' output)

anymore.

* Fixed a bug that prevented an empty table from being marked as

"analyzed". (Bug #937)

* Fixed `myisamchk --sort-records' crash when used on compressed

table.

* Fixed slow (as compared to 3.23) `ALTER TABLE' and related

commands such as `CREATE INDEX'. (Bug #712)

* Fixed segmentation fault resulting from `LOAD DATA FROM MASTER'

when the master was running without the `--log-bin' option. (Bug

#934)

* Fixed a security bug: A server compiled without SSL support still

allowed connections by users that had the `REQUIRE SSL' option

specified for their accounts.

* Fixed a random bug: Sometimes the slave would replicate `GRANT' or

`REVOKE' queries even if it was configured to exclude the `mysql'

database from replication (for example, using

`replicate-wild-ignore-table=mysql.%'). (Bug #980)

* The `Last_errno' and `Last_error' fields in the output of `SHOW

SLAVE STATUS' are now cleared by `CHANGE MASTER' and when the

slave SQL thread starts. (Bug #986)

* A documentation mistake: It said that `RESET SLAVE' does not change

connection information (master host, port, user, and password),

whereas it does. The statement resets these to the startup options

(`master-host' etc) if there were some. (Bug #985)

* `SHOW SLAVE STATUS' now shows correct information (master host,

port, user, and password) after `RESET SLAVE' (that is, it shows

the new values, which are copied from the startup options if there

were some). (Bug #985)

* Disabled propagation of the original master's log position for

events because this caused unexpected values for

`Exec_master_log_pos' and problems with `MASTER_POS_WAIT()' in

A->B->C replication setup. (Bug #1086)

* Fixed a segfault in `mysqlbinlog' when `--position=x' was used

with `x' being between a `Create_file' event and its fellow

`Append_block', `Exec_load' or `Delete_file' events. (Bug #1091)

* `mysqlbinlog' printed superfluous warnings when using

`--database', which caused syntax errors when piped to `mysql'.

(Bug #1092)

* Made `mysqlbinlog --database' filter `LOAD DATA INFILE' too

(previously, it filtered all queries except `LOAD DATA INFILE').

(Bug #1093)

* `mysqlbinlog' in some cases forgot to put a leading `'#'' in front

of the original `LOAD DATA INFILE' (this command is displayed only

for information, not to be run; it is later reworked to `LOAD DATA

LOCAL' with a different filename, for execution by `mysql'). (Bug

#1096)

* `binlog-do-db' and `binlog-ignore-db' incorrectly filtered `LOAD

DATA INFILE' (it was half-written to the binary log). This

resulted in a corrupted binary log, which could cause the slave to

stop with an error. (Bug #1100)

* When, in a transaction, a transactional table (such as an `InnoDB'

table) was updated, and later in the same transaction a

non-transactional table (such as a `MyISAM' table) was updated

using the updated content of the transactional table (with `INSERT

... SELECT' for example), the queries were written to the binary

log in an incorrect order. (Bug #873)

* When, in a transaction, `INSERT ... SELECT' updated a

non-transactional table, and `ROLLBACK' was issued, no error was

returned to the client. Now the client is warned that some changes

could not be rolled back, as this was already the case for normal

`INSERT'. (Bug #1113)

* Fixed a potential bug: When `STOP SLAVE' was run while the slave

SQL thread was in the middle of a transaction, and then `CHANGE

MASTER' was used to point the slave to some non-transactional

statement, the SQL slave thread could get confused (because it

would still think, from the past, that it was in a transaction).

Additional notes:

MySQL 4.0.15 is now available on the following additional platforms:

* HP-UX 11i for Itanium

* OpenBSD 3.4 x86

The binaries for Linux/s390 are currently missing - they will be made

available as soon as possible.

- --

Lenz Grimmer

Senior Production Engineer

MySQL GmbH, http://www.mysql.de/

Hamburg, Germany

For technical support contracts, visit https://order.mysql.com/?ref=mlgr

-----BEGIN PGP SIGNATURE-----

Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

Comment: For info see http://quantumlab.net/pine_privacy_guard/

iD8DBQE/X2c6SVDhKrJykfIRAqgJAJ9MdFKRX276kt0hGhD1QIGRSMYSggCgghE7

S31IXeo7LlGkOQ8L9+7YQqA=

=VS+p

-----END PGP SIGNATURE-----