commit 97f03bbaed5b9ff80ea49520bd72416b37c8bed2
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 19 09:27:31 2016 +0200

    Bug#24482156 EXTEND WL#7150: REMOVE USE OF DATADIR IN MYSQLD_SAFE TO SCRIPTS
    
    Don't read config file in datadir in SysV initscript.
    
    (cherry picked from commit 20f91166e073e4279ce14a608fc062f1c9ea5a5f)

commit ace8a7d2e7ff6623f7cc41219a6d428abf0f4187
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Aug 22 14:30:02 2016 +0200

    Bug#24388753: PRIVILEGE ESCALATION USING MYSQLD_SAFE
    
    [This is the 5.7/8.0 version of the bugfix].
    
    The problem was that it was possible to write log files ending
    in .ini/.cnf that later could be parsed as an options file.
    This made it possible for users to specify startup options
    without the permissions to do so.
    
    This patch fixes the problem by disallowing general query log
    and slow query log to be written to files ending in .ini and .cnf.
    
    (cherry picked from commit 173c8ae067098acdedf031740ab78b99652abbdb)

commit ba8d5332f03cfc06b15154c7964d26e71fd17f43
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 09:32:18 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    (cherry picked from commit ef2eb6f448ec57693aab96cd6edb452d35e4a3d9)

commit 7c64a88ef865f8ca55c21c1be1e22c2cae2d1462
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Aug 18 16:57:32 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    (cherry picked from commit e014f447d5a9c946461029d2c479befdc42c354a)

commit 161fde5f93d421e5e651ed1c134e51b0747fd17e
Merge: 7fa447a e945f3b6
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Aug 5 16:11:21 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e945f3b6e99d23c89dc9580885e4bf89ab006ccf
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Aug 5 16:09:51 2016 +0530

    Bug#22818781: EXPLAIN_JSON_VALIDATE.TEST FAILS ON WINDOWS PRE-PUSH TESTING
    
    Issue:
    ------
    The explain_json_validate test calls a python script which accepts arguments.
    If the arguments are passed with wildcard characters, Windows cannot parse
    them and hence the test fails.
    
    Fix:
    ----
    The fix involved adding an additional check if the test was running on Windows
    so that the arguments can be parsed correctly.
    Also, Python is not installed on Windows by default, and therefore the
    script is now ported to perl. Before the test used to be skipped if the machine
    did not have either Python or JSON support, but now it fails if it does not
    have JSON or perl support.
    Since the python script has been removed, all the tests which were using that
    script are now using the perl script.
    
    Reviewed-by: Horst Hunger <horst.hunger@oracle.com>
    Reviewed-by: Guilhem Bichot <guilhem.bichot@oracle.com>
    RB: 12537

commit 7fa447ad78f60a08226024aea12c6d67d22b5fb3
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Aug 5 08:20:57 2016 +0200

    Deb: Change back to only accept localhost connections by default
    
    5.7.13 and earlier have bind-address=127.0.0.1 in the default config for Debian/Ubuntu.
    This was removed in 5.7.14, which is more in line with other platforms, but not something
    we should change for the existing GA.

commit 8b0d3fc0390807826e57c4357125ac5cf1ae1598
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Aug 5 09:51:28 2016 +0200

    Bug#24399819 SQL/RPL_WRITE_SET_HANDLER.CC INCLUDES PRIVATE LZ4 HEADER
    FILE
    
    Problem: The fix for bug #23607230 used xxhash symbols from liblz4,
    but even though the xxhash symbols are exported by liblz4, the header
    file is not part of the API, so compilation fails when building with
    WITH_LZ4=system.
    
    Fix: Build xxhash separately from liblz4 so that it's available both
    when using system and bundled lz4 libraries.

commit 9610879b8b3e53b270c4b0e4fcaf5024c6f261fe
Merge: 5981838 63a16c3
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Aug 5 09:25:37 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 63a16c346f535990309f9985ffc4aabf1fe6cd5e
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Aug 5 09:05:18 2016 +0200

    BUG#23760086 INNODB: ASSERTION FAILURE: MACH0DATA.IC:56:(N | 0XFFFFUL)
    <= 0XFFFFUL
    
    Analysis: In row_log_table_delete(), extern size could be greater
    than 2 bytes int if there are enough index on blob columns.
    
    Solution: Use 4 bytes int other than 2 bytes for extern size.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB: 13573

commit 5981838dfd51524f447a7c6665809db62f6d70c6
Merge: 856d170 e20773a
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Aug 5 12:35:52 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e20773a9cc7f5a0754fd0448836af1f37297cfdb
Merge: 8a9431a b3e3e9c
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Aug 5 12:34:21 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit b3e3e9c7ed5526dff4f0bc222e674239b352ee27
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Aug 5 12:17:11 2016 +0530

    Bug#23540182:MYSQLBINLOG DOES NOT FREE THE EXISTING CONNECTION BEFORE OPENING NEW REMOTE ONE
    
    It happens when you are trying to read two or more log files from a
    remote server using mysqlbinlog utility.
    
    The reason for this is no matching mysql_close() that concludes the
    life time of 'mysql' struct describing connection to the server.
    This happens when mysqlbinlog is invoked with connecting to the server
    and requesting more than one binlog file. In such case
    dump_remote_log_entries() keeps calling safe_connect() per eachfile,
    never caring to invoke mysql_close(). Only the final safe_connect()'s
    allocation effect are cleaned by the base code.
    That is with 2 files there's one 'mysql' connection descriptor struct
    uncleaned/deallocated.
    
    We are backporting the bug 21255763 (pushed in mysql-trunk)
    in the earlier version of MySQL starting from 5.5 to 5.7.
    which was pushed in mysql-trunk.
    
    Fix:
    Invoke mysql_close() just before mysql_init() in safe_connect()
    defined in mysqlbinlog.cc. That makes possibly previously used 'mysql' be
    reclaimed prior a new one is allocated.

commit 856d1702b02dddc160947c173dd8f63b740020bf
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Aug 5 06:45:53 2016 +0200

    Bug#24303169 XPLUGIN SOCKET/TCP CONNECT ISSUES FOR CONCCURENT CONNECTIONS
    
    Description
      There are two issues in the bug. First one related to limited number
      of file descriptors and X Plugin prints trace errors (it only occurs
      with UNIX sockets). Second one is about using invalid file descriptor
      by X Plugin.
    
    Analysis of first problem
      The limit of descriptors was set to 1024 which is less than  system
      variable `max_connection` (900) and should be sufficient for the test.
      X Plugin accesses user table at startup (mysql.user) which also creates
      a descriptor. We get two descriptors per connection, thus the limit of
      descriptors should be set to 1800.
      The issue isn't reproducable with TCP sockets because the sockets are
      much slower and they get sufficient time not to release the mysql.user
      file descriptor (not are opened simultaneously).
    
    Analysis of second problem
      `Connecton_listener_interface` can return a Vio structure with invalid
      socket inside. `ngs::Server::on_accept` didn't check if `Vio` is valid.
    
    Solution
      Fixed second problem by validating the socket and returning NULL pointer
      to `Vio` object, `ngs::Server` counts such objects as accept failure.
      To prevent trace error overflow added additional counting of accept
      failures and printing the error when `num_of_accept_error %244 == 0`.
    
    RB: 13538
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit a10f58e2880821d2ec8c4cf6fa8c4427876cf0ed
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Aug 4 21:27:26 2016 +0200

    BUG#24296005 XPLUGIN UNIX SOCK NOT CLEANED AFTER SERVER CLEAN SHUTDOWN/XPLUGIN NOT INSTALLED
    
    Description:
      Unix socket file and lock file were not deleted by X Plugin.
    
    Solution:
      In case of successful allocation of UNIX socket the plugin when
      exiting is going to call `unlink` on both socket and lock file.
    
    RB: 13542
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit 4f596ce08fdd82c665d82f3882f267bdba394e1b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 3 14:21:21 2016 +0530

    Bug#24397517	ADD CASCADE FOREIGN KEY INFORMATION TO
    TRANS_TABLE_INFO STRUTURE
    
    Group replication plugin requires the information from the server whether
    a table has 'foreign key' with 'CASCADE' clause or not.
    Trans_table_info is the structure that is communicated between server and GR
    plugin. Adding this cascade foreign key information to
    Trans_table_info_struture which will be used by GR plugin code.

