Discussion:
MySQL Community Server 5.7.4 has been released (part 3/3)
Bjorn Munch
2014-09-25 20:55:57 UTC
Permalink
[Due to length restrictions, this announcement is split into three parts.
This is part 3.]

Bugs Fixed [contd...]

* With DTrace support enabled, certain other compilation options
could cause the build to fail. (Bug #19506247)

* yaSSL client code did not validate the encryption size or
session ID length, which could cause the client to exit. (Bug
#19463277, Bug #19463565)

* yaSSL could fail preauthorization if the client supplied
inaccurate buffer lengths. (Bug #19370676, Bug #19355577)

* The optimizer could raise an assertion due to incorrectly
handling the table map while sorting an internal temporary
table. (Bug #19416826)

* Competition between threads could lead to timeout failure
trying to rotate the audit log file. (Bug #19184973)

* For InnoDB full-text searches, invalid multibyte gb10830
characters could cause a server exit. (Bug #19233075)

* Repetitive functions called as arguments to ExtractValue()
were not always handled correctly. (Bug #19051306)

* On Windows, sql_yacc.cc and sql_yacc.h were generated twice
during the build process. This can lead to compilation failure
if parallel processes are permitted. (Bug #19060850)

* In debug builds, certain range queries could cause an
assertion failure. (Bug #18921626)

* LPAD() and RPAD() could cause a server exit if the pad string
argument was not well formed. (Bug #18935421)

* The optimizer could create a zero-length column for a
temporary table, causing a server exit. (Bug #18928848)

* Performance Schema memory instrumentation did not honor the
ENABLED flag in the setup_instruments table or the consumers
in the setup_consumers table. This has been corrected, with
the result that unnecessary statistics are not collected and
overhead is reduced. (Bug #18900309)

* When a SELECT included a derived table in a join in its FROM
list and the SELECT list included COUNT(DISTINCT), the COUNT()
returned 1 even if the underlying result set was empty. (Bug
#18853696)
References: This bug is a regression of Bug #11760197.

* Enabling optimizer trace could cause a server exit for queries
with a subquery in a HAVING clause. (Bug #18791851)

* Conversion failure of "zero" dates in strict SQL mode could
cause a server exit. (Bug #18840123)

* SHA and MD5 functions failed for operations using the internal
filename character set and could cause a server exit. (Bug
#18786138)

* Modulo operations on DECIMAL values in some cases could
overflow and cause a server exit. (Bug #18839617)

* Large arguments passed to mysqldump could lead to buffer
overflow and program exit. (Bug #18779944)

* Spatial operations on InnoDB tables could fail attempting to
access nonexistent index statistics. (Bug #18743725)

* Passing bad arguments to SHA2() could cause a server exit.
(Bug #18767104)

* Using an outer reference in a GROUP BY or ORDER BY clause in a
subquery could cause a server exit. (Bug #18767104)

* If a materialized subquery read from a view, and contained an
inner subquery having an outer reference to a column of the
view, results could be incorrect. (Bug #18770217)

* mysql_secure_installation ignored options defined after an
unrecognized option. (Bug #18659533)

* The code for processing the gb18030 character set had a
too-strict assertion for single-character invalid characters.
(Bug #18700668)

* ORDER BY of a GIS function that was given invalid arguments
could cause a server exit. (Bug #18701868)

* After a metadata change, a reprepared trigger could cause a
server exit or prune an incorrect partition. (Bug #18684393)

* Compiler flags were not passed to DTrace, causing problems for
32-bit builds cross-compiled on 64-bit platforms. (Bug
#18593044)

* The server could fail to properly reprepare triggers that
referred to another table after that table was truncated. (Bug
#18596756, Bug #72446, Bug #18665853)

* ALTER TABLE on a partitioned table could result in the wrong
storage engine being written into the table's .frm file and
displayed in SHOW CREATE TABLE. (Bug #18618561)

* VALIDATE_PASSWORD_STRENGTH() could enter an infinite loop for
some arguments. (Bug #18636291)

* For conditions on the form t.key NOT IN (c1, c2, ...), if one
or more of the c1, c2 was NULL, the optimizer generated
incorrect range predicates, possibly yielding incorrect
results.
The range optimizer would build predicates for empty in-lists
(because NULL values are removed from NOT IN (in-list)). (Bug
#18556403, Bug #18715670)

* After conversion of an in-memory internal temporary table to
disk, the server could use a pointer to the old table,
resulting in a server exit. (Bug #18535226)

* mysql_session_track_get_first() and
mysql_session_track_get_next() returned information only when
the type argument was SESSION_TRACK_SYSTEM_VARIABLES, and
returned information for all types, not just
SESSION_TRACK_SYSTEM_VARIABLES. Now they return information of
the type requested and only that type. (Bug #18463441)

* In debug builds, a qsort operation on decimal values could
raise an assertion. (Bug #18486249)

* For debug builds, an assertion was raised for attempts using a
cursor within a stored routine to fetch a large value (INT)
which cannot fit into a variable (TINYINT). (Bug #18484649)

* In debug builds, subquery optimization could be overly
aggressive about raising an assertion. (Bug #18486607)

* In debug builds, MAKE_SET() within a GROUP BY clause raised an
assertion. (Bug #18487060)

* Setting default_storage_engine to a bad value could cause
server failure later. (Bug #18487724)

* For queries executed using Loose Index Scan, incorrect cost
estimates could be produced if index statistics were
unavailable. (Bug #18497308)

* With the max_heap_table_size system variable set to a large
value (20GB), creation of a temporary table or a table using
the MEMORY storage engine caused a server exit. (Bug
#18463911)

* MOD for very small decimal right-hand arguments could cause a
server exit. (Bug #18469276)

* Queries that use AES_ENCRYPT(), AES_DECRYPT(), or
RANDOM_BYTES() cannot be cached but were permitted to enter
the query cache. (Bug #18383169)

* mysql_install_db could hang while reading /dev/random to
generate a random root password. (Bug #18395378)

* EXPLAIN FOR CONNECTION showed an incorrect filtering value for
dynamic range queries. (Bug #18395059)

* Assigning some values to the session_track_system_variables
system variable could cause a server exit. (Bug #18405677)

* For mysql_upgrade, specifying the --defaults-extra-file with a
nonexisting file caused a segmentation fault on some
platforms. (Bug #18443096)

* The client library now includes a call to
X509_verify_cert_error_string() in the SSL certificate
verification code, to be more robust in detecting invalid
certificates. (Bug #18384260)

* The HAVE_IB_LINUX_FUTEX CMake check failed due to a missing
include file. (Bug #18353271)

* After a code reorganization in MySQL 5.7.4, ORDER BY for
multiple-table UPDATE statements was ignored. (Bug #18352634)

* In debug builds, lack of proper object initialization of
decimal objects caused an assertion to be raised. (Bug
#18335446)

* Certain INFORMATION_SCHEMA queries could cause a server exit.
(Bug #18319790)

* Plugin registration code in the embedded server (compiled
without the Performance Schema) failed for plugins compiled
with the Performance Schema. (Bug #18363910)

* Improper linking of join caches by the optimizer could lead to
a server exit. (Bug #18335908)

* The addition in MySQL 5.7.4 of session state information to
the OK packet of the client/server protocol caused the
mysql->info member to be missing a terminating null
terminator. (Bug #18349102)

* UNCOMPRESSED_LENGTH() could return NULL when it should not
have. (Bug #18335269)

* If MySQL was built with the -DINSTALL_LIBDIR=lib64 option,
mysql_config did not work if the MySQL package was unpacked
into a location with a different installation prefix. Also,
mysql_config did not work for some RPM builds because it used
an incorrect installation prefix. (Bug #18382225)

* The COM_RESET_CONNECTION command did not reset some session
system variables: rand_seed1, rand_seed2, timestamp. Also, it
did not clear warnings, and, although it reset the profiling
variable, it did not reset profiling information. (Bug
#18329348, Bug #18329560, Bug #18328396, Bug #18329452)

* On Windows, some test cases ran too slowly due to mysqltest
not testing properly for server termination. (Bug #18330694)

* For indexes on prefixes or character string columns, index
corruption could occur for assignment of binary data to the
column due to improper character counting. (Bug #18359924)

* Solaris-specific scripts were included in and installed by
non-Solaris packages. (Bug #18305641)

* On Windows, use of the gb18030_unicode_520_ci caused a server
exit. (Bug #18271429)

* innobase_strnxfrm() wrote one byte too many. (Bug #18277082)

* EXPLAIN for some full-text queries could raise an assertion.
(Bug #18313651)

* For debug builds, a 0x00 character in a full-text query string
that used the ujis_japanese_ci, utf8mb4_turkish_ci, or
eucjpms_bin collation could raise an assertion. (Bug
#18277305)

* For queries involving an AND of two geometry ranges, the
optimizer could decide no index was usable but try to use it
anyway, resulting in a server exit. (Bug #18220153)

* If the left-hand-side of an IN predicate was a scalar subquery
but returned no row, the server could exit. (Bug #18223655,
Bug #18447874)

* The internal likely() and unlikely() macros conflicted with
Boost symbols. To resolve this, the macros were converted to
inline functions. (Bug #18242233)

* EXPLAIN on a query with an EXISTS subquery containing a UNION
could cause a server exit. Multiple executions of a prepared
EXPLAIN on a UNION of subqueries could cause a server exit.
(Bug #18167356)

* mysqladmin password masked the old password given on the
command line, but not the new password. (Bug #18163964)

* yaSSL code had an off-by-one error in certificate decoding
that could cause buffer overflow.
yaSSL code had an opendir() without a corresponding
closedir(). (Bug #18178997, Bug #17201924)

* For InnoDB tables, boolean full-text queries for terms ending
with * could return incorrect results. (Bug #18128757)

* mysql_upgrade invoked the mysql and mysqlcheck clients and the
command arguments could be visible to other processes. This
issue is addressed by the reimplementation of mysql_upgrade to
communicate directly with the server, a change described
elsewhere in these release notes. (Bug #18180398)

* Argument checking for a memmove() call in my_net_read() was
improved. (Bug #18184793)

* Executing a correlated subquery on an ARCHIVE table which has
an AUTO_INCREMENT column caused the server to hang. (Bug
#18065452)

* The client library could cause clients to exit due to
incorrectly mapping the client error number to the
corresponding message, if reallocation of packet buffer memory
occurred. (Bug #18080920)

* For XA transactions, -1 could be assigned as the format ID
part of an XID value, resulting in mishandling (server hang or
exit) of concurrent XA statements. (Bug #18107853)

* For full-text queries on InnoDB tables, attempts to access
deleted document IDs could lead to a server exit. (Bug
#18079671)

* The optimizer could compute a negative cost value when
constructing an execution plan for MERGE table queries. (Bug
#18066518)

* Calling mysql_get_server_version() with an invalid connection
handler argument caused the client to exit. Now it returns 0
and reports a CR_COMMANDS_OUT_OF_SYNC error. (Bug #18053212)

* If the optimizer chose to perform an index scan, in some cases
it could choose a noncovering rather than a covering index.
(Bug #18035906)

* MyISAM temporary files could be used to mount a code-execution
attack. (Bug #18045646)

* The C client library could leak memory when client plugins
were used. (Bug #17933308)

* The CMake -DWITHOUT_PARTITION_STORAGE_ENGINE=1 option did not
work. As part of fixing this problem, a preferred syntax for
disabling storage engines was implmented. The syntax
-DWITH_engine_STORAGE_ENGINE=0 is now preferred to
-DWITHOUT_engine_STORAGE_ENGINE=1. For example, use:
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_FEDERATED_STORAGE_ENGINE=0
-DWITH_PARTITION_STORAGE_ENGINE=0
Rather than:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
(Bug #17947926)

* A BEFORE UPDATE trigger could insert NULL into a NOT NULL
column. (Bug #17864349)

* For debug builds, DROP FUNCTION with a too-long function name
raised an assertion. (Bug #17903490)

* A UNION ALL query with SQL_CALC_FOUND_ROWS and a LIMIT with an
offset for one query block reported an incorrect number of
found rows. (Bug #17833261)

* For queries that selected from the Performance Schema
events_statements_current table, adding an ORDER BY clause
could produce incorrect results. (Bug #17729044)

* For debug builds, a DELETE statement with a subquery that
returned multiple rows in a context requiring a scalar
subquery could raise a diagnostic area assertion. (Bug
#17787664)

* A (rare) deadlock could occur between LOCK_thd_data and the
InnoDB trx_sys mutex. One thread could read a query string
while it was being removed by another thread. (Bug #17606098)

* Deadlock could occur between LOCK_thd_data and the InnoDB
trx_sys mutex. (Bug #17606098)

* mysqldump could create table definitions in the dump file that
resulted in Too many columns errors when reloading the dump
file. (Bug #17477959)

* On Windows, calling mysql_thread_init() call without
mysql_init() caused the client to exit. windows. Now it
returns a nonzero result because it is an error to call
mysql_thread_init() before the client library is initialized
with mysql_library_init(). (Bug #17514920)

* Using LOAD DATA INFILE to load fixed-length data into a view
could cause a server exit. (Bug #17458965)

* The optimizer trace could cause a server exit in cases where a
subquery was transformed away. (Bug #17458054)

* UPDATE statements that modified full-text indexes could cause
a server exit. (Bug #17457755)

* Sending a SIGQUIT or SIGINT signal to mysql could result in a
glibc double free or corruption error. (Bug #17297324)

* If a query had both MIN()/MAX() and
aggregate_function(DISTINCT) (for example, SUM(DISTINCT)) and
was executed using Loose Index Scan, the result values of
MIN()/MAX() were set improperly. (Bug #17217128)

* For UNION statements, the rows-examined value was calculated
incorrectly. This was manifest as too-large values for the
ROWS_EXAMINED column of Performance Schema statement tables
(such as events_statements_current). (Bug #17059925)

* Row constructor arguments to INTERVAL() could cause a server
exit. (Bug #16439419)

* An assertion could be raised when creating a index on a prefix
of a TINYBLOB or GEOMETRY column in an InnoDB column. (Bug
#16368875, Bug #18776592, Bug #17665767)

* mysql_config_editor left some files open when they were no
longer needed, resulting in Valgrind warnings. (Bug #16368498)

* Several issues related to the ONLY_FULL_GROUP_BY SQL mode were
corrected:

+ With ONLY_FULL_GROUP_BY enabled, some valid queries were
rejected if the accessed table was replaced by a view.

+ Queries of the form SELECT DISTINCT col1 ... ORDER BY
col2 qualify as forbidden by SQL2003 (hidden ORDER BY
columns combined with DISTINCT), but were not rejected
with the ONLY_FULL_GROUP_BY SQL mode enabled.
(Bug #16021396, Bug #18993257, Bug #13581713)

* The change made in MySQL 5.7.0 to display the XID value in
hexadecimal for XA RECOVER if it contained nonprintable
characters was reverted because it caused problems for some
clients. Now the statement takes an optional CONVERT XID
keyword so that clients can request the XID value in
hexadecimal on demand. (Bug #14670465)

* To help with crash analysis on Windows, more information has
been added to the core file that is written on mysqld abort
when the core-file option is enabled. (Bug #14041454)

* Use of a nonmultibyte algorithm for skipping leading spaces in
multibyte strings could cause a server exit. (Bug #12368495,
Bug #18315770)

* With big_tables enabled, queries that used COUNT(DISTINCT) on
a simple join with a constant equality condition on a
non-duplicate key returned incorrect results. (Bug #52582, Bug
#11760197)
References: See also Bug #18853696.

* When MySQL runs as service on Windows, NTService.Stop()
initiates shutdown and exit events during shutdown. After a
code reorganization in MySQL 5.7.3, a call to clean_up() was
missed, resulting in initiation of crash recovery. (Bug
#71104, Bug #17980260)

* Some statements could be written to the slow query log twice.
(Bug #68626, Bug #16467055)

* LOAD DATA LOCAL INFILE could use all CPU if import errors
occurred when there were no line delimiters. (Bug #51840, Bug
#11759519)

* Deadlock could occur if three threads simultaneously performed
INSTALL PLUGIN, SHOW VARIABLES, and mysql_change_user(). (Bug
#71236, Bug #18008907, Bug #72870, Bug #18903155)

* mysql_config_editor exited when given an empty argument to the
--login-path option. (Bug #71837, Bug #18311024, Bug
#18830493)

* MySQL did not compile with Bison 3. A workaround is to
downgrade to Bison 2. (Bug #71250, Bug #18017820, Bug
#18978946)

* ER_CANT_CREATE_GEOMETRY_OBJECT was treated as a fatal error,
thus not catchable with condition handlers. (Bug #72064, Bug
#18413646)

* For mysqldump, dump and restore operations failed for database
names that contained backslash ('\'). Thanks for Xiaobin Lin
for the patch. (Bug #71437, Bug #18109728)

* mysqlslap accepted an --iterations option value of 0, which
resulted in a divide-by-zero error. The minimum option value
now is 1. Thanks to Tsubasa Tanaka for the patch. (Bug #72082,
Bug #18430704)

* For IN() predicates with values different from the key data
value, the optimizer sometimes used a table scan when it could
do a range scan. (Bug #71962, Bug #18364815)

* Some comparisons between BIGINT signed and unsigned values
could yield incorrect results. (Bug #72046, Bug #18408499)

* On Windows, REPAIR TABLE and OPTIMIZE TABLE failed for MyISAM
tables with .MYD files larger than 4GB. (Bug #69683, Bug
#17235179)

* Uninstalling and reinstalling semisynchronous replication
plugins while semisynchronous replication was active caused
replication failures. The plugins now check whether they can
be uninstalled and produce an error if semisynchronous
replication is active. To uninstall the master-side plugin,
there must be no semisynchronous slaves. To uninstall the
slave-side plugin, there must be no semisynchronous I/O
threads running. (Bug #70391, Bug #17638477)

* A statement of the following form broke row-based replication
because it created a table having a field of data type BIGINT
with a display width of 3000, which is beyond the maximum
acceptable value of 255:
CREATE TABLE t1 AS SELECT REPEAT('A',1000) DIV 1 AS a;
(Bug #71179, Bug #17994219)

* For non-debug builds of several client programs, the --help
message did not correctly indicate that the --debug,
--debug-check, and --debug-info apply only for debug builds.
(Bug #66854, Bug #16272328)

* In the DIGEST_TEXT column of Performance Schema statement
events tables, references to system variables of the form
@@var_name were stored as @ @ var_name. (Bug #71634, Bug
#18304086)

* Updates could fail to update all applicable rows in cases
where multiple key values were identical except for trailing
spaces. (Bug #69684, Bug #17156940)

* The Performance Schema threads table displayed a PROCESS_ID
value of NULL for replication threads. Now it displays the
same ID as SHOW PROCESSLIST and the
INFORMATION_SCHEMA.PROCESSLIST table. (Bug #71682, Bug
#18259356)

* XA START after a server restart with the exising XID followed
by XA COMMIT failed to commit. (Bug #71352, Bug #18068253)

* UNION queries with an aggregate function in an ORDER BY clause
were not rejected as they should be. Now such queries are
rejected with an ER_AGGREGATE_ORDER_FOR_UNION error. Example:
SELECT 1 AS foo UNION SELECT 2 ORDER BY MAX(1);
A nonaggregated query with an ORDER BY applied to it cannot
contain aggregate functions, but was not rejected as it should
be. Now such queries are rejected with an
ER_AGGREGATE_ORDER_NON_AGG_QUERY error. Example:
SELECT a FROM t1 ORDER BY COUNT(*);
(Bug #72174, Bug #18503515, Bug #72512, Bug #18694751)

* If there was a predicate on a column referenced by MIN() or
MAX() and that predicate was not present in all the
disjunctions on key parts earlier in the compound index, Loose
Index Scan returned an incorrect result. (Bug #71097, Bug
#17909656)

* Calls to UNCOMPRESS() produced Valgrind warnings during
verification of the zip header of the compressed data. (Bug
#69202, Bug #18693654)

* For an existing nondynamic (built-in) plugin, the error
message for an attempted UNINSTALL PLUGIN was misleading (the
plugin does not exist). Now the message indicates that
built-in plugins cannot be uninstalled. (Bug #51771, Bug
#11759453)

* Full-text queries on MyISAM tables that included a LIMIT
clause but no WHERE clause could return too few rows. (Bug
#69908, Bug #17261347)

* Client auto-reconnect did not work for clients linked against
libmysqlclient, even with MYSQL_OPT_RECONNECT enabled.
Also, if a FEDERATED table was accessed after wait_timeout
expired, a Lost connection to MySQL server error occurred
without an attempt to re-establish the connection. (Bug
#70026, Bug #17309863, Bug #14874, Bug #11745408)

* mysql_tzinfo_to_sql mishandled some values from the
abbreviation list (read from the timezone information file)
due to failure to account for the null character appended to
the end of the char array. (Bug #68861, Bug #16664462)

* The gb18030_chinese_ci collation treated 'Y' equal to '~'.
(Bug #72565, Bug #18729428)

* The mysql client displayed gb18030 data incorrectly. (Bug
#72573, Bug #18726196)

* The server did not take the lower_case_table_names value into
account in determining the database directory from which to
read the db.opts file, and thus could read the file from an
incorrect directory. (Bug #72900, Bug #18923685)

* A SELECT statement using a subquery with UNION and ORDER BY
did not permit use of an alias in the outer statement. (Bug
#72189, Bug #18498344)

* Upgrades using RPM packages could change the ownership of an
installation directory. (Bug #71715, Bug #18281535)

* Proxy users were unable to execute statements if the proxied
user password had expired. (Bug #71337, Bug #18057562)

* A new CMake option, SUNPRO_CXX_LIBRARY, enables linking
against libCstd instead of stlport4 on Solaris 10 or later.
This works only for client code because the server depends on
C++98. Example usage:
cmake -DWITHOUT_SERVER=1 -DSUNPRO_CXX_LIBRARY=Cstd
(Bug #72352, Bug #18605389)

* File permissions and line endings of several test and
configuration files were made more consistent to avoid
warnings from package checkers. (Bug #68521, Bug #16415173,
Bug #16395459, Bug #68517, Bug #16415032, Bug #71112, Bug
#17919313, Bug #71113, Bug #17919422)

* For logging of prepared statements to the general query log,
the Execute line was logged after statement execution, not
before. (Bug #69453, Bug #16953758)

* If a prepared statement being executed produced an error, the
server failed to write the statement to the general query log.
(Bug #72375, Bug #18616826)

* Invalid memory access could occur when using prepared
statements if a mysql client connection was lost after
statement preparation was complete and there was at least one
statement that was in initialized state but not prepared yet.
(Bug #70429, Bug #17512527)

* SHA2() failed to return NULL if the hash-length argument was
NULL or not one of the permitted values. (Bug #72856, Bug
#18899869)

* MOD operations on a DECIMAL value with leading zeros could
produce incorrect results. (Bug #72100, Bug #18509896)

* For debug builds, a SELECT under load from the Performance
Schema events_statements_current table could raise an
assertion. (Bug #73530, Bug #19419463)

* Notification of events for the general log were received by
the audit log plugin only of the general query log was
enabled. Now notifications are posted regardless of whether
the general query log is enabled. (Bug #60782, Bug #12368204)

* mysql_secure_installation failed to run properly if the root
account authentication plugin was sha256_password. (Bug
#73148, Bug #19127636)

* LIKE matches failed for code points of HALF WIDTH KATAKANA in
the sjis and cp932 character sets. (Bug #47641, Bug #11755818)

* mysql_upgrade could fail if the mysql.user table contained
multiple accounts with the same user name and host name where
the host name differed in lettercase. This is still not
permitted, but now mysql_upgrade prints a more informative
error message to indicate the nature of the problem:
ERROR 1644 (45000): Multiple accounts exist for user_name, host_name
that differ only in Host lettercase; remove all except one of them
(Bug #72066, Bug #18415196)

* If the general query log or slow query log file was set to a
FIFO or socket file, and the file reader went away, the server
stopped executing statements. Now the server detects such
files, logs an error message, and continues with the
appropriate log disabled. (Bug #67088, Bug #14757009)

* A simultaneous OPTIMIZE TABLE and online ALTER TABLE on the
same InnoDB table could result in deadlock. (Bug #71433, Bug
#18110156)

* The query cache was not invalidated for a table when a CASCADE
DELETE or CASCADE UPDATE referential constraint was specified
and the database name or table name contained special
characters. (Bug #72547, Bug #18710853)

* For new connections, the server could allocate thread IDs that
were not actually free. (Bug #44167, Bug #11752851)

* mysql_install_db could fail if not invoked in the MySQL
installation base directory. (Bug #54034, Bug #11761529)

* NOW(N) in a view definition was stored as NOW(), thus losing
the fractional seconds part. (Bug #72472, Bug #18675237)

* The server failed to produce an error for INSERT statements
that provided no column names but did provide column values.
(Bug #20943, Bug #11745889, Bug #18064775)
References: This bug is a regression of Bug #16820562.

* The server was made more consistent and resilient with regard
to handling of statements for which the IGNORE keyword is
specified.

+ The server failed to report warnings for INSERT IGNORE
statements.

+ The server could fail to report warnings for
multiple-table DELETE IGNORE statements.

+ UPDATE triggers for a table were invoked even for UPDATE
IGNORE statements for which a unique index caused the
update to be ignored.

+ For debug builds, an assertion could be raised for errors
occurring in DELETE IGNORE statements.

+ For debug builds, an assertion could be raised for
deadlocks resulting from DELETE IGNORE statements.

+ For DELETE IGNORE executed on the parent table in a
foreign key relationship, foreign key violation errors
were treated as warnings (correct), but rows that did not
produce foreign key violations were not deleted.
(Bug #6196, Bug #11744960, Bug #43895, Bug #11752648, Bug
#68726, Bug #16522924, Bug #16860715, Bug #16860829, Bug
#14786621, Bug #17550423)

* Connection IDs are 32-bit unsigned integers, beginning at 1.
When the server assigns connection IDs and reaches the top of
the 32-bit range, it rolls the value over to begin at 1 again.
It was possible that the server would assign a connection ID
to a new thread while that ID was still in use by an existing
thread, if the old thread was particularly long running. For
such cases, reference to the ID becomes ambiguous. For
example, it cannot reliably be determined for KILL
connection_id which thread to kill, which could lead to
undefined behavior. This behavior has been corrected so that
in-use IDs are not reused.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql
Loading...