MySQL is een krachtige opensourcedatabaseserver die met name populair is als website- en forumdatabase. Ook Tweakers.net maakt gebruik van MySQL om onder andere gebruikersgegevens, statistieken en diverse review-, meuk- en nieuwsartikelen in op te slaan. De ontwikkelaars hebben een nieuwe ontwikkelingsversie de deur uitgedaan voor de meeste platformen en voorzien van een berg aanpassingen. Her versienummer is aanbeland bij 5.1.19 beta met de volgende lijst van aanpassingen:
Functionality added or changed:Bugs fixed:
- INSERT DELAYED statements for BLACKHOLE tables caused a server crash. The BLACKHOLE storage engine now supports INSERT DELAYED. (Bug#27998)
- The BLACKHOLE storage engine now supports LOCK TABLES and UNLOCK TABLES. (Bug#26241)
- The data type used for the VARIABLE_VALUE column of the following INFORMATION_SCHEMA tables has been changed to VARCHAR:
For more information, see Section 22.24, “The INFORMATION_SCHEMA GLOBAL_STATUS and SESSION_STATUS Tables”, Section 22.25, “The INFORMATION_SCHEMA GLOBAL_VARIABLES and SESSION_VARIABLES Tables”, and Bug#26994
- GLOBAL_STATUS
- SESSION_STATUS
- GLOBAL_VARIABLES
- SESSION_VARIABLES
- Security fix: Use of a view could allow a user to gain update privileges for tables in other databases. (Bug#27878)
- Security fix: UDFs are supposed to be loadable only from the plugin directory, but this restriction was not being enforced. (Bug#28341)
- NDB Cluster: When an API node sent more than 1024 signals in a single batch, NDB would process only the first 1024 of these, and then hang. (Bug#28443)
- NDB Cluster (Disk Data): DDL operations were not supported on a partially started cluster. (Bug#24631)
- NDB Cluster: A delay in obtaining AUTO_INCREMENT IDs could lead to excess temporary errors. (Bug#28410)
- NDB Cluster: Local checkpoint files related to dropped NDB tables were not removed. (Bug#28348)
- NDB Cluster: A failure to release internal resources following an error could lead to problems with single user mode. (Bug#25818)
- NDB Cluster: Multiple operations involving deletes followed by reads were not handled correctly. (Bug#28276)
Note: This issue could also affect MySQL Cluster Replication.- NDB Cluster (Disk Data): Extremely large inserts into Disk Data tables could lead to data node failure in some circumstances. (Bug#27942)
- NDB Cluster: Repeated insertion of data generated by mysqldump into NDB tables could eventually lead to failure of the cluster. (Bug#27437)
- NDB Cluster: Restarting a data node caused SQL nodes to log repeatedly and unnecessarily the status of the event buffer. (Bug#27292) (This issue was known to occur in MySQL 5.1.16 and later only.)
- NDB Cluster: ndb_mgmd failed silently when the cluster configuration file contained invalid [TCP] entries. (Bug#27207)
- NDB Cluster: ndb_connectstring did not appear in the output of SHOW VARIABLES. (Bug#26675)
- NDB Cluster (APIs): In a multi-operation transaction, a delete operation followed by the insertion of an implicit NULL failed to overwrite an existing value. (Bug#20535)
- Changing the size of a key buffer that is under heavy use could cause a server crash. The fix partially removes the limitation that LOAD INDEX INTO CACHE fails unless all indexes in a table have the same block size. Now the statement fails only if IGNORE LEAVES is specified. (Bug#17332)
- EXPLAIN for a query on an empty table immediately after its creation could result in a server crash. (Bug#28272)
- Grouping queries with correlated subqueries in WHERE conditions could produce incorrect results. (Bug#28337)
- libmysql.dll could not be dynamically loaded on Windows. (Bug#28358)
- Portability problems caused by use of isinf() were corrected. (Bug#28239)
- Using a TEXT local variable in a stored routine in an expression such as SET var = SUBSTRING(var, 3) produced an incorrect result. (Bug#27415)
- A large filesort could result in a division by zero error and a server crash. (Bug#27119)
- The server could abort or deadlock for INSERT DELAYED statements for which another insert was performed implicitly (for example, via a stored function that inserted a row). (Bug#21483)
- The server could hang for INSERT IGNORE ... ON DUPLICATE KEY UPDATE if an update failed. (Bug#28000)
- Quoted labels in stored routines were mishandled, rendering the routines unusable. (Bug#21513)
- Changes to some system variables should invalidate statements in the query cache, but invalidation did not happen. (Bug#27792)
- Some ALTER TABLE statements that worked in MySQL 5.0 did not work in 5.1. (Bug#28415)
- Flow control optimization in stored routines could cause exception handlers to never return or execute incorrect logic. (Bug#26977)
- An attempt to execute CREATE TABLE ... SELECT when a temporary table with the same name already existed led to the insertion of data into the temporary table and creation of an empty non-temporary table. (Bug#24508)
- Concurrent execution of CREATE TABLE ... SELECT and other statements involving the target table suffered from various race conditions, some of which might have led to deadlocks. (Bug#24738)
- CREATE TABLE IF NOT EXISTS ... SELECT caused a server crash if the target table already existed and had a BEFORE INSERT trigger. (Bug#20903)
- Deadlock occurred for attempts to execute CREATE TABLE IF NOT EXISTS ... SELECT when LOCK TABLES had been used to acquire a read lock on the target table. (Bug#20662)
- It was not possible to use the value –9223372036854775808 (that is, –MAXVALUE + 1) when specifying a LIST partition. (Bug#28005)
- Some InnoDB variables were missing from the output of mysqld --verbose --help. (Bug#26987)
- CAST() to DECIMAL did not check for overflow. (Bug#27957)
- Views ignored precision for CAST() operations. (Bug#27921)
- For InnoDB, in some rare cases the optimizer preferred a more expensive ref access to a less expensive range access. (Bug#28189)
- A query with a NOT IN subquery predicate could cause a crash when the left operand of the predicate evaluated to NULL. (Bug#28375)
- Comparisons of DATE or DATETIME values for the IN() function could yield incorrect results. (Bug#28133)
- LOAD DATA did not use CURRENT_TIMESTAMP as the default value for a TIMESTAMP column for which no value was provided. (Bug#27670)