commit 4b89a1ce401adf42d2153dfc7554f5dedc12fee4
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Aug 4 18:34:37 2016 +0200

    Follow up to BUG#23575086 - fix for failing test x.connection_skip_networking_win

commit c93b2a6384874ffdf2a00d0095036cd165de5702
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Aug 4 16:34:11 2016 +0200

    BUG#23336595 MYSQL X PLUGIN - ADD LINK TO DOCUMENTATION ON HOW TO CONFIGURE SSL
    
    Description:
      The requested talks about putting a link to X Plugin which
      describes how to setup SSL.
    
    Solution:
      Added new trace, which reference the MySQL documentation:
        "For more information, please see the Using Secure Connections"
        " with X Plugin section in the MySQL documentation"
      Made additional cleanup in the trace messages.
    
    RB: 13578
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit f21ff77c72e7199a53b757f73d110c1ec977098a
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Aug 3 12:28:23 2016 +0200

    BUG#23575086 - X PLUGIN STARTUP ERROR MESSAGES
    
    Description:
      X Plugin startup messages could be confusing without knowing
      source code
    
    Solution:
      Cleanup of startup messages was already done under wl 9306,
      one missing thing is the reference to documentation. Added
      following trace in case of error while setting up I/O interface:
      'Please see the MySQL documentation for '%s' system variable to fix the error'
    
    RB: 13565
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit 99e7eb5330c5fe1cd06986317e43954405254099
Merge: 3d331cc 8a9431a
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Thu Aug 4 12:51:48 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8a9431a180225f1aeb8238ffcc1a6deebfba1f25
Merge: c32616e 3cde802
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Thu Aug 4 12:50:48 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 3cde80250f0592cf4270986f28946fdb1d440fc4
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Thu Aug 4 12:49:50 2016 +0530

    Bug #19984392 : MEDIUMINT: STACK BUFFER OVERFLOW IN PROTOCOL_TEXT::STORE_LONG
    
    Reverting the patch due to some issues.

commit 3d331cc9b9c79d9ade0589dbb63ff7a4eeb1aae9
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Aug 4 08:59:03 2016 +0800

    Followup: BUG#23477773 OPTION TO TURN OFF/ON DEADLOCK CHECKER
    
    Fix innodb_deadlock_detect_basic failure on pb2.

commit bce570f387a5fe14bd7e0e564d4cf8ea1ec7c152
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 2 12:52:47 2016 +0200

    Bug#24353920 CLIENT LIBRARIES NOT BUILDABLE ON SOLARIS 11 WITH SUN STUDIO USING LIBCSTD
    
    src/control_events.cpp", line 345: Error: Could not find a match for
    std::vector<unsigned char>::insert(unsigned char*, const char*, const char*)
    
    client/check/mysqlcheck.cc", line 555: Error: Could not find a match
    for std::vector<std::string>::vector(char**, char**)
    
    Solution is based on patch for:
    WL#8896: Enable use of C++11 in MySQL server

commit 6e4ca0089d9f3f72c21092b6af54722727a3a273
Merge: 26b2018 c32616e
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Aug 3 12:59:44 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c32616e41ad7b4f5dbe5fbdee44fd8be686f8d04
Merge: ee675f2 c3743ff
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Aug 3 12:57:38 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit c3743ff9b7813e9942d11ae8856a1732f830c941
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Aug 3 12:54:58 2016 +0530

    Bug #19984392 : MEDIUMINT: STACK BUFFER OVERFLOW IN PROTOCOL_TEXT::STORE_LONG
    
    ISSUE: Queries with mediumint as column when operated with
    long long type of data results in buffer overflow in
    store_long function.
    
    The merging rule specified for (MYSQL_TYPE_LONGLONG
    MYSQL_TYPE_INT24) is MYSQL_TYPE_LONG. Due to this store_long
    function was getting called which resulted in buffer overflow.
    
    SOLUTION:
    The correct merging rule for (MYSQL_TYPE_LONGLONG,
    MYSQL_TYPE_INT24) should be MYSQL_TYPE_LONGLONG.
    So, instead of function store_long, function store_longlong
    is called which correctly handles the type MYSQL_TYPE_LONGLONG.
    
    External Bug #23645238 is a duplicate of this issue.

commit 26b2018022417f6bc6615ca3c67bfde191d552b0
Merge: a15cf63 ee675f2
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 3 10:01:01 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ee675f2d77915b7ebc55cd7e90365581261f90ff
Merge: 6a9abb6 2a774df
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 3 09:59:37 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 2a774df598b8651897a4394e20ca2bfac6de2512
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 3 09:58:36 2016 +0530

    Bug #24380263: INCORRECT BEHAVIOR WITH PARAMETER AND
                   DERIVED TABLE IN JOIN
    
    ISSUE:
    ------
    This problem occurs under the following conditions:
    1) A parameter is used in the select-list of a derived table.
    2) The derived table is part of a JOIN.
    
    SOLUTION:
    ---------
    When a derived table is materialized, a temporary table is
    created. This temporary table creates a field each for the
    items in the select-list of the derived table. This set of
    fields is later used to setup the join.
    
    Currently no field is created in the temporary table if a
    parameter is used in the select-list.
    
    Create a field for the parameter. By default Item_param's
    result type in a prepared statement is set to
    STRING_RESULT. This can change during the execute phase
    depending on the user variable. But since the execute phase
    creates its own temporary table, it will be handled
    separately.
    
    This is a backport of the fix for BUG#22392374.

commit a15cf6393a7a02de126d891351e235548d156e19
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Aug 2 11:06:53 2016 +0800

    Bug#24381804 ASSERT :: ALTER TABLE CRASH ::COMPRESSION AND ALGORITH=COPY
    
    This bug caused by the checking in create_table_info_t::innobase_table_flags().
    For alter a table to encryption="Y", we need to check the file per table flag also.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 13545

commit 86eb78dd070eb20b164141840aab226deac5df1c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 3 08:51:38 2016 +0530

    Bug #23205454: GCOLS: MEMORY LEAK AND GRADUAL PERFORMANCE
                   DEGRADATION
    
    
    ISSUE:
    ------
    This bug is in the function TABLE::refix_gc_items(). This
    function will be called for each query that uses the TABLE
    object. When the function calls fix_fields_gcol_func(), new
    items might be created. In this case new Item_cache_real
    objects are created. The items created by the call to
    fix_fields_gcol_func() are created in the table's mem_root.
    They are added to the field's gcol_info->item_free_list by
    the following code:
    
          // We need append the new items to orignal item lists
            Item *item= vfield->gcol_info->item_free_list;
            while(item->next)
              item= item->next;
            item->next= gcol_arena.free_list;
    
    The bug occurs due to the following:
    -each time refix_gc_items() is called for this generated
     column expression, two new item objects are produced and
     added to the end of the item_free_list which is on table's
     mem_root.
    -memory increase happens because item_free_list is growing.
    -the performance drop happens due to spending time in the
     above while loop to find the end of the ever growing
     item_free_list.
    
    The code that adds new items to the
    gcol_info->item_free_list was added in the fix for
    Bug#22392268. Before that fix, items added to the item tree
    for the generated column expression as part of calling
    TABLE::refix_gc_items() would be deleted when the statement
    ended, since they were created on the THD's stmt_arena. If
    the item was part of a permanent transformation, the next
    time this TABLE object was used, we could access deleted
    memory when using the item tree for the generated column
    expression.
    
    The fix for Bug#22392268 was to make sure that any created
    items that are added to gcol_info->item_free_list have the
    same life-span as the TABLE object. This worked fine for
    generated column expressions where TABLE::refix_gc_items()
    does permanent changes to the item tree but not in cases
    where new items are produced on every call to
    fix_fields_gcol_func().
    
    SOLUTION:
    ---------
    A new boolean flag permanent_changes_completed is added to
    the Generated_column class. This flag is set only when the
    permanent changes to the gcol function's item tree are
    completed.
    
    The fix for Bug#22392268 has been made subject to
    permanent_changes_completed. We create objects on the
    table's mem_root only when the permanent changes to the
    gcol function's item tree haven't been completed.

commit 681b5f384fb0d20ef3b993f4121bf7d7982267da
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Wed Aug 3 10:49:58 2016 +0800

    Followup patch for bug#24329079 Crash with InnoDB Encryption, 5.7.13,
    FusionIO & innodb_flush_method=O_DIRECT
    
    Fixed test case check_sector_size failure by adding an .opt file.

