MySQL是一个开放源码的关系数据库管理系统,开发者为瑞典MySQL AB公司,现为Oracle公司旗下产品的一部分。MySQL由于性能高、成 本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站 和应用,比如维基百科、Google和Facebook。非常流行的开源软件组合LAMP中的M就是指 MySQL。
Changes in MySQL 5.1.52 (11 October 2010)
Bugs fixed:
- InnoDB Storage Engine:
InnoDBincorrectly reported an error when a cascading foreign key constraint deleted more than 250 rows. (Bug#57255) - InnoDB Storage Engine: A
SELECT ... FOR UPDATEstatement affecting a range of rows in anInnoDBtable could cause a crash in the debug version of the server. (Bug#56716) - InnoDB Storage Engine: Improved the performance of
UPDATEoperations onInnoDBtables, when only non-indexed columns are changed. (Bug#56340) - InnoDB Storage Engine: The server could crash on shutdown, if started with
--innodb-use-system-malloc=0. (Bug#55627) - InnoDB Storage Engine: Setting the
PACK_KEYS=0table option for anInnoDBtable prevented new indexes from being added to the table. (Bug#54606) - InnoDB Storage Engine: Changed the locking mechanism for the
InnoDBdata dictionary duringROLLBACKoperations, to improve concurrency forREPLACEstatements. (Bug#54538) - InnoDB Storage Engine:
InnoDBtransactions could be incorrectly committed during recovery, rather than rolled back, if the server crashed and was restarted after performingALTER TABLE...ADD PRIMARY KEYon anInnoDBtable, or some other operation that involves copying the entire table. (Bug#53756) - Partitioning: Replication: Attempting to execute
LOAD DATAon a partitionedMyISAMtable while using statement-based logging mode caused the master to hang or crash. (Bug#51851) - Partitioning: Multi-table
UPDATEstatements involving a partitionedMyISAMtable could cause this table to become corrupted. Not all tables affected by theUPDATEneeded to be partitioned for this issue to be observed. (Bug#55458) - Partitioning:
EXPLAIN PARTITIONSreturned bad estimates for range queries on partitionedMyISAMtables. In addition, values in therowscolumn ofEXPLAIN PARTITIONSoutput did not take partition pruning into account. (Bug#53806, Bug#46754) - Replication: Backticks used to enclose idenitfiers for savepoints were not preserved in the binary log, which could lead to replication failure when the identifier, stripped of backticks, could be misinterpreted, causing a syntax or other error.
This could cause problems with MySQL application programs making use of generated savepoint IDs. If, for instance,
java.sql.Connection.setSavepoint()is called without any parameters, Connector/J automatically generates a savepoint identifier consisting of a string of hexadecimal digits0-Fencased in backtick (`) characters. If such an ID took the form`(whereNeN`Nrepresents a string of the decimal digits0-9, andeis a literal uppercase or lowercase “E” character). Removing the backticks when writing the identifier into the binary log left behind a substring which the slave MySQL server tried to interpret as a floating point number, rather than as an identifier. The resulting syntax error caused loss of replication. (Bug#55961)See also Bug#55962.
- If a query specified a
DATEorDATETIMEvalue in a format different from'YYYY-MM-DD HH:MM:SS', a greater-than-or-equal (>=) condition matched only greater-than values in an indexedTIMESTAMPcolumn. (Bug#55779) - If there was an active
SELECTstatement, an error arising during trigger execution could cause a server crash. (Bug#55421) - With an
UPDATE IGNOREstatement including a subquery that was evaluated using a temporary table, an error transferring the data from the temporary was ignored, causing an assertion to be raised. (Bug#54543) - Row subqueries producing no rows were not handled as
UNKNOWNvalues in row comparison expressions. (Bug#54190) - The
max_lengthmetadata value ofMEDIUMBLOBtypes was reported as 1 byte greater than the correct value. (Bug#53296) - In some cases, when the left part of a
NOT INsubquery predicate was a row and containedNULLvalues, the query result was incorrect. (Bug#51070) - For some queries, the optimizer produced incorrect results using the Index Merge access method with
InnoDBtables. (Bug#50402) EXPLAINproduced an incorrectrowsvalue for queries evaluated using an index scan and that includedLIMIT,GROUP BY, andORDER BYon a computed column. (Bug#50394)mysql_store_result()andmysql_use_result()are not for use with prepared statements and are not intended to be called followingmysql_stmt_execute(), but failed to return an error when invoked that way. (Bug#47485)- A malformed packet sent by the server when the query cache was in use resulted in lost-connection errors. (Bug#42503)
CREATE TABLEfailed if a column referred to in an index definition and foreign key definition was in different lettercases in the two definitions. (Bug#39932)
下载:http://dev.mysql.com/downloads/mysql/5.1.html

相关文章:

