Dear MySQL users, We are proud to present to you the MySQL Server 5.1.12 Beta release, a new Beta version of the popular open source database.
Bear in mind that this is a beta release, and as any other pre-production release, it should not be installed for production level systems or systems with critical data. For production level systems, pay attention to the product description of MySQL Enterprise at: http://mysql.com/products/enterprise/ The MySQL 5.1.12 Beta release is now available in source and binary form for a number of platforms from our download pages at http://dev.mysql.com/downloads/ and mirror sites. Note that not all mirror sites may be up to date at this point in time, so if you can't find this version on some mirror, please try again later or choose another download site. We welcome and appreciate your feedback, bug reports, bug fixes, patches etc.: http://forge.mysql.com/wiki/Contributing Be it that this is a Beta release, there are several incompatible changes that have happened since last release, and there's a tremendous amount of bug fixes--way too many to mention here (more than 500). We're providing a detailed list at http://dev.mysql.com/doc/refman/5.1/en/news-5-1-12.html and for your convienience also an excerpt of the ones where functionality have been added or changed: * Incompatible change: Support for the BerkeleyDB (BDB) engine has been dropped from this release. Any existing tables that are in BDB format will not be readable from within MySQL from 5.1.12 or newer. You should convert your BDB tables to another storage engine before upgrading to 5.1.12. * Incompatible change: The namespace for scheduled events has changed, such that events are no longer unique to individual users. This also means that a user with the EVENT privilege on a given database can now view, alter, or drop any events defined on that database. If you used scheduled events in an earlier MySQL 5.1 release, you should rename any of them having the same name and defined on the same database but belonging to different users --- so that all events in a given database have unique names --- before upgrading to 5.1.12 (or newer). For additional information, see Section 20.5, "The Event Scheduler and MySQL Privileges." * Incompatible change: The permitted values for and behaviour of the event_scheduler system variable have changed. Permitted values are now ON, OFF, and DISABLED, with OFF being the default. It is not possible to change its value to or from DISABLED while the server is running. For details, see Section 20.1, "Event Scheduler Overview." * Incompatible change: The full-text parser plugin interface has changed in two ways: + The MYSQL_FTPARSER_PARAM structure has a new flags member. This is zero if there are no special flags, or MYSQL_FTFLAGS_NEED_COPY, which means that mysql_add_word() must save a copy of the word (that is, it cannot use a pointer to the word because the word is in a buffer that will be overwritten.) This flag might be set or reset by MySQL before calling the parser plugin, by the parser plugin itself, or by the mysql_parse() function. + The mysql_parse() and mysql_add_word() functions now take a MYSQL_FTPARSER_PARAM as their first argument, not a MYSQL_FTPARSER_PARAM::mysql_ftparam as before. These changes are not backward compatible, so the API version (MYSQL_FTPARSER_INTERFACE_VERSION) has changed. For additional information, see Section 26.2.5, "Writing Plugins." * Incompatible change: In the INFORMATION_SCHEMA.EVENTS table, the EVENT_DEFINITION column now contains the SQL executed by a scheduled event. The EVENT_BODY column now contains the language used for the statement or statements shown in EVENT_DEFINITION. In MySQL 5.1, the value shown in EVENT_BODY is always SQL. These changes were made to bring this table into line with the INFORMATION_SCHEMA.ROUTINES table, and that table's ROUTINE_BODY and ROUTINE_DEFINITION columns. (Bug#16992: http://bugs.mysql.com/16992) * Incompatible change: MySQL Cluster node and system restarts formerly required that all fragments use the same local checkpoint (LCP); beginning with this version, it is now possible for different fragments to use different LCPs during restarts. This means that data node filesystems must be rebuilt as part of any upgrade to this version by restarting all data nodes with the --initial option. (Bug#21271: http://bugs.mysql.com/21271, Bug#21478: http://bugs.mysql.com/21478) See Section 15.5.2, "Cluster Upgrade and Downgrade Compatibility," and related sections of the Manual before upgrading a MySQL Cluster to version 5.1.12 or later. * Incompatible change: A number of MySQL constructs are now prohibited in partitioning expressions, beginning with this release. These include: + A number of MySQL functions. You can find [1714]a complete list of these functions under Partitioning Limitation. + The bit operators |, &, ^, <<, >>, and ~. + Nested function calls. + Calls to stored routines, UDFs, or plugins. + Character-to-integer conversions involving non-8-bit character sets or any of the latin1_german2_ci, latin2_czech_cs, or cp1250_czech_cs collations. These restrictions were added in part as a result of Bug#18198: http://bugs.mysql.com/18198 and related bug reports. For more information about these and other restrictions on partitioned tables in MySQL, see Section 16.5, "Restrictions and Limitations on Partitioning." * The general query log and slow query logs now can be enabled or disabled at runtime with the general_log and slow_query_log system variables, and the name of the log files can be changed by setting the general_log_file and slow_query_log_file system variables. See Section 5.12.3, "The General Query Log," and Section 5.12.5, "The Slow Query Log." * The output generated by the server when using the --xml option has changed with regard to null values. It now matches the output from mysqldump --xml. That is, a column containing a NULL value is now reported as <field name="column_name" xsi:nil="true" /> whereas a column containing the string value 'NULL' is reported as <field name="column_name">NULL</field> and a column containing an empty string is reported as <field name="column_name">>/field> (Bug#21263: http://bugs.mysql.com/21263) * The following statements now can be executed as prepared statements (using PREPARE plus EXECUTE): CACHE INDEX CHANGE MASTER CHECKSUM {TABLE | TABLES} {CREATE | RENAME | DROP} DATABASE {CREATE | RENAME | DROP} USER FLUSH {TABLE | TABLES | TABLES WITH READ LOCK | HOSTS | PRIVILEGES | LOGS | STATUS | MASTER | SLAVE | DES_KEY_FILE | USER_RESOURCES} GRANT REVOKE KILL LOAD INDEX INTO CACHE RESET {MASTER | SLAVE | QUERY CACHE} SHOW BINLOG EVENTS SHOW CREATE {PROCEDURE | FUNCTION | EVENT | TABLE | VIEW} SHOW {AUTHORS | CONTRIBUTORS | WARNINGS | ERRORS} SHOW {MASTER | BINARY} LOGS SHOW {MASTER | SLAVE} STATUS SLAVE {START | STOP} INSTALL PLUGIN UNINSTALL PLUGIN (Bug#20665: http://bugs.mysql.com/20665) * The Instance Manager --passwd option has been renamed to --print-password-line. Other options were added to enable management of the IM password file from the command line: --add-user, --drop-user, --edit-user, --list-users, --check-password-file, --clean-password-file, --username, and --password. The --mysql-safe-compatible option was added to cause the Instance Manner to act similarly to mysqld_safe. * On Windows, typing Control-C caused the mysql client to crash. Now it causes mysql to attempt to kill the current statement. If this cannot be done, or Control-C is typed again before the statement is killed, mysql exits. (Bug#17926: http://bugs.mysql.com/17926; see also Bug#1989: http://bugs.mysql.com/1989) * TEXT and BLOB columns do not support DEFAULT values. However, when a default of '' was specified, the specification was silently ignored. This now results in a warning, or an error in strict mode. (Bug#19498: http://bugs.mysql.com/19498) * The mysql client now allows \l in the prompt command argument to insert the current delimiter into the prompt. (Bug#14448: http://bugs.mysql.com/14448) * Log table changes: By default, the log tables use the CSV storage engine, as before. But now the log tables can be altered to use the MyISAM storage engine. You cannot use ALTER TABLE to alter a log table that is in use. The log must be disabled first. No engines other than CSV or MyISAM are legal for the log tables. The use of DROP TABLE for log tables is similarly restricted: It cannot be used to drop a log table that is in use. The log must be disabled first. (These changes also correct a deadlock that occurred for an attempt to drop an in-use log table.) (Bug#18559: http://bugs.mysql.com/18559) * The LEFT() and RIGHT() functions return NULL if any argument is NULL. (Bug#11728: http://bugs.mysql.com/11728) * EXPLAIN EXTENDED now shows a filtered column that is an estimated percentage of the examined rows that will be joined with the previous tables. (Bug#14940: http://bugs.mysql.com/14940) * For mysqlshow, if a database name argument contains wildcard characters (such as `_') but matches a single database name exactly, treat the name as a literal name. This allows a command such as mysqlshow information_schema work without having to escape the wildcard character. (Bug#19147: http://bugs.mysql.com/19147) * If a DROP VIEW statement named multiple views, it stopped with an error if a non-existent view was named and did not drop the remaining views. Now it continues on and reports an error at the end, similar to DROP TABLE. (Bug#16614: http://bugs.mysql.com/16614) * SHOW CREATE TABLE now shows constraints for InnoDB tables. (Bug#16614: http://bugs.mysql.com/16614) * Added the --set-charset option to mysqlbinlog to allow the character set to be specified for processing binary log files. (Bug#18351: http://bugs.mysql.com/18351) * Added the --ndb-use-copying-alter-table option to mysqld to provide a fallback in case of problems with online ALTER TABLE operations on NDBCluster tables. * Added the SHOW CONTRIBUTORS statement. * It is no longer possible to create partitioned tables using the CSV storage engine. * NDB Cluster: Some queries involving joins on very large NDB tables could crash the MySQL server. (Bug#21059: http://bugs.mysql.com/21059) * NDB Cluster: The status variables Ndb_connected_host and Ndb_connected_port were renamed to Ndb_config_from_host and Ndb_config_from_port, respectively. * NDB Cluster: A number of erroneous, misleading, or missing error messages have been corrected. (Bug#17297: http://bugs.mysql.com/17297 & Bug#19543: http://bugs.mysql.com/19543) * NDB Cluster: It is no longer possible to create Cluster tables using any partitioning type other than [LINEAR] KEY. Attempting to do so now raises an error. * The ExtractValue() function now produces an error when passed an XML fragment that is not well-formed. (Bug#18201: http://bugs.mysql.com/18201) (Previously, the function allowed invalid XML fragments to be used.) * There were several issues regarding how SHOW STATUS affected some status variables and logging which could impact monitoring the MySQL Server. The behavior of this statement has been modified in two ways: + SHOW STATUS is no longer logged to the slow query log. + SHOW STATUS no longer updates any session status variables, except for com_show_status. However, SHOW STATUS continues to update global status variables to allow monitoring of what the server is actually doing. This is because SHOW STATUS creates temporary tables that may affect performance if it is called excessively often. (Bug#10210: http://bugs.mysql.com/10210, Bug#19764: http://bugs.mysql.com/19764) * The mysqldumpslow script has been moved from client RPM packages to server RPM packages. This corrects a problem where mysqldumpslow could not be used with a client-only RPM install, because it depends on my_print_defaults which is in the server RPM. (Bug#20216: http://bugs.mysql.com/20216) * The bundled yaSSL library was upgraded to version 1.3.7. * The bundled yaSSL library licensing has added a FLOSS exception similar to MySQL to resolve licensing incompatibilities with MySQL. (See the extra/yassl/FLOSS-EXCEPTIONS file in a MySQL source distribution for details.) (Bug#16755: http://bugs.mysql.com/16755) * mysqlslap threads now try to connect up to 10 times if the initial connect attempt fails. (Bug#21297: http://bugs.mysql.com/21297) * For a successful dump, mysqldump now writes a SQL comment to the end of the dump file in the following format: -- Dump completed on YYYY-MM-DD hh:mm:ss (Bug#10877: http://bugs.mysql.com/10877) * The mysqld and mysqlmanager manpages have been reclassified from volume 1 to volume 8. (Bug#21220: http://bugs.mysql.com/21220) * In the INFORMATION_SCHEMA.ROUTINES table the ROUTINE_DEFINITION column now is defined as NULL rather than NOT NULL. Also, NULL rather than the empty string is returned as the column value if the user does not have sufficient privileges to see the routine definition. (Bug#20230: http://bugs.mysql.com/20230) * configure now defines the symbol DBUG_ON in config.h to indicate whether the source tree is configured to be compiled with debugging support. (Bug#19517: http://bugs.mysql.com/19517) * The MySQL distribution now compiles on UnixWare 7.13. (Bug#20190: http://bugs.mysql.com/20190) * The mysql client used the default character set if it automatically reconnected to the server, which is incorrect if the character set had been changed. To enable the character set to remain synchronized on the client and server, the mysql command charset (or \C) that changes the default character set and now also issues a SET NAMES statement. The changed character set is used for reconnects. (Bug#11972: http://bugs.mysql.com/11972) * The STATE column of the INFORMATION_SCHEMA.PROCESSLIST table was increased from 30 to 64 characters to accommodate longer state values. (Bug#21652: http://bugs.mysql.com/21652) * TIMESTAMP columns that are NOT NULL now are reported that way by SHOW COLUMNS and INFORMATION_SCHEMA. (Bug#20910: http://bugs.mysql.com/20910) * INFORMATION_SCHEMA contains new tables, GLOBAL_STATUS, SESSION_STATUS, GLOBAL_VARIABLES, and SESSION_VARIABLES, that correspond to the output from the SHOW {GLOBAL|SESSION} STATUS and SHOW {GLOBAL|SESSION} VARIABLES statements. * The BINARY keyword now is forbidden as a data type attribute in stored routines (for example, DECLARE v1 VARCHAR(25) BINARY), because DECLARE does not support collations, and in this context BINARY specifies the binary collation of the variable's character set. (Bug#20701: http://bugs.mysql.com/20701) * The source distribution has been updated so that the UDF example can be compiled under Windows with CMake. See Section 26.3.4.5, "Compiling and Installing User-Defined Functions." (Bug#19121: http://bugs.mysql.com/19121) * LOAD DATA INFILE no longer causes an implicit commit for all storage storage engines. It now causes an implicit commit only for tables using the NDB storage engine. (Bug#11151: http://bugs.mysql.com/11151) * The LOAD DATA FROM MASTER and LOAD TABLE FROM MASTER statements are deprecated. See Section 13.6.2.2, "LOAD DATA FROM MASTER Syntax," for recommended alternatives. (Bug#18822: http://bugs.mysql.com/18822) * mysqldump now has a --flush-privileges option. It causes mysqldump to emit a FLUSH PRIVILEGES statement after dumping the mysql database. This option should be used any time the dump contains the mysql database and any other database that depends on the data in the mysql database for proper restoration. (Bug#21424: http://bugs.mysql.com/21424) * The default value of the tmp_table_size system variable was lowered from 32MB to 16MB because it is bounded by the value of max_heap_table_size, which has a default of 16MB. (Bug#18875: http://bugs.mysql.com/18875) * The number of InnoDB threads is no longer limited to 1,000 on Windows. (Bug#22268: http://bugs.mysql.com/22268) * Memory consumption of the InnoDB data dictionary cache was roughly halved by cleaning up the data structures. (Bug#20877: http://bugs.mysql.com/20877) And we've also gotten some feedback: MySQL 5.1.12 delivers several important improvements to ease the creation of Pluggable Storage Engines" says Paul McCullagh, the lead developer behind the Primebase XT Storage Engine for MySQL (PBXT), "we are very excited about this new public release." PBXT 0.9.27 is now in Beta Test and requires MySQL 5.1.12 (or later) and can be obtained from http://primebase.com/xt/ Sincerely, Mads Martin -- Mads Martin Jørgensen, Release Manager MySQL AB, Odense, Denmark -- www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]