commit 078605cd413027d4d624be59aa5bfc42ca391eb9
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Wed Aug 3 09:35:20 2016 +0800

    Bug#24329079 Crash with InnoDB Encryption, 5.7.13, FusionIO
    & innodb_flush_method=O_DIRECT
    
    When O_DIRECT is set, we should use the disk sector to align the write
    buffer, instead of UNIV_SECTOR_SIZE, which is always 512. Since in
    FusionIO device, the sector size could be larger than 512, like 1024,
    2048 and 4096 etc..
    
    Compression has the same problem.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB:13329

commit 693d9449fdaf351318108c5ffb76f6d61e80efdd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jul 28 08:34:58 2016 +0200

    Bug#23508762 THE MYSQL_SERVER DEFINE NOT DEFINED DUE TO SPELLING ERROR IN PLUGIN.CMAKE
    
    The MYSQL_ADD_PLUGIN macro has a spelling error causing the MYSQL_SERVER
    define not to be defined. This causes the storage engine plugins to be
    compiled without MYSQL_SERVER defined and thus may get a different set of
    function signatures, functions and symbols unless the source of the plugins
    themself define the MYSQL_SERVER define.
    
    Fix the spelling error.
    
    The addition of -DMYSQL_SERVER to all plugins uncovers some other bugs
    when compiling performance-schema related code, so more plugins need
    to be recompiled for embedded mode (without performance schema)
    Before this fix, several plugins were not properly instrumented.
    
    Remove -DMYSQL_SERVER from the 'innobase' plugin, it breaks embedded build.
    The alternative would be to do RECOMPILE_FOR_EMBEDDED, but that's a lot
    of extra work.
    
    The standalone test utilities hp_test1 and hp_test2 need to be linked
    against a library built without performance schema.
    
    The standalone myisam utilities (myisam_ftdump et.al.) also need to
    be linked against a library build without performance schema.
    
    Do not include mysys_priv.h from storage/archive/azlib.h,
    it breaks PFS instrumentation code.
    (it includes my_dir.h anyways, and gets my_global.h from there)
    
    Now that the MYSQL_ADD_PLUGIN macro has been fixed, we need to quote the
    'curr' variable in NDB_ADD_TARGET_PROPERTY (${curr} is a list)

commit 120d5066bacfd9f1fc69a5107e1a18eecc6ea8de
Author: Bharathy Satish <Bharathy.x.Satish@oracle.com>
Date:   Tue Aug 2 11:39:02 2016 +0530

    Bug #23721446 MYSQLPUMP DOES NOT DUMPS ALL THE GRANT STATEMENTS OF USERS
    Problem: When a user is given multiple grants then mysqlpump does
    not dump all grant statement.
    This patch fixes this problem by reading through every result read
    from SHOW GRANTS for any given user.

commit adb933faf2030237b38145b1f0a46e1e664f9f4f
Merge: ee402eb 6a9abb6
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Aug 1 19:19:24 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6a9abb618aebb0624eb307a0f9f58604047e01c8
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Aug 1 18:53:44 2016 +0530

    Bug#22342399: MTR LIMITS PARALLEL TESTS TO 50
    
    Issue:
    ------
    The number of parallel workers in mysql-test-run has an artificial
    limit of 50. On some hardware, more CPU's are present and having
    --parallel > 50 leads to MTR running out of unique build thread ids
    as it has a hard-coded upper limit(50 build thread id's) for them.
    
    Fix:
    ----
    The patch attached removes the arbitrary limit and sets the upper
    build thread limit based on the value given to --parallel. Two other
    small changes relevant for running with high parallel settings have
    been included:
    1)The number of parallel workers is now restricted to number of tests
      for avoiding idle workers.
    2)The maximum number of parallel workers was restricted to 8 for
      --parallel=auto in case the environment variable MTR_MAX_PARALLEL
      was not set. This restriction has been removed as it hinders MTR
      performance on powerful machines.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    RB: 13472

commit 33b15f9f52214ad1663345e9f123ad613f6f4a28
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Aug 1 18:31:13 2016 +0530

    Bug#23742016: MTR --PARALLEL=AUTO IS ALWAYS 1 ON OSX
    
    Issue:
    ------
    MTR currently checks for CPU information using '/proc/cpuinfo' on
    linux and 'kstat' on solaris. As no information can be obtained
    from them on OS-X, a dummy CPU is added and the number of CPU's is
    reported as 1 by default. Hence, using --parallel=auto leads to
    MTR running tests on a single worker.
    
    Fix:
    ----
    A routine has been added to get CPU information on OS-X using the
    'sysctl' command. The number of parallel MTR workers is set to the
    number of processors in the machine.
    
    Reviewed-by: Sayantan Dutta <sayantan.dutta@oracle.com>
    RB: 13389

commit ee402eb92c6ff7c2580da82ce23d21b93e458b3d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 1 14:21:05 2016 +0200

    Bug#24303829 ADD SUPPORT FOR SOLARIS STUDIO 12.5 AKA 5.14 TO MYSQL 5.6
    
    Additional patch for cmake version 2.8.12.2

commit b8cf69586f7bfb8346f887a530dfb2b695853bcd
Merge: 1b8fe75 6ea08b4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 1 14:15:19 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6ea08b4fa03d656873b816fca073f00170dfc7a2
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 1 13:23:31 2016 +0200

    Bug#24303829 ADD SUPPORT FOR SOLARIS STUDIO 12.5 AKA 5.14 TO MYSQL 5.6
    
    Additional patch for cmake version 2.8.12.2

commit 1b8fe7510045ca948cd05764f2f3cebb452c3cab
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Aug 1 06:56:56 2016 +0100

    Bug#24338358 CHANNEL SERVICE INTERFACE MAY CRASH SERVER WHEN RELAY-LOG
                 OPTION IS CHANGED
    
    Post-push fix to solve issues in non-debug builds.

commit 2d8328d9988dfe5fbd5ce50b49a0797188ec2ab2
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Aug 1 10:05:42 2016 +0530

    Bug #23072245 MYSQLPUMP OUTPUT FAILS TO LOAD WHEN IT INCLUDES TRIGGERS
    Problem: If trigger is defined with multiple statements in trigger body,
    then during restore we get a sytax error. This patch fixes this issue by
    enclosing the trigger ddl in a delimiter.

commit 2a7c80731d36741f7c33da0061d7bbdc70be9556
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Jul 22 14:54:54 2016 +0100

    Bug#24338358 CHANNEL SERVICE INTERFACE MAY CRASH SERVER WHEN RELAY-LOG
                 OPTION IS CHANGED
    
    Problem and analysis:
    
    After changing relay-log parameter content, a plug-in using the channel
    service interface can make the server to fail when calling channel_create().
    
    The channel service interface has introduced the change_master() function
    parameter "preserve_log" in order to tell change_master() to not purge the
    current relay logs for a channel regardless of the channel parameters to be
    changed.
    
    This is making change_master() function to reach a situation that is
    impossible without using the channel service interface.
    
    In the situation where a relay log info repository was "broken" because of
    the change of relay-log parameter, doing a RESET SLAVE is enough to purge all
    channel relay logs (that it assumes as missing because of the relay-log
    change), and creating new ones with the new relay-log parameter.
    
    As a plug-in may call the channel_create() function telling it to preserve
    the relay logs, it would lead to a server failure because the server will
    assume the relay log files to exist (and they may exist, but with another
    name because of the relay-log parameter change).
    
    Fix:
    
    When the relay log repository is not initialized yet (not used or has failed
    to initialize properly), the change_master function should not respect the
    preserve_logs parameter used by channel_create() function.
    
    Note: fixed also an issue in the channel service interface that was setting
    the use of GTID auto positions even when asked to let it as default in a
    change master operation.

commit 4a234e62db9b750b1fdc2faef0828ae09cbd4645
Merge: 8e66769 f31d2752
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Fri Jul 29 14:51:09 2016 +0200

    Upmerge of the 5.6.32 build

commit f31d2752f2309fdafe550beb10381065991445ea
Merge: 6a86a16 f84c952
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Fri Jul 29 14:23:36 2016 +0200

    Merge branch 'mysql-5.6.32-release' into mysql-5.6

commit 8e66769c60353cd64f217b5b30911231203b6b39
Merge: 9f71fd9 6a86a16
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Fri Jul 29 16:55:09 2016 +0530

    Upmerge of the 5.5.51 build

