![]()
MySQL è un Relational database management system (RDBMS) open
source, composto da un client con interfaccia a caratteri e un server, entrambi disponibili sia per
sistemi Unix come GNU/Linux che per Windows.
Changelog:
# Functionality Added or
Changed
* A new CMake option, MYSQL_PROJECT_NAME, can be set on Windows or Mac OS X to be
used in the project name.
# Bugs Fixed
* Performance: InnoDB Storage Engine:
Memory allocation for InnoDB tables was reorganized to reduce the memory overhead for large numbers
of tables or partitions, avoiding situations where the “resident set size” could grow regardless of
FLUSH TABLES statements. The problem was most evident for tables with large row size. Some of the
memory that was formerly allocated for every open table is now allocated only when the table is
modified for the first time.
* Incompatible Change: An earlier change (in MySQL 5.1.62 and
5.5.21) was found to modify date-handling behavior in General Availability-status series (MySQL 5.1
and 5.5). This change has been reverted. The change was that several functions became more strict
when passed a DATE() function value as their argument, thus they rejected incomplete dates with a
day part of zero. These functions were affected: CONVERT_TZ(), DATE_ADD(), DATE_SUB(), DAYOFYEAR(),
LAST_DAY(), TIMESTAMPDIFF(), TO_DAYS(), TO_SECONDS(), WEEK(), WEEKDAY(), WEEKOFYEAR(), YEARWEEK().
The previous behavior has been restored.
* InnoDB Storage Engine: A Valgrind error was
fixed in the function os_aio_init().
* InnoDB Storage Engine: The server could crash when
creating an InnoDB temporary table under Linux, if the $TMPDIR setting points to a tmpfs filesystem
and innodb_use_native_aio is enabled, as it is by default in MySQL 5.5.4 and higher. The entry in
the error log looked like: 101123 2:10:59 InnoDB: Operating system error number 22 in a file
operation. InnoDB: Error number 22 means ´Invalid argument´. The crash occurred because asynchronous
I/O is not supported on tmpfs in some Linux kernel versions. The workaround was to turn off the
innodb_use_native_aio setting or use a different temporary directory. The fix causes InnoDB to turn
off the innodb_use_native_aio setting automatically if it detects that the temporary file directory
does not support asynchronous I/O.
* InnoDB Storage Engine: References to C preprocessor
symbols and macros HAVE_purify, UNIV_INIT_MEM_TO_ZERO, and UNIV_SET_MEM_TO_ZERO were removed from
the InnoDB source code. They were only used in debug builds instrumented for Valgrind. They are
replaced by calls to the UNIV_MEM_INVALID() macro.
* InnoDB Storage Engine: The MySQL
server could halt with an assertion error: InnoDB: Failing assertion: page_get_n_recs(page) > 1
Subsequent restarts could fail with the same error. The error occurred during a purge operation
involving the InnoDB change buffer. The workaround was to set the configuration option
innodb_change_buffering=inserts.
* InnoDB Storage Engine: With 1024 concurrent InnoDB
transactions running concurrently and the innodb_file_per_table setting enabled, a CREATE TABLE
operation for an InnoDB table could fail. The .ibd file from the failed CREATE TABLE was left
behind, preventing the table from being created later, after the load had dropped. The fix adds
error handling to delete the erroneous .ibd file. This error was less likely to occur in MySQL 5.5
and 5.6, because raising the number of InnoDB undo slots increased the number of simultaneous
transactions needed to trigger the bug, from 1K to 128K.
* Replication: Executing
mysqlbinlog with the --start-position=N option, where N was equal either to 0 or to a value greater
than the length of the dump file, caused it to crash. This issue was introduced in MySQL 5.5.18 by
the fix for Bug #32228 and Bug #11747416.
* Replication: On Windows replication slave
hosts, STOP SLAVE took an excessive length of time to complete when the master was down.
*
A query that used an index on a CHAR column referenced in a BETWEEN clause could return invalid
results.
* Expressions that compared a BIGINT column with any non-integer constant were
performed using integers rather than decimal or float values, with the result that the constant
could be truncated. This could lead to any such comparison that used <, >, <=, >=, =,
!=/<>, IN, or BETWEEN yielding false positive or negative results.
* When the
optimizer performed conversion of DECIMAL values while evaluating range conditions, it could produce
incorrect results.
* When running mysqldump with both the --single-transaction and
--flush-logs options, the flushing of the log performed an implicit COMMIT (see Section 12.3.3,
“Statements That Cause an Implicit Commit”), causing more than one transaction to be used and thus
breaking consistency.
* It was possible in the event of successive failures for mysqld_safe
to restart quickly enough to consume excessive amounts of CPU. Now, on systems that support the
sleep and date system utilities, mysqld_safe checks to see whether it has restarted more than 5
times in the current second, and if so, waits 1 second before attempting another restart.
*
When used with the --xml option, mysqldump --routines failed to dump any stored routines, triggers,
or events.
* It was possible on replication slaves where FEDERATED tables were in use to
get timeouts on long-running operations, such as Error 1160 Got an error writing communication
packets. The FEDERATED tables did not need to be replicated for the issue to occur.
* If an
attempt to initiate a statement failed, the issue could not be reported to the client because it was
not prepared to receive any error messages prior to the execution of any statement. Since the user
could not execute any queries, they were simply disconnected without providing a clear error. After
the fix for this issue, the client is prepared for an error as soon as it attempts to initiate a
statement, so that the error can be reported prior to disconnecting the user.
* Using
myisamchk with the sort recover method to repair a table having fixed-width row format could cause
the row pointer size to be reduced, effectively resulting in a smaller maximum data file
size.
* On Windows, the server incorrectly constructed the full path name of the plugin
binary for INSTALL PLUGIN and CREATE FUNCTION ... SONAME.
* The stored routine cache
was subject to a small memory leak that over time or with many routines being used could result in
out-of-memory errors.
La community con le risposte che cerchi! Partecipa é gratis!
Iscriviti al Forum
Vuoi ricevere tutti gli aggiornamenti di SWZone direttamente via mail?
Iscriviti alla Newsletter
Accedi al forum
Accedi all'area relax di SWZone