summaryrefslogtreecommitdiff
path: root/databases/mysql55-client
AgeCommit message (Collapse)AuthorFilesLines
2012-01-12Changes 5.5.20:adam2-6/+6
* A new server option, --slow-start-timeout, controls the Windows service control manager's service start timeout. The value is the maximum number of milliseconds that the service control manager waits before trying to kill the MySQL service during startup. The default value is 15000 (15 seconds). If the MySQL service takes too long to start, you may need to increase this value. A value of 0 means there is no timeout. Bugs Fixed: * Important Change: Replication: Setting an empty user in a CHANGE MASTER TO statement caused an invalid internal result and is no longer permitted. Trying to use MASTER_USER='' or setting MASTER_PASSWORD while leaving MASTER_USER unset causes the statement to fail with an error. * Important Change: Replication: Moving the binary log file, relay log file, or both files to a new location, then restarting the server with a new value for --log-bin, --relay-log, or both, caused the server to abort on start. This was because the entries in the index file overrode the new location. In addition, paths were calculated relative to datadir (rather than to the --log-bin or --relay-log values). * InnoDB Storage Engine: When doing a live downgrade from MySQL 5.6.4 or later, with innodb_page_size set to a value other than 16384, now the earlier MySQL version reports that the page size is incompatible with the older version, rather than crashing or displaying a “corruption” error. * InnoDB Storage Engine: Issuing INSERT...ON DUPLICATE KEY statements for InnoDB tables from concurrent threads could cause a deadlock, particularly with the INSERT...ON DUPLICATE KEY UPDATE form. The fix avoids deadlocks caused by the same row being accessed by more than one transaction. Deadlocks could still occur when multiple rows are inserted and updated simultaneously by different transactions in inconsistent order; those types of deadlocks require the standard error handling on the application side, of re-trying the transaction. * An incorrect InnoDB assertion could cause the server to halt. This issue only affected debug builds. The assertion referenced the source file btr0pcur.ic and the variable cursor->pos_state. * Locale information for FORMAT() function instances was lost in view definitions. * The handle_segfault() signal-handler code in mysqld could itself crash due to calling unsafe functions. * Enabling myisam_use_mmap could cause the server to crash. * Concurrent access to ARCHIVE tables could cause corruption.
2011-12-13Changes 5.5.19:adam2-6/+6
* Performance of metadata locking operations on Windows XP systems was improved by instituting a cache for metadata lock objects. This permits the server to avoid expensive operations for creation and destruction of synchronization objects on XP. A new system variable, metadata_locks_cache_size, permits control over the size of the cache. The default size is 1024. * Replication: Previously, replication slaves could connect to the master server through master accounts that use nonnative authentication, except Windows native authentication. This is now also true for Windows native authentication. Bugs Fixed: * InnoDB Storage Engine: An internal deadlock could occur within InnoDB, on a server doing a substantial amount of change buffering for DML operations, particularly DELETE statements. * Rounding DBL_MAX returned DBL_MAX, not 'inf'. * mysql_upgrade did not upgrade the system tables or create the mysql_upgrade_info file when run with the --write-binlog or --skip-write-binlog option. * If a plugin was uninstalled, thread local variables for plugin variables of string type with wth PLUGIN_VAR_MEMALLOC flag were not freed. * Deadlock could occur when these four things happened at the same time: 1) An old dump thread was waiting for the binary log to grow. 2) The slave server that replicates from the old dump thread tried to reconnect. During reconnection, the new dump thread tried to kill the old dump thread. 3) A KILL statement tried to kill the old dump thread. 4) An INSERT statement caused a binary log rotation.
2011-11-21Changes 5.5.18:adam2-6/+6
Functionality Added or Changed * Upgrading from an Advanced GPL RPM package to an Advanced RPM package did not work. Now on Linux it is possible to use rpm -U to replace any installed MySQL product by any other of the same release family. It is not necessary to remove the old produce with rpm -e first. Bugs Fixed * Incompatible Change: Replication. * During the table-opening process, memory was allocated and later freed that was needed view loading, even for statements that did not use views. These unnecessary allocation and free operations are no longer done. * mysql_plugin mishandled the --plugin-ini, --mysqld, and --my-print-defaults options under some circumstances. * mysql_plugin returned the wrong error code from failed server bootstrap execution. * Several improvements were made to the libedit library bundled with MySQL distributions, and that is available for all platforms that MySQL supports except Windows. * ARCHIVE tables with NULL columns could cause server crashes or become corrupt under concurrent load. * OPTIMIZE TABLE could corrupt MyISAM tables if myisam_use_mmap was enabled. * A query that selected a GROUP_CONCAT() function result could return different values depending on whether an ORDER BY of the function result was present. * For FEDERATED tables, loss of connection to the remote table during some insert operations could cause a server crash.
2011-10-22Changes 5.5.17:adam2-6/+6
* Replication: Previously, replication slaves could connect to the master server only through master accounts that use native authentication. Now replication slaves can also connect through master accounts that use nonnative authentication (except Windows native authentication) if the required client-side plugin is installed on the slave side in the directory named by the slave plugin_dir system variable. * MEMORY table creation time is now available in the CREATE_TIME column of the INFORMATION_SCHEMA.TABLES table and the Create_time column of SHOW TABLE STATUS output. * InnoDB Storage Engine: This fix improves the performance of instrumentation code for InnoDB buffer pool operations. * InnoDB Storage Engine: Data from BLOB columns could be lost if the server crashed at a precise moment when other columns were being updated in an InnoDB table. * InnoDB Storage Engine: Lookups using secondary indexes could give incorrect matches under a specific set of conditions. The conditions involve an index defined on a column prefix, for a BLOB or other long column stored outside the index page, with a table using the Barracuda file format. * InnoDB Storage Engine: This fix corrects cases where the MySQL server could hang or abort with a long semaphore wait message. (This is a different issue than when these symptoms occurred during a CHECK TABLE statement.) * Internal conversion of zero to binary and back could yield a result with incorrect precision. * Valgrind warnings generated by filesort operations were fixed. * mysqld_safe did not properly check for an already running instance of mysqld. * The help message for mysql_install_db did not indicate that it supports the --defaults-file, --defaults-extra-file and --no-defaults options. * An assertion designed to detect zero-length sort keys also was raised when the entire key set fit in memory. * myisampack could create corrupt FULLTEXT indexes when compressing tables. * A linking problem prevented the FEDERATED storage engine plugin from loading.
2011-09-16Changes 5.5.16:adam4-23/+9
* The default thread-handling model in MySQL Server executes statements using one thread per client connection. * Commercial distributions of MySQL now include two plugins that enable MySQL Server to use external authentication methods to authenticate MySQL users * Important Change: Replication: The RESET SLAVE statement has been extended with an ALL keyword. * A new utility, mysql_plugin, enables MySQL administrators to manage which plugins a MySQL server loads. * Bugs fixed.
2011-08-25Fix for Mac OS X 10.7adam2-1/+17
2011-07-28Changes 5.5.15:adam2-6/+6
* 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:adam7-27/+35
* 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:adam2-6/+6
* 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-09Added MYSQL_COLLATIONadam1-1/+3
2011-05-07Changes 5.5.12:adam3-11/+11
* 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.51abs1-1/+2
2011-04-27Removed USE_LIBTOOL and BUILDLINK_LIBDIRSadam2-5/+3
2011-04-25MySQL is a SQL (Structured Query Language) database server. SQL is the mostadam32-0/+829
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 client programs and libraries.