commit 6a86a16ee00e275ff1d72472b9c1e61e7c36e9a0
Merge: e206e0a 3bc2b57
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Fri Jul 29 16:52:58 2016 +0530

    Upmerge of the 5.5.51 build

commit 3bc2b572967a4a67a6a3a0b41a0199f81d4339c4
Merge: a0738f7 0496931
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Fri Jul 29 16:46:56 2016 +0530

    Merge branch 'mysql-5.5.51-release' into mysql-5.5

commit 9f71fd9c3f61e5d5e34cb8ea2738e4fbe315c853
Merge: 3152dce e206e0a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 29 10:34:38 2016 +0200

    NULL Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	configure.cmake

commit 3152dce396b93ff89a71e0507f137e1c2dc1af5f
Merge: e617824 04c9384
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Fri Jul 29 09:28:00 2016 +0200

    Merge branch 'mysql-5.7.14-release' into mysql-5.7

commit e61782448297c137cb73d1e34f0b511e16627fdc
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Jul 28 22:43:05 2016 +0200

    Follow up commit for wl#9306, fix for toggling audit_log_mysqlx_unixsocket.test
    
    Description:
    Race condition is triggered because the test runs
    with valgrind (slow execution)
    
    Solution:
    Wait until previous connection is released by MySQL Server
    (new wait condition between mysqlxtest connections).

commit b9df2b2566c743fa3f94407f7f1e3b895ebc3251
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Jul 29 10:15:46 2016 +0530

    BUG#23744004 - KEVENT()/CLOSE() DEADLOCK ON MAC 10.12
    
    MAC OS 10.12 beta (build 16A201w) causes mysqld to hang on exit.
    This happens during the deinitialization of statement timer subsystem.
    During the deinitialization, the timer notify thread is signalled to exit
    via USER kevent and then race on to close the kqueue fd. If the timer notifier
    user kevent doesn't fire before the close of kqueue, it shall cause the close
    to hang. In the new release of MACOS, close can't interrupt a kevent syscall.
    
    The fix is to move the close of kqueue fd to timer notifier thread. This kqueue
    fd is closed once we exit of the timer event handling loop thereby preventing
    the hang.

commit 38791f161605b0713a054dca4daa6780442ddc2d
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jul 27 17:00:02 2016 +0300

    WL#9480: password_validation plugin must check if the password matches
      the user name

commit e206e0a6e43790084070cf50617505ffbd19ab24
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 15 16:48:33 2016 +0200

    Bug#24303829 ADD SUPPORT FOR SOLARIS STUDIO 12.5 AKA 5.14 TO MYSQL 5.6
    
    Parse new output from 'CC -V'
    
    Remove '-Xa' from COMMON_C_FLAGS (prefer ISO C rather than K&R C semantics)
    It is not needed, and it cannot be used together with the -std=xxx flag.
    
    This is a partial backport of the fix for:
    Bug#23212938 ADD SUPPORT FOR SOLARIS STUDIO 12.5 AKA 5.14

