summaryrefslogtreecommitdiff
path: root/databases/mysql55-server
AgeCommit message (Collapse)AuthorFilesLines
2011-07-28Changes 5.5.15:adam1-1/+3
* The undocumented --all option for perror is deprecated and will be removed in MySQL 5.6. Bugs Fixed: * InnoDB Storage Engine: A failed CREATE INDEX operation for an InnoDB table could result in some memory being allocated and not freed. This memory leak could affect tables created with the ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED settings. * Partitioning: Auto-increment columns of partitioned tables were checked even when they were not being written to. In debug builds, this could lead to a crash of the server. * Partitioning: The UNIX_TIMESTAMP() function was not treated as a monotonic function for purposes of partition pruning. * Replication: If a LOAD DATA INFILE statement—replicated using statement-based replication—featured a SET clause, the name-value pairs were regenerated using a method (Item::print()) intended primarily for generating output for statements such as EXPLAIN EXTENDED, and which cannot be relied on to return valid SQL. This could in certain cases lead to a crash on the slave. * To fix this problem, we now name each value in its original, user-supplied form, and use that to create LOAD DATA INFILE statements for statement-based replication. * Previously, an inappropriate error message was produced if a multiple-table update for an InnoDB table with a clustered primary key would update a table through multiple aliases, and perform an update that may physically move the row in at least one of these aliases. Now the error message is: Primary key/partition key update is not allowed since the table is updated both as 'tbl_name1' and 'tbl_name2' * ALTER TABLE {MODIFY|CHANGE} ... FIRST did nothing except rename columns if the old and new versions of the table had exactly the same structure with respect to column data types. As a result, the mapping of column name to column data was incorrect. The same thing happened for ALTER TABLE DROP COLUMN, ADD COLUMN statements intended to produce a new version of table with exactly the same structure as the old version. * Incorrect handling of metadata locking for FLUSH TABLES WITH READ LOCK for statements requiring prelocking caused two problems: * Execution of any data-changing statement that required prelocking (that is, involved a stored function or trigger) as part of transaction slowed down somewhat all subsequent statements in the transaction. Performance in a transaction that periodically involved such statements gradually degraded over time.
2011-07-08Changes 5.5.14:adam2-3/+23
* CMake configuration support on Linux now provides a boolean ENABLE_GCOV option to control whether to include support for gcov. * InnoDB now permits concurrent reads while creating a secondary index. * Client programs now display more information for SSL errors to aid in diagnosis and debugging of connection problems. * In the audit plugin interface, the event_class member was removed from the mysql_event_general structure and the calling sequence for the notification function changed. Originally, the second argument was a pointer to the event structure. The function now receives this information as two arguments: an event class number and a pointer to the event. Corresponding to these changes, MYSQL_AUDIT_INTERFACE_VERSION was increased to 0x0300. * The plugin_audit.h header file, and the NULL_AUDIT example plugin in the plugin/audit_null directory have been modified per these changes. See Section 21.2.4.7, “Writing Audit Plugins”. * Bug fixes.
2011-06-15Changes 5.5.13:adam1-23/+12
* InnoDB Storage Engine: If the server crashed while an XA transaction was prepared but not yet committed, the transaction could remain in the system after restart, and cause a subsequent shutdown to hang. * InnoDB Storage Engine: Similar problem to the foreign key error in bug 11831040 / 60196 / 60909, but with a different root cause and occurring on Mac OS X. With the setting lower_case_table_names=2, inserts into InnoDB tables covered by foreign key constraints could fail after a server restart. * Partitioning: The internal get_partition_set() function did not take into account the possibility that a key specification could be NULL in some cases. * Partitioning: When executing a row-ordered retrieval index merge, the partitioning handler used memory from from that allocated for the table, rather than that allocated to the query, causing table object memory not to be freed until the table was closed. * Replication: A spurious error malformed binlog: it does not contain any Format_description_log_event... was generated when mysqlbinlog was invoked using --base64-output=decode-row and --start-position=pos, where pos is a point in the binary log past the format description log event. However, there is nothing unsafe about not printing the format description log event, so the error has been removed for this case. * Replication: Typographical errors appeared in the text of several replication error messages. (The word “position” was misspelled as “postion”.) * Assignments to NEW.var_name within triggers, where var_name had a BLOB or TEXT type, were not properly handled and produced incorrect results. * XA COMMIT could fail to clean up the error state if it discovered that the current XA transaction had to be rolled back. Consequently, the next XA transaction could raise an assertion when it checked for proper cleanup of the previous transaction. * An internal client macro reference was removed from the client_plugin.h header file. This reference made the file unusable. * The server consumed memory for repeated invocation of some stored procedures, which was not released until the connection terminated. * The server did not check for certain invalid out of order sequences of XA statements, and these sequences raised an assertion. * With the conversion from GNU autotools to CMake for configuring MySQL, the USE_SYMDIR preprocessor symbol was omitted. This caused failure of symbolic links (described at Section 7.11.3.1, “Using Symbolic Links”).
2011-05-07Changes 5.5.12:adam1-3/+12
* Fixed bugs: Illegal mix of collations * Problem: comparison of a DATETIME sp variable and NOW() led to Illegal mix of collations error when character_set_connection=utf8. * Error happened in Arg_comparator::set_compare_func(), because the first argument was errouneously converted to utf8, while the second argument was not. * Fix: separate agg_arg_charsets_for_comparison() into two functions: - agg_arg_charsets_for_comparison() - for pure comparison, when we don't need to return any string result and therefore don't need to convert arguments to @@character_set_connection: SELECT a = b; - agg_arg_charsets_for_string_results_with_comparison() - when we need to return a string result, but we also need to do comparison internally: SELECT REPLACE(a,b,c) If all arguments are numbers: SELECT REPLACE(123,2,3) -> 133 we convert arguments to @@character_set_connection.
2011-05-06Fix build on (at least RHEL 5.6). Tested (and no change) on NetBSD 5.99.51abs2-3/+8
2011-04-27Removed USE_LIBTOOL and BUILDLINK_LIBDIRSadam1-2/+1
2011-04-25MySQL is a SQL (Structured Query Language) database server. SQL is the mostadam7-0/+6379
popular database language in the world. MySQL is a client-server implementation that consists of a server daemon `mysqld' and many different client programs/libraries. The main goals of MySQL are speed and robustness. The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is still in development it already offers a rich and highly useful function set. The official way to pronounce 'MySQL' is 'My Ess Que Ell' (Not MY-SEQUEL). This package contains the MySQL server programs and libraries including embedded server (by PKG_OPTION).