commit cf807442d4ce5d41650831e64ec775d8c573181c
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 28 13:08:52 2016 +0800

    BUG#23477773 OPTION TO TURN OFF/ON DEADLOCK CHECKER
    
    Backport WL#9383 INNODB: ADD AN OPTION TO TURN OFF/ON DEADLOCK CHECKER
    (rb#12873) to 5.7.

commit 58173e1fe67931c7653c379e8f6b2eec78a8fa36
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Thu Jul 28 11:28:25 2016 +0800

    Bug #24351747  CRASH ON PARALLEL UNINSTALL AND START GR CMD
    
    Problem
    =======
    When 'UNINSTALL PLUGIN' and 'START GROUP_REPLICATION' command runs
    in parallel, there is a crash caused by trying to destroy a locked
    mutex.
    
    Analysis
    ========
    The problem can be caused by the following scenario:
    Step1: The 'UNINSTALL PLUGIN' thread holds the plugin_running_mutex
           to stop GROUP_REPLICATION, then switch the execution to
           'START GROUP_REPLICATION' thread.
    Step2: The 'START GROUP_REPLICATION' thread waits before acquiring
           the plugin_running_mutex, then switch the execution to
           'UNINSTALL PLUGIN' thread.
    Step3: The 'UNINSTALL PLUGIN' thread releases the plugin_running_mutex
           after stopping GROUP_REPLICATION, then switch the execution to
           'START GROUP_REPLICATION' thread.
    Step4: The 'START GROUP_REPLICATION' thread holds the
           plugin_running_mutex to start GROUP_REPLICATION, then switch
           the execution to 'UNINSTALL PLUGIN' thread.
    Step5. The 'UNINSTALL PLUGIN' thread destroys the
           plugin_running_mutex locked by the
           'START GROUP_REPLICATION' thread.
    The 'UNINSTALL PLUGIN' thread calls group_replication_cleanup() to
    stop GROUP_REPLICATION and set group_replication_handler to NULL. The
    'START GROUP_REPLICATION' thread calls group_replication_start() to
    start GROUP_REPLICATION if group_replication_handler is not NULL. To
    avoid above problem, the executions of group_replication_cleanup()
    and group_replication_start() must be mutual exclusive.
    
    Fix
    ===
    To fix the problem, introduce a new global mutual lock to
    make the executions of group replication plugin handler
    function accessors be mutual exclusive.

commit 01215b0c2dc94a58bcef1376baf9c7a42ade71ed
Merge: f2f7461 3044190
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 13:45:01 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3044190d26089ad5cc54e229a58e41018a4debe0
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 10:39:19 2016 +0200

    Followup: BUG#23479595 SEGMENTATION FAULT WHEN SELECT FTS INDEX
              TABLES IN INFORMATION SCHEMA
    
    BUG#23742339 FAILING ASSERTION: SYM_NODE->TABLE != NULL
    
    Analysis: When we access fts aux tables in information schema,the
    fts aux tables are dropped by DROP DATABASE in another session.
    
    Solution: Drop parent table if it's a fts aux table, and drop
    table will drop fts aux tables together.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13264

commit f2f7461fa2fc1441181ce07d2b31c863e092dd63
Merge: 29560b2 800b876
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 09:57:35 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 800b8766bde7353293b8784e604b60af20dacce5
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 09:37:20 2016 +0200

    BUG#24315031 FAILING ASSERTION: !TABLE->CAN_BE_EVICTED
    
    Analysis:
    the old table is dropped, just after it's added into drop list,
    and new table with the same name is created, then we try to drop
    the new table in background.
    
    Solution:
    Don't drop a table in background if table->to_be_dropped is false.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13414

commit 29560b24038b4f74492777121f5616c603e3fe45
Merge: 7e8f62d c5728a8
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 08:58:26 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit c5728a8a29ed496c09c58751a860db9af962ae59
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 27 03:43:52 2016 +0200

    BUG#24009272 SEGFAULT WITH CREATE+SELECT FROM IS+DROP FTS TABLE
    CONCURRENTLY
    
    Analysis:
    When we access fts_internal_tbl_name in i_s_fts_config_fill (),
    it can be set to NULL by another session.
    
    Solution:
    Define fts_internal_tbl_name2 for global variable innodb_ft_aux_table,
    if it's NULL, set fts_internal_tbl_name to "default".
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13401

commit 7e8f62d261ad526317fe5ce1770cffecbe3ba0c0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Jul 26 08:44:33 2016 +0100

    Bug#23618316 MONITORING THREAD MIGHT MISS THREAD STOP SIGNAL FROM RPL THREADS HOOKS
    
    Post push fix to not run the test case on MTS configurations.

commit a7921df96b4a0498c548ff9d98ca692eaf1bd0df
Merge: fca787d 4d4c42e
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Tue Jul 26 11:22:00 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4d4c42e2ba8a44c9c7160ecf1192de8e635c0312
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Mon Jul 25 16:06:52 2016 +0300

    Fix for bug #16672723 "CAN'T FIND TEMPORARY TABLE".
    
    Attempt to execute prepared CREATE TABLE SELECT statement which used
    temporary table in the subquery in FROM clause and stored function
    failed with unwarranted ER_NO_SUCH_TABLE error. The same happened
    when such statement was used in stored procedure and this procedure
    was re-executed.
    
    The problem occurred because execution of such prepared statement/its
    re-execution as part of stored procedure incorrectly set
    Query_table_list::query_tables_own_last marker, indicating the last
    table which is directly used by statement. As result temporary table
    used in the subquery was treated as indirectly used/belonging to
    prelocking list and was not pre-opened by open_temporary_tables()
    call before statement execution. Thus causing ER_NO_SUCH_TABLE errors
    since our code assumes that temporary tables need to be correctly
    pre-opened before statement execution.
    
    This problem became visible only in version 5.6 after patches related to
    bug 11746602/27480 "EXTEND CREATE TEMPORARY TABLES PRIVILEGE TO ALLOW
    TEMP TABLE OPERATIONS" since they have introduced pre-opening of temporary
    tables for statements.
    
    Incorrect setting of Query_table_list::query_tables_own_last happened
    in LEX::first_lists_tables_same() method which is called by CREATE TABLE
    SELECT implementation as part of LEX::unlink_first_table(), which temporary
    excludes table list element for table being created from the query table
    list before handling SELECT part.
    
    LEX::first_lists_tables_same() tries to ensure that global table list of
    the statement starts with the first table list element from the first
    statement select. To do this it moves such table list element to the head
    of the global table list. If this table happens to be last directly-used
    table for the statement, query_tables_own_last marker is pointing to it.
    Since this marker was not updated when table list element was moved we
    ended up with all tables except the first table separated by it as if
    they were not directly used by statement (i.e. belonged to prelocked
    tables list).
    
    This fix changes code of LEX::first_lists_tables_same() to update
    query_tables_own_last marker in cases when it points to the table
    being moved. It is set to the table which precedes table being moved
    in this case.

commit fca787d6ec45cdaed3a5d291a88cd7631c54c835
Merge: e8f8e37 27dfa58
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Jul 25 21:35:12 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    and resolved the conflicts.

commit 27dfa58cb07c6e58c2b58a673e18b7b824516c13
Merge: f470c10 a0738f7
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Jul 25 21:20:52 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    And fixed conflicts.

commit a0738f703e20b5530fe319f47fc1e5c8ad9e9667
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Jul 25 20:34:20 2016 +0530

    BUG#23509275 :DBUG_PRINT in THD::decide_logging_format prints incorrectly, access out-of-bound
    
    Problem:
    In debug builds, there is a chance that an out-of-bounds
    read is performed when tables are locked in
    LTM_PRELOCKED_UNDER_LOCK_TABLES mode. It can happen because
    the debug code uses enum values as index for an array of
    mode descriptions, but it only takes into consideration 3
    out of 4 of the enum values.
    
    Fix:
    This patch fixes it by implementing a getter for the enum which
    returns a string representation of the enum,
    effectively removing the out-of-bounds read.
    
    Moreover, it also fixes the lock mode descriptions that
    would be print out in debug builds.

commit e8f8e37d6be462ebe12a8ef9500920dad852f025
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Jul 25 14:57:17 2016 +0530

    Bug#22922023: PASSWORD VALIDATION PLUGIN FLAW - FAILED
                  PASSWORDS LOGGED IN CLEAR TEXT
    
    Post push patch to fix pb2 test failure.

commit 59f9a0e91bafc2fbbb10ebf4ae97311dce428f25
Merge: e6b311a f470c10
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jul 25 07:54:35 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit f470c103b29250cedfd3a124f6f0dedcebab3e57
Merge: bc715f5 9c7309c
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jul 25 07:50:47 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9c7309c0d5bc1d663df96a730076d88f625a322c
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jul 25 06:43:16 2016 +0100

    BUG#23703568 -  IS CLIENT LIBRARY SUPPOSED TO RETRY EINTR INDEFINITELY OR NOT
    
    Commit#ebd24626ca38e7fa1e3da2acdcf88540be70fabe obsoleted the THREAD and
    THREAD_SAFE_CLIENT preprocessor symbols. This is not removed in the
    sql/net_serv.cc thereby the code that retries on EINTR became dead code.
    Remove the THREAD_SAFE_CLIENT preprocessor directive form sql/net_serv.cc.
    Also check errno for EINTR only if there is an error in preceding read call.

commit e6b311ae1632043796b62d125d32b90fb4c865eb
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Jul 21 13:22:40 2016 +0200

    BUG#24331927: REMOVE PARALLEL APPLIER ENABLE SAFETY CHECKS WHEN GROUP REPLICATION IS ON
    
    Until now, parallel applier was not supported on Group Replication,
    to prevent errors there are safety checks on MySQL server to
    disallow DBA to enable it.
    
    Now Group Replication does support parallel applier and so we can
    remove the safety checks.

commit c1a71a192bfceb656f2037d5b9a58b329411ab53
Merge: 7056238 bc715f5
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jul 22 13:19:52 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit bc715f5e681ebafa2bf468ba030bcf2ee18f54a7
Merge: ab63d81 39a1f7d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jul 22 13:17:41 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 39a1f7d8f19300c1e0f49f5db983b94ce3ae1854
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jul 22 13:15:32 2016 +0530

    Bug #23295288: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   GET_SERVER_FROM_TABLE_TO_CACHE
    
    Description:- Server received SIG11 in the function,
    "get_server_from_table_to_cache()".
    
    Analysis:- Defining a server with a blank name is not
    handled properly.
    
    Fix:- Modified "get_server_from_table_to_cache()" to
    take care of blank server name.

commit 7056238de53a61cd2c680ead7ba32654a082a54a
Merge: bf4c7b7 ab63d81
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Jul 22 11:00:20 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ab63d814c81a50d586fff7b57dfe07ac10758333
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Jul 22 10:55:25 2016 +0530

    Bug#22510353: UNNECESSARY USING TEMPORARY FOR UPDATE
    
    Problem:
    =======
    when the binlog_row_image is FULL, we set read_set and
    write_set all before update. This leads to setting
    used_key_is_modified true, which lead to mysql_update use
    temporary at last. Actually there is no need to use
    temporary in most cases. The root cause is that we set
    read_set and write_set too early.
    
    Analysis:
    =========
    As reported in problem description table's read_set and
    write_set are set earlier.
    'mark_columns_per_binlog_row_image' is the function call
    which sets these read and write sets. But this is called
    at an earlier stage during execution and in the case of
    binlog_row_image=FULL it will set all the bits of read and
    write sets. This will make the update query to think that
    a key is being modified by the existing update query. Even
    though it is not modifying the key field. This will force
    the update query to use a temporary table even though it may
    not be required. The same problem exists even in the case of
    binlog_row_image=NOBLOB. This problem is specific to single
    table updates.
    
    This issue is not present in the case of multi table update.
    As in the multi table update case, the check for 'used key
    is modified or not' is done before marking
    read_set/write_set as per binlog_row_image. Hence binary log
    specific bits are not influencing query to use temporary
    table.
    
    Fix:
    ===
    Implemented single table update to follow the same mechanism
    that multi table update follows. i.e Mark the columns in
    table's read_set/write_set as the binlog_row_image after the
    'used key is modified or not' decision is taken.

commit bf4c7b7add80c4f07bd64d779ad0c71f59dc0003
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jul 22 10:47:37 2016 +0530

    Bug#22922023: PASSWORD VALIDATION PLUGIN FLAW - FAILED
                  PASSWORDS LOGGED IN CLEAR TEXT
    
    Description:- Passwords which fail validation by the
    password validation plugin are logged in mysqld error log
    as warning messages in clear text.
    
    Analysis:- Logging of warning message for completely failed
    "GRANT/REVOKE users" queries is added as part of another bug
    fix. The intention of that bug fix was to handle partial
    execution of queries by adding an incident event in the
    binary log. But along with addition of incident event in the
    binary log for partial execution, a warning message is also
    added for quires which fails completely.
    
    Fix:- Logging of warning message to the mysqld error log
    is removed which will in turn solve this issue.

commit 14b859937f8aa24e0fea537dcd753ff857e3e5b3
Merge: c9f003c 926ec9c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 22 07:36:36 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 926ec9c656582bcbc2e69087eeb11a1c197ac717
Merge: 74cfd7c 8235e91
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 22 07:35:57 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8235e9184c5a0cab08d74dfa4d47ff0faed8c31a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 22 07:33:43 2016 +0530

    Bug #23280699: MYSQLD GOT SIGNAL 11 IN IS_NULL ON SELECT
                   FROM I_S
    
    Issue:
    ------
    There is a difference in the field type created when the
    following DDLs are used:
    
    1) CREATE TABLE t0 AS SELECT NULL;
    2) CREATE TABLE t0 AS SELECT GREATEST(NULL,NULL);
    
    The first statement creates field of type Field_string and
    the second one creates a field of type Field_null.
    
    This creates a problem when the query mentioned in this bug
    is used. Since the null_ptr is calculated differently for
    Field_null.
    
    Solution:
    ---------
    When there is a function returning null in the select list
    as mentioned above, the field should be of type
    Field_string.
    
    This was fixed in 5.6+ as part of Bug#14021323. This is a
    backport to mysql-5.5.
    
    An incorrect comment in innodb_bug54044.test has been
    corrected in all versions.

commit c9f003c13875e37a66bf4f7ed714e6b25b663e4f
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Jul 6 17:02:27 2016 +0200

    BUG#23738896: CRUD.FIND BUILDS INVALID SQL QUERY WITH AGGREGATION FUNCTION IN GROUP_CRITERIA
    
    Description:
    Elements returned in JSON_OBJECT were extracted to subquery. The
    'grouping_criteria' field is interpreted as they would refer to json
    object generated in main query, still they put as columns in sub-query.
    
    Solution:
    Generation of sql query has been improved by moving 'grouping_criteria'
    expression to main query. Additionally error messages have been reworded
    for better pointing place of potential inconsistency in expected query.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB:13327

commit 1b8be2fd9106a97b40c3996450d41c46c1ee8815
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jul 21 15:42:24 2016 +0530

    BUG#24011900 - MYSQLX_UNIX_ADDR FOR RPMS SHOULD BE /VAR/RUN/MYSQLD/MYSQLX.SOCK
    
    Override MYSQLX_UNIX_ADDR values to /var/run/mysqld/mysqlx.sock for el/fedora rpms and
    /var/run/mysql/mysqlx.sock for sles rpms.

commit ac95747b57589d91221823fafdbb119a03b8694f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Jul 21 07:25:47 2016 +0530

    Bug #23049975: GROUP BY SENDING DIFFERENT RESULTS BETWEEN
                   5.6 AND 5.7
    
    ISSUE:
    ------
    This issue occurs in the following scenario:
    1) A subquery in the SELECT list of a query.
    2) The subquery contains a where condition which
       references a value in the outer query.
    3) The outer query contains a group by which requires the
       creation of a temporary table.
    
    An example query is:
    SELECT (SELECT t3.t3_val
            FROM t3
            WHERE t3.t3_t1_val = t1.t1_id) as CMS,
           t2.t2_val, t1.t1_id
    FROM t1 INNER JOIN t2 ON t1.join_val = t2.join_val
    WHERE t1.t1_id = 1 GROUP BY t2.t2_val;
    
    
    The following is the common behavior in 5.6 and trunk:
    a) A temp table is created with a field for t1_id. This
       field is supposed to refer to the outer query's value
       of t1.t1_id and copy it when there is a new value.
    b) The temp table's t1.t1_id is in-turn used to copy it's
       value into the field of t3.t3_t1_val. This will check
       for the value in the index on t3_t1_val.
    
    Steps followed in 5.6:
    1) QEP_tmp_table::put_record copies the value from t1.t1_id
       into the temporary table's t1_id.
    2) While evaluating the inner query, the
       "subselect_single_select_engine::exec" also contains
       optimize phase of the join. This will copy the value
       from the temporary table to the field t3.t3_t1_val.
    3) The value copied into t3_t1_val will be used to check the
       values in the index.
    
    Steps followed in 5.7:
    1) Optimization of inner subquery occurs before the execute
       phase. Value from the temp table is attempted to be
       copied into t3_t1_val. Since there is no value in the
       temp table at this stage, we end up copying a null value.
    2) QEP_tmp_table::put_record copies the value from t1.t1_id
       into the temporary table's t1_id.
    3) Unlike in 5.6, "subselect_single_select_engine::exec"
       doesn't want to optimize since that step has already
       happend.
    4) Value in t3_t1_val (which is null) is used to search the
       index and this fails.
    
    
    Notice that the steps 1 and 2 have been flipped in 5.6 and
    5.7. Removing the optimize phase from
    "subselect_single_select_engine::exec" has introduced this
    problem.
    
    This was changed as part of "WL#6369: EXPLAIN for other
    thread".
    
    SOLUTION:
    ---------
    The problem is when generating the ref-key for the subquery
    evaluation. The source for the ref-key is an outer reference
    to table t1, which is a const value, thus the value is
    available in the row buffer for t1. However, the copy
    function looks in the result buffer, which has not been
    populated yet since this occurs during optimization phase.
    
    Currently the value used by t3_t1_val is considered as a
    constant. Replace result_field with field in the Item_field
    representing the ref-key source. It makes the corresponding
    temp_table field redundant.

commit a297626384cc16a34cd4b84490c5e6da44d82381
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Wed Jul 20 20:44:47 2016 +0200

    Bug#24324800 SERVER PARAMETER EXTRACTION FOR GROUP REPLICATION LACKS THE SERVER VERSION
    
    The server code in place for plugins to extract server parameters
    lacked a way to get the server version.
    That is now fixed.

commit d8f12c7a7836388b5663f1a67c8cd7d274ce6fd9
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Jul 20 12:30:34 2016 +0530

    Bug#23604483	GCOLS: MINIMAL BINLOG_ROW_IMAGE LEAD TO
    CORRUPTION/CRASH ON SLAVE
    
    Fixing a post push to fix pb2 failure

commit 062f162e96f1d57fab6ea2738fe4f53a590bd614
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Jul 20 10:00:26 2016 +0530

    Bug#23631471 BUF_BLOCK_ALIGN() MAKES INCORRECT ASSUMPTIONS ABOUT CHUNK SIZE
    
    Issue:
    ======
    Currently the approach we take to find the chunk corresponding to a given
    pointer uses srv_buf_pool_chunk_unit based on the assumption that
    srv_buf_pool_chunk_unit is the total size of all pages in a buffer pool
    chunk. We first step back by srv_buf_pool_chunk_unit bytes and use
    std::map::upper_bound() to find the first chunk in the map whose key >= the
    resulting pointer.
    
    However, the real size of a chunk (and thus, the total size of its pages)
    may differ from the value configured with innodb_buffer_pool_chunk_size
    due to rounding up to the OS page size. So, in some cases the above logic
    gives us the wrong chunk.
    
    Fix:
    ====
    We find out the chunk corresponding to the give pointer without using
    srv_buf_pool_chunk_unit. This is done by using std::map::upper_bound()
    to find the next chunk in the map which appears right after the pointer and
    decrementing the iterator, which would give us the chunk the pointer
    belongs to.
    
    Contribution by Alexey Kopytov.
    
    RB: 13347
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>

commit 9e517d34034eb014a68a6f4224ba2682d3aa8ddc
Merge: 30e0cb1 74cfd7c
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Tue Jul 19 08:05:38 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 74cfd7cfab19ea0d0bc52c7cab3616ef8165f4bc
Merge: efd84b4 a9911d0
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Tue Jul 19 08:04:29 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit a9911d0b31e874c7ad6d3f088e755e04beb49e38
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Tue Jul 19 08:03:09 2016 +0530

    Bug#23280059: ITEM_ROW::ILLEGAL_METHOD_CALL(CONST CHAR*):
    	      ASSERTION `0' FAILED ON SELECT AREA
    
    Problem:
    Optimizer tries to get the points to calculate area without
    checking the return value of uint4korr for 0 "points". As a
    result server exits.
    
    Solution:
    Check the return value from uint4korr().

commit 30e0cb1b805f34c2ec4e64df8fe27385c26bdc6f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 18 14:15:57 2016 +0200

    WL#9306: X Protocol connectivity through unix sockets
    
    Follow up fix: mysqlxtest is missing description of "-v" command line
    option also connection_require_secure_transport.test uses wrong option when running mysqlxtest.
    
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 9b72e2f9ee46b3fa40cf7365b9b428a84425cfdb
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jun 20 16:00:53 2016 +0100

    Bug#23618316 MONITORING THREAD MIGHT MISS THREAD STOP SIGNAL FROM RPL
                 THREADS HOOKS
    
    Problem:
    
    In order to know when receiver and applier thread have stopped, a plug-in
    (like GR) can monitor thread stop activities by registering to be notified by
    replication thread stop hooks.
    
    A common scenario is to:
    1) start the replications threads;
    2) register to monitor thread stop activities;
    3) check if the thread stopped between 1 and 2. This is necessary because
       thread start command can succeed but the thread might fail right after
       trying to start work.
    
    Unfortunately for step 3 above, the way channel service interface offer to
    know if the thread has stopped may provide an information stating the
    replication thread is still active when it is about to stop, after passing
    the thread stop hook. In this case, the step 3 above would obtain that the
    thread didn't stopped, but it will soon and will not notify the monitoring
    thread because the thread stop hook point has passed.
    
    Fix:
    
    Created a new status variable at rpl_info object to state if the replication
    thread (either applier or receiver thread) is stopping or not.
    
    Created a new function at channel service interface to get the "is_stopping"
    information from the replication threads.

commit 7a0447ee9b7c6960694ab640abb4119c3d928938
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Jul 15 13:45:17 2016 +0200

    WL#9306: X Protocol connectivity through unix sockets
    
    Follow up fix: connection_require_secure_transport.test isn't stable on some platforms.
    Test is restarting the server without waiting for the X Plugin to be initialized.
    
    Solution:
    Veriyi that the plugin was started correctly by doing a XConnection after
    plugin install.
    
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 456cab8d41466dea63f71f5b7a5568675c2184c4
Merge: 83165db efd84b4
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jul 15 14:49:32 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit efd84b4bcba3516e15699be833f1292670144e22
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jul 15 14:39:37 2016 +0530

    Bug #23475211	COMBINING ALTER OPERATIONS TRIGGERS TABLE REBUILD
    
    Problem:
    =======
    Inplace alter algorithm determines the table to be rebuild if the table
    undergoes row format change, key block size if handler flag contains only
    change table create option. If alter with inplace ignore flag operations and change table create options then it leads to table rebuild operation.
    
    Solution:
    ========
    During the check for rebuild, ignore the inplace ignore flag and check for
    table create options.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 13172

commit 83165dbecca6e768d0fa883f05b147a6293ee645
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Jul 14 14:00:38 2016 +0200

    WL#9281: X Protocol use named parameters for admin commands
    
    Post-push fix: Stabilization of periodically failing test
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>

commit 8da1b0f9278e1469cda5f1270abbe6af150a92ec
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jul 13 16:26:59 2016 +0300

    Addendum to the fix for bug #23747899: fixed the sysschema test to
    expect a properly terminated basedir

commit 1efa31edf4d8dff9cd052aec0dcc9339a66bd4a7
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Jul 13 14:20:58 2016 +0200

    Follow up commit for wl#9306, fix for compilation warnings on OSX
    
    Description:
    OSX doesn't detect properly that "msgid" variable is properly
    initialized in one of sub-calls.
    
    Solution:
    Changed the source code to be better understandable for the
    compiler, from:
      while(!stop) { ... }
    to:
      do { ... } while(!stop);
    
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 2405a07d9609239fe5016c7e6306e84fe721cb1e
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 13 11:15:58 2016 +0200

    Added packaging support for Ubuntu 16.10 (Yakkety Yak)

commit 3fa1c1eca9c1402e8845b09a0212d09239729ccb
Merge: cb1ba12 47c0fdf
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jul 13 10:49:38 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 47c0fdfced7f5bb5e1ae9af9bdaeb369b5f8583b
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 7 15:37:25 2016 +0300

    Bug #23747899: @@BASEDIR SYSVAR VALUE NOT NORMALIZED IF SET THROUGH
      THE COMMAND LINE/INI FILE
    
    The system variable basedir is of type charptr and can take command line
    arguments. This means that it operates on a "char *" global and every time
    a command line argument is supplied a new string buffer is allocated and
    assigned to this variable.
    The global char * used for this variable is called base_dir_ptr.
    Originally this char * is assigned to a global char array called base_dir.
    And the rest of the server code uses the base_dir array directly.
    But setting a new value on the command line set the base_dir_ptr to the
    something different than the base_dir.
    Then, in mysqld_get_one_option(), the contents of that new buffer is copied
    to base_dir, but the base_dir_ptr is not reset to point back to base_dir.
    Thus it does not reflect the subsequent processing done directly over base_dir
    This processing includes (among other things) normalization of the path
    separators used. As a result the system variable returns the data exactly as
    set on the command line or through the INI file instead of the normalized
    value that's stored in base_dir.
    
    Note that no other code uses base_dir_ptr, thus the problem is constrained
    to the value returned for @@basedir.
    
    Fixed by reseting base_dir_ptr to point to base_dir in mysqld_get_one_option
    right after copying the new value back. This makes it similar to the other
    path containing system variables.
    
    Test case added.

commit cb1ba12732bbe2c13044dba04754594fb413614d
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Jul 12 18:33:32 2016 +0200

    wl#9306 X Protocol connectivity through unix sockets
    
    Approved by Lalit Choudhary <lalit.choudhary@oracle.com>

commit f8f0611a25df6ae1122fc3b27485d5d14d535e81
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Jul 12 12:15:50 2016 +0530

    Bug#23604483 GCOLS: MINIMAL BINLOG_ROW_IMAGE LEAD TO CORRUPTION/CRASH ON SLAVE
    
    ========
    Problem:
    ========
    Slave crashes when it is trying to apply an UPDATE row event
    (with virtual generated columns) that came from a Master with
    BINLOG_ROW_IMAGE=MINIMAL setting.
    
    =========
    Analysis:
    =========
    
    =============================================================
    read_set/write_set bits requirement for GCol computation:
    =============================================================
    Stored generated columns are computed during an operation and
    the value is stored inside storage engine. The computed value will be used
    incase of next operation on that column. But Virtual generated column
    values, unlike storged generated columns, computed always on the fly and
    will not be stored anywhere. But if there is an index on top of virtual
    generated columns, it will be maintained by Storage engine. The code
    that is required to compute the Virtual generated columns on the fly
    is added to all the handler functions (ha_rnd_pos, ha_rnd_next,
    ha_index_read_map and etc.,). But due to performance reasons,
    it will be computed only when the caller explictly asked to do so by
    setting it's flag in read_set bitmap.
    mark_generated_columns() function is used to set read_set/write_set
    flags that are required to do generated columns modifications
    (insert/update/delete).
    
    =========================================================================
    'Innodb' Storage engine behaviour/expecation in case of DMLs (update operations)
    =========================================================================
    In case DMLs are the ongoing operations and exclusive lock is acquired on
    the table (which is true for all DMLs), fetch_all_key is set to true i.e.,
    storage engine ignores table->read_set and fetches all the column values.
    If a primary key (or the keys that can retrieve the tuple uniquely) is provided
    to storage engine, storage engine will retrieve all column values from the clustered index
    and fills the tuple struture (struct record) with all the column values
    irrespective of what is there in table->read_set bitmap.
    
    Also, Storage engine expects all the column values are ready in before_image
    before calling ha_update_row, so that the value of a column from the image
    can be used as key to find second index entry in case the index entry needs
    to be updated.
    
    =============================================================
    RBR behaviour when BINLOG_ROW_IMAGE=MINIMAL and setting of
    read_set/write_set bits in that setting:
    =============================================================
    In MySQL row-based replication, each row change event contains two images, a
    “before” image whose columns are matched against when searching for the row
    to be updated, and an “after” image containing the changes.
    In case of MINIMAL setting, for the before image, it is necessary only that
    the minimum set of columns required to uniquely identify rows is logged.
    If the table containing the row has a primary key, then only the primary key
    column or columns are written to the binary log. In the replication flow,
    read_set and write_set bitmaps are also used to decide what all the columns
    needs to be packed to write into the binary log.
    
    =============================
    Analysis on the server crash
    =============================
    Only DDLs and DMLs are replicated (SELECTs are never replicated).
    With the above explanation, storage engines always return all the column
    values in case of DMLs (i.e., fetch_all_key is true always for DMLs).
    So in pure replication flow (i.e., RBR on slave does not go through regular
    optimzer layer) never sets read_set bits to decide what needs to be retrieved
    from the storage engine as it was getting all the column values from the
    storage engine irrespective of what is there in 'read_set' bitmap.
    But since virtual generated columns are not maintained by storage engine
    and the retriveal/computation of virtual generated columns are depends on
    its bit value in read_set bitmap, it is not computed now. Hence it is not
    filled in before_image struture when RBR logic called handler function(in this
    example, ha_rnd_pos).
    Later when RBR called ha_update_row and storage engine wanted to update secondary
    index created on virtua column(which is maintained by storage engine), it tries
    to find secondary index entry for the given virtual column value (which is
    NULL) and crashes there.
    
    ====
    Fix:
    ====
    Call mark_generated_columns() before calling any handler functions to
    retrieve the before_image. This function will make sure to set all
    the read_set/write_set bits that are required to compute/update
    virutal columns.
    
    binlog_prepare_row_image() function, which will be called from
    binlogging functions (binlog_update_row() and binlog_delete_row())
    will take care of removing these spurious fields required during execution
    but not needed for binlogging. In case of inserts, there are no spurious
    fields (all the columns are required to be written into the binlog)
    
    Along with the fix, the patch is removing some code that was added
    for testing purpose (in all three paths, INDEX_SCAN, TABLE_SCAN and
    HASH_SCAN).
    
    -  // Temporary fix to find out why it fails [/Matz]
    -  memcpy(m_table->read_set->bitmap, m_cols.bitmap, (m_table->read_set->n_bits + 7) / 8);

commit f84c9522f86cdee413b8c7461de3d7fd01044ace
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 7 11:41:31 2016 +0800

    Followup: BUG#23479595 SEGMENTATION FAULT WHEN SELECT FTS INDEX
              TABLES IN INFORMATION SCHEMA
    
    BUG#23742339 FAILING ASSERTION: SYM_NODE->TABLE != NULL
    
    Problem: When we access fts aux tables in information schema,the
    fts aux tables are dropped by DROP DATABASE in another session.
    
    Solution: Block DDL by s-locking dict_operation_lock.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13264
    (cherry picked from commit c45124a0b582d57ac6cf20b786e0c643ec9ce941)

commit be7b121f2cb49de03fa993599d203f616072853b
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jul 11 12:24:54 2016 +0530

    Revert "Bug #22733635   CACHE LINE CONTENTION ON UT_RND_ULINT_COUNTER"
    
    This reverts commit 1994f43daafbb1b6b2cd44894ba6a7944bc22260.

commit 26ca6d919de4df5bf74857d5203ae284348b4fc8
Merge: 7e3e49a ae4d5db
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Jul 11 10:34:45 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ae4d5db19450380f448b0763d97a3a98277704b4
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Jul 11 10:14:23 2016 +0530

    Bug#23060553 MTR SPAWNS ONLY ONE WORKER WHEN USING --PARALLEL=AUTO
                 ON WINDOWS
    
    Follow-up fix: Restoring original file permissions of mysql-test-run.pl
    
    Reviewed by: Erlend Dahl <erlend.dahl@oracle.com>

commit 7e3e49a9ed0df13c787c5796af542f91c8b98ed8
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Jul 8 14:33:53 2016 +0530

    BUG#23016254:MTR- binlog test suite failed to cleanup
    
    Following four test-cases of binlog suite are failing due to improper cleanup,
    as these do not remove the saved binlog files which were created on the fly
    during the execution of the test-cases:
    - binlog_bug36391
    - binlog_tmp_table
    - binlog_checksum
    - binlog_mysqlbinlog-cp932
    
    Fix:
    Test-cases now do proper cleaning by removing the saved binlog files in the
    cleanup section.

commit 0ef608e116abdcac7a2ce572d12eb1a14026937f
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Jul 6 17:16:11 2016 +0200

    WL#9269: X Protocol StmtExecute new admin command ensure_collection
    
    Post-push fix: Compilation error on 32bit Solaris
    
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 22c917e15faf36f07b012a51a58597c8d6b8a163
Merge: 3ece43a b587f4a
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Jul 8 14:34:35 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b587f4a2531b20b4f15792527fa0b46fc5138dde
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Jul 8 14:33:55 2016 +0530

    Bug#23060553 MTR SPAWNS ONLY ONE WORKER WHEN USING --PARALLEL=AUTO
                 ON WINDOWS
    
    Issue:
    ------
    MTR does not compute the number of parallel workers when the option
    --parallel=auto is given on Windows and spawns only one worker by
    default. An additional check throttles the number of parallel workers
    to one in case of virtual machines on Windows.
    
    Fix:
    ----
    Number of parallel MTR workers is now set to the number of processors
    using the environment variable 'NUMBER_OF_PROCESSORS' when --parallel
    =auto is given on Windows. Also, a line which checks if a Windows machine
    is a virtual one and sets the --parallel value to one has been removed
    as Windows VM's are stable with huge amount of threads these days.
    
    Reviewed-by:
    Sayantan Dutta <sayantan.dutta@oracle.com>
    RB #12523

commit 3ece43ac68651ea3a2bdf7f06a3759146239c76e
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Jul 6 00:17:47 2016 +0200

    Bug#23707238 - PROTOBUF LIMITS THE NUMBER OF NESTED OBJECTS TO 100 RECURSIONS
    
    Description:
        When X Plugin receives X Protocol message that contains 101 nested objects,
        the decoding operation fails and client received following error:
        "Invalid message" and gets disconnected.
    
    Analysis:
        Decoding failure is caused by Protobuf which limits the number of nested objects.
        There isn't any way to verify the cause of the failure, which leaves us with
        a generic message. When decoding this message manualy (by "protoc") it doesn't
        give any usefull information about the cause.
    
    Fix:
        Fix sets the limit to 100 (in explicit to ensure that we do not overwrite the stack)
        It is done by calling following method:
        google::protobuf::io::CodedInputStream::SetRecursionLimit
        Used a workaround for checking the error. When decoding failed, plugin call
        DecrementRecursionDepth and IncrementRecursionDepth on CodedInputStream,
        if the increment fails this mean that the limit was reached and correspondin error information is
        send back.
    
    RB: 13186
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 04969317137464074556c969950d3782f551fbdf
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 5 17:08:37 2016 +0530

    Bug#23736787 - YUM UPDATE FAIL FROM 5.5.51(COMUNITY/COMMERCIAL) TO 5.6.32(COMUNITY/COMMERCIAL)
    
    Remove mysql_config from client sub-package
    
    (cherry picked from commit 45c4bfa0f3f1c70756591f48710bb3e76ffde9bc)

commit e5384bd7b3368eb64e8b01b6e1a83da2bcd1654d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 5 17:12:56 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 308f9b88e75f6179add209a2fe6affdb49b7c2ee)

commit 371dee3ff3e41ac007d816389292f2dabdc5ba94
Merge: 202be09 c45124a
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 7 11:49:29 2016 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit c45124a0b582d57ac6cf20b786e0c643ec9ce941
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 7 11:41:31 2016 +0800

    Followup: BUG#23479595 SEGMENTATION FAULT WHEN SELECT FTS INDEX
              TABLES IN INFORMATION SCHEMA
    
    BUG#23742339 FAILING ASSERTION: SYM_NODE->TABLE != NULL
    
    Problem: When we access fts aux tables in information schema,the
    fts aux tables are dropped by DROP DATABASE in another session.
    
    Solution: Block DDL by s-locking dict_operation_lock.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13264

commit 202be0993b889e027756b3f3a58c68be241de646
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Jul 5 15:16:19 2016 +0200

    Post "Bug #23337926 DATA ACCESS LAYER SHOULD BE CREATED ONCE IN KEYRING FRAMEWORK" push bug fix

commit cad4871f39bf04852559d30885fbf1b522073677
Merge: 69bfb55 308f9b8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 5 17:16:53 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 308f9b88e75f6179add209a2fe6affdb49b7c2ee
Merge: 140d08c 45c4bfa
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 5 17:12:56 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 45c4bfa0f3f1c70756591f48710bb3e76ffde9bc
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 5 17:08:37 2016 +0530

    Bug#23736787 - YUM UPDATE FAIL FROM 5.5.51(COMUNITY/COMMERCIAL) TO 5.6.32(COMUNITY/COMMERCIAL)
    
    Remove mysql_config from client sub-package

commit 69bfb55742d1e0755fa306f35011f3420e08e551
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon May 23 17:04:05 2016 +0200

    Bug #23337926 DATA ACCESS LAYER SHOULD BE CREATED ONCE IN KEYRING FRAMEWORK

commit c723c5ac6fac8aade214e2dd1bd4be387f7f5efa
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 4 15:41:43 2016 +0530

    Raise version number after cloning 5.7.14
