commit 69ffe6a6a2083eff81307ddc3651a1b0c51fb92c
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Mar 22 18:58:11 2017 +0200

    Bug #25755137 post-push. Inadvertently dropped SET DEBUG_SYNC is restored in the test. Otherwise there would be chances for the test to fail. Approved by Joao \thanks for discussion and offering an alternative approach.

commit c466b324a784759c1554b280063969410a399ab4
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Tue Mar 21 20:02:07 2017 +0200

    Bug #25755137 	MASTER IS GENERATING INCOMPLETE TRX ON BINARY LOG (MISSING COMMIT)
    
    The failure is about missed COMMIT Query-log-event which was caused
    on the master side by not sufficient cleanup after a failing
    atomic DDL. Before sensing the error, the DDL has been binlog-cached.
    Yet at both the following statement and session level rollback
      ```binlog_trx_cache_data::flags.with_xid```
    left unreset though it should have been.
    
    More to the session level the flag is effectively made
    defined on the STATEMENT one by WL9175.
    It was supposed that its reset is unavoidable when the SESSION scope
    ends with either rollback or commit. That stays for the commit.
    
    For the rollback the binlog caches have a cleanup procedure for
    statement rollback (restore_prev_position) and a cleanup procedure for
    transaction rollback (reset), where reset() is only called when the cache
    is empty. But they cache got emptied
    from the only statement by the statement level rollback.
    Therefore, reset() is missed in this case so the flag remains up.
    
    Fixed with unflaging ```binlog_trx_cache_data::flags.with_xid``` at
    the statement rollback in binlog hton in one step with the cache
    rollback for the statement.
    If the raised flag survives to the session commit its statement scope
    value is "upgraded" to the session level to serve its original
    session level semantics.

commit 6c95d12b80436e2afbad2710024b57599859cb5d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Mar 13 13:03:19 2017 +0100

    WL#10354: Make Unicode 9.0.0 and newer collations NO PAD
    
    Post-push fix: Make the MEMORY engine properly strip spaces from
    the end of CHAR columns, like the previous fix for InnoDB.
    
    Change-Id: Ib101955086da5e41b65cee171eb8e3ab0c0ba307

commit 5cb5f1e2e6e6191d0a84d6a437511da39c3266e2
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Tue Mar 14 13:48:07 2017 +0200

    WL9175. Post-push to handle intermidiate commit in ALTER branch.
    
    Fixes deploy Disable_gtid_update_guard in
    mysql_trans_{prepare,commit}_alter_copy_data().
    
    Approved on rb15695.

commit a5f016cb1ee444778e706745644264ee01997d0e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Mar 20 13:55:15 2017 +0100

    Bug#25713194 MYSQL 8.0.1 - SKIP-GRANT-TABLES IS ENABLED BY DEFAULT DURING LI
    
    During upgrade the server went into a maintenance mode which
    ignored all privileges because one of the required privilege
    tables was missing. With this patch the missing table is treated as
    empty. A subset of the privileges will still be enforced and
    default behavior will be to deny access rather than grant it.

commit 7a9f192068ac9c0bbda8fc30bd37c6aee5527f5a
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Mar 20 11:12:05 2017 +0100

    Bug#25713194 MYSQL 8.0.1 - SKIP-GRANT-TABLES IS ENABLED BY DEFAULT DURING LI
    
    During upgrade the server went into a maintenance mode which
    ignored all privileges because one of the required privilege
    tables was missing. With this patch the missing table is treated as
    empty. A subset of the privileges will still be enforced and
    default behavior will be to deny access rather than grant it.

commit 2640cb453917b23b41651657961824bf516ccc4c
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Mon Mar 13 11:15:18 2017 +0000

    BUG#25710507 MYSQLBINLOG ASSUMES OCT TO BE AVAILABLE IN MYSQL 8.0.0
    
    Problem:
    Original commit timestamp related statements were introduced in the
    binlog in MySQL 8.0.1. However, mysqlbinlog is wrongly reporting that
    these statements have been present since 8.0.0 because they are dumped
    as:
    /\*\!80000 SET @@session.original_commit_timestamp=
      MICROSECONDS-FROM-EPOCH\*//\*\!\*/;
    and MySQL 8.0.0 did not support them yet.
    
    Fix:
    Changed the version to 80001 in mysqlbinlog dump.

commit b6dffdff86fba07b2bb4d5f8864048a5d35a09da
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Mar 13 18:21:45 2017 +0100

    Merge branch 'mysql-5.7' into trunk

commit f4462e77a5b1697b57d6fca436faf0ef76a25eb2
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 10 15:32:52 2017 +0530

    BUG#25695293 - PACKAGE UPGRADE FROM 5.1.73 TO 8.0.1 FAILING WHEN MYSQL-EMBEDDED-DEVEL INSTALLED

commit 4c5f98d20777b33a3e4be5d24a31c02aef98e7b4
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Feb 8 15:58:07 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (revert whitespace changes)
    
    Revert the changes that we did to whitespace weights as part of Bug #24823885;
    now that we are NO PAD, we don't need these changes to make pad behavior faster.
    This brings us back in line with default DUCET ordering.
    
    Change-Id: I44e4a87a7c87ef9a89aaf62272d879b85a15713e

commit e5178c1f3dad0275174296e26aa70e5a533ddc6f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 6 14:36:19 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (make UCA NO PAD)
    
    Make the UCA collations NO PAD.
    
    Microbenchmarks (64-bit, Skylake 3.4 GHz, GCC 6.3):
    
      BM_SimpleUTF8MB4           140 ns/iter [ +0.0%]
      BM_MixedUTF8MB4            182 ns/iter [ +7.1%]
      BM_MixedUTF8MB4_AS_CS      557 ns/iter [ +4.3%]
      BM_JapaneseUTF8MB4         544 ns/iter [+10.5%]
      BM_NewlineFilledUTF8MB4    159 ns/iter [ +3.8%]
      BM_HashSimpleUTF8MB4       288 ns/iter [ +5.6%]
      BM_Hungarian_AS_CS        4652 ns/iter [ -4.4%]
    
    Change-Id: I8c65368519305cce4ae4bf13c77baaf7a187759b

commit ea1b3fa71e9784ab5fe9a113927c8e38b46712d0
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Feb 8 12:37:53 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (update InnoDB CHAR)
    
    Make InnoDB do space-stripping from CHAR fields as specified in the manual
    before comparing them; previously, it was okay not to do it as it was only used
    for comparisons with strnncollsp, but in NO PAD collations, it needs to be done
    explicitly.
    
    Change-Id: Ia6c0c7ba598c86b7d7eb24e07d17e75567661cb8

commit 004f7a7e4d5b1e0833fac784097fef8659b82617
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 7 16:55:10 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (update LIKE)
    
    Make the conversion of LIKE 'foo%' to range queries aware of NO PAD
    collations; for them, the minimum possible key is 'foo', not 'foo\0\0\0(etc.)'.
    
    Change-Id: I2a163a2e876808ab24be8dc799a20cd0a0845d7b

commit abed8229f691f6fc45e663e19b0c7c1a274cba1f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 6 14:34:25 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (update CHAR sort keys)
    
    Prepare CHAR(n) for NO PAD collations; we need to make sort keys consistent
    with val_str(), so that their space-stripping behavior is the same.
    This wasn't done before because only BINARY was a NO PAD collation, and it
    had special-cased behavior (it doesn't pad with spaces, it pads with zero bytes).
    
    Change-Id: I5039db0a2e36526120554c87604714208f22da1c

commit b0fce564bf36782b48dde9b7a2d0402709a45360
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 10 10:57:28 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (information schema)
    
    Add information about the pad attribute for each collation to the information
    schema. We choose the same column name and contents as Postgres and SQL Server,
    as it seems to be pretty universal.
    
    Change-Id: I76125547d47828974a9393a40e17421432cffafe

commit 2965c204a1c7ccd329a6cd4183ba4b1b2be3298d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 3 17:11:53 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (add property)
    
    Make PAD SPACE/NO PAD behavior a property of the collation,
    instead of hardcoding that “binary” (and only “binary”) is NO PAD
    and everything else is PAD SPACE.
    
    Note that this changes weight_string() behavior on CHAR(n) for “binary”
    (it was adding zero bytes to the end, and now isn't). This is harmless,
    though.
    
    Change-Id: Ia72e13574eadd0f76c0fb3d133cebf8b04cc1aee

commit bb83009583f7b4bf0f2126b383c09cf4ae8f380d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 6 10:24:45 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (deterministic tests)
    
    Make the UCA tests deterministic, by adding the codepoint order as a tiebreaker
    on equality.
    
    Change-Id: Ie85c13ae3d39044faca63e2bf833b04ea7318760

commit efbcb198e436868e890a133268cc71a5c349cc4b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Mar 7 12:11:43 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (fix blob strnxfrm)
    
    Make sorting keys for blobs correctly heed the demand that strnxfrm output
    buffers must be an even number of bytes. (This gets relevant when more complex
    collations than “binary” go through the variable-length path.)
    
    Change-Id: Iac8c27ea1678044c867a604f7cbc084f9284f9a0

commit bea3bacea3f03e6361824a3a542523d25a60f151
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 7 16:52:20 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (fix strnncoll)
    
    Make strnncoll for UCA levels support comparison on multiple levels;
    it was only correct for strnncollsp. This affected as_cs collations,
    but we currently call the bare version (the one that's not -sp)
    so rarely that it went unnoticed.
    
    Change-Id: I7ff4725337cb3126350cffaa02edb242c5fd1fdc

commit 1fd9ff06b5352ce3ec4179623df946617e1e9823
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 7 10:24:08 2017 +0100

    WL #10354: Make Unicode 9.0.0 and newer collations NO PAD (fix latin1_de)
    
    Fix a bug in the latin1_de collation, which mixed up num_codepoints
    with dstlen.
    
    Change-Id: I8330c52db919edba517a185e901ad7b2fb576778

commit 0d4ccd03604f3ade5dea7e79d7f0865df5ba3a3b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 7 10:20:26 2017 +0100

    Bug#25673668 MIGRATE OPTIMIZER TESTS FROM LATIN1 TO UTF8MB4 PATCH#2
    
    Several mtr tests have been temporarily rewritten to use latin1, convert to
    utf8mb4 where applicable.
    
    Change-Id: Ifb36205fc50d3079ab8f07205acdb2fbb4002707

commit 63edea6c61a4ff27cccd063e69cfa6dd9f711f55
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Mar 6 12:38:13 2017 +0100

    Bug#25673668 MIGRATE OPTIMIZER TESTS FROM LATIN1 TO UTF8MB4
    
    Several mtr tests have been temporarily rewritten to use latin1, convert to
    utf8mb4 where applicable.
    
    Change-Id: I1f367ba8a60b853d1107c0463c2853a5c3da9fad

commit b9b59d262108d5787276de2d8796823c14fdd398
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Mar 10 05:08:35 2017 +0100

    Revert WL#9499

commit e58ddeeff3d3efba7d0597a7c68b0d18ed58f509
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Mar 9 10:40:30 2017 +0530

    Bug #25685766: ROLLUP DOES NOT GIVE CORRECT RESULT WHEN USED WITH ORDER BY/DISTINCT
    
    No repeatable test case on trunk. Need to make changes in the code to allow
    ORDER BY with ROLLUP and then could see the wrong data in output.
    rollup_write_data does not check for correct item type to save the result
    field.
    
    Fix:
    Check the item type for  NULL_RESULT_ITEM in rollup_write_data as changes for
    GROUPING() changed the type of the Item_null_result from NULL_ITEM to
    NULL_RESULT_ITEM

commit d76cbf32d31abff3a88ca55358e955ef0f48797b
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Mar 6 17:36:48 2017 +0100

    Bug#25671292 TEST_BUG9735 IS FAILING IN MYSQL_CLIENT_TEST AFTER UTF8MB4 CHANGE
    
    Problem: the computation of an expected length field (64 bits) was
    done with two 32 bit factors, one of which is the number of bytes in
    the default character set. With the change to UTF8MB4, the computation
    would overflow on 32-bit Linux and Windows.
    
    Solution: cast the first factor to ulonglong and do the computation in
    64 bits.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit a13f69691db424b09163cb9363629567febfc936
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Mar 7 09:35:49 2017 +0100

    WL#7554 Switch to new default character set and change mtr test cases
    
    Post-push fix: Update the .result file for main.lowercase_table2

commit db7e2ebe9313ece2f167965080d81ba8952332ad
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Mon Mar 6 16:55:33 2017 +0200

    WL9175.
    
    Post-push fixes an issue revealed by rpl_relay_space_myisam on PB2.
    The last event executed coordinates could be updated before the DDL
    statement itself has commmitted on slave. This caused
    a false positive for synchronization in the test, which followed out
    by a slave side SELECT that failed.
    
    Fixed with relocation the last-executed coordinates RLI members
    updating into post_commit() hook which ensures the DDL statement
    commits first and therefore synchronization routines are happy.
    
    The former rollback branch of post_commit() is relieved as there's
    nothing to restore.
    
    Approved by Joao http://rb.no.oracle.com/rb/r/15576/.

commit ac324e5cbdf0a6dafda54b1c8e3f70a0e163137d
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Sat Mar 4 17:49:20 2017 +0100

    Bug#25669553 MTR DOES NOT CLEAN DATADIR WHEN PREVIOUS TEST HAD BOOT OPTIONS.
    
    Post-push fix for WL#7554. This is non-optimal, but get the value of
    MYSQL_BOOSTRAP_CMD right. A finaly fix would be to set
    MYSQL_BOOSTRAP_CMD elsewhere so you den't get the not needed
    cla-datadir() call.

commit eb5427f921b1f5516948f224b3914f2f440f2454
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Mon Mar 6 11:45:11 2017 +0200

    WL9175. Post-push for lex->drop_temporary initialization in ctor. Approved by Jon.

commit bcc64d1e56ac3b3c19ba2edcba3b59945e53c15d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Mar 6 01:13:37 2017 +0100

    WL#8131 DYNAMIC PRIVILEGES
     - Fix: Fixed merge error by re-recording test case
     - Fix: Missing free_root() call in populate_dynamic_privilege_cache() caused a memory leak when dynamic grants were loaded from table.

commit 7fbf0d66bcd4efb3a8f16258cc340753903f4768
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Mar 6 05:51:32 2017 +0100

    Prevent client tests from overwriting each others' log files
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com>

commit f5f3ffa70b956698c7ae1a289b92971a0e39ee82
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Mar 6 08:37:45 2017 +1100

    WL#9499 - Follow up fix.
    
    1. Use same absolute path for tablepace.open.* read as for write
    2. Fix affected test case

commit 02485322f6d8a4572196ecf8eea953c7b17538db
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sun Mar 5 05:42:01 2017 +0100

    WL#8131 DYNAMIC PRIVILEGES
    
    Rerecord main.opt_costmodel_upgrade

commit ee3b505e6e58de49b01a0f0e047382293a526628
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Sat Mar 4 16:36:00 2017 +0200

    WL9175. Post-push for test cleanup. Approved by Parveez.

commit 8a519b985620bb414a224e99c832aa749fdc062c
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Sat Mar 4 11:31:40 2017 +0100

    WL#8131 DYNAMIC PRIVILEGES
    This worklog introduces dynamic global privileges and split
    the global SUPER privilege ID into a set of more fine grained
    privilege IDs.
    * New Privilege IDs introduced:
     - FIREWALL_ADMIN
     - FIREWALL_USER
     - AUDIT_ADMIN
     - SYSTEM_VARIABLES_ADMIN
     - ENCRYPTION_KEY_ADMIN
     - BINLOG_ADMIN
     - VERSION_TOKEN_ADMIN
     - ROLE_ADMIN
     - REPLICATION_SLAVE_ADMIN
     - CONNECTION_ADMIN
     - GROUP_REPLICATION_ADMIN
     - SET_USER_ID
    * New system table: mysql.global_grants

commit 81493ccce417c79e5f30429241dc7c7fb9f1e174
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Mar 4 11:47:03 2017 +0100

    Stop innodb.tablespace_rename from running in Valgrind.
    
    The test times out.
    
    Also, remove 'not_embedded' since the embedded server doesn't exist
    any more on 8.0.

commit 7ba3efae7419c0d6e3fb446a2e6b53d7b690644e
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Sat Mar 4 07:14:01 2017 +0100

    WL#10128: Add defaults column to optimizer cost tables
    
    This worklog adds generated columns that will show the default values for
    the constants defined in the two system tables, server_cost and engine_cost.
    
    Details:
    
    scripts/mysql_system_tables.sql
       Add column definition to cost constant tables.
    
    scripts/mysql_system_tables_fix.sql
       Add SQL code to upgrade cost constant tables to include column.
    
    sql/opt_costconstants.cc
       Added comment to remind developers that above scripts need to be
       updated to if cost constants are changed.
    
    sql/opt_costconstantcache.cc
       In order for resolving of generated column to work correctly when
       opening cost tables, lex_start() must be called.
    
    mysql-test/t/opt_costmodel_tables.test
    mysql-test/r/opt_costmodel_tables.result
       Added test that default_value is defined for all cost constants.
       Added test that verifies that default_value columns may not be updated
       Update test and result files to handle new column.
    
    mysql-test/t/opt_costmodel_upgrade.test
    mysql-test/r/opt_costmodel_upgrade.result
       New test file to test upgrade of cost tables.
       mysql_upgrade currently fails with 4k pages.
       Only run test when page size is minimum 8k
       Defined as big test since it may time out with high load.
    
    mysql-test/t/opt_costmodel_restart.test
    mysql-test/r/opt_costmodel_restart.result
    mysql-test/t/opt_costmodel_warnings.test
    mysql-test/r/opt_costmodel_warnings.result
       Update test and result files to handle new column.
    
    mysql-test/suite/funcs_1/r/is_columns_mysql.result
    mysql-test/suite/innodb/r/innodb-system-table-view_ci.result
    mysql-test/suite/innodb/r/innodb-system-table-view_cs.result
    mysql-test/suite/innodb/r/virtual_basic.result
       Update result files for tests that are affected by system tables definitions
    
    mysql-test/suite/i_innodb/t/discard_tablespace.test
       This test assumed that table created by the test was the only one
       with virtual columns.  This is no longer the case.  Fix assumes
       that system tables have lower table ids than the relevant table,
       and compares the maximum table id before and after ALTER TABLE.

commit ddcc1962013008f2e4567e017937d6e5519a2571
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Mar 4 07:08:41 2017 +0100

    Don't run memcached suites on daily with page size = 4K
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com>

commit 4c2653af2dbab5259cbbf15fc93f86e653ee1601
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Fri Nov 25 15:17:17 2016 +0200

    commit c2718152b0e6d00dba8d791cf3866c7315418a85
    Author: Andrei Elkin <andrei.elkin@oracle.com>
    Date:   Fri Nov 25 15:17:17 2016 +0200
    
        WL#9175 Correct recovery of DDL statements/transactions by binary log
    
        The patch consists of two parts implementing the WL agenda which is
        is to provide crash-safety for DDL.
        That is a server (a general one, master or slave) must be able to recover
        from crash to commit or rollback every DDL command that was in progress
        on the eve of crash.
    
        The Commit decision is done to commands that had reached
        Engine-prepared status and got successfully logged into binary log.
        Otherwise they are rolled back.
    
        In order to achieve the goal some refinements are done to the binlogging
        mechanism, minor addition is done to the server recovery module and some changes
        applied to the slave side.
    
        The binary log part includes Query-log-event which is made to contain xid
        that is a key item at server recovery. The recovery now is concern with it along
        with its standard location in Xid_log_event.
    
        The first part deals with the ACL DDL sub-class and
        TRIGGER related queries are fully 2pc-capable. It constructs
        the WL's framework which is proved on these subclasses.
        It also specifies how to cover the rest of DDLs by the WL's framework.
        For those not 2pc-ready DDL cases, sometimes "stub" tests are prepared
        to be refined by responsible worklogs.
    
        Take a few notes to the low-level details of implementation.
    
        Note #1.
    
        Tagging by xid number is done to the exact 2pc-capable DDL subclass.
        For DDL:s that will be ready for xiding in future, there is a tech specification
        how to do so.
    
        Note #2.
    
        By virtue of existing mechanisms, the slave applier augments the DDL
        transaction incorporating the slave info table update and the
        Gtid-executed table (either one optionally) at time of the DDL is
        ready for the final commit.
        When for filtering reason the DDL skips committing at its regular
        time, the augmented transaction would still be not empty consisting of
        only the added statements, and it would have to be committed by
        top-level slave specific functions through Log_event::do_update_pos().
    
        To aid this process Query_log_event::has_committed is introduced.
    
        Note #3 (QA, please read this.)
    
        Replication System_table interface that is employed by handler of TABLE type slave info
        had to be refined in few places.
    
        Note #4 (runtime code).
    
        While trying to lessen the footprint to the runtime server code few
        concessions had to be conceded. These include changes to
        ha_commit_trans()
        to invoke new pre_commit() and post_commit(), and post_rollback() hooks
        due to the slave extra statement.
    
        -------------------------------------------------------------------
    
        The 2nd part patch extends the basic framework,
        xidifies the rest of DDL commands that are
        (at least) committable at recovery. At the moment those include
        all Data Definition Statements except ones related to
        VIEWs, STORED Functions and Procedures.
    
        DDL Query is recoverable for these subclasses when it has been
        recorded into the binary log and was discovered there at the server
        restart, quite compatible with the DML algorithm.
        However a clean automatic rollback can't be provided for some
        of the commands and the user would have to complete recovery
        manually.

commit 5676db66e176a56092f80e67774e9cb9035d53a6
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Wed Nov 30 17:03:56 2016 +0100

    WL#9435 Axis order in WKB parsing functions
    
    This WL modifies all from_wkb functions to take into consideration
    spatial reference systems latitude-longitude and longitude-latitude axis.
    An nonobligatory options argument and an option argument value to override
    the default and specify a particular axis order is also added.

commit c758afe8ed1b94bc9de77718b59153499e4cf3c4
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Mar 3 15:27:18 2017 +0000

    WL#9840
    
    Added gcs_xcom_control_interface-t.cc to the smoke tests of
    libmysqlgcs.

commit 3c224975fc4c7aaf326029a6b7ecbe5a1a1efc6e
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Mar 3 15:25:14 2017 +0000

    WL#9840
    
    Removed gcs_xcom_control_interface-t.cc .

commit d7224c72507294d6a2c4dbda92ccd9ec8368057b
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Fri Mar 3 23:15:46 2017 +0800

    Wl#7361 MSR: per-channel replication filters
    
    There are per-channel and global replication filters. Each channel uses
    *only* its own per-channel replication filters to filter the event
    stream. It never uses global replication filters to filter the event
    stream. (A new channel would copy global replication filters to its
    per-channel replication filters if there are no per-channel replication
    filters and there are global replication filters on the filter type
    when it is being configured.)
    
    The per-channel replication filters and global replication filters can
    be configured in two ways:
    A) startup options: --replicate-*
    B) SQL commands: CHANGE REPLICATION FILTER
    
    Additionally, behavior for the following statements needs to be specified:
    C) RESET SLAVE [ALL] [FOR CHANNEL]
    D) SHOW SLAVE STATUS [FOR CHANNEL]
    
    Query, troubleshoot, monitor replication filters and do statistics:
    E) CREATE A NEW performance_schema.replication_applier_filters
    
    Show the global replication filters:
    F) CREATE A NEW performance_schema.replication_applier_global_filters
    
    A) Startup options: --replicate-*
    =================================
    
    The current startup options are extended by allowing to specify channel_name in
    filter variable to configure per-channel replication filters as follows.
      --replicate-do-db=<channel_name>:<database_id>
      --replicate-ignore-db=<channel_name>:<database_id>
      --replicate-do-table=<channel_name>:<table_id>
      --replicate-ignore-table=<channel_name>:<table_id>
      --replicate-rewrite-db=<channel_name>:<db1->db2>
      --replicate-wild-do-table=<channel_name>:<table regexid>
      --replicate-wild-ignore-table=<channel_name>:<table regexid>
    
    ---- Syntax ----
    
    Each command line parameter optionally takes a channel_name followed by a colon,
    further followed by the filter specification. Note that the first colon is
    interpreted as a separator, others are literal colons.
    
    ---- Semantics ----
    
    Without specifying channel_name in filter variable, the startup options
    shall act on the default channel. See below.
    
      --replicate-do-db=:<database_id>
      --replicate-ignore-db=:<database_id>
      --replicate-do-table=:<table_id>
      --replicate-ignore-table=:<table_id>
      --replicate-rewrite-db=:<from_db>-><to_db>
      --replicate-wild-do-table=:<table regex>
      --replicate-wild-ignore-table=:<table regex>
    
    Without specifying channel_name and a followed 'colon' in filter variable, the
    startup options shall configure the global replication filters. See below.
      --replicate-do-db=<database_id>
      --replicate-ignore-db=<database_id>
      --replicate-do-table=<table_id>
      --replicate-ignore-table=<table_id>
      --replicate-rewrite-db=<from_db>-><to_db>
      --replicate-wild-do-table=<table regex>
      --replicate-wild-ignore-table=<table regex>
    
    If the user specifies a per-channel replication filter through a command-line
    option (or in a configuration file) for a slave replication channel which
    does not exist as of now (i.e not present in slave info tables yet), then
    the per-channel replication filter is discarded with the following warning:
      "There are per-channel replication filter(s) configured for channel '%.192s'
    which does not exist. The filter(s) have been discarded."
    
    If the user specifies a per-channel replication filter through a command-line
    option (or in a configuration file) for group replication channels
    'group_replication_recovery' and 'group_replication_applier' which is
    disallowed, then the per-channel replication filter is discarded with
    the following warning:
      "There are per-channel replication filter(s) configured for group replication
    channel '%.192s' which is disallowed. The filter(s) have been discarded."
    
    How global and per-channel replication filters work together?
    - Any global replication filter option will add the filter to global
      replication filters on the filter type, not add the filter to every
      channel on the filter type.
    - Any per-channel replication filter option will add the filter to
      per-channel replication filters of the specified channel on the
      filter type.
    - Every slave replication channel will copy global replication filters
      to its per-channel replication filters if there are no per-channel
      replication filters and there are global replication filters on the
      filter type when it is being configured.
    
    Example: Suppose channels '' and 'ch1' exist before the server starts,
      the command line options --replicate-do-db=db1
      --replicate-do-db=ch1:db2 --replicate-do-db=db3
      --replicate-ignore-db=db4 --replicate-ignore-db=:db5
      would result in:
        global replication filters: do_db=db1,db3, ignore_db=db4
        default channel: do_db=db1,db3 ignore_db=db5
        ch1: do_db=db2 ignore_db=db4
    
    Note: GROUP REPLICATION channels should not be configurable using
      --replicate* nor CHANGE REPLICATION FILTER, and should not inherit
      from global filters.
    
    BTW: if user specifies multiple replicate-rewrite-db=FROM->TO options
    having the same FROM database, all are added together (put into the
    rewrite_do list) and the first one takes affect. The global replication
    filters and per-channel filters have the same behavior in the worklog.
    So there is no change on this, since a channel uses either global or
    per-channel rewrite filters on a filter type.
    
    B) SQL commands: CHANGE REPLICATION FILTER
    ==========================================
    
    Dynamic replication filters are currently settable using the
    CHANGE REPLICATION FILTER statement. We extend this command to
    introduce dynamic replication filters per channel, by allowing
    a FOR CHANNEL <channel_name> clause as follows.
    
    ---- Syntax ----
    
    CHANGE REPLICATION FILTER filter [, filter...] [FOR CHANNEL <channel_name>]
    
    filter:
        REPLICATE_DO_DB = (db_list)
      | REPLICATE_IGNORE_DB = (db_list)
      | REPLICATE_DO_TABLE = (tbl_list)
      | REPLICATE_IGNORE_TABLE = (tbl_list)
      | REPLICATE_WILD_DO_TABLE = (wild_tbl_list)
      | REPLICATE_WILD_IGNORE_TABLE = (wild_tbl_list)
      | REPLICATE_REWRITE_DB = (db_pair_list)
    
    ---- Semantics ----
    
    1) If an explicit FOR CHANNEL clause is provided, the statement acts on that
       configured slave replication channel removing any existing replication
       filter if it has the same filter type as one of specified replication
       filters, and replacing them with the specified ones. Filter types that
       were not explicitly listed in the statement are not modified. The statement
       is disallowed with an error 'ER_SLAVE_CONFIGURATION' on slave replication
       channel if it is not configured. The statement is disallowed with an error
       'ER_SLAVE_CHANNEL_OPERATION_NOT_ALLOWED' on group replication channels.
    
    2) CHANGE REPLICATION FILTER filter [, filter...] with no FOR CHANNEL clause
       does the following, both for every configured slave replication channel's
       per-channel filter and for the global replication filters: For every filter
       type, if the filter type is listed in the statement, then any existing
       filter rules of that type are replaced by the filter rules specified in
       the statement, otherwise the old value of the type is retained. The
       statement does not act on group replication channels, because replication
       filters on group replication channels are disallowed. For example,
    
    C. SQL COMMAND: RESET SLAVE [ALL] [FOR CHANNEL]
    ===============================================
    
    1) "RESET SLAVE FOR CHANNEL '<channel_name>'" does not remove the replication
       channel specified by 'FOR CHANNEL' clause, so it shall retain replication
       filters of the channel. It throws an error 'ER_SLAVE_CHANNEL_DOES_NOT_EXIST'
       if the channel does not exist. So this statement is not changed by the worklog.
    
    2) "RESET SLAVE" does not remove any replication channel, so it shall retain
       all per-channel replication filters and all global replication filters.
       So this statement is not changed by the worklog.
    
    3) "'RESET SLAVE ALL FOR CHANNEL '<channel_name>'" removes the replication
       channel specified by 'FOR CHANNEL' clause, so it shall remove all
       per-channel replication filters of the channel if the channel exists.
       Then SELECT * FROM performance_schema.replication_applier_filters
       and SHOW SLAVE STATUS proves there's no channel anymore and therefore
       its replication filters are gone too. It still throws an error
       'ER_SLAVE_CHANNEL_DOES_NOT_EXIST' if the channel does not exist as before.
    
    4) "RESET SLAVE ALL" with no FOR CHANNEL clause removes all replication
       channels, so it shall remove all per-channel replication filters but
       does not touch all global replication filters. When the new empty
       channel is being configured, it therefore uses the global replication
       filters (copies all global replication filters to its own per-channel
       replication filters). A user who wants to remove all global and
       per-channel filters can use the statement: CHANGE REPLICATION FILTER
       Replicate_Do_DB = (), Replicate_Ignore_DB = (),
       Replicate_Do_Table = (), Replicate_Ignore_Table = (),
       Replicate_Wild_Do_Table = (), Replicate_Wild_Ignore_Table = (),
       Replicate_Rewrite_DB = ().
    
    D. SQL COMMAND: SHOW SLAVE STATUS [FOR CHANNEL <channel_name>]
    ==============================================================
    
    SHOW SLAVE STATUS FOR CHANNEL <channel_name> shall show per-channel
    replication filters for the specified channel, or throw an error
    'ER_SLAVE_CHANNEL_DOES_NOT_EXIST' if the channel does not exist.
    SHOW SLAVE STATUS with no FOR CHANNEL clause shall show the
    per-channel replication filters on every channel.
    
    E. CREATE A NEW performance_schema.replication_applier_filters
    ==============================================================
    
    We shall introduce a new dedicated P_S table to display per-channel
    replication filters for usability. So create and maintain the new
    P_S table with the following columns:
      1) Channel_name: the name of the channel;
      2) Filter_name: REPLICATE_DO_DB, REPLICATE_IGNORE_DB,
                      REPLICATE_DO_TABLE, REPLICATE_IGNORE_TABLE,
                      REPLICATE_WILD_DO_TABLE, REPLICATE_WILD_IGNORE_TABLE,
                      REPLICATE_REWRITE_DB;
      3) Filter_rule: The values that user has configured with startup
                      options: --replicate-* or through CHANGE REPLICATION
                      FILTER command (This also includes empty set when user
                      unsets the rules).
      4) Configured_by: ENUM(STARTUP_OPTIONS, CHANGE_REPLICATION_FILTER,
                        STARTUP_OPTIONS_FOR_CHANNEL,
                        CHANGE_REPLICATION_FILTER_FOR_CHANNEL); (These
                        enumeration constants are the most self-descriptive
                        set of identifiers, and supporting all the use
                        cases: U1. Reflect the configured commands;
                        U2. Determine if the filter has been persisted;
                        U3. Debugging by a confused user, or learn the
                        logic of default filters by playing with
                        different ways to set them.)
      5) Active_since: Timestamp of when the configuration took place;
                       (To a new channel copying the global replication filters as
                        its own per-channel filters, set 'active_since'
                        to channel creation time.)
      6) Counter: the hit counter of the filter since last configuration;
    
      Note: (4) and (5) are important to troubleshooting. (6) is more about
      statistics (and monitoring).
    
    F) CREATE A NEW performance_schema.replication_applier_global_filters
    ======================================================================
    
    We shall introduce a new dedicated P_S table to display all global
    replication filters for usability. So create and maintain the new
    P_S table with the following columns:
      1) Filter_name: REPLICATE_DO_DB, REPLICATE_IGNORE_DB,
                      REPLICATE_DO_TABLE, REPLICATE_IGNORE_TABLE,
                      REPLICATE_WILD_DO_TABLE, REPLICATE_WILD_IGNORE_TABLE,
                      REPLICATE_REWRITE_DB;
      2) Filter_rule: The values that user has configured with startup
                      options: --replicate-* or through CHANGE REPLICATION
                      FILTER command (This also includes empty set when user
                      unsets the rules).
      3) Configured_by: ENUM(STARTUP_OPTIONS, CHANGE_REPLICATION_FILTER);
      4) Active_since: Timestamp of when the configuration took place;

commit 8fda5e49d51c8ab297cc8b07596e9fc7fd74a3da
Author: Libing Song <libing.song@oracle.com>
Date:   Tue Feb 28 09:56:53 2017 +0800

    WL#4618 RBR: extended table metadata in the binary log
    
    This patch extends Table Map Event. It appends some new fields for
    more metadata. The new metadata includes:
    - Signedness of Numberic Columns
    - Character Set of Character Columns and Binary Columns
    - Column Name
    - String Value of SET Columns
    - String Value of ENUM Columns
    - Primary Key
    - Geometry Type
    
    Some of them are optional, the patch introduces a GLOBAL system
    variable to control it. It is binlog_row_metadata.
    - Scope:   GLOBAL
    - Dynamic: Yes
    - Type:    ENUM
    - Values:  {MINIMAL, FULL}
    - Default: MINIMAL
      Only Signedness, character set and geometry type are logged if it is MINIMAL.
      Otherwise all of them are logged.

commit bcbc9a86588a0d9896623afa030921f89359cba9
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Mar 3 20:10:59 2017 +0530

    WL#7554: Switch to new default character set and change mtr test cases
    
    Added comments to the tests for which the charset has been set to
    latin1 in the opt file.

commit 2d182cca3b87a0cb539042d0fdff4700d077d727
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 2 12:38:55 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #16: Fix -Wunused-parameter warnings in plugins, part 2.

commit 69a846c1034e81ba4c5d7d4e153df40dd7748144
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Fri Mar 3 13:38:59 2017 +0100

    WL#7554 Switch to new default character set and change mtr test cases

commit a3f2feeb5793e0f5524ac436c7233882d5f57d23
Merge: c4a24d5 88c2441
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 13:54:03 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 88c2441d41933307208227629481adfe28ac764f
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Mar 1 13:04:07 2017 +0100

    Bug#25650096	PACKAGE UPGRADE FROM 5.5 NATIVE TO 5.7 THROWS ERRORS ON DEBIAN
    
    When upgrading from native 5.5 packages in Debian we need to reset ownership
    on /var/run/mysqld (owned by root), or the systemd service will throw an error
    because it can't assign it to the mysql user.

commit 9fa34bcd92e949d96b2d6a21104d3c1fc7c85d18
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Feb 28 12:40:34 2017 +0100

    Bug#25641417	PACKAGE UPGRADE FROM 5.6 TO 5.7 FAILING ON DEBIAN/UBUNTU PLATFORMS
    
    The mysql_plugin file is in the client package in 5.6, and server in 5.7,
    causing file conflicts on upgrade.

commit c4a24d5f457eeeb5622d6326b5c7b380d31d2ab6
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 28 16:27:48 2017 +0100

    Bug #25643811: MYSQL DOES NOT COMPILE WITH GCC 7
    
    Fix one error and a host of warnings that are new to GCC 7 (currently in prerelease).
    A few of the -Wimplicit-fallthrough= warnings are left, because I couldn't figure out
    if they were actually intentional or not; someone else will need to look at those.
    
    Change-Id: Iac43bec96e60a5f25f5a4d69319646de8cbe1e4f

commit ba0b9874bb707e760862d26e4978bc91b9851668
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Mar 3 10:14:03 2017 +0000

    BUG#25658222 CREATE TABLE FOR UNEXISTENT TABLE IS FAILING WITH
                 ER_DUP_ENTRY AFTER RECOVERY
    
    This is not a test case or a bug fix!
    
    This patch is only a workaround intended to make sure that
    rpl_mts_logical_clock_recovery test case will run without errors,
    ensuring the MTS recovery coverage, until the actual issue be fixed.
    
    It should be reverted for testing the reported issue and also after the
    fix for the issue be pushed.

commit 5d006dbd3b26b38f9134105d71a4a523396b4c5e
Merge: 3eb636d 0f94c14
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 11:15:22 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0f94c14be2276f93b6a98b397111cb475076e0a6
Merge: cf4ab59 7b50590
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 11:12:26 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7b50590b2512eb063f2d6c012aca7e4b52d17558
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Mar 1 13:30:58 2017 +0100

    Bug#25648545	PACKAGING CONFLICTS WITH MARIADB PACKAGES ON DEBIAN/UBUNTU
    
    Added conflicts:
    * mysql-packagesource-client conflicts with mariadb client
    * mysql-packagesource-server conflicts with mariadb server
    * mysql-packagesource-test conflicts with mariadb test package

commit 3eb636d6759febde104d44a18eb8bfa7f0ab9979
Merge: b5c4e50 cf4ab59
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 11:10:30 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit cf4ab59edd2ec191acc4f2b14a19aa529931ec88
Merge: 2409846 c93e3df
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 11:09:31 2017 +0100

    Null merge branch 'mysql-5.6' into mysql-5.7

commit c93e3dfcca4a59c4228c5bce1eaac7b83f2c31db
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Feb 28 13:38:24 2017 +0100

    Bug#25643023	SERVER ABORTING WHILE INITIALIZING DATABASE WITH INIT SCRIPTS
    
    If the datadir is deleted and the service restarted, the service
    script will reinitialize the database, then try to set auth_socket
    plugin for the now passwordless root account. The latter should not
    happen, because a) It's a major change in an old GA, and b) The sql
    simply fails, since it's run in bootstrap mode.

commit b5c4e503de95f40c7c2d3907783e376401a96d9c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Mar 3 11:02:38 2017 +0100

    Bug#25664323 SIGNED INTEGER OVERFLOW: 361810122 * 10 CANNOT BE REPRESENTED IN TYPE 'INT'
    
    Disable the test in UBSAN for the time being.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over IM.

commit 7033f760e92b753384f43f3690171e077f7f160b
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Fri Mar 3 09:35:32 2017 +0100

    Bug#24947436 UPGRADE RAPIDJSON TO VERSION 1.1.0
    
    Post-push fix: Remove executable bit for various .json-files
    
    Change-Id: I2797b9dfe5a31882a789a5662438b6a34364427a

commit f9707abc460aeff3599ec6997ebfd185df2001c5
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 3 12:40:55 2017 +1100

    Squashed commit of the following:
    
    WL#9499 - InnoDB: Replace MLOG_FILE_NAME with MLOG_FILE_OPEN
    
    Fix the performance issues introduced by WL#7142 and its followup WL#7806.
    
    1. Revert WL#7142 and WL#7806 changes, keep some of the tests to test
       the behaviour that was introduced by the two WLs
    2. Change the tests that rely on the above two WLs behaviour
    3. Use std::unordered_map instead of the homebrew hash table for the recovery
       code and space ID to name mapping
    4. Split the redo log hash table key from <space, page> -> apply records to
       <space> -> apply records
    5. Addition of two new system files (tablespaces.open.1 and tablespaces.open.2)
    
       - Rename MLOG_FILE_NAME to MLOG_FILE_OPEN
       - Remove the two pass recovery code, make it a single pass
       - Track file open, close and rename
       - Write and fsync the tracking state to disk on checkpoint and rename.
       Uses the files in #5 in a round robin fashion
    
    Introduce --innodb-scan-directories="path1;...pathN". Scan the paths for
    .ibd files to open during recovery. This option can be used if the files in #5
    above are corrupt or missing. You should not use this if you move files around.
    While they can be recovered the data dictionary will not be updated and it
    will cause issues during runtimg.
    
    rb#13686 Approved by Satya and Shaohua
    
    commit af3dc1301a768c01b971d14ad07549d6ef470fe6
    Merge: ac37b926e6a 4d81939d63a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Mar 3 11:16:10 2017 +1100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit ac37b926e6ad85b6c4e3d7880b905d082f1674be
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Mar 2 23:12:24 2017 +1100
    
        WL#9499 - Fix test
    
    commit 2b05df7ffa592da9b19cec7ba31c04795a1cdfc0
    Merge: 3c79f3aee51 71b3bbff153
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Mar 2 20:34:10 2017 +1100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 3c79f3aee51858b1859f4e8711883a85867c417a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Mar 2 18:16:35 2017 +1100
    
        WL#9499 - Add an mtr tst
    
    commit 2c7496246c0e95e25c62ceb6fe5c1875f693ffac
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Mar 2 17:34:50 2017 +1100
    
        WL#9499 Fix bugs
    
        1. Fix a memory leak, call mem_heap_free() instead of mem_heap_empty()
        2. Use a reference instead of copy by value during dblwr traversing
        3. Use absolute path names for tablespace.open.* files
    
    commit fbf87161f3c93979e5abe424fbe0678fdc32159e
    Merge: 517cf3a7bf0 c2b504664ed
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 28 10:39:32 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 517cf3a7bf0490c3168fed020e3096ec500e0a85
    Merge: 4786f93ad8a 5e974fd0ea4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 28 10:24:25 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
        Additional change is to call recv_recovery_from_checkpoint_finish() on abort.
        Instead of recv_sys_free().
    
    commit 4786f93ad8a25506a2a1f6e9d1207256a34b3665
    Merge: 5dc35e05b5f 275245cce32
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 24 10:43:27 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 5dc35e05b5f2da95c36e191350e9c7087be72194
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 24 10:42:40 2017 +0100
    
        WL#9499 Free recv resources on abort
    
    commit bed693070395923ededba736f1c7102b8eb21e95
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 18:34:50 2017 +0100
    
        WL#9499 - Test cannot be run with Valgrind
    
    commit c5d423228ddf58b17866ff8be289dba4a19205d2
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 17:30:39 2017 +0100
    
        WL#9499 - Remove const
    
    commit ac42498506b4dffb22e74282d0ce037fe3acf977
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 17:00:30 2017 +0100
    
        WL#9499 - Clean up code
    
    commit bc48077cab9c3ccb1b2797c365fe0940c269a785
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 16:01:09 2017 +0100
    
        WL#9499 - Revert unrelated change
    
    commit 8b2bb0f6d6254b3cfde168d41356400009db12f4
    Merge: eb9b294ba78 153a79ff35d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 11:43:38 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit eb9b294ba786800f9e397cd87f01c4f4976edddb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 11:29:56 2017 +0100
    
        WL#9499 - Remove debug message
    
    commit abae66ad591854ee67a5013f3209be2f82e4d9bf
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 17:04:10 2017 +0100
    
        WL#9499 - Test only works in debug mode.
    
    commit 71ebea70391ef295bed49ee06a8b872f15ecfe97
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 12:18:08 2017 +0100
    
        WL#9499 - Update to mtr test from Matthias
    
    commit f108a5b92fc476c70c49e4937496b32d9d5d031f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 12:13:04 2017 +0100
    
        WL#9499 - Increment redo log version number
    
    commit 4439c83a4d3edd6e511706ccf9936770ed29e593
    Merge: fa459186b90 05923bef41d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 09:54:18 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit fa459186b90d7a5ddcba7e3c6c7a9871d0dce793
    Merge: 14ac4f81d84 b401f17e70d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 20:02:40 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 14ac4f81d84bec23a7be210504ca0be93619bf11
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 16:44:57 2017 +0100
    
        WL#9499 - Update from Matthias
    
    commit ed3191a9fc951151fd7d758a527e7ab81530b3f0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:16:11 2017 +0100
    
        WL#9499 - Revert change pushed by nmistake
    
    commit 8c0edb998867bf557f6c86410552d6d123892000
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:11:21 2017 +0100
    
        WL#9499 - Don't redo log MLOG_FILE_OPEN until startup is complete
    
    commit 3b503ea1d3f89c0f7e3677d3b56f249c7ebff506
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 11:37:04 2017 +0100
    
        WL#9499 - Add tests
    
    commit 47af7bd6eec10eac55633d7c4cf54afe607f3649
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 11:00:30 2017 +0100
    
        WL#9499 - Fix compile problem
    
    commit a8b9a8c6ccb15e2be5ce5db5fa0bce24b86d2c87
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 20 16:51:05 2017 +0100
    
        WL#9499 Remove dead code
    
    commit b1dba474486ad10b61029b2ef4e6a91ea67dcea8
    Merge: 3cf9e9eb3e8 a4271026201
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 20 16:49:38 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 3cf9e9eb3e86e4c8f4d44cb79d3f7c456ea7d671
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Feb 18 07:53:43 2017 +0530
    
        WL#9499 - Remove suggestion to use force recovery
    
        --innodb-scan-directories is a safer option for the user. Force recovery should
        be the absolute last resort.
    
    commit 4104c4bfd606270650aac95a9a724e106fe835c5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 17 09:00:47 2017 +0530
    
        WL#9499 - Fix error message
    
        User can try --innodb-scan-directories="..." if the tablespaces.open.* files
        are corrupt or unreadable.
    
    commit 19ab12e54923b070a0b4ffc76b9fe97ac54ad3cc
    Merge: 50b3a95e446 f0f51c410bd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 17 05:22:57 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
        Replace readdir_r() with readdir(), compiler complains that readdir_r() is
        deprecated and recommends replacing it with readdir().
    
    commit 50b3a95e446b91853fc35716b63bdc173221d01f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:55:33 2017 +0530
    
        WL#9499 - Fix test
    
    commit 45d202ae0fa35aa3aced55cc1933aeefa33837de
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:32:56 2017 +0530
    
        WL#9499 - Remove redundant test
    
    commit 48fe691b97735e5144e9d439a0adbf721b2dc554
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:18:11 2017 +0530
    
        WL#9499 - Add DEBUG sync points
    
    commit d986f4e04a9eb6c2c76d61cd4afe9541d77b34bd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:03:50 2017 +0530
    
        WL#9499 - Remove PB2 control file
    
    commit 5af7dca9c305bd366ad2b5c3de26a870e913af4a
    Merge: 74022f50a5f 23a0e71aa3d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 15 09:05:05 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 74022f50a5ff7cb2801c0712601f8a467b409a28
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 14 10:31:00 2017 +0530
    
        WL#9499 - Fix test
    
    commit f6188175ee62040ac6a844a5c54787839dff6155
    Merge: 24c867aab14 19ca7c6a5d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 13 12:37:22 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 24c867aab14556188503aac495f60d89ba3d26ec
    Merge: cb64b8c7f9f a4de6ab549e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Feb 4 06:41:23 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit cb64b8c7f9fa9ca05033a9d6f6193cf141746310
    Merge: 17c6c41da0a 88dbc4f4511
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 19:48:12 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 17c6c41da0afe3fc78843b75fa02578dab29a0ca
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 19:46:34 2017 +0530
    
        WL#9499 - Add a test for scan directories.
    
        The use case is where the location of the files is not changed but the
        tablespaces.open.* files are missing.
    
    commit 79cc52f1bd82dc65932eacbc9aa14a47e4196572
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 18:01:50 2017 +0530
    
        WL#9499 - If open fails space will be null.
    
    commit 22ea5f31ecc1fa0db8abd57d4a46578e5f891c9a
    Merge: f5b69930f95 853a52cf5a1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 12:14:41 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f5b69930f95192ddfdb3ca170024a5c7e3416076
    Merge: 40a4c32f2c4 b18872ed4a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 2 13:54:24 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 40a4c32f2c42b584539a14cbc1ba0d4f0fe7d3c9
    Merge: b1d1923d37c d071c0e7a0b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 1 13:48:33 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit b1d1923d37c3d23a9f701a61b458b7e4cbd3c90c
    Merge: 2fc6c51edab 4ae71705a01
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 31 10:44:59 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 2fc6c51edabc3de4537eceb0b82cd62063ada3a9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 16:36:46 2017 +0530
    
        WL#9499 - Empty the tablespace.open.* files on normal shutdown.
    
    commit 738acb7d554f97455c8dba512282c7c2e6ba9f3a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 12:47:21 2017 +0530
    
        WL#9499 - Fix formatting
    
    commit 28f8579a6f729af354e0c50098d16fbfa17cc253
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 12:25:30 2017 +0530
    
        WL#9499 - Bug fix
    
        The DELETED state was set on a copy of the data structure
    
    commit dd5bf8ea81b7023fa1980c01d89219a690160b04
    Merge: 7eeab0a994d 9c7808e1054
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 21:14:22 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7eeab0a994db4cf0c2e080f27ff916c778ec65f8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 20:50:59 2017 +0530
    
        WL#9499 - Add tests.
    
    commit ddfaf047f43587ee807599b0b80b6d01a3579e8c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 20:48:06 2017 +0530
    
        WL#9499 - Create tablespace bug fix
    
        If there is a checkpoint after the create tablespace is logged and the
        server crashes after writing the page initialization to the redo log. Then
        we neither have the mapping in the redo log nor in the tablespace.open.*
        files. We must update the tablespace mapping before writing the CREATE
        redo log entry so that the state is written out to disk on checkpoint.
    
    commit 29546d3ebea2991e5b86b33edddb551c924bf1db
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 17:55:28 2017 +0530
    
        WL#9499 - Remove dead code from WL#7142
    
    commit eced7a3e4437ee4bb24a12290f561437ddb15611
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 14:51:09 2017 +0530
    
        WL#9499 - Use the tablespace.open.* files in a round robin fashion.
    
    commit d8eff788eea1ad5e6c7786b9d64963524f2b2c81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 13:56:12 2017 +0530
    
        WL#9499 - Fix duplicate entry
    
    commit 1d04e0cf0308c35ee7498e6919eab9a11c699d52
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 13:55:30 2017 +0530
    
        WL#9499 - Revert last push
    
    commit 8361d3c39366d6435a895d5b64dd23615d26fc28
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Jan 26 09:05:52 2017 +0530
    
        WL#9499 - Write to the tablespace.open.* files in a round robin manner.
    
    commit 3eaba629ee5b5c26a5f4e80852fee2d446f3013f
    Merge: 6642c43d735 bdc49070128
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Jan 25 14:03:15 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 6642c43d7353063a455972ab2cbc21220c16be43
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 08:34:35 2017 +0530
    
        WL#9499 - Rename fil_ibd_load to fil_ibd_open_for_recovery.
    
    commit fdd1897c79b29c9e0a69c1f81d94927da06d9424
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 06:28:49 2017 +0530
    
        WL#9499 - Enforce const semantics on Windows for Folder::exists().
    
    commit 9394f4653e10cc5d4ab9b7b0a0b9331fd2666f49
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 06:08:26 2017 +0530
    
        WL#9499 - Include <array>
    
    commit c1903d28800ae0f7af69552aa669622d552346b4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Jan 21 07:49:28 2017 +0530
    
        WL#9499 - Improve scan directory handling
    
        1. Convert relative paths to absolute paths
        2. Filter out duplicates
        3. Check directories at filtering stage
    
    commit dfea237f4bef914de4067153cbf382240112c4f4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 20 11:11:05 2017 +0530
    
        WL#9499 - Code clean up
    
    commit c4d51bfdf1c786b1c584c0af1bde080a4f37cc5b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 20 07:37:06 2017 +0530
    
        WL#9499 - Update the open/rename LSN when a file is opened or renamed.
    
        Minor code cleanup.
        Add diagnostic code for debugging.
    
    commit 5e1d159b571fe6dbfe13c627a245155b82c4bbfa
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Jan 18 10:59:54 2017 +0530
    
        WL#9499 - Filter out '*' from innodb-scan-directories
    
    commit 361f2944f1940f11dfb16dec3589d68335f5e2d8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 21:01:06 2017 +0530
    
        WL#9499 - Code cleanup
    
    commit 288d70b356721887423ca3d2d72b42da331216cd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 13:08:08 2017 +0530
    
        WL#9499 - Sync open file map to disk before checkpoint.
    
    commit 3c602d1b4089cd262200650f4b33986fc9e26531
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 09:18:46 2017 +0530
    
        WL#9499 - Print expected bytes instead of generic message.
    
    commit f52e0985b8cbef3891385179d35dc8c7f567146a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 09:07:47 2017 +0530
    
        WL#9499 - Print file size instead of generic message.
    
    commit b27b1b4b4b70e286e2c669f997b0a669f6d6034c
    Merge: bbdd1c46f1e c101ec9b557
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 16 13:19:42 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit bbdd1c46f1ef08d956ea249e1f6f4bc93d3464f1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Dec 10 14:41:12 2016 +0530
    
        WL#9499 - Handle the case where the rename has already been done on recovery.
    
    commit 141bdb02b1a402e786db5d8b165b781a5d7370a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Dec 9 11:59:29 2016 +0530
    
        WL#9499 - Instrumentation for debugging
    
    commit 34815bb24a1c296d9739e7602dc6ccd53c58c44c
    Merge: 41ca3732a6f 13a46b4c5ea
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Dec 9 09:44:03 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 41ca3732a6ffd8dfa16762a05df6b5c6b4b550c1
    Merge: 7137edb2d2c aba34f1205d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Dec 8 11:10:08 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7137edb2d2ca60cdec44600ddf3f5cbde424e7a4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Dec 8 05:56:06 2016 +0530
    
        WL#9499 - Remove unused code. Move id to name mapping sync before log flush.
    
    commit 2a50067e2da2f7819781de6550e55ca14995c7ff
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:57:41 2016 +0530
    
        WL#9499 - Initialize the PFS file handle
    
    commit d478d3492cdb40ec02fda9c043bf29b87bae11ed
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:05:52 2016 +0530
    
        WL#9499 - Fix whitespace
    
    commit 061af748a5e2fde6c1577ccdabfc8a89a9f753de
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:02:25 2016 +0530
    
        WL#9499 - Set must flush on file close/delete.
    
    commit ad76e2b9c7ff757f60c66821e86696d5ab757b18
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 11:43:00 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 5a95946d4567dc13cf5a12d6bcdb28b19a02b5bc
    Merge: 1a0f373eb7f da23d6b8e44
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 09:27:45 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 1a0f373eb7f03dc22264f91f3f6ed1fd13825de7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Dec 6 13:01:41 2016 +0530
    
        WL#9499 - Readd test result file back
    
    commit 00afde093183cf850f735940245af111dce82b72
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Dec 6 12:59:49 2016 +0530
    
        WL#9499 - Don't purge the files based on LWM. It won't work.
    
        We need to also ensure that there aren't any pages in the buffer pool that
        belong to a tablespace that is closed. Redo log records can be written for
        such pages.
    
    commit 3199fe255103daa42f0332b7ff9d565eefff7429
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 06:41:39 2016 +0530
    
        WL#9499 - Fix typo
    
    commit 351cb6c42709405a79021276f310d7b996aadd1b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 06:32:02 2016 +0530
    
        WL#9499 - Remove unused function
    
    commit 61cc7f6b06c5280d58217b76d7627013ddcd8338
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 04:22:31 2016 +0530
    
        WL#9499 - Reduce the compression level.
    
    commit 48142e360ff5cfb53d5e416f3d6b92e956237923
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 04:21:51 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 4de4f8b31ebdff31a2f7a97a1ad211770d20cdd6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 14:07:07 2016 +0530
    
        WL#9499 - Revert ef30f0754ab22e614ac22712c348ec5f53e0f09c
    
    commit c2f77f44c43c209fad86bba568aa521a2dcbf718
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 12:20:37 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 5fccb51769a13cb9a1fc0f29a832d3b0085ad52a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 10:30:18 2016 +0530
    
        WL#9499 - Print a message when checkpoint is disabled.
    
    commit ef30f0754ab22e614ac22712c348ec5f53e0f09c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 10:17:27 2016 +0530
    
        WL#9499 - Print progress in 10% units.
    
    commit bc0ded332624fa2c8a08ebfc955a03f1a24e069c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 08:13:54 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 68ce0208cc073452f5f791faf304971dbac7194a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 07:38:03 2016 +0530
    
        WL#9499 - Scan directories after the mutex code is initialized.
    
    commit 21e07c8fd6b8eddf158fb79980443f6c9f6d238e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 07:12:23 2016 +0530
    
        WL#9499 - Introduce --innodb-checkpoint-disabled (debug)
    
        Disable checkpointing if the variable is set. This is to force recovery if the
        server is killed during a test.
    
    commit 7033c9bb5ff7641764f70823a73d747b497a0eed
    Merge: 11a6e582417 c6af7f512b6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 04:00:39 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 11a6e582417d45a80a7f19233c2d2191a17936eb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 03:59:05 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 0a38252e65d607b59b1e9f64d0c8003cdecfecfd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 25 05:56:42 2016 +0530
    
        WL#9499 - Code clean up
    
    commit bcf650cc92b8636f3768dcc3deb33b90b2942134
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 24 08:46:07 2016 +0530
    
        WL#9499 - Change the open files number back to 2.
    
    commit 99960af2825529fb45d021a34ba6c072e8caa0dc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 24 07:13:58 2016 +0530
    
        WL#9499 - Code clean up
    
    commit bdb91bc0ba03e01661c50c7175d3fd123d2bcd69
    Merge: 61f3e4a5663 a545bdd6e31
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 14:04:40 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 61f3e4a5663c375cd44ee766b263281ff7f0601b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 14:00:20 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 072ab837d0acb4d2ed817110598554acc44ec344
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 12:06:53 2016 +0530
    
        WL#9499 - Set the IMPORT page LSN to the flushed to disk LSN
    
    commit 7f18661432f3645eb9ce76680c62508ced115fa9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 11:28:47 2016 +0530
    
        WL#9499 - Force a checkpoint before the crash
    
    commit 83671e9c37fa61adfa5546cabe1463a91ff02241
    Merge: cc26d5ae16e d1f811eb6e8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 10:52:16 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit cc26d5ae16e8d723a2519f38bfbc084c13a766c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 18:40:51 2016 +0530
    
        WL#9499 - Fix latch ordering issue
    
        Cannot hold the log sys mutex when updating the checkpoint LSN for the open
        files in fil0fil.cc.
    
    commit 4474509addfbdf91b9f0ad890a971299c594e738
    Merge: 396755e195c 0856b10cde5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 08:00:05 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 396755e195c1c8d3b2485a58175dcf56ca2cbf3f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 07:58:05 2016 +0530
    
        WL#9499 - Remove newline added earlier
    
    commit ab5e60ba491e52f1529c22551a936d771b8b5ef9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 07:57:21 2016 +0530
    
        WL#9499 - Revert a change that was added by mistake.
    
    commit 38688417713e5ef8cbb65032fa0a547ab0c25c15
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 3 20:44:50 2016 +0530
    
        WL#9499 - Bug fix, using an invalidated iterator.
    
    commit 4082d44f6dc4a5605562e37ccad9ac4db69344c6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 3 11:30:49 2016 +0530
    
        WL#9499 - Fix doxygen comment
    
    commit d5ca99e14c010a5349aea6c8cc39493b2073b9c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 15:30:12 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit a25f3af10ea2893c634dc961d6f2af05efa103ec
    Merge: c8c2a7eba4c aa039b73223
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 12:52:51 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit c8c2a7eba4cac29ff431588daf2d6def0c0ee5a6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 12:39:32 2016 +0530
    
        WL#9499 - Fix problem with open files acrosss checkpoints.
    
        The problem is that we write the open file state before writing the checkpoint.
        Before this change the closed files were purged from the open state map and
        the state written to disk. The problem is that the state and mapping of a file
        opened before the last checkpoint but closed just before we write the state
        will not be in the mapping on disk. One solution is to check older files and
        retrieve the mapping from there. The solution chosen is to avoid purging
        files based on open LSN. If the file was opened before the last checkpoint
        and closed within the current checkpoint we note the state as CLOSED but
        write the mapping to disk. It will be purged at the next checkpoint, if it is
        not opened again in the meantime.
    
        Previously an attempt was made to open all files straight after reading the
        mapping from disk. With this change only the state is loaded into memory the
        files are opened on demand. Added a check to verify that the tablespace ID
        from the first page matches the expected value.
    
        Fixed tests to use this new tablespace ID verification.
    
    commit 5dc929e54b1c259f0f8104739ae1f88e9b860f73
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 12:24:40 2016 +0530
    
        WL#9499 - Remove unused code
    
    commit 528b95d70dcc05a69a98ee2a76fdfb8dae1e82fe
    Merge: d9861c40964 75f05cba753
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:14:40 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit d9861c40964ad8fd45ee2cbbd9d94946110e8a9a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:04:49 2016 +0530
    
        WL#9499 - Remove last vestiges of MLOG_CHECKPOINT
    
    commit 3007ea5af68f40b85bc93098d8385ac96bcbd660
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:04:49 2016 +0530
    
        WL#9499 - Remove last vestiges of MLOG_CHECKPOINT
    
    commit 9592996d2f17c9005262faa75dc1ade9dedbd511
    Merge: da512d5591b ac925fc91f6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Oct 19 10:34:48 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit da512d5591b3379b793d6155089e90791fe94c61
    Merge: f42e2ddd7d5 e635dfe28c0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Sep 30 05:20:10 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f42e2ddd7d50aacae679babe71643af379b5c492
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 22 15:05:28 2016 +0530
    
        WL#9499 - Fix assertion, the values can be ORred.
    
    commit 94cd08960bc3801acefd4b4ff4ddb4a3e7d7e81a
    Merge: 32a68f91330 59af373321b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 22 11:05:21 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 32a68f9133011871bfdaba3c742f6239e0a53061
    Merge: 7857f38ebce 15555ae2165
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 21 11:23:32 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7857f38ebce747135e055bc8a232b649f1aad351
    Merge: 427491f63f1 b43bf88cf80
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 19 11:43:17 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 427491f63f107247c36796e66f6224d20968f104
    Merge: e7fa4c53dcf 23343687722
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 14 22:40:47 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit e7fa4c53dcf01ea0e101bd8aa817698492995034
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 19:22:00 2016 +0530
    
        WL#9499 - max_lsn should work with any number of tablespace open files.
    
    commit 09775960da43d36ca64504c1298b9adff3056575
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 17:47:29 2016 +0530
    
        WL#9499 - Fix Names hash bug.
    
    commit 8430c5b34d23cb1774597707fe583dfac93fb3a8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 09:49:47 2016 +0530
    
        WL#9499 - Use std::unordered_map for name to fil_space_t* hash.
    
    commit 5e8275caf9d50dc9ba2f2dadd3b8c0fdeb9c79b6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Sep 10 07:55:42 2016 +0530
    
        WL#9499 - Reduce an extra fil_sys_t::mutex call by consolidating flush request.
    
    commit b29fd1039cf0022cff36a2a2311f464f1f6dbcc5
    Merge: 6235ee4902a a150caebee6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Sep 9 20:44:56 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 6235ee4902addd1a041b33469988bb1ea870dc7a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 8 10:58:00 2016 +0530
    
        WL#9499 - Add debug crash points.
    
    commit bf71fbc72b3570f55c8f01dd1a440e9eff761cb6
    Merge: ce6d2246a94 d25f38e38d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 8 09:47:37 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit ce6d2246a94801041da0bfece74b5ffdd9e8f796
    Merge: 69adae163de f28c4b9a41e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 7 11:20:50 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 69adae163de295ef0e910752cf5f8c96b1c1114f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 22:33:29 2016 +0530
    
        WL#9499 - Ensure that the MLOG_FILE_OPEN is always written first to the redo
    
    commit 20d5b1ebe6c899e2a0a1d135ad4303490516ce26
    Merge: 2d7d25c145f 4f1fb936211
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 22:17:58 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 2d7d25c145fae59af744e91fce47fe009c869dad
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 10:06:56 2016 +0530
    
        WL#9499 - Add PFS instrumentation for the tablespace open file.
    
    commit 4e14a53ad129c1adcb0a3330931878a9f24c15cc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 08:53:57 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit a465361e74136662471d2b9c0f307799efbe7269
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 08:17:43 2016 +0530
    
        WL#9499 - Move the file write code to a separate method.
    
    commit 7a26ba28bf7bf94808c47cfcdb6210c4abde2587
    Merge: f49914e5e61 ed389829067
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 07:55:25 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f49914e5e61b846c45f7b177308cd891918619e4
    Merge: a4fab040243 16fd507b84a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 31 11:23:42 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit a4fab040243a57fb8ef55f91812604352d8b92c8
    Merge: 93019973329 dfee02dc4f5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 30 10:42:20 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 9301997332923921b93de4946c4824164723050c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 30 09:09:05 2016 +0530
    
        WL#9499 - OSX/Solaris compilers don't like the code.
    
    commit 54afa110837a054de24ccda84ddbb4ef2d0b96a1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 22:55:19 2016 +0530
    
        WL#9499 - During recovery PFS instrumentation can't be accessed by the user.
    
    commit fa5c11e8cf0fbcd1852535faa74b1a04200df2e8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:15:07 2016 +0530
    
        WL#9499 - Fil_Open::purge() can be called during recovery too
    
    commit d8672a978d62db42f1a12ba152693a3c0d244d83
    Merge: d4251d0ed6f 14d2a977ce8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:10:32 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit d4251d0ed6f9df5a3acbf97ce7ba8074f126044c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:07:14 2016 +0530
    
        WL#9499 - Remove a WL#7806 test.
    
        The test doesn't really help. It uses very simplistic checks for matching
        path names. It ignores links (soft and hard) completely. Besides during
        recovery the path names will work with the original path names.
    
    commit fba6656350d0a757b2cc936b017329e7f7ce2d32
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:51:53 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit b522d665d10dca905420cb9119692dffac5024c9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:20:30 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 3a9aca50a2e193398d626b5f75d238b5aa704e81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:19:39 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 5923cd73fc3af904220dea20b033ffcbb7892606
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:12:44 2016 +0530
    
        WL#9499 - Use custom allocators.
    
    commit 8c5acab2641cedae9542b9ad9405032abbcb4618
    Merge: 1509c43fcff 3c1319b9901
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 08:21:28 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 1509c43fcffb9a849542ef8f3a62e66fda490fc7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 08:08:34 2016 +0530
    
        WL#9499 - Fix bug, should be decrement in_use, not increment.
    
    commit 0ad783d5e6e3f99817c8b839fe8521f783577d35
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 07:58:49 2016 +0530
    
        WL#9499 - Change fil_node_t::in_use into a reference counter from bool.
    
    commit 3974f1ed40bfbadcee04fa5fc2e60a50b89f930c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 22:10:24 2016 +0530
    
        WL#9499 - Remove an assertion that is no longer an invariant.
    
    commit d79f12dec7c07698f02ce2e0d0396bcd01bdc683
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 21:52:21 2016 +0530
    
        WL#9499 - Rename fil_node_t::being_extended to in_use. Fix test.
    
    commit 1d3368bcf60e2e339d5917251b51201b94dd63a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:57:38 2016 +0530
    
        WL#9499 - Fix log info messages during recovery/apply.
    
    commit d3811bd67248d3ae014f0e6475b1b49524f5c35b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:40:01 2016 +0530
    
        WL#9499 - Don't print % processed if number of records to apply is small.
    
    commit 55af670ff81170da51fbcae6832c3d6191176602
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:21:31 2016 +0530
    
        WL#9499 - Update test with new log message to check.
    
    commit 60c3d6c074ae230ab594015ed2f99e2eefcf97e0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:09:04 2016 +0530
    
        WL#9499 - Record test, because of new config parameter innodb_scan_directories.
    
    commit bd79ff06406c86758a29a28dbe5e7d494a0aa51f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:05:38 2016 +0530
    
        WL#9499 - Remove WL#7142 artefact.
    
    commit bcb753b72b2a01ba35d952cbab45e420929f2b33
    Merge: e30834ecc60 27d64e974ec
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:26:25 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit e30834ecc60522fca8d7b156a66c0765867dea6e
    Author: Sunny Bains <Sunny.Bains@Oracle.Com>
    Date:   Thu Aug 25 05:54:26 2016 +0200
    
        WL#9499 - Destroy the mutex in the Fil_Open destructor.
    
    commit a396d4714bdc46626e07d22b6871be153b627bd3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:17:06 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 282ad76aaeaeb6d91bbf81fcd3315f455d9f572c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:12:33 2016 +0530
    
        WL#9499 - Protect changes to Fil_Open state with a mutex.
    
    commit d338cb9468c126ee7e3eeae3bf37b0fc966bbf53
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 07:37:49 2016 +0530
    
        WL#9499 - Fix division by zero.
    
    commit 845324f19ba0a84538b87c072f6d99514533aa25
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 00:28:45 2016 +0530
    
        WL#9499 - Check for UNDO tablespace names during directory scan.
    
    commit 30ed1d19389e174605fdfc0b7d55fdf544933712
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 00:26:08 2016 +0530
    
        WL#9499 - Conform to new naming guidelines.
    
    commit 4cf67b352d4c8131064f832ec884db6166d50e71
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 22:04:43 2016 +0530
    
        WL#9499 - Add test for the configuration variable. Add a version number to the file.
    
    commit ad9c5bca0eba1d7bf8e29cd8ebd7062aae089f90
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 21:01:56 2016 +0530
    
        WL#9499 - Code clean up
    
    commit a9e848158909645ead86759ed7ab64789d18a0cb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 15:26:02 2016 +0530
    
        WL#9499 - Print redo apply progress per tablespace
    
    commit 8cf86cf1567cabc1b03b2e8f2ec1167f3c38ce6c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 13:04:55 2016 +0530
    
        WL#9499 - Print tablespace name and % completed per tablespace
    
    commit 35ccdf32d1d048400012a80422072fb41ceb1bbd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 10:35:26 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit c978fb2e18a4e0b4a93b44fc3c75234bcdb3f1f0
    Merge: 8bde4aeb01c 0832bf660e3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 22:25:57 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 8bde4aeb01c3bcdecfb884e566f0ae28797a5b36
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 13:21:10 2016 +0530
    
        WL#9499 - Fix Windows build issue
    
    commit 7f502be746cbe0de1a0c3a992217691b167c2fa9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 12:12:08 2016 +0530
    
        WL#9499 - Fix Windows build issue
    
    commit 247bcfda6744a67cc4e53d61658ca87d206b0660
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 10:57:44 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 04509641b086a1b0b2c591573f95957f8a2f1cd0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 10:50:55 2016 +0530
    
        WL#9499 - Pass the filename directly to the callback
    
    commit 3efa317825886a3ae5d4a3c771fc0770a2c5a3ff
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 09:39:18 2016 +0530
    
        WL#9499 - Include tchar.h on Windows
    
    commit 55b814d2c2ebdea7c16a6d87a7251ca3f6e83775
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 07:47:39 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit e4d203688273b562691c912cb9c7024709757490
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 22:02:02 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 31433b21dcabba0a7705eb8b1879beb1d8c36517
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 21:37:41 2016 +0530
    
        WL#9499 - Move Dir_Walker::walk implementation to os0file.cc
    
    commit 11f9016477274c5420782e365b26762067e7b99b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 18:42:28 2016 +0530
    
        WL#9499 - Fix Windows version of Dir_Walk.
    
    commit f32b88e0b1ef99f220165897db745b1dba12f86b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 13:48:03 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit b91ad88d96942f1e05443001b7d1c2f6818ff6d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 14:32:25 2016 +0530
    
        WL#9499 - Initialize active ID to filename set from scanned set.
    
    commit 4a09f677ae7095aac9b07f7beccba8e60c50b065
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 13:09:05 2016 +0530
    
        WL#9499 Scan specified directories to build the ID to name mapping.
    
    commit c13b791497e322e6a5cf64ba85da52ee2cf05d45
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 10:46:53 2016 +0530
    
        WL#9499 - Fix check for incomplete read.
    
    commit 8a849e0288309cec7228612a62fc2bfd71b595e9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 10:45:04 2016 +0530
    
        WL#9499 - Fix Windows build errors
    
    commit 4fc24b654da26e8411fc45bc96f73ff70dc73e43
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 09:12:12 2016 +0530
    
        WL#9499 - Need to include string for Windows std::wstring.
    
    commit bcb5c2b23f54776e0faaafba2472bb2555aee561
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 09:02:59 2016 +0530
    
        WL#9499 - On POSIX fopen() mode should be "w+b".
    
    commit b3c7def1931867633d9b8bb601317e99a06c31a9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 21:23:57 2016 +0530
    
        WL#9499 - Open file in binary mode for writing.
    
        Otherwise on Windows newline (0x0A) is translated to CRLF (0x0D0A).
    
    commit 0739399cb8a384c07b4b3540b73ade482d083f4a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 20:27:11 2016 +0530
    
        WL#9499 - More error messages during mapping file read. Add a directory walker.
    
    commit 1322de0af2235bc94630f7cb22e4ead1588775ee
    Merge: f266b100e2f 8fdbb2f5f1a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 13:47:39 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f266b100e2f23e775e5e04de8d26301d7f2f1072
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 13:18:07 2016 +0530
    
        WL#9499 - Flush the tablespace to mapping file buffers before fsync()
    
    commit 7c92536686033c2c70e7df831d569c1cd6f871f0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:32:26 2016 +0530
    
        WL#9499 - Remove unused member variable m_lsn.
    
    commit 994c4766ef712e7da668788d0bdd648cbd764982
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:25:05 2016 +0530
    
        WL#9499 - Don't crash on uncompress failure. Try the next file if any.
    
    commit a419a190cdf734e3beca08d339c6c0d307ddff5f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:21:49 2016 +0530
    
        WL#9499 - Print an error code on uncopress failure
    
    commit 77cb39000e098ba4d06873723423521e6889a7d0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:12:11 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit afc632e0ef768542a96d4d15a897cb1780825d2e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 11:34:44 2016 +0530
    
        WL#9499 - Compress the tablespace open state file.
    
    commit 568c9e758084f671007789f7b5d1c996f5df39a0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 09:12:39 2016 +0530
    
        WL#9499 - Free the buffer on return
    
    commit 0f468cf8e50b9605a9e6c4e93c818b0f876c3c29
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 08:42:38 2016 +0530
    
        WL#9499 - Remove protobuf
    
    commit e789eb175d2da90cee2d46e30b91e623546f9e96
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 18 09:59:37 2016 +0530
    
        WL#9499 - Get native HANDLE
    
    commit 6014c5853c09fee75256f9de6a86a5fc0ea18508
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 14:50:37 2016 +0530
    
        WL#9499 - Use _fileno() on Windows
    
    commit 61e6b4d7c033d48b775b22c4ad6d6b4858cd4cd7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 14:37:01 2016 +0530
    
        WL#9499 - Use buffered IO for open state file writes
    
    commit 98f40b10c15e49d9a5e14689cdb34758bdf85a05
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 12:36:06 2016 +0530
    
        WL#9499 - Don't complain about corrupted encrypted pages during dblwr recovery
    
    commit c674939cbdeaa4a9996960de0fa4e74954ad6f76
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 09:21:06 2016 +0530
    
        WL#9499 - Protobuf internal code doesn't compile on Solaris/SPARC.
    
        Workaround is to set -Wno-unused-but-set-parameter for generated sources too.
    
    commit ff68ba26aeaa27070ceeaa8db4472a9ce4daa3c9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 08:33:03 2016 +0530
    
        WL#9499 - Protobuf internal code doesn't compile on Solaris/SPARC.
    
        Workaround is to set -Wno-unused-but-set-parameter for fil/fil0fil.cc
    
    commit 445985ca11810c528567a4222cad4a7f0ce49e81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 19:44:29 2016 +0530
    
        WL#9499 - Read/Write open state files using absolute paths
    
    commit b4d91d3799d94eb2677be6512752ec27dfa5e0f1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 14:37:40 2016 +0530
    
        WL#9499 - Fix doxygen errors
    
    commit 8be2de3b3077c0d0f26340c9c80f7ae2247eefbc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 11:20:24 2016 +0530
    
        WL#9499 - Record test, MLOG_FILE_NAME doesn't exist anymore
    
    commit 54e64dc4a97f5bf4b5606cea1841dfc1f04fe536
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 10:41:01 2016 +0530
    
        WL#9499 - Add protobuf library to the embedded library.
    
    commit 83b0fb38283e285e1e963dd2c7c144d70b130338
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 21:17:13 2016 +0530
    
        WL#9499 - Improved DBLWR and System table checks and code cleanup
    
        1. Remove dead code
        2. If some pages from the dblwr buffer were not recovered during recovery
           because of a missing tablespace id -> name mapping. Check the tablespace
           ID against the Tablespaces meta-data after recovery.
        3. Track open of the system tablespace. Check if the name of any file
           has changed. We don't rename the system tablespace.
    
    commit 5ebfba1e083f6a1d2b70946b91a02d32733c7e87
    Merge: 7a1b724c04b 0c27bf6fc44
    Author: Sunny Bains <Sunny.Bains@Oracle.Com>
    Date:   Mon Aug 15 11:40:07 2016 +0200
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7a1b724c04bf9d2e4aba0e58fb95dc8fc75d55c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 15:07:47 2016 +0530
    
        WL#9499 - Free deferred page memory
    
    commit 4de5d3b03670e4d2e8ebce89e8b3f104968eb3e1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 11:45:25 2016 +0530
    
        WL#9499 - Remove unrelated changes
    
    commit c9e83914232480501b139c36ef616798a2ac1d05
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 11:28:19 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 6ecdb21d63ef6dd5a6aff997720178ff6510f0d5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 13 14:31:52 2016 +0530
    
        WL#9499 - Don't exit if no open state files found

commit 4d81939d63a1349618ba03fd723859abbee28a20
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Mar 2 12:18:51 2017 +0000

    WL#9556 Writeset-based MTS dependency tracking on master
    
    UBSAN was complaining about a possible “static initialization order
    fiasco” between:
    
    in sys_vars.cc:
    - static PolyLock_mutex PLock_log(mysql_bin_log.get_log_lock());
    in binlog.cc:
    - MYSQL_BIN_LOG mysql_bin_log(&sync_binlog_period, WRITE_CACHE);
    
    The fix creates a new PolyLock type to handle only the mysql_bin_log
    LOCK_log.

commit 03b4c2596305c60ee7bbf6aff578f9c9ef297de2
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue Feb 7 10:12:47 2017 +0000

    WL#7374 Performance schema tables to monitor replication lags and queue
    
    This worklog implements the monitoring of replication lags using the
    replication P_S tables.
    The new monitoring information added consists of the GTID, the original
    and the immediate commit timestamps of the transaction that is currently
    being processed (plus the corresponding start processing timestamp) and
    of the last to be processed (plus the corresponding start and end
    processing timestamps) in each of these three tables:
    - performance_schema.replication_connection status
    - performance_schema.replication_applier_status_by_coordinator
    - performance_schema.replication_applier_status_by_worker
    
    All timestamp fields in these three tables have microseconds precision,
    including last_error_timestamp and last_heartbeat_timestamp.
    The field 'last_seen_transaction' in table
    performance_schema.replication_applier_status_by_worker was replaced by
    'applying_transaction' and 'last_applied_transaction'.

commit 759af8f9b4d9e6e7bb511bedfbcd6bc8076585cd
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Thu Mar 2 20:23:02 2017 +0530

    WL#8599: Reduce contention in IO and SQL threads
    
    Post push fix to fix sporadic failue of rpl_line_topology_block_receiver.test

commit 19b71ea49fa5e64e88cf21e64058b331ae8f5c55
Author: Vitor Oliveira <vitor.s.p.oliveira@oracle.com>
Date:   Thu Mar 2 15:38:34 2017 +0100

    WL#9556 - Writeset-based MTS dependency tracking on master
    
    Post-push fix: Skip rpl_binlog_transaction_dependency_tracking_with_filters
    test when MTS is enabled.

commit 30c54897d32c353ebf1aad8b5ff9adae5b96bfbe
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 2 13:10:52 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #10
    
    To repeat:
    ./mtr --charset-for-testdb=utf8mb4 --defaults-file=include/utf8mb4_my.cnf
    
    ctype_collate
    explain_json_all
    explain_json_none
    func_bitwise_ops
    func_compress
    func_like
    innodb_pk_extension_off
    innodb_pk_extension_on
    insert_select
    select_found
    select_safe
    subquery_mat
    subquery_mat_all
    subquery_mat_none
    
    Change-Id: Ic4d6491daea4e87157ea9373394462174b70b566

commit 34da00c23bcc22591beb743eec5808461b54dd3b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Feb 28 15:21:46 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #9
    
    Also: Some tests failed in debug mode due to some DBUG_PRINT in the
    range optimizer.
    Fix: check _db_enabled_() before doing any tree traversal
    
    To repeat:
    ./mtr --charset-for-testdb=utf8mb4 --defaults-file=include/utf8mb4_my.cnf
    
    locking_part
    
    innodb_icp
    innodb_icp_all
    innodb_icp_none
    myisam_icp
    myisam_icp_all
    myisam_icp_none
    
    optimizer_bug12837084
    
    subselect_innodb.test
    
    select_all
    select_all_bka
    select_all_bka_nixbnl
    select_icp_mrr
    select_icp_mrr_bka
    select_icp_mrr_bka_nixbnl
    select_none
    select_none_bka
    select_none_bka_nixbnl
    
    Change-Id: I480fac2801e4135aa6d06c9ee8eb86d3f1f935d8

commit ddfaebcdb548a3621b84ace8b7baef20fa4730ff
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 2 12:34:14 2017 +0100

    WL#9271: Mysqlx authentication of users using SHA256-auth-plugin
    
    Post-push fix: Fix Clang build warnings due to inconsistent
    usage of the "override" keyword.

commit 520400b4ef5c54df65417af124bbc2c736c27a06
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Feb 8 17:00:03 2017 +0100

    WL#9271: Mysqlx authentication of users using SHA256-auth-plugin
    
    X Plugin has implemented two types of authentication: "plain" and
    "mysql41". Both types use 'mysql_native_password' plugin entries in
    `mysql`.`user` table (MySQL Server account types). This worklog is about
    supporting MySQL Server accounts that use 'sha256_password' plugin.
    
    Approved-by: Mohit Joshi <mohit.joshi@oracle.com>

commit 276cb3718526bf09dfa38ccc6722573d8c1731dc
Merge: 7ff558f 2409846
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Mar 2 15:32:16 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 24098469fb4d402f93d0a0390d1ff73a37c76ec0
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Mar 2 15:31:34 2017 +0530

    Bug #22963951	REDUCE THE TIME OF LOOKING FOR
    	MLOG_CHECKPOINT DURING CRASH RECOVERY
    - Post-push fix

commit 7ff558f18fc2c8d818540ddf72efd51a576ddfc8
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Mar 1 17:32:12 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #15: Fix -Wunused-parameter warnings in plugins, part 1.

commit 107e378135d1df7844017e1da005ad87096b7bfd
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Mar 2 09:03:10 2017 +0000

    WL#8599: Reduce contention in IO and SQL threads
    
    Post push fix on to add "have_debug" to a test case.

commit 38795b3d9cf81511542197e5bf220e6091698d4a
Merge: 0dece9e 6f909b4
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Thu Mar 2 09:23:40 2017 +0100

    Null-merge from 5.7.

commit 6f909b48b8f324079dd9f2a2813312194d17cff1
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Wed Mar 1 14:29:48 2017 +0100

    Bug#25650399: DOWNGRADE FROM MYSQL 8.0 TO 5.7 WILL CRASH SERVER
    
    MySQL 8.0 adds a generated column to the two tables mysql.server_cost
    and mysql.engine_cost.  MySQL 5.7 fails if system tables contain
    generated columns.  Hence, downgrade to 5.7 will not work when cost
    tables contain generated columns from 8.0.
    
    This patch is for 5.7 and backports fix to read_cost_constants() from
    8.0.  mysql_system_tables_fix.sql is changed to remove columns
    should they exist.  This will make mysql_upgrade, if run during
    downgrade, restore these tables to its original form.
    
    sql/opt_costconstantcache.cc
       In order for resolving of generated column to work correctly when
       opening cost tables, lex_start() must be called.
    
    scripts/mysql_system_tables_fix.sql
       Add SQL code to remove the columns from 8.0 should they exist.
    
    scripts/mysql_system_tables.sql
       Specify only non-default values in insert statements for cost tables.
       This way mysql_upgrade does not give errors if extra columns exist.
    
    mysql-test/t/opt_costmodel_downgrade.test
    mysql-test/r/opt_costmodel_downgrade.result
       Test to verfiy that 5.7 does not crash should generated columns exist in
       cost tables.  Also verifies that running mysql_upgrade will remove
       the columns.

commit 0dece9e8f952164ebc22acd7e3d3e033dbeb95a4
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Mar 2 13:26:33 2017 +0530

    WL#9541 : Move MTR documentation to Doxygen
    
    Move MTR documentation from current infrastructure to Doxygen.
    
    - Added a new section in TOC of existing MySQL source code
      documentation main page. New section added has a subsection
      called "The MySQL Test Framework, Version 2.0" which contains
      MTR documentation.
    
    - mysql-test/mysql-test-run.dox, MTR documentation file.
    
    Reviewed-by: Anitha Gopi <anitha.gopi@oracle.com
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-by: Marc Alff <marc.alff@oracle.com>
    RB: 15460

commit da1ff9ca4c53d3f8c82cc676f03cd7fcfaf15a3b
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu Mar 2 12:30:08 2017 +0530

    WL#9237: Add a new variable binlog_expire_logs_seconds
    
    This worklog adds a system variable binlog_expire_logs_seconds in
    addition to the existing expire_logs_days variable.
    The ultimate requirement is that the user can set expire periods
    smaller than one day by providing another extra variable.
    The new variable binlog_expire_logs_seconds, will be set in those cases
    where the expire period is not a integer multiple of days
    like 1 day 2 hours and 32 minute.
    
    @ sql/binlog.cc
    
      The purge time now also considers the value of
      binlog_expire_logs_seconds.
    
    @ sql/mysqld.h
    
      Declared the new variable binlog_expire_logs_seconds
    
    @ sql/mysqld.cc
    
      The purge time now also considers the value of
      binlog_expire_logs_seconds.
    
    @ sql/sys_vars.cc
    
      Added the description for binlog_expire_logs_seconds, and
      modified the description for expire_logs_days.
    
    Added test case to test the new variable:
    
    - binlog_expire_logs_seconds: Ensure that when any of the two expire
      variable, expire_logs_days or binlog_expire_logs_seconds is set
      the purge happens on server restart and in cases where a force
      rotation of binlog happens.
    
    Extended the existing test cases:
    - expire_logs_days_basic: Added code to test the system variable
      binlog_expire_logs_seconds.

commit bfef0b9265070d1bd1622516eeaed91c68dd0c3a
Merge: 71b3bbf ea15198
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Mar 2 11:57:01 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit ea15198672a29514d61be2a0ebf59020944b9429
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Mar 2 11:56:15 2017 +0530

    Bug #22963951	REDUCE THE TIME OF LOOKING FOR
                    MLOG_CHECKPOINT DURING CRASH RECOVERY
    Analysis:
    =========
    In mysql-5.7, there can be maximum three scans are possible.
    Simultaneous scan and apply is possible only in the third scan.
    
    First scan: Scan all the redo logs from checkpoint lsn and process
    only MLOG_FILE_* records during first scan. It scans till the
    last MLOG_CHECKPOINT.
    
    Second scan: Scan all redo logs from checkpoint lsn and add log
    records to hash table. It verifies whether space id is having
    corresponding MLOG_FILE_NAME record. If the hash table heap memory
    is reached the threshold then stop adding records to hash but it
    continues to scan till end of the redo log file.
    
    Third scan: Scan all redo logs from checkpoint lsn and add log records
    to hash table only if the tablespace exists. If the heap memory reached
    the threshold then simultaneous scan and apply will happen.
    
    Note: Third scan only happens if hash table memory reaches the
    threshold during second scan.
    
    Fix:
    ====
    
    Merge first scan and second scan and make it a single scan. Single scan
    if the hash table doesn't reach the threshold limit.
    In worst case scenario, it does two scan.
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 14725

commit 71b3bbff15379b7a749413c2c01cb6ece2b2c36a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Mar 2 03:56:01 2017 +0100

    Revert WL#9499

commit 41b040139fbec4913602833d65401f18597beb3c
Merge: ef0bfd6 3d128e9
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Mar 1 18:27:46 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ef0bfd68275d758c0c50d7c0fd7f193237084bca
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 1 18:03:03 2017 +0100

    WL#9721 Remove libmysqld embedded server in 8.0
    
    Cleaned up the performance schema test suite.

commit 3d128e906a4b788aacb2ac76fc1ccc5e10c4b0e1
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Mar 1 17:23:53 2017 +0100

    Bug#25541837 PRIVILEGE_SUPER=FALSE RESETS ALMOST ALL PERMISSIONS
    
    Problem:
    ========
    Invalid boolean operator used during removal of the specified privilege, using
    the sec context service.
    
    Fix:
    ====
    Unary complement (bit inversion) applied during unsetting specified privilege,
    using the sec context service.
    
    Reviewed-by:
    ============
    Georgi Kodinov <georgi.kodinov@oracle.com>
    Steinar Gunderson <steinar.gunderson@oracle.com>

commit a581f58da4514bf3aa23d79b24e87af1c24e9f08
Merge: 0729090 d990a7f
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Mar 1 17:36:26 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0729090482a9b9a508f66e275e8111d8ca92f3b0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 1 17:24:05 2017 +0100

    WL#9721 Remove libmysqld embedded server in 8.0
    
    Cleaned up the performance schema test suite.

commit d990a7f3b94e7de80e9c4db98208e7f20be6e2b2
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Mar 1 17:23:53 2017 +0100

    Bug#25541837 PRIVILEGE_SUPER=FALSE RESETS ALMOST ALL PERMISSIONS
    
    Problem:
    ========
    Invalid boolean operator used during removal of the specified privilege, using
    the sec context service.
    
    Fix:
    ====
    Unary complement (bit inversion) applied during unsetting specified privilege,
    using the sec context service.
    
    Reviewed-by:
    ============
    Georgi Kodinov <georgi.kodinov@oracle.com>
    Steinar Gunderson <steinar.gunderson@oracle.com>

commit 7b8b8b6229238de40f814b51100622b039cb3a64
Merge: 88eb03b 273b529
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Mar 1 17:16:45 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 273b529be4ce9434779141d597a173defef0c292
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Feb 28 15:40:45 2017 +0100

    BUG#25256910: NODE RECOVERY FAILS WITH ERROR_CODE: 1062; HANDLER ERROR HA_ERR_FOUND_DUPP_KEY [Post-Fix]
    
    Failures were detected on weekly-5.7 failing the execution of DROP TABLE t1.
    
    An explanation for this problem is that at the end of the test we start the
    server 2 applier again. The applier has a transaction to apply on t1 but we
    never check if it is already applied or not.
    
    In the end of the test we also do a drop on table t1, that in theory could be
    certified and executed sooner than the remote transaction on t1.
    
    So it was added a wait condition to confirm the presence of the data on
    server2.

commit 88eb03b092555c2225278ae73ca782946e8f0519
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Nov 1 06:45:39 2016 +0000

    WL#8599: Reduce contention in IO and SQL threads
    
    (Step 1)
    
    This patch introduces the changes for the worklog related to making the
    slave applier to read from the relay log the same way the Binlog_sender
    does from the binary log (using a non-shared IO_CACHE, not relying on
    relay_log->LOCK_log even when reading from the "hot" relay log file).
    
    Made binlog_end_pos atomic
    --------------------------
    
    The MYSQL_BIN_LOG::binlog_end_pos was refactored to be atomic. From the
    Binlog_sender perspective, this would allow reducing the amount of
    acquirements of binary log LOCK_binlog_end_pos. With this change, both
    binary and relay log files readers don't need to acquire the
    LOCK_binlog_end_pos while checking if they reached the end of the "hot"
    log file. They only need to acquire the LOCK_binlog_end_pos if they are
    actually going to wait for updates.
    
    @ sql/binlog.h:
    
    Renamed binlog_end_pos to atomic_binlog_end_pos and made it atomic.
    
      At MYSQL_BIN_LOG::get_binlog_end_pos(), we removed the assertion of
      the ownership of the LOCK_binlog_end_pos, as it is not necessary since
      the binlog_end_pos variable become atomic.
    
    @ sql/rpl_binlog_sender.cc
    
      Refactored Binlog_sender::wait_new_events() to first check if the
      waiting is really needed (if the binary log was not updated before the
      acquirement of LOCK_binlog_end_pos), and then, only if the
      Binlog_sender really need to wait, to enter the
      stage_master_has_sent_all_binlog_to_slave stage and wait for updates
      on the binary log.
    
    Removed the relay_log->LOCK_log usage from next_event()
    -------------------------------------------------------
    
    The slave applier was refactored to not use the relay_log->LOCK_log when
    reading events from the "hot" relay log file.
    
    It was introduced a new PSI mutex key(MYSQL_RELAY_LOG::LOCK_log_end_pos)
    to instrument the LOCK_binlog_end_pos on relay log files.
    
    @ mysql-test/suite/perfschema/r/relaylog.test
    
      The test case had to be recorded again after the addition of the new
      PSI mutex key.
    
    @ sql/mysqld.(cc|.h)
    
    Introduced the new "MYSQL_RELAY_LOG::LOCK_log_end_pos" PSI mutex key.
    
    In order to make the slave applier to not need to acquire
    relay_log->LOCK_log when reading from the "hot" relay log, the slave
    receiver now opens the relay log with the same flags as the binary log
    files are opened: O_WRONLY. This lead to many changes in the slave code.
    
    The rli->ign_master_log_* that relied on relay_log->LOCK_log are now
    being protected by the relay_log->LOCK_binlog_end_pos. This change was
    needed in order to guarantee that the updated generated by events
    ignored by the receiver thread would be properly handled by the applier
    regardless relay_log->LOCK_log.
    
    @ sql/binlog.h
    
      The MYSQL_BIN_LOG::update_binlog_end_pos() function is now also used
      for the relay log. The function was refactored to remove the relay log
      specific code. It also has now a new parameter to tell the function
      that the LOCK_binlog_end_pos was acquired by the caller.
    
      MYSQL_BIN_LOG::after_append_to_relay_log(),
      MYSQL_BIN_LOG::append_event() and MYSQL_BIN_LOG::append_buffer()
      function were renamed to MYSQL_BIN_LOG::after_write_to_relay_log(),
      MYSQL_BIN_LOG::write_event() and MYSQL_BIN_LOG::write_buffer()
      respectively.
    
    @ sql/binlog.cc
    
      At MYSQL_BIN_LOG::open(), there is no distinction about binary or
      relay log with respect to the flags used to open the IO_CACHE.
    
      At MYSQL_BIN_LOG::open_binlog(), replaced a check for the relay log
      that were relying on the io_cache_type to actually check if it is a
      relay log or not.
    
      At MYSQL_BIN_LOG::after_write_to_relay_log(), replaced the function
      used to get the actual file position from my_b_append_tell() to
      my_b_tell(). Also, instead of just signaling the update of the log
      file, this function also cleanup the rli->ign_master_log_name_end.
    
      MYSQL_BIN_LOG::write_event() is now asserting that the log_file.type
      is WRITE_CACHE.
    
      MYSQL_BIN_LOG::write_buffer() is now asserting that the log_file.type
      is WRITE_CACHE. It is also calling my_b_write() to write the buffer
      into the relay log IO_CACHE.
    
      MYSQL_BIN_LOG::wait_for_update_relay_log() was refactored to rely on
      LOCK_binlog_end_pos instead of LOCK_log and was moved to
      sql/rpl_slave.cc as wait_new_relaylog_events().
    
      At MYSQL_BIN_LOG::close, replaced a check for the relay log that were
      relying on the io_cache_type to actually check if it is a relay log or
      not.
    
    @ sql/log_event.cc
    
      Log_event::write_header() now calculates the event
      common_header->log_pos by using my_b_tell() as there is no IO_CACHE
      with SEQ_READ_APPEND type anymore.
    
    @ sql/rpl_rli.h
    
      It was removed the IO_CACHE *cur_log as it is not needed anymore.
    
      It was also removed the cur_log_old_open_count variable.
    
    @ sql/rpl_rli.cc
    
      Relay_log_info::Relay_log_info() now initialize the relay_log using
      the WRITE_CACHE cache type. It was added the initialization of the
      key_RELAYLOG_LOCK_log_end_pos that now is used by the relay log.
    
      It was removed any reference to relay_log->LOCK_log at
      Relay_log_info::init_relay_log_pos() function.
    
    @ sql/rpl_slave.cc
    
      The write_ignored_events_info_to_relay_log() function now relies on
      LOCK_binlog_end_pos instead of LOCK_log.
    
      At queue_event(), there is a rli->relay_log.lock_binlog_end_pos() call
      every time the rli->ign_master_log_* variables are going to be
      handled.
    
      It was created the relay_log_space_verification() static function with
      all the code related to relay log space verification that was inside
      the next_event() function.
    
      The major changes in this step were done at the next_event() static
      function. It doesn't use the relay_log->LOCK_log anymore, and rely on
      relay_log->LOCK_binlog_end_pos when reaching the "hot" relay log file
      boundaries. The function now only reads and event from the relay log
      file if the log is not "hot" or if current reading position is less
      than the binlog_end_pos.
    
      Introduced the wait_new_relaylog_events() function.
    
    @ mysql-test/suite/rpl/t/rpl_relay_log_locking(.test|.result)
    
      It was created a test case that relies on debug instrumentation to
      block the receiver thread while queuing an event and ensure that the
      applier thread is capable of reading from the relay log up to the last
      queued event.
    
    Other references
    ----------------
    
    This patch also fixed:
    
    BUG#25321231: TUNING THE LOG_LOCK CONTENTION FOR IO_THREAD AND
                  SQL_THREAD IN RPL_SLAVE.CC
    
    (Step 2)
    
    This patch made channels retrieved_gtid_sets to use their own
    sid_map/sid_lock and created a class to avoid locking when checking the
    current server GTID_MODE to be used Master_info and Binlog_sender.
    
    Gtid_mode_copy class
    --------------------
    
    Any operation needing to check the current server GTID_MODE would
    acquire the global_sid_lock in order to read the GTID_MODE. This is a
    very fast operation (just to access a server global variable), but while
    done by many concurrent threads it might generate impact, mostly on
    commit operations that acquire the global_sid_lock exclusively.
    
    Also, when the server is committing a group of transactions, as the
    global_sid_lock is acquired for writing, any operation trying to check
    the server GTID_MODE will have to be held.
    
    GTID_MODE is a global variable that should not be changed often, but
    the access to it is protected by any of the four locks described at
    enum_gtid_mode_lock.
    
    Every time a channel receiver thread connects to a master, every time
    a Gtid_log_event or an Anonymous_gtid_log_event is queued by a receiver
    thread, or is going to be sent by the Binlog_sender to a receiver, there
    must be checked if the current GTID_MODE is compatible with the
    operation.
    
    There are some places where the verification is performed while
    already holding one of the above mentioned locks, but there are other
    places that rely on no specific lock and, in this case, will rely on the
    global_sid_lock, blocking any other GTID operation relying on the
    global_sid_map for writing (like a group of transactions being
    committed).
    
    In order to avoid acquiring lock to check a variable that is not
    changed often, we introduced a global (atomic) counter of how many times
    the GTID_MODE was changed since the server startup.
    
    The Gtid_mode_copy class was implemented to hold a copy of the last
    GTID_MODE to be returned without the need of acquiring locks if the
    local GTID mode counter has the same value as the global atomic counter.
    
    @ sql/mysqld.cc
    
      Introduced the new PSI_rwlock_key key_rwlock_receiver_sid_lock.
    
    @ sql/rpl_gtid_misc.cc
    
      Declared the global atomic _gtid_mode_counter.
    
    @ sql/rpl_gtid.h
    
      Declared the external atomic _gtid_mode_counter.
    
      Defined DEFAULT_GTID_MODE as GTID_MODE_OFF.
    
      Introduced the Gtid_mode_copy class.
    
    @ sql/rpl_binlog_sender.h
    
      Inherited from Gtid_mode_copy to the Binlog_sender class.
    
    @ sql/rpl_binlog_sender.cc
    
      Replaced the calls to get_gtid_mode() by get_gtid_mode_from_copy().
    
    @ sql/rpl_slave.cc
    
      At recover_relay_log(), replaced the call to get_gtid_mode() by
      get_gtid_mode_from_copy().
    
      At init_recovery(), replaced the call to get_gtid_mode() by
      get_gtid_mode_from_copy().
    
      At start_slave_threads(), replaced the call to get_gtid_mode() by
      get_gtid_mode_from_copy().
    
      At get_master_version_and_clock(), replaced the call to
      get_gtid_mode() by get_gtid_mode_from_copy().
    
      At queue_event(), replaced the call to get_gtid_mode() by
      get_gtid_mode_from_copy().
    
    @ sql/sys_vars.cc
    
      Incremented the _gtid_mode_counter when GTID_MODE is changed. Also,
      made the GTID_MODE global variable to have DEFAULT_GTID_MODE as its
      default value.
    
    Retrieve_gtid_sets with their own SID maps/SID locks
    ----------------------------------------------------
    
    Any GTID set operation relying on a given SID map (and its respective
    lock) will be blocked by any other operation (in any other GTID set)
    holding the SID lock for writing.
    
    All server GTID state sets (lost_gtids, executed_gtids,
    gtids_only_in_table, previous_gtids_logged and owned_gtids) rely on the
    global SID map (and on the global SID lock). So, when GTIDs are
    committed in the server, the updates on the GTID state lock the SID map
    for writing to prevent other threads to perform updates on the GTID
    state (or read from it while it is being updated). The side effect of
    this way of avoiding other threads to read from or update a GTID set is
    blocking any other GTID activity in other GTID sets relying on the same
    SID map/SID lock. So, before this patch, the replication receiver
    threads had their Retrieved_Gtid_Set relying on the global SID map/lock.
    In this way, when a group commit was updating the GTIDs of the committed
    transactions, any replication receiver trying to queue a Gtid_log_event
    or finishing queuing a Gtid transaction had to wait for the group commit
    to unlock the global SID lock. Also, a group commit trying to lock the
    global SID lock for writing was waiting to all receiver threads queuing
    GTIDs to finish before having being granted with the lock ownership.
    
    The global SID lock on the cases described above is taken for doing
    small operations, and there is no significant impact on server
    performance in a slave server replicating using a single replication
    channel with medium to large transactions and without using MTS. But
    when the slave is scaled to have many replication channels and/or
    replicating many small transactions and using MTS, the impact of the
    concurrency in the global SID lock becomes noticeable.
    
    This patch is making all receiver threads to rely on their own
    (individual) SID maps and locks.
    
    @ sql/binlog.cc
    
      The MYSQL_BIN_LOG::init_gtid_sets() function was refactored to use the
      global_sid_lock when dealing with binary log and to use the relay log
      sid_lock when dealing with relay log.
    
      The MYSQL_BIN_LOG::open_binlog() function was refactored to use the
      global_sid_lock when dealing with binary log and to use the relay log
      sid_lock when dealing with relay log.
    
      The MYSQL_BIN_LOG::reset_logs() function was refactored to use the
      global_sid_lock when dealing with binary log and to use the relay log
      sid_lock when dealing with relay log.
    
      MYSQL_BIN_LOG::after_write_to_relay_log() now uses only the relay log
      sid_lock.
    
    @ sql/log_event.cc
    
      Previous_log_event should assert that the SID map of the GTID set
      passed as parameter is locked (is it not the global_sid_lock for relay
      log events).
    
    @ sql/mysqld.h
    
      Declared the new PSI_rwlock_key key_rwlock_receiver_sid_lock.
    
    @ sql/mysqld.cc
    
      At gtid_server_init(), initialized the global _gtid_mode_counter.
    
      Introduced the new PSI_rwlock_key key_rwlock_receiver_sid_lock.
    
    @ sql/rpl_channel_service_interface.cc
    
      The channel_get_last_delivered_gno() function now uses the relay log
      sid_lock.
    
      The channel_wait_until_apply_queue_applied() was refactored to avoid
      blocking both the relay log sid_lock and the global_sid_lock while
      waiting for the condition.
    
    @ sql/rpl_gtid.h
    
      Enabled the declaration of Sid_map::clear() regardless of compiler
      directives.
    
      Declared a new static function Sid_map::get_new_sid_map() to
      retrieve a new empty SID map with its own SID lock.
    
      Declared the Gtid_set::clear_set_and_sid_map() function that takes
      care of cleaning the SID map after cleaning the GTID set.
    
    @ sql/rpl_gtid_set.cc
    
      Introduced the Gtid_set::clear_set_and_sid_map() function that takes
      care of cleaning the SID map after cleaning the GTID set.
    
    @ sql/rpl_gtid_sid_map.cc
    
      Removed the compiler directives preventing the compilation of
      Sid_map::clear().
    
    @ sql/rpl_rli.h
    
      Made the (retrieved) gtid_set a pointer.
    
      Added function to get the GTID set SID map (get_sid_map()) and SID
      lock (get_sid_lock()).
    
      Changed add_logged_gtid() function to use the relay log SID map and
      lock.
    
      Declared a new wait_for_gtid_set() function receiving a char*
      parameter instead of a String*.
    
    @ sql/rpl_rli.cc
    
      Refactored the gtid_set initialization on Relay_log_info constructor
      and cleaned up the GTID set, SID map and lock on destructor.
    
      Introduced the new wait_for_gtid_set() function receiving a char*
      parameter instead of a String* and refactored the wait_for_gtid_set()
      that receives a String* to call the new introduced one.
    
      Added some assertions at Relay_log_info::wait_for_gtid_set() to ensure
      that the GTID set to wait is relying on global_sid_map or has no SID
      map.
    
      Relay_log_info::purge_relay_logs() now uses the relay log SID lock and
      also clears the relay log SID map when cleaning the retrieved GTID
      set.
    
      Relay_log_info::rli_init_info now uses the relay log SID lock.
    
      Relay_log_info::add_gtid_set() now uses the relay log SID lock.
    
    @ sql/rpl_slave.cc
    
      The recover_relay_log() function now uses the relay log SID lock and
      also clears the relay log SID map when cleaning the retrieved GTID
      set.
    
      The show_slave_status() functions were refactored to use the relay log
      SID lock when dealing with the retrieved GTID sets.
    
      The request_dump() function now uses the relay log SID lock when
      dealing with the retrieved GTID set.
    
      The queue_event() function now uses the relay log SID lock when
      dealing with GTIDs of received Gtid_log_events.
    
    @ storage/perfschema/table_replication_connection_status.cc
    
      The table_replication_connection_status::make_row() function was
      refactored to use the relay log SID lock when dealing with the
      retrieved GTID sets.
    
    (Step 3)
    
    This patch moved the call to flush_master_info() that was done by the
    I/O thread after a successful call to queue_event() to inside the
    queue_event() function, in order to take a ride in the already locked
    mi->data_lock and relay_log->LOCK_log.
    
    This will avoid acquiring the above mentioned locks twice for every
    successful event queued.
    
    It also added a new parameter to flush_master_info() to opt the flush of
    the relay log. Previous approach was leading to flush the relay log
    twice per event.
    
    @ sql/rpl_channel_service_interface.cc
    
      Specified the new queue_event() parameter to not flush master info
      after queuing the event.
    
    @ sql/rpl_slave.h
    
      Changes flush_master_info() declaration by adding a new parameter
      telling the function if it needs to acquire the required locks or if
      the locks are already acquired and a new parameter telling the
      function if it needs to flush the relay log.
    
      Declared QUEUE_EVENT_RESULT enum with the possible results of the
      queue_event() function.
    
      Changes queue_event() declaration to return QUEUE_EVENT_RESULT and
      also to support a new parameter telling the function to also flush
      master info on after an event be successfully queued.
    
    @ sql/rpl_slave.cc
    
      The flush_master_info() function was changed to not acquire the
      relay_log->LOCK_log always, but rely on the need_lock parameter to do
      so. It was also changed to only flush the relay log based on the new
      flush_relay_log parameter. This will prevent flushing the relay log
      twice when queuing events.
    
      On handle_slave_io(), refactored the calls to queue_event() and
      flush_master_info() to use the new implemented parameters.
    
      Refactored queue_event() function to return QUEUE_EVENT_RESULT, and to
      flush master info without the need of flushing the relay log in the
      case of a successful event be queued.
    
    Added test cases to improve code coverage:
    
    - rpl_write_ignored_events: ensure the ignored events not yet consumed
      by the slave are taken into account by the SQL thread if the I/O
      thread is stopped before the SQL thread consumed the ignored events
      info.
    
    - rpl_write_ignored_events_fail_writing_rotate: ensure I/O behavior
      when failures happen while writing the ignored events info to the
      relay log.
    
    Also commented an unreachable code to make gcov happy.
    
    Added test cases to verify that receiver threads GTID sets do not rely on
    global SID anymore.
    
    rpl_multi_source_block_receiver: checks that receiver thread receiving GTIDs
    (and adding them to its retrieved GTID set) can apply GTIDs from a server UUID
    that doesn't belong to the global SID map yet.
    
    rpl_line_topology_receiver_block: checks that receiver thread on slave
    receiving GTIDs (and adding them to its retrieved GTID set) can have other
    servers replicating from it.

commit 593f82772260156a32be62f38ed05d529a8ea226
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 2 02:15:26 2017 +1100

    WL#9499 - Follow up fix
    
    1. Call mem_heap_free() instead of mem_heap_empty()
    2. Delete the pages from the dblwr buffer that were deferred but not used
    3. Fix a bug in fil_check_missing_tablespaces(), don't do a copy but use
       a reference.

commit 35639d45830f5ab872f0b6b014b53ab9e375dc2c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Mar 1 09:19:01 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #14: Fix -Wunused-parameter warnings in new DD.

commit fff5924ed8c842bd9cab25cc0df3ce7b0620f970
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Mar 1 15:00:57 2017 +0100

    BUG#25339192: NEWDD: SERVER SHOULD DISALLOW FOREIGN KEYS ON BASE COLUMN OF STORED COLUMN
    
    Enable disabled test due to this bug.

commit a61e4f4a77b223847367380e7776b7511fa8ecf5
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Wed Mar 1 12:48:22 2017 +0300

    Fix for bug#25487493 "TABLE DEFINITION MARKED AS HIDDEN IN HA_RENAME_TABLE".
    
    There was a mismatch in "hidden" attribute between dd::Table object
    for new table version which is passed to handler::rename_table() method
    and stored in DD during last phases of ALTER TABLE COPY.
    
    This mismatch was caused by the fact that correct value of this
    attribute for the dd::Table object was set too late, after the
    call to handler::rename_table(), but before object was stored in DD.
    
    This patch fixes the problem by setting the "hidden" attribute value
    before handler::rename_table() is called.
    
    This bug was causing issues only in MySQL Cluster tree, so proper test
    coverage for it will be provided there.

commit f81236d7f8e62b8108368fe3c27120c2bf046617
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Feb 10 12:19:13 2017 +0100

    Bug#25518504: SOME BIG NUMBERS IN JSON DOCUMENTS BECOME ZERO
    
    Some very large floating-point numbers were silently changed to zero
    in JSON documents.
    
    The problem was that RapidJSON returned positive or negative infinity
    for these values instead of raising an error, and non-finite values
    were not expected in the MySQL code.
    
    Fix: Make Rapid_json_handler::Double() check if the double value is
    finite, and raise an error if it is not.
    
    Change-Id: I753f0d4a7a92020a18998ea9ef1d5746e40d0af6

commit 84d23c7441c889293f76dd1b9eeb2be0748a3534
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Mar 1 12:08:21 2017 +0100

    Bug#24666169: I_S.TABLE_CONSTRAINTS.CONSTRAINT_NAME IS NOT UPDATED
                  AFTER RENAME TABLE
    
    Bug#25339192: NEWDD: SERVER SHOULD DISALLOW FOREIGN KEYS ON BASE
                  COLUMN OF STORED COLUMN
    
    This patch consists of three parts:
    
    1) When tables are renamed, any foreign keys with generated
    names are renamed as well. This is necessary since the table
    name is part of the generated name. We assume that the name
    was generated if it starts with table_name + '_ibfk_', similar
    to how InnoDB does it in earlier versions.
    This part fixes Bug#24666169.
    
    2) During ALTER TABLE, both the new and the old table definition
    exists in the data dictionary at the same time (uncommitted).
    In order to satisfy the unique constraint on schema_name+fk_name,
    pre-existing FKs were before not transferred to the new table
    definition until ALTER TABLE was almost completed. This meant
    that FK metadata was not available to InnoDB during ALTER TABLE
    processing. In order to make it available to InnoDB, foreign keys
    are now transferred to the new table definintion immediately,
    but with a temporary name to satisfy the unique constraint.
    The original name is restored at the end of ALTER TABLE.
    This part is required to fix Bug#25339192.
    
    3) As a consequence of 2), more validity checking of pre-existing
    foreign keys had been added to the SQL layer to avoid regressions
    in error reporting. This consists of checking and reporting
    ER_FK_DUP_NAME, ER_DROP_INDEX_FK and ER_FK_COLUMN_CANNOT_DROP.

commit 1de9bc5e0bd30ee4f7ec26527ed8ff15de7ac1ac
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Wed Mar 1 16:08:24 2017 +0530

    Bug#25643748 ASSERT.INC IS MISSING IN FEW GR TESTS
    
    include/assert.inc is missing in following test files added as part of wl9837
        1. gr_savepoint.test
        2. gr_savepoint_crash.test
        3. gr_savepoint_crash_on_release.test
        4. gr_savepoint_crash_on_rollback.test
    
    fix:
    added assert.inc in those files.

commit c77f0d88ff116247320523bfeceb503b19601125
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Wed Feb 8 13:57:54 2017 +0100

    Bug#24947436 UPGRADE RAPIDJSON TO VERSION 1.1.0
    
    Upgrade the rapidjson library to version 1.1.0. This version
    contains fixes that remove compiler warnings on newer versions
    of clang, plus several other enhancements and bugfixes.
    
    We previously had a modification in the library, where we could
    choose to handle "-0" as a double value in order to preserve
    the signedness. This was mainly used by GIS code. Now, we send a
    flag to the JSON parser telling us whether to parse ALL numbers
    as double or not. This effectively uses the RawNumber callback in
    rapidjson instead of the individual Int64/Double/Int... callbacks.
    We now use this functionality instead of modifying the library,
    so that all custom modifications can be removed.
    
    Change-Id: I784ad30bca474ba1872ebb4e2d5867c4e11b9dd2

commit 8bf28460fe0478150bb27133b1d011d3e00f3455
Author: Vitor Oliveira <vitor.s.p.oliveira@oracle.com>
Date:   Wed Mar 1 10:39:37 2017 +0100

    WL#9556 - Writeset-based MTS dependency tracking on master
    
    This worklog introduces the ability to use transaction write sets to
    find out which transactions can be safely executed concurrently on the
    slave. The transactions are tracked on the master and the binary log
    commit_parent field, which is used by the MTS applier on the slave, is
    changed to consider writeset dependencies between transactions.
    
    Relevant changes to the code:
    - introduces two new options: binlog-transaction-dependency-tracking,
      which selects the tracking mode between COMMIT_ORDER, WRITESET and
      WRITESET_SESSION, and binlog-transaction-dependency-history-size.
    - adds the Transaction_dependency_tracker and associated classes
      Commit_order_trx_dependency_tracker, Writeset_trx_dependency_tracker
      and Writeset_session_trx_dependency_tracker, specific to each of the
      tracking modes (in the new rpl_trx_tracking.h/.cc files).
    - to support the WRITESET mode, the hashes of each row touched by a
      transaction are stored in the m_writeset_history map, up to the size
      determined by the binlog-transaction-dependency-history-size option.
    - to support the WRITESET_SESSION mode, the Dependency_tracker_ctx is
      added to the THD so that the last sequence_number used by a client is
      available for future transactions of the same session.
    - extends the function add_pke to track transactions that touch tables
      with primary keys and tables without them, so that partial writesets
      are detected.

commit 2d54b24f73b2463998b06ef4fd6c01a07a06d1e6
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 1 10:26:19 2017 +0100

    Fixed build warnings for clang.

commit 863f542cd53bfe04d730449e8807ef0646bb616b
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Feb 28 20:40:48 2017 +0530

    Bug#25583588 : `M_PREBUILT->TABLE->N_REF_COUNT > 0' AT
                    HA_INNOBASE::UPDATE_THD IN HANDLER
    
    Post push patch:
    
    After pushing fix for bug#25583588, server does not show hidden tables
    even with the I_S implementation that uses ST_SCHEMA_TABLE interface.
    This affects the test case added by Bug#22285643, which uses
    I_S.PARTITIONS to check if there exists a hidden table. This leads
    to the timeout of the test.
    
    Remove the test case and debug points introduced in the code
    for this test.

commit 7fb55670977661e1fd3d7770512f8cfc26ca2526
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Wed Mar 1 08:41:05 2017 +0100

    wl10166 post fix

commit 516e020cdbac1e53997aa354b6063fe8690892f0
Merge: 7ccea28 1258dd4
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Mar 1 11:03:41 2017 +0530

    Null-merge from 5.7, back-port of BUG#20755059

commit 1258dd40d34c151650c6e21ad79393d3b6085ddd
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Mar 1 10:58:50 2017 +0530

    BUG#25601131 : BACK-PORT 'TEST-PROGRESS' OPTION TO MYSQL-5.7
    
    Beck-port of BUG#20755059

commit 7ccea281b81d3705c73102c6a160370c0ef36dea
Merge: a7b89dc 6f4f535
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Mar 1 08:25:01 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6f4f535c0bc57379eb3531a19cb30f0cf7deca3b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Mar 1 08:23:26 2017 +0530

    Bug#24285104 RELAY LOG CORRUPTION NOT HANDLED CORRECTLY WITH MULTI-SOURCE
    REPLICATION
    
    Post push: Fixing build issue

commit a7b89dc6fc1b6a644ca95eabb7b30da9fff7c823
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Thu Jan 5 09:08:01 2017 +0100

    WL#10166 Require WKB input in WKB parsing functions
    
    This WL modifies all FromWKB behavior by requiering the WKB
    parameter to be WKB. It removes the support for using geometries
    as parameters, to the FromWKB functions.

commit 736412a7bb7a4f345574f965d54786d88c770507
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 28 20:15:08 2017 +0100

    WL#9347: [5/5] Ellipsoidal ST_Distance for point and multipoint
    
    Add function gis::distance() that computes the distance between two
    geometries in a Cartesian or geographic spatial reference system and
    rewrite Item_func_distance to use gis::distance().
    
    All parameter type combinations are implemented for Cartesian
    systems. For geographic systems, the supported parameter type
    combinations are:
    
      ST_DISTANCE(point, point)
      ST_DISTANCE(point, multipoint)
      ST_DISTANCE(multipoint, point)
    
    Change-Id: I07d0b32cc04b37f56dae9254d1120bfd79cd056d

commit b5601a60dead48f66275f61171b36b07d4dd1349
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 28 20:15:02 2017 +0100

    WL#9347: [4/5] WKB/geometry parser
    
    Add a new WKB/geometry parser that produces Cartesian and geographic
    geometries in the gis::Geometry hierarchy.
    
    Change-Id: I857cc574f6ece229119deb4d0e430d137884de61

commit 96eff2279838308b2c45d82e8098b73b54826e91
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 28 20:14:56 2017 +0100

    WL#9347: [3/5] Geometry type hierarchy
    
    Add a new geometry type hierarchy modeled after the OpenGIS type
    hierarchy.
    
    The hierarchy supports both Cartesian and geographic geometries.
    
    Change-Id: I691458bf459dcc53d88a198c7d1e929da7d08ed2

commit d9fee1feaf2afb23622b476488bb540b568cc60b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 28 20:14:48 2017 +0100

    WL#9347: [2/5] One common srid_t type
    
    Preparatory patch to move srid_t.
    
    Move the typedef of srid_t to gis/srid.h and use that definition
    everywhere. Remove Geometry::srid_t.
    
    Change-Id: I35fdefaf5e9459273c3813654dbec15cc3b59f5a

commit 098336675269dcad07c78b0eec6c16a43281937e
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 28 20:14:29 2017 +0100

    WL#9347: [1/5] Move exception handlers
    
    Preparatory patch to move exception handlers.
    
    Move handle_gis_exception() and handle_std_exception() to
    sql_exception_handler.h/.cc so that they can easily be included in
    other parts of the code without pulling in too much else.
    
    Change-Id: I7defbde3e72a271adf1db1877b9dd9b53b3fd634

commit 5a34ffb71e4336317ed27b3a1a2a82aedbab8864
Merge: a4afa48 cc3cc12
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Feb 28 22:25:29 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit cc3cc1207b9ecdd41c97426602b8f71fa472d4e6
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Feb 28 22:20:14 2017 +0530

    Bug#24285104 RELAY LOG CORRUPTION NOT HANDLED CORRECTLY WITH MULTI-SOURCE
    REPLICATION
    
    Problem: Corruption of one channel's relay logs + server restart is
             making few channels (good channels) to disappear.
    
    Analysis: In create_slave_info_objects(), after reading the all the
              available channels from the repository tables, server create
              and initialize each and every channel. The logic was written
              in such a way that if there is an error while initializing
              one channel, server will skip creating other channels than
              the default one. Also when the skip-slave-start=false, server
              should start the slave threads for all the channels. But the logic
              is written in a way that if there is an error during initialization
              of a channel, it will skip starting slave threads for those
              channels which are in good condition as well.
    
    Fix: Both problems that are explained above in the analysis section are
         fixed now. Now irrespective of errors on other channels, server will try
         to create/initialize channels that are in good condition and also
         it will start slave threads for the good channels if skip-slave-start
         is disabled. Also as part of this fix, we have restructured
         create_slave_info_objects function to increase the code readability
         START SLAVE and STOP SLAVE, which are supposed to operate on all the
         channels, are also modified such that they will continue
         executing on all good channels even if they find one bad channel
         in between.

commit a4afa48873d2217788e870c9428ec8bd47770de5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Feb 28 17:18:38 2017 +0100

    WL#5384 PERFORMANCE_SCHEMA, HISTOGRAMS
    
    Implemented statements histogram statistics by digest, and global.

commit 50b9569ae4c186309388bfe6b83ca08401af2ef4
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Feb 27 16:15:09 2017 +0100

    Doxygen cleanup.
    Run a spell checker

commit 734ef8bb5b0cfa34685323159ecfad951d85906b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 24 08:40:14 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #13: Fix -Wunused-parameter warnings in sql*, part 3.

commit ac8c95ad6c24a245087a1cb893db269770a54135
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Feb 22 06:53:42 2017 +0100

    Bug#25240784 - ROLES_XPLUGIN-MASTER.OPT IS NOT NEEDED
    
    Description
    ===========
    Tests that use "-masert.opt" files to pass some extra options to MySQL Server
    do not need to have "--plugin-dir" option. It was moved to "suite.opt" file
    which is applied to every test in "X" suite.
    
    Fix
    ===
    * Removed plugin directory option from per-test-case "opt" files.
    * Removed "opt" files which have only plugin dir option.
    
    RB:15477
    Reviewed-by: Andrzej Religa <andrzej.reliaga@oracle.com>

commit 2e58caf5e680e9c68ef7d76db9ee4835078a6e4b
Merge: 77b7853 dc64966
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Feb 28 18:09:48 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit dc649662ae5f65041fabe46309a8bbc54389c390
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Feb 28 18:07:46 2017 +0530

    BUG#24595581: NULL POINTER DEREFERENCE WHILE USING LONGTEXT
                  FUNCTION IN SUBQUERY
    
    ANALYSIS:
    =========
    Server runs into null pointer dereferencing when a
    deterministic function returning longtext is used in a
    subquery.
    
    Item::const_item() is 'true' for all items having no table
    reference bits set. So it is 'true' for subqueries and
    deterministic functions that do not reference any tables.
    However, we cannot always consider items to be constant
    based on the referenced table bits. In this scenario, a
    deterministic function is considered a const item. Hence the
    resolver tries to evaluate the function in the preparation
    phase. At this phase, the query tables are open but not
    locked. After the evaluation, all the tables in the outer
    query block are closed. Later during the execution phase,
    when we try to lock the query tables, the TABLE object will
    be unused, thus leading to a null pointer dereference.
    
    FIX:
    ====
    We are overriding the function 'fix_after_pullout' in the
    'Item_func_sp' class where we are not considering
    deterministic functions as const items based on their table
    reference, thus preventing the resolver from evaluating
    the function in the preparation phase.

commit 77b7853c349a5aed7c10b6bfa6b095fb27c7c43d
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Feb 28 10:48:45 2017 +0100

    Squashed commit of the following:
    
    WL#9499 - InnoDB: Replace MLOG_FILE_NAME with MLOG_FILE_OPEN
    
    Fix the performance issues introduced by WL#7142 and its followup WL#7806.
    
    1. Revert WL#7142 and WL#7806 changes, keep some of the tests to test
       the behaviour that was introduced by the two WLs
    2. Change the tests that rely on the above two WLs behaviour
    3. Use std::unordered_map instead of the homebrew hash table for the recovery
       code and space ID to name mapping
    4. Split the redo log hash table key from <space, page> -> apply records to
       <space> -> apply records
    5. Addition of two new system files (tablespaces.open.1 and tablespaces.open.2)
    
     - Rename MLOG_FILE_NAME to MLOG_FILE_OPEN
     - Remove the two pass recovery code, make it a single pass
     - Track file open, close and rename
     - Write and fsync the tracking state to disk on checkpoint and rename.
       Uses the files in #5 in a round robin fashion
    
    Introduce --innodb-scan-directories="path1;...pathN". Scan the paths for
    .ibd files to open during recovery. This option can be used if the files in #5
    above are corrupt or missing. You should not use this if you move files around.
    While they can be recovered the data dictionary will not be updated and it
    will cause issues during runtimg.
    
    rb#13686 Approved by Satya and Shaohua
    
    commit fbf87161f3c93979e5abe424fbe0678fdc32159e
    Merge: 517cf3a7bf0 c2b504664ed
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 28 10:39:32 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 517cf3a7bf0490c3168fed020e3096ec500e0a85
    Merge: 4786f93ad8a 5e974fd0ea4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 28 10:24:25 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
        Additional change is to call recv_recovery_from_checkpoint_finish() on abort.
        Instead of recv_sys_free().
    
    commit 4786f93ad8a25506a2a1f6e9d1207256a34b3665
    Merge: 5dc35e05b5f 275245cce32
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 24 10:43:27 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 5dc35e05b5f2da95c36e191350e9c7087be72194
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 24 10:42:40 2017 +0100
    
        WL#9499 Free recv resources on abort
    
    commit bed693070395923ededba736f1c7102b8eb21e95
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 18:34:50 2017 +0100
    
        WL#9499 - Test cannot be run with Valgrind
    
    commit c5d423228ddf58b17866ff8be289dba4a19205d2
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 17:30:39 2017 +0100
    
        WL#9499 - Remove const
    
    commit ac42498506b4dffb22e74282d0ce037fe3acf977
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 17:00:30 2017 +0100
    
        WL#9499 - Clean up code
    
    commit bc48077cab9c3ccb1b2797c365fe0940c269a785
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 16:01:09 2017 +0100
    
        WL#9499 - Revert unrelated change
    
    commit 8b2bb0f6d6254b3cfde168d41356400009db12f4
    Merge: eb9b294ba78 153a79ff35d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 11:43:38 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit eb9b294ba786800f9e397cd87f01c4f4976edddb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 23 11:29:56 2017 +0100
    
        WL#9499 - Remove debug message
    
    commit abae66ad591854ee67a5013f3209be2f82e4d9bf
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 17:04:10 2017 +0100
    
        WL#9499 - Test only works in debug mode.
    
    commit 71ebea70391ef295bed49ee06a8b872f15ecfe97
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 12:18:08 2017 +0100
    
        WL#9499 - Update to mtr test from Matthias
    
    commit f108a5b92fc476c70c49e4937496b32d9d5d031f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 12:13:04 2017 +0100
    
        WL#9499 - Increment redo log version number
    
    commit 4439c83a4d3edd6e511706ccf9936770ed29e593
    Merge: fa459186b90 05923bef41d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 22 09:54:18 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit fa459186b90d7a5ddcba7e3c6c7a9871d0dce793
    Merge: 14ac4f81d84 b401f17e70d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 20:02:40 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 14ac4f81d84bec23a7be210504ca0be93619bf11
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 16:44:57 2017 +0100
    
        WL#9499 - Update from Matthias
    
    commit ed3191a9fc951151fd7d758a527e7ab81530b3f0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:16:11 2017 +0100
    
        WL#9499 - Revert change pushed by nmistake
    
    commit 8c0edb998867bf557f6c86410552d6d123892000
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:11:21 2017 +0100
    
        WL#9499 - Don't redo log MLOG_FILE_OPEN until startup is complete
    
    Date:   Wed Feb 22 09:54:18 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit fa459186b90d7a5ddcba7e3c6c7a9871d0dce793
    Merge: 14ac4f81d84 b401f17e70d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 20:02:40 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 14ac4f81d84bec23a7be210504ca0be93619bf11
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 16:44:57 2017 +0100
    
        WL#9499 - Update from Matthias
    
    commit ed3191a9fc951151fd7d758a527e7ab81530b3f0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:16:11 2017 +0100
    
        WL#9499 - Revert change pushed by nmistake
    
    commit 8c0edb998867bf557f6c86410552d6d123892000
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 15:11:21 2017 +0100
    
        WL#9499 - Don't redo log MLOG_FILE_OPEN until startup is complete
    
    commit 3b503ea1d3f89c0f7e3677d3b56f249c7ebff506
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 11:37:04 2017 +0100
    
        WL#9499 - Add tests
    
    commit 47af7bd6eec10eac55633d7c4cf54afe607f3649
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 21 11:00:30 2017 +0100
    
        WL#9499 - Fix compile problem
    
    commit a8b9a8c6ccb15e2be5ce5db5fa0bce24b86d2c87
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 20 16:51:05 2017 +0100
    
        WL#9499 Remove dead code
    
    commit b1dba474486ad10b61029b2ef4e6a91ea67dcea8
    Merge: 3cf9e9eb3e8 a4271026201
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 20 16:49:38 2017 +0100
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 3cf9e9eb3e86e4c8f4d44cb79d3f7c456ea7d671
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Feb 18 07:53:43 2017 +0530
    
        WL#9499 - Remove suggestion to use force recovery
    
        --innodb-scan-directories is a safer option for the user. Force recovery should
        be the absolute last resort.
    
    commit 4104c4bfd606270650aac95a9a724e106fe835c5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 17 09:00:47 2017 +0530
    
        WL#9499 - Fix error message
    
        User can try --innodb-scan-directories="..." if the tablespaces.open.* files
        are corrupt or unreadable.
    
    commit 19ab12e54923b070a0b4ffc76b9fe97ac54ad3cc
    Merge: 50b3a95e446 f0f51c410bd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 17 05:22:57 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
        Replace readdir_r() with readdir(), compiler complains that readdir_r() is
        deprecated and recommends replacing it with readdir().
    
    commit 50b3a95e446b91853fc35716b63bdc173221d01f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:55:33 2017 +0530
    
        WL#9499 - Fix test
    
    commit 45d202ae0fa35aa3aced55cc1933aeefa33837de
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:32:56 2017 +0530
    
        WL#9499 - Remove redundant test
    
    commit 48fe691b97735e5144e9d439a0adbf721b2dc554
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:18:11 2017 +0530
    
        WL#9499 - Add DEBUG sync points
    
    commit d986f4e04a9eb6c2c76d61cd4afe9541d77b34bd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 16 18:03:50 2017 +0530
    
        WL#9499 - Remove PB2 control file
    
    commit 5af7dca9c305bd366ad2b5c3de26a870e913af4a
    Merge: 74022f50a5f 23a0e71aa3d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 15 09:05:05 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 74022f50a5ff7cb2801c0712601f8a467b409a28
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Feb 14 10:31:00 2017 +0530
    
        WL#9499 - Fix test
    
    commit f6188175ee62040ac6a844a5c54787839dff6155
    Merge: 24c867aab14 19ca7c6a5d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Feb 13 12:37:22 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 24c867aab14556188503aac495f60d89ba3d26ec
    Merge: cb64b8c7f9f a4de6ab549e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Feb 4 06:41:23 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit cb64b8c7f9fa9ca05033a9d6f6193cf141746310
    Merge: 17c6c41da0a 88dbc4f4511
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 19:48:12 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 17c6c41da0afe3fc78843b75fa02578dab29a0ca
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 19:46:34 2017 +0530
    
        WL#9499 - Add a test for scan directories.
    
        The use case is where the location of the files is not changed but the
        tablespaces.open.* files are missing.
    
    commit 79cc52f1bd82dc65932eacbc9aa14a47e4196572
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 18:01:50 2017 +0530
    
        WL#9499 - If open fails space will be null.
    
    commit 22ea5f31ecc1fa0db8abd57d4a46578e5f891c9a
    Merge: f5b69930f95 853a52cf5a1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Feb 3 12:14:41 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f5b69930f95192ddfdb3ca170024a5c7e3416076
    Merge: 40a4c32f2c4 b18872ed4a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Feb 2 13:54:24 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 40a4c32f2c42b584539a14cbc1ba0d4f0fe7d3c9
    Merge: b1d1923d37c d071c0e7a0b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Feb 1 13:48:33 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit b1d1923d37c3d23a9f701a61b458b7e4cbd3c90c
    Merge: 2fc6c51edab 4ae71705a01
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 31 10:44:59 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 2fc6c51edabc3de4537eceb0b82cd62063ada3a9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 16:36:46 2017 +0530
    
        WL#9499 - Empty the tablespace.open.* files on normal shutdown.
    
    commit 738acb7d554f97455c8dba512282c7c2e6ba9f3a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 12:47:21 2017 +0530
    
        WL#9499 - Fix formatting
    
    commit 28f8579a6f729af354e0c50098d16fbfa17cc253
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 30 12:25:30 2017 +0530
    
        WL#9499 - Bug fix
    
        The DELETED state was set on a copy of the data structure
    
    commit dd5bf8ea81b7023fa1980c01d89219a690160b04
    Merge: 7eeab0a994d 9c7808e1054
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 21:14:22 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7eeab0a994db4cf0c2e080f27ff916c778ec65f8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 20:50:59 2017 +0530
    
        WL#9499 - Add tests.
    
    commit ddfaf047f43587ee807599b0b80b6d01a3579e8c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 20:48:06 2017 +0530
    
        WL#9499 - Create tablespace bug fix
    
        If there is a checkpoint after the create tablespace is logged and the
        server crashes after writing the page initialization to the redo log. Then
        we neither have the mapping in the redo log nor in the tablespace.open.*
        files. We must update the tablespace mapping before writing the CREATE
        redo log entry so that the state is written out to disk on checkpoint.
    
    commit 29546d3ebea2991e5b86b33edddb551c924bf1db
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 17:55:28 2017 +0530
    
        WL#9499 - Remove dead code from WL#7142
    
    commit eced7a3e4437ee4bb24a12290f561437ddb15611
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 14:51:09 2017 +0530
    
        WL#9499 - Use the tablespace.open.* files in a round robin fashion.
    
    commit d8eff788eea1ad5e6c7786b9d64963524f2b2c81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 13:56:12 2017 +0530
    
        WL#9499 - Fix duplicate entry
    
    commit 1d04e0cf0308c35ee7498e6919eab9a11c699d52
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 27 13:55:30 2017 +0530
    
        WL#9499 - Revert last push
    
    commit 8361d3c39366d6435a895d5b64dd23615d26fc28
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Jan 26 09:05:52 2017 +0530
    
        WL#9499 - Write to the tablespace.open.* files in a round robin manner.
    
    commit 3eaba629ee5b5c26a5f4e80852fee2d446f3013f
    Merge: 6642c43d735 bdc49070128
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Jan 25 14:03:15 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 6642c43d7353063a455972ab2cbc21220c16be43
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 08:34:35 2017 +0530
    
        WL#9499 - Rename fil_ibd_load to fil_ibd_open_for_recovery.
    
    commit fdd1897c79b29c9e0a69c1f81d94927da06d9424
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 06:28:49 2017 +0530
    
        WL#9499 - Enforce const semantics on Windows for Folder::exists().
    
    commit 9394f4653e10cc5d4ab9b7b0a0b9331fd2666f49
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 23 06:08:26 2017 +0530
    
        WL#9499 - Include <array>
    
    commit c1903d28800ae0f7af69552aa669622d552346b4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Jan 21 07:49:28 2017 +0530
    
        WL#9499 - Improve scan directory handling
    
        1. Convert relative paths to absolute paths
        2. Filter out duplicates
        3. Check directories at filtering stage
    
    commit dfea237f4bef914de4067153cbf382240112c4f4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 20 11:11:05 2017 +0530
    
        WL#9499 - Code clean up
    
    commit c4d51bfdf1c786b1c584c0af1bde080a4f37cc5b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Jan 20 07:37:06 2017 +0530
    
        WL#9499 - Update the open/rename LSN when a file is opened or renamed.
    
        Minor code cleanup.
        Add diagnostic code for debugging.
    
    commit 5e1d159b571fe6dbfe13c627a245155b82c4bbfa
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Jan 18 10:59:54 2017 +0530
    
        WL#9499 - Filter out '*' from innodb-scan-directories
    
    commit 361f2944f1940f11dfb16dec3589d68335f5e2d8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 21:01:06 2017 +0530
    
        WL#9499 - Code cleanup
    
    commit 288d70b356721887423ca3d2d72b42da331216cd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 13:08:08 2017 +0530
    
        WL#9499 - Sync open file map to disk before checkpoint.
    
    commit 3c602d1b4089cd262200650f4b33986fc9e26531
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 09:18:46 2017 +0530
    
        WL#9499 - Print expected bytes instead of generic message.
    
    commit f52e0985b8cbef3891385179d35dc8c7f567146a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Jan 17 09:07:47 2017 +0530
    
        WL#9499 - Print file size instead of generic message.
    
    commit b27b1b4b4b70e286e2c669f997b0a669f6d6034c
    Merge: bbdd1c46f1e c101ec9b557
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Jan 16 13:19:42 2017 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit bbdd1c46f1ef08d956ea249e1f6f4bc93d3464f1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Dec 10 14:41:12 2016 +0530
    
        WL#9499 - Handle the case where the rename has already been done on recovery.
    
    commit 141bdb02b1a402e786db5d8b165b781a5d7370a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Dec 9 11:59:29 2016 +0530
    
        WL#9499 - Instrumentation for debugging
    
    commit 34815bb24a1c296d9739e7602dc6ccd53c58c44c
    Merge: 41ca3732a6f 13a46b4c5ea
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Dec 9 09:44:03 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 41ca3732a6ffd8dfa16762a05df6b5c6b4b550c1
    Merge: 7137edb2d2c aba34f1205d
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Dec 8 11:10:08 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7137edb2d2ca60cdec44600ddf3f5cbde424e7a4
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Dec 8 05:56:06 2016 +0530
    
        WL#9499 - Remove unused code. Move id to name mapping sync before log flush.
    
    commit 2a50067e2da2f7819781de6550e55ca14995c7ff
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:57:41 2016 +0530
    
        WL#9499 - Initialize the PFS file handle
    
    commit d478d3492cdb40ec02fda9c043bf29b87bae11ed
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:05:52 2016 +0530
    
        WL#9499 - Fix whitespace
    
    commit 061af748a5e2fde6c1577ccdabfc8a89a9f753de
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 12:02:25 2016 +0530
    
        WL#9499 - Set must flush on file close/delete.
    
    commit ad76e2b9c7ff757f60c66821e86696d5ab757b18
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 11:43:00 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 5a95946d4567dc13cf5a12d6bcdb28b19a02b5bc
    Merge: 1a0f373eb7f da23d6b8e44
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Dec 7 09:27:45 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 1a0f373eb7f03dc22264f91f3f6ed1fd13825de7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Dec 6 13:01:41 2016 +0530
    
        WL#9499 - Readd test result file back
    
    commit 00afde093183cf850f735940245af111dce82b72
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Dec 6 12:59:49 2016 +0530
    
        WL#9499 - Don't purge the files based on LWM. It won't work.
    
        We need to also ensure that there aren't any pages in the buffer pool that
        belong to a tablespace that is closed. Redo log records can be written for
        such pages.
    
    commit 3199fe255103daa42f0332b7ff9d565eefff7429
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 06:41:39 2016 +0530
    
        WL#9499 - Fix typo
    
    commit 351cb6c42709405a79021276f310d7b996aadd1b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 06:32:02 2016 +0530
    
        WL#9499 - Remove unused function
    
    commit 61cc7f6b06c5280d58217b76d7627013ddcd8338
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 04:22:31 2016 +0530
    
        WL#9499 - Reduce the compression level.
    
    commit 48142e360ff5cfb53d5e416f3d6b92e956237923
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Nov 29 04:21:51 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 4de4f8b31ebdff31a2f7a97a1ad211770d20cdd6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 14:07:07 2016 +0530
    
        WL#9499 - Revert ef30f0754ab22e614ac22712c348ec5f53e0f09c
    
    commit c2f77f44c43c209fad86bba568aa521a2dcbf718
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 12:20:37 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 5fccb51769a13cb9a1fc0f29a832d3b0085ad52a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 10:30:18 2016 +0530
    
        WL#9499 - Print a message when checkpoint is disabled.
    
    commit ef30f0754ab22e614ac22712c348ec5f53e0f09c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 10:17:27 2016 +0530
    
        WL#9499 - Print progress in 10% units.
    
    commit bc0ded332624fa2c8a08ebfc955a03f1a24e069c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 08:13:54 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 68ce0208cc073452f5f791faf304971dbac7194a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 07:38:03 2016 +0530
    
        WL#9499 - Scan directories after the mutex code is initialized.
    
    commit 21e07c8fd6b8eddf158fb79980443f6c9f6d238e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 07:12:23 2016 +0530
    
        WL#9499 - Introduce --innodb-checkpoint-disabled (debug)
    
        Disable checkpointing if the variable is set. This is to force recovery if the
        server is killed during a test.
    
    commit 7033c9bb5ff7641764f70823a73d747b497a0eed
    Merge: 11a6e582417 c6af7f512b6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 04:00:39 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 11a6e582417d45a80a7f19233c2d2191a17936eb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Nov 28 03:59:05 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 0a38252e65d607b59b1e9f64d0c8003cdecfecfd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 25 05:56:42 2016 +0530
    
        WL#9499 - Code clean up
    
    commit bcf650cc92b8636f3768dcc3deb33b90b2942134
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 24 08:46:07 2016 +0530
    
        WL#9499 - Change the open files number back to 2.
    
    commit 99960af2825529fb45d021a34ba6c072e8caa0dc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 24 07:13:58 2016 +0530
    
        WL#9499 - Code clean up
    
    commit bdb91bc0ba03e01661c50c7175d3fd123d2bcd69
    Merge: 61f3e4a5663 a545bdd6e31
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 14:04:40 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 61f3e4a5663c375cd44ee766b263281ff7f0601b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 14:00:20 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 072ab837d0acb4d2ed817110598554acc44ec344
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 12:06:53 2016 +0530
    
        WL#9499 - Set the IMPORT page LSN to the flushed to disk LSN
    
    commit 7f18661432f3645eb9ce76680c62508ced115fa9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 11:28:47 2016 +0530
    
        WL#9499 - Force a checkpoint before the crash
    
    commit 83671e9c37fa61adfa5546cabe1463a91ff02241
    Merge: cc26d5ae16e d1f811eb6e8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 23 10:52:16 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit cc26d5ae16e8d723a2519f38bfbc084c13a766c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 18:40:51 2016 +0530
    
        WL#9499 - Fix latch ordering issue
    
        Cannot hold the log sys mutex when updating the checkpoint LSN for the open
        files in fil0fil.cc.
    
    commit 4474509addfbdf91b9f0ad890a971299c594e738
    Merge: 396755e195c 0856b10cde5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 08:00:05 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 396755e195c1c8d3b2485a58175dcf56ca2cbf3f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 07:58:05 2016 +0530
    
        WL#9499 - Remove newline added earlier
    
    commit ab5e60ba491e52f1529c22551a936d771b8b5ef9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Nov 4 07:57:21 2016 +0530
    
        WL#9499 - Revert a change that was added by mistake.
    
    commit 38688417713e5ef8cbb65032fa0a547ab0c25c15
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 3 20:44:50 2016 +0530
    
        WL#9499 - Bug fix, using an invalidated iterator.
    
    commit 4082d44f6dc4a5605562e37ccad9ac4db69344c6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Nov 3 11:30:49 2016 +0530
    
        WL#9499 - Fix doxygen comment
    
    commit d5ca99e14c010a5349aea6c8cc39493b2073b9c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 15:30:12 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit a25f3af10ea2893c634dc961d6f2af05efa103ec
    Merge: c8c2a7eba4c aa039b73223
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 12:52:51 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit c8c2a7eba4cac29ff431588daf2d6def0c0ee5a6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Nov 2 12:39:32 2016 +0530
    
        WL#9499 - Fix problem with open files acrosss checkpoints.
    
        The problem is that we write the open file state before writing the checkpoint.
        Before this change the closed files were purged from the open state map and
        the state written to disk. The problem is that the state and mapping of a file
        opened before the last checkpoint but closed just before we write the state
        will not be in the mapping on disk. One solution is to check older files and
        retrieve the mapping from there. The solution chosen is to avoid purging
        files based on open LSN. If the file was opened before the last checkpoint
        and closed within the current checkpoint we note the state as CLOSED but
        write the mapping to disk. It will be purged at the next checkpoint, if it is
        not opened again in the meantime.
    
        Previously an attempt was made to open all files straight after reading the
        mapping from disk. With this change only the state is loaded into memory the
        files are opened on demand. Added a check to verify that the tablespace ID
        from the first page matches the expected value.
    
        Fixed tests to use this new tablespace ID verification.
    
    commit 5dc929e54b1c259f0f8104739ae1f88e9b860f73
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 12:24:40 2016 +0530
    
        WL#9499 - Remove unused code
    
    commit 528b95d70dcc05a69a98ee2a76fdfb8dae1e82fe
    Merge: d9861c40964 75f05cba753
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:14:40 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit d9861c40964ad8fd45ee2cbbd9d94946110e8a9a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:04:49 2016 +0530
    
        WL#9499 - Remove last vestiges of MLOG_CHECKPOINT
    
    commit 3007ea5af68f40b85bc93098d8385ac96bcbd660
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Oct 25 10:04:49 2016 +0530
    
        WL#9499 - Remove last vestiges of MLOG_CHECKPOINT
    
    commit 9592996d2f17c9005262faa75dc1ade9dedbd511
    Merge: da512d5591b ac925fc91f6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Oct 19 10:34:48 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit da512d5591b3379b793d6155089e90791fe94c61
    Merge: f42e2ddd7d5 e635dfe28c0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Sep 30 05:20:10 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f42e2ddd7d50aacae679babe71643af379b5c492
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 22 15:05:28 2016 +0530
    
        WL#9499 - Fix assertion, the values can be ORred.
    
    commit 94cd08960bc3801acefd4b4ff4ddb4a3e7d7e81a
    Merge: 32a68f91330 59af373321b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 22 11:05:21 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 32a68f9133011871bfdaba3c742f6239e0a53061
    Merge: 7857f38ebce 15555ae2165
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 21 11:23:32 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7857f38ebce747135e055bc8a232b649f1aad351
    Merge: 427491f63f1 b43bf88cf80
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 19 11:43:17 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 427491f63f107247c36796e66f6224d20968f104
    Merge: e7fa4c53dcf 23343687722
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 14 22:40:47 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit e7fa4c53dcf01ea0e101bd8aa817698492995034
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 19:22:00 2016 +0530
    
        WL#9499 - max_lsn should work with any number of tablespace open files.
    
    commit 09775960da43d36ca64504c1298b9adff3056575
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 17:47:29 2016 +0530
    
        WL#9499 - Fix Names hash bug.
    
    commit 8430c5b34d23cb1774597707fe583dfac93fb3a8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Sep 12 09:49:47 2016 +0530
    
        WL#9499 - Use std::unordered_map for name to fil_space_t* hash.
    
    commit 5e8275caf9d50dc9ba2f2dadd3b8c0fdeb9c79b6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Sep 10 07:55:42 2016 +0530
    
        WL#9499 - Reduce an extra fil_sys_t::mutex call by consolidating flush request.
    
    commit b29fd1039cf0022cff36a2a2311f464f1f6dbcc5
    Merge: 6235ee4902a a150caebee6
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Sep 9 20:44:56 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 6235ee4902addd1a041b33469988bb1ea870dc7a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 8 10:58:00 2016 +0530
    
        WL#9499 - Add debug crash points.
    
    commit bf71fbc72b3570f55c8f01dd1a440e9eff761cb6
    Merge: ce6d2246a94 d25f38e38d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 8 09:47:37 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit ce6d2246a94801041da0bfece74b5ffdd9e8f796
    Merge: 69adae163de f28c4b9a41e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Sep 7 11:20:50 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 69adae163de295ef0e910752cf5f8c96b1c1114f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 22:33:29 2016 +0530
    
        WL#9499 - Ensure that the MLOG_FILE_OPEN is always written first to the redo
    
    commit 20d5b1ebe6c899e2a0a1d135ad4303490516ce26
    Merge: 2d7d25c145f 4f1fb936211
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 22:17:58 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 2d7d25c145fae59af744e91fce47fe009c869dad
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 10:06:56 2016 +0530
    
        WL#9499 - Add PFS instrumentation for the tablespace open file.
    
    commit 4e14a53ad129c1adcb0a3330931878a9f24c15cc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 08:53:57 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit a465361e74136662471d2b9c0f307799efbe7269
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 08:17:43 2016 +0530
    
        WL#9499 - Move the file write code to a separate method.
    
    commit 7a26ba28bf7bf94808c47cfcdb6210c4abde2587
    Merge: f49914e5e61 ed389829067
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Sep 1 07:55:25 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f49914e5e61b846c45f7b177308cd891918619e4
    Merge: a4fab040243 16fd507b84a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 31 11:23:42 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit a4fab040243a57fb8ef55f91812604352d8b92c8
    Merge: 93019973329 dfee02dc4f5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 30 10:42:20 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 9301997332923921b93de4946c4824164723050c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 30 09:09:05 2016 +0530
    
        WL#9499 - OSX/Solaris compilers don't like the code.
    
    commit 54afa110837a054de24ccda84ddbb4ef2d0b96a1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 22:55:19 2016 +0530
    
        WL#9499 - During recovery PFS instrumentation can't be accessed by the user.
    
    commit fa5c11e8cf0fbcd1852535faa74b1a04200df2e8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:15:07 2016 +0530
    
        WL#9499 - Fil_Open::purge() can be called during recovery too
    
    commit d8672a978d62db42f1a12ba152693a3c0d244d83
    Merge: d4251d0ed6f 14d2a977ce8
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:10:32 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit d4251d0ed6f9df5a3acbf97ce7ba8074f126044c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 29 11:07:14 2016 +0530
    
        WL#9499 - Remove a WL#7806 test.
    
        The test doesn't really help. It uses very simplistic checks for matching
        path names. It ignores links (soft and hard) completely. Besides during
        recovery the path names will work with the original path names.
    
    commit fba6656350d0a757b2cc936b017329e7f7ce2d32
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:51:53 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit b522d665d10dca905420cb9119692dffac5024c9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:20:30 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 3a9aca50a2e193398d626b5f75d238b5aa704e81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:19:39 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 5923cd73fc3af904220dea20b033ffcbb7892606
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 09:12:44 2016 +0530
    
        WL#9499 - Use custom allocators.
    
    commit 8c5acab2641cedae9542b9ad9405032abbcb4618
    Merge: 1509c43fcff 3c1319b9901
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 08:21:28 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 1509c43fcffb9a849542ef8f3a62e66fda490fc7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 08:08:34 2016 +0530
    
        WL#9499 - Fix bug, should be decrement in_use, not increment.
    
    commit 0ad783d5e6e3f99817c8b839fe8521f783577d35
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 26 07:58:49 2016 +0530
    
        WL#9499 - Change fil_node_t::in_use into a reference counter from bool.
    
    commit 3974f1ed40bfbadcee04fa5fc2e60a50b89f930c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 22:10:24 2016 +0530
    
        WL#9499 - Remove an assertion that is no longer an invariant.
    
    commit d79f12dec7c07698f02ce2e0d0396bcd01bdc683
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 21:52:21 2016 +0530
    
        WL#9499 - Rename fil_node_t::being_extended to in_use. Fix test.
    
    commit 1d3368bcf60e2e339d5917251b51201b94dd63a3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:57:38 2016 +0530
    
        WL#9499 - Fix log info messages during recovery/apply.
    
    commit d3811bd67248d3ae014f0e6475b1b49524f5c35b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:40:01 2016 +0530
    
        WL#9499 - Don't print % processed if number of records to apply is small.
    
    commit 55af670ff81170da51fbcae6832c3d6191176602
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:21:31 2016 +0530
    
        WL#9499 - Update test with new log message to check.
    
    commit 60c3d6c074ae230ab594015ed2f99e2eefcf97e0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:09:04 2016 +0530
    
        WL#9499 - Record test, because of new config parameter innodb_scan_directories.
    
    commit bd79ff06406c86758a29a28dbe5e7d494a0aa51f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 10:05:38 2016 +0530
    
        WL#9499 - Remove WL#7142 artefact.
    
    commit bcb753b72b2a01ba35d952cbab45e420929f2b33
    Merge: e30834ecc60 27d64e974ec
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:26:25 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit e30834ecc60522fca8d7b156a66c0765867dea6e
    Author: Sunny Bains <Sunny.Bains@Oracle.Com>
    Date:   Thu Aug 25 05:54:26 2016 +0200
    
        WL#9499 - Destroy the mutex in the Fil_Open destructor.
    
    commit a396d4714bdc46626e07d22b6871be153b627bd3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:17:06 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 282ad76aaeaeb6d91bbf81fcd3315f455d9f572c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 09:12:33 2016 +0530
    
        WL#9499 - Protect changes to Fil_Open state with a mutex.
    
    commit d338cb9468c126ee7e3eeae3bf37b0fc966bbf53
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 07:37:49 2016 +0530
    
        WL#9499 - Fix division by zero.
    
    commit 845324f19ba0a84538b87c072f6d99514533aa25
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 00:28:45 2016 +0530
    
        WL#9499 - Check for UNDO tablespace names during directory scan.
    
    commit 30ed1d19389e174605fdfc0b7d55fdf544933712
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 25 00:26:08 2016 +0530
    
        WL#9499 - Conform to new naming guidelines.
    
    commit 4cf67b352d4c8131064f832ec884db6166d50e71
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 22:04:43 2016 +0530
    
        WL#9499 - Add test for the configuration variable. Add a version number to the file.
    
    commit ad9c5bca0eba1d7bf8e29cd8ebd7062aae089f90
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 21:01:56 2016 +0530
    
        WL#9499 - Code clean up
    
    commit a9e848158909645ead86759ed7ab64789d18a0cb
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 15:26:02 2016 +0530
    
        WL#9499 - Print redo apply progress per tablespace
    
    commit 8cf86cf1567cabc1b03b2e8f2ec1167f3c38ce6c
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 13:04:55 2016 +0530
    
        WL#9499 - Print tablespace name and % completed per tablespace
    
    commit 35ccdf32d1d048400012a80422072fb41ceb1bbd
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 24 10:35:26 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit c978fb2e18a4e0b4a93b44fc3c75234bcdb3f1f0
    Merge: 8bde4aeb01c 0832bf660e3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 22:25:57 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 8bde4aeb01c3bcdecfb884e566f0ae28797a5b36
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 13:21:10 2016 +0530
    
        WL#9499 - Fix Windows build issue
    
    commit 7f502be746cbe0de1a0c3a992217691b167c2fa9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 12:12:08 2016 +0530
    
        WL#9499 - Fix Windows build issue
    
    commit 247bcfda6744a67cc4e53d61658ca87d206b0660
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 10:57:44 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 04509641b086a1b0b2c591573f95957f8a2f1cd0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 10:50:55 2016 +0530
    
        WL#9499 - Pass the filename directly to the callback
    
    commit 3efa317825886a3ae5d4a3c771fc0770a2c5a3ff
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 09:39:18 2016 +0530
    
        WL#9499 - Include tchar.h on Windows
    
    commit 55b814d2c2ebdea7c16a6d87a7251ca3f6e83775
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 23 07:47:39 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit e4d203688273b562691c912cb9c7024709757490
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 22:02:02 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit 31433b21dcabba0a7705eb8b1879beb1d8c36517
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 21:37:41 2016 +0530
    
        WL#9499 - Move Dir_Walker::walk implementation to os0file.cc
    
    commit 11f9016477274c5420782e365b26762067e7b99b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 18:42:28 2016 +0530
    
        WL#9499 - Fix Windows version of Dir_Walk.
    
    commit f32b88e0b1ef99f220165897db745b1dba12f86b
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 22 13:48:03 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit b91ad88d96942f1e05443001b7d1c2f6818ff6d3
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 14:32:25 2016 +0530
    
        WL#9499 - Initialize active ID to filename set from scanned set.
    
    commit 4a09f677ae7095aac9b07f7beccba8e60c50b065
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 13:09:05 2016 +0530
    
        WL#9499 Scan specified directories to build the ID to name mapping.
    
    commit c13b791497e322e6a5cf64ba85da52ee2cf05d45
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 10:46:53 2016 +0530
    
        WL#9499 - Fix check for incomplete read.
    
    commit 8a849e0288309cec7228612a62fc2bfd71b595e9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 10:45:04 2016 +0530
    
        WL#9499 - Fix Windows build errors
    
    commit 4fc24b654da26e8411fc45bc96f73ff70dc73e43
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 09:12:12 2016 +0530
    
        WL#9499 - Need to include string for Windows std::wstring.
    
    commit bcb5c2b23f54776e0faaafba2472bb2555aee561
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sun Aug 21 09:02:59 2016 +0530
    
        WL#9499 - On POSIX fopen() mode should be "w+b".
    
    commit b3c7def1931867633d9b8bb601317e99a06c31a9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 21:23:57 2016 +0530
    
        WL#9499 - Open file in binary mode for writing.
    
        Otherwise on Windows newline (0x0A) is translated to CRLF (0x0D0A).
    
    commit 0739399cb8a384c07b4b3540b73ade482d083f4a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 20:27:11 2016 +0530
    
        WL#9499 - More error messages during mapping file read. Add a directory walker.
    
    commit 1322de0af2235bc94630f7cb22e4ead1588775ee
    Merge: f266b100e2f 8fdbb2f5f1a
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 13:47:39 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit f266b100e2f23e775e5e04de8d26301d7f2f1072
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 20 13:18:07 2016 +0530
    
        WL#9499 - Flush the tablespace to mapping file buffers before fsync()
    
    commit 7c92536686033c2c70e7df831d569c1cd6f871f0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:32:26 2016 +0530
    
        WL#9499 - Remove unused member variable m_lsn.
    
    commit 994c4766ef712e7da668788d0bdd648cbd764982
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:25:05 2016 +0530
    
        WL#9499 - Don't crash on uncompress failure. Try the next file if any.
    
    commit a419a190cdf734e3beca08d339c6c0d307ddff5f
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:21:49 2016 +0530
    
        WL#9499 - Print an error code on uncopress failure
    
    commit 77cb39000e098ba4d06873723423521e6889a7d0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 20:12:11 2016 +0530
    
        WL#9499 - Code cleanup
    
    commit afc632e0ef768542a96d4d15a897cb1780825d2e
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 11:34:44 2016 +0530
    
        WL#9499 - Compress the tablespace open state file.
    
    commit 568c9e758084f671007789f7b5d1c996f5df39a0
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 09:12:39 2016 +0530
    
        WL#9499 - Free the buffer on return
    
    commit 0f468cf8e50b9605a9e6c4e93c818b0f876c3c29
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Fri Aug 19 08:42:38 2016 +0530
    
        WL#9499 - Remove protobuf
    
    commit e789eb175d2da90cee2d46e30b91e623546f9e96
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Thu Aug 18 09:59:37 2016 +0530
    
        WL#9499 - Get native HANDLE
    
    commit 6014c5853c09fee75256f9de6a86a5fc0ea18508
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 14:50:37 2016 +0530
    
        WL#9499 - Use _fileno() on Windows
    
    commit 61e6b4d7c033d48b775b22c4ad6d6b4858cd4cd7
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 14:37:01 2016 +0530
    
        WL#9499 - Use buffered IO for open state file writes
    
    commit 98f40b10c15e49d9a5e14689cdb34758bdf85a05
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 12:36:06 2016 +0530
    
        WL#9499 - Don't complain about corrupted encrypted pages during dblwr recovery
    
    commit c674939cbdeaa4a9996960de0fa4e74954ad6f76
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 09:21:06 2016 +0530
    
        WL#9499 - Protobuf internal code doesn't compile on Solaris/SPARC.
    
        Workaround is to set -Wno-unused-but-set-parameter for generated sources too.
    
    commit ff68ba26aeaa27070ceeaa8db4472a9ce4daa3c9
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Wed Aug 17 08:33:03 2016 +0530
    
        WL#9499 - Protobuf internal code doesn't compile on Solaris/SPARC.
    
        Workaround is to set -Wno-unused-but-set-parameter for fil/fil0fil.cc
    
    commit 445985ca11810c528567a4222cad4a7f0ce49e81
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 19:44:29 2016 +0530
    
        WL#9499 - Read/Write open state files using absolute paths
    
    commit b4d91d3799d94eb2677be6512752ec27dfa5e0f1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 14:37:40 2016 +0530
    
        WL#9499 - Fix doxygen errors
    
    commit 8be2de3b3077c0d0f26340c9c80f7ae2247eefbc
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 11:20:24 2016 +0530
    
        WL#9499 - Record test, MLOG_FILE_NAME doesn't exist anymore
    
    commit 54e64dc4a97f5bf4b5606cea1841dfc1f04fe536
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Tue Aug 16 10:41:01 2016 +0530
    
        WL#9499 - Add protobuf library to the embedded library.
    
    commit 83b0fb38283e285e1e963dd2c7c144d70b130338
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 21:17:13 2016 +0530
    
        WL#9499 - Improved DBLWR and System table checks and code cleanup
    
        1. Remove dead code
        2. If some pages from the dblwr buffer were not recovered during recovery
           because of a missing tablespace id -> name mapping. Check the tablespace
           ID against the Tablespaces meta-data after recovery.
        3. Track open of the system tablespace. Check if the name of any file
           has changed. We don't rename the system tablespace.
    
    commit 5ebfba1e083f6a1d2b70946b91a02d32733c7e87
    Merge: 7a1b724c04b 0c27bf6fc44
    Author: Sunny Bains <Sunny.Bains@Oracle.Com>
    Date:   Mon Aug 15 11:40:07 2016 +0200
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9499
    
    commit 7a1b724c04bf9d2e4aba0e58fb95dc8fc75d55c1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 15:07:47 2016 +0530
    
        WL#9499 - Free deferred page memory
    
    commit 4de5d3b03670e4d2e8ebce89e8b3f104968eb3e1
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 11:45:25 2016 +0530
    
        WL#9499 - Remove unrelated changes
    
    commit c9e83914232480501b139c36ef616798a2ac1d05
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Mon Aug 15 11:28:19 2016 +0530
    
        WL#9499 - Code clean up
    
    commit 6ecdb21d63ef6dd5a6aff997720178ff6510f0d5
    Author: Sunny Bains <Sunny.Bains@oracle.com>
    Date:   Sat Aug 13 14:31:52 2016 +0530
    
        WL#9499 - Don't exit if no open state files found

commit c2b504664ed342e8c4ce60f6fad8590e4f458a46
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Feb 13 18:18:05 2017 +0100

    Bug#25530204: THE RESULT OF SUM ON JSON_EXTRACT LOST THE DECIMAL PART
    
    When using the SUM aggregate function on an expression that returns a
    JSON value, the result does not have a fractional part.
    
    The reason is that the Item_json_func class does not change
    Item::decimals from its initial zero value. This is used to determine
    how the result is presented, and when it is zero, the fractional part
    is lost.
    
    Fix: Set Item::decimals to NOT_FIXED_DEC (31) in
    Item_json_func::resolve_type(). This is the same value that is used
    for other string types.
    
    For consistency, setting this member, and other members common to
    expressions that return JSON values, is moved into a separate helper
    function, Item::set_data_type_json(). Item_json and Item_sum_json are
    also updated to using the helper function.
    
    Item_sum_json redundantly set the data type to JSON both in its
    constructors and in fix_fields(). The patch removes the code from
    fix_fields() so that it is only set once. Similarly, make
    Item_json_func set the data type in its constructors instead of in
    resolve_type().
    
    Changed test result:
    
    Two test cases in json.json_agg get slightly different output because
    the type of 1.0 * JSON_ARRAYAGG(a) changed from DOUBLE(18, 1) to
    DOUBLE, and the type of SEC_TO_TIME(JSON_ARRAYAGG(a)) changed from
    TIME(6) to TIME.
    
    x.find_doc_proj shows metadata for some results where
    "fractional_parts" is changed from 0 to 31 as expected.
    
    Change-Id: I37a24afa463201059b7232583d60a5d2e6774fe0

commit 50c8d1b71ce1020ec0ea64edae3dfad9ea8da7ee
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Feb 28 07:59:47 2017 +0100

    Bug#23531998 MEMORY LEAK IN BINLOG.BINLOG_INDEX
    
    Re-enable the test in ASAN as the original problem has been fixed in
    
    Bug#25076007 SERVER CRASHES IF BINARY LOG IS ROTATED AND DISK-FULL CONDITION OCCURS
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over IM.

commit 1b038353badc01aeb662fd4f26fcfa01042c1e9c
Merge: 10d4ef2 3fb44f9
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Feb 28 07:28:17 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3fb44f9a128dfaee6375cb38590c37293530f488
Merge: 245f0cb a3ef6ea
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Feb 28 07:28:00 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit a3ef6eadac144cc4aa426e0b1a6e027d55ac7d36
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Feb 28 07:27:03 2017 +0100

    Backport fix for Bug#22849423 to 5.6
    
    The fix adds the Debian/Ubuntu install path to mtr search ca

commit 10d4ef2e9a70506ef18a9f5ffacad1c2ec1bc82b
Merge: 43b9ae9 245f0cb
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 11:33:53 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 245f0cbdaed263c8e198a4693d2e6659d3660610
Merge: 18daf1f 9b24c83
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 11:32:51 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9b24c83bb601b9a634e165ded7d8d209cbe25eab
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 11:29:02 2017 +0530

    Bug#25076007: SERVER CRASHES IF BINARY LOG IS ROTATED AND
    DISK-FULL CONDITION OCCURS
    
    Post push fix.
    
    Adding Doxygen comment.

commit 43b9ae93522364dbe1b47541209c16dc154301d9
Merge: b150993 18daf1f
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:46:33 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 18daf1f9fd258a13e5f194c58a40a79fcb8c8125
Merge: ad94354 e676549
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:43:58 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e676549f1a7baf4a36b646ab364daaeeecefc445
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:40:17 2017 +0530

    Bug#25076007: SERVER CRASHES IF BINARY LOG IS ROTATED AND
    DISK-FULL CONDITION OCCURS
    
    Description:
    ============
    Master Server crashes if binary log is rotated and disk-full
    condition occurs on binlog stored partition.
    
    Analysis:
    =========
    In Master Slave setup when slave requests for data from the
    master, a dump thread is created and the dump tread
    initially checks for the existence of binary log. If the
    binary log is enabled it continuously reads data from the
    binary log and sends it to slave.
    
    If due to some critical error, as mentioned in bug scenario,
    rotation of binary log fails due to disk-full scenario then
    the action specified in binlog_error_action is taken.  If
    users choose to ignore the error, then the binary log will
    be disabled.Both the binary log file/index file are closed.
    
    Their corresponding IO_CACHEs are cleared. The server will
    continue to do its work without writing transactions into
    the binary log. In such case dump thread will get EOF on
    current binary log and it will try to move to next binary
    log. At this point dump thread assumes that binary log is
    still active and tries to read the next binary log file name
    from index file IO_CACHE.  Since the IO_CACHE is in cleared
    state it causes server to exit abnormally.
    
    
    Fix:
    ===
    Added a check for the existence of binary log when dump
    thread is switching to next binary log. If binary log is in
    disabled state, all binary logs up to the current active log
    are transmitted to slave and an error is returned to the
    receiver thread.
    
    During testing valgrind issues were found in open_binlog
    code. At the time of disabling binary log only the IO_CACHE
    of binary log index file is cleared without closing the
    actual binary log index file. This results in memory leak.
    Replaced individual cleanup steps with appropriate cleanup
    function call.

commit b1509934ff4c89e3692f241918721f2a8a332a55
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Feb 28 05:51:29 2017 +0100

    Revert "WL#10166 Require WKB input in WKB parsing functions"
    
    Too many failures in PB2.

commit dfe5300da2983846eea74a7ce2638af7f0f87260
Merge: 5e974fd ad94354
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:11:03 2017 +0530

    Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit ad943544efdc1082e6abeb2d561841e06252f1a2
Merge: 7d1cb95 880c896
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:08:35 2017 +0530

    Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 880c896253ecd7dbabcf73bccde6890f9bd2244e
Merge: bdf3c02 e0de998
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:04:50 2017 +0530

    Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit e0de998d32b97db344ae7ced3e4654bc970ee589
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 28 10:00:51 2017 +0530

    Bug#24901077: RESET SLAVE ALL DOES NOT ALWAYS RESET SLAVE
    
    Description:
    ============
    If you have a relay log index file that has ended up with
    some relay log files that do not exists, then RESET SLAVE
    ALL is not enough to get back to a clean state.
    
    Analysis:
    =========
    In the bug scenario slave server is in stopped state and
    some of the relay logs got deleted but the relay log index
    file is not updated.
    
    During slave server restart replication initialization fails
    as some of the required relay logs are missing. User
    executes RESET SLAVE/RESET SLAVE ALL command to start a
    clean slave. As per the documentation RESET SLAVE command
    clears the master info and relay log info repositories,
    deletes all the relay log files, and starts a new relay log
    file. But in a scenario where the slave server's
    Relay_log_info object is not initialized slave will not
    purge the existing relay logs. Hence the index file still
    remains in a bad state. Users will not be able to start
    the slave unless these files are cleared.
    
    Fix:
    ===
    RESET SLAVE/RESET SLAVE ALL commands should do the cleanup
    even in a scenario where Relay_log_info object
    initialization failed.
    
    Backported a flag named 'error_on_rli_init_info' which is
    required to identify slave's Relay_log_info object
    initialization failure. This flag exists in MySQL-5.6
    onwards as part of BUG#14021292 fix.
    
    During RESET SLAVE/RESET SLAVE ALL execution this flag
    indicates the Relay_log_info initialization failure.
    In such a case open the relay log index/relay log files
    and do the required clean up.

commit 5e974fd0ea477dcae8aed094bddc9a1d0b5730e8
Merge: 7568e01 7d1cb95
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Feb 28 08:06:11 2017 +0530

    Bug #25080442   PARTITIONED TABLES USE MORE MEMORY IN 5.7 THAN 5.6
    Merge branch 'mysql-5.7' into mysql-trunk

commit 7d1cb95cbbdc5314433fabb2c7f7ac3f54d2167b
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Feb 28 08:02:59 2017 +0530

    Bug #25080442   PARTITIONED TABLES USE MORE MEMORY IN 5.7 THAN 5.6
    
    Additional features in innodb have added new variables in memory
    structures which increases the total memory usage. In dict_index_t
    in-memory structure which is allocated for each index these three
    additional members are added in mysql-5.7.
    
    
    last_ops_cur_t* last_ins_cur :- cache the last insert position.
    last_ops_cur_t* last_sel_cur :- cache the last selected position
    rec_cache_t     rec_cache    :- cache the field that needs to be
                                    re-computed on each insert.
    
    These three caches are only used for temporary or intrinsic tables
    but memory for them is allocated for all tables which increases
    the overall usage of memory
    
    Fix
    ---
    This fix optimizes the memory usage by allocating memory for these
    caches only when they are used .

commit 7568e01b7ca999461c25e47aff4b9cc3a57c2dc9
Merge: 2a5dcbc a0066a0
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Mon Feb 27 22:41:59 2017 +0100

    WL#10166 Require WKB input in WKB parsing functions
    
    Give a deprication warning when using geometries as parameters
    to the FromWKB functions. This functionality will be removed in 8.0.

commit a0066a01a825cb8f0ec5d023f22cea0d7473fe50
Merge: 9da96bc 707a693
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Mon Feb 27 20:57:01 2017 +0100

    WL#10166 Require WKB input in WKB parsing functions
    
    Give a deprication warning when using geometries as parameters
    to the FromWKB functions. This functionality will be removed in 8.0.

commit 2a5dcbcef26852abf6cd082f2a3b2d6cac90aa1a
Merge: 684569e 9da96bc
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Mon Feb 27 22:17:50 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9da96bc242a59a9ba7add49814f9ddb63d070085
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Mon Feb 27 22:16:00 2017 +0530

    Bug#24816271 - OKVCLIENT.ORA MUST HAVE STANDBY_SERVER
    
    DESCRIPTION
    ===========
    Initialization of keyring_okv Oracle Key Vault plugin fails
    when STANDBY_SERVER in the config file 'okvclient.ora' is
    missing.
    
    There could be a scenario when SERVER entry is present but
    STANDBY_SERVER entry is absent in the config file. In such
    a case initialization should not stop as the former exists,
    but its not happening at present and hence this bug.
    
    ANALYSIS
    ========
    The config file is parsed in OraConfFileParser::parse(). It
    returns error if 'standby_server_url' is empty, making it
    mandatory to set its value in config file okvclient.ora.
    This restriction should be removed.
    
    FIX
    ===
    Setting STANDBY_SERVER in config file is made optional now.
    When 'standby_server_url' is empty, a warning stating the
    same is thrown but the initialization is continued.
    
    NOTE
    ====
    This change would accompany a corresponding modification in
    documentation too. It now needs to be clearly mentioned
    that STANDBY_SERVER hereon is an optional entry in config
    file 'okvclient.ora'

commit 684569efd73f17becd371bb312916918c6bdfb1e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 20 12:28:53 2017 +0100

    Bug#24488219: INCLUDE WHAT YOU USE
    
    Make only one canonical place to get LEX_STRING from. We had this typedef
    repeated a number of times throughout the code base, which would cause
    IWYU to pick a random one and include e.g. sql_class.h into client code.
    
    Change-Id: I5fb63ff4d02c3ae3c1913957bf70df287f9f2289

commit f5d2a0dfd2cb8ef22cf78fc6d21fc0a04159a69a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 27 14:24:43 2017 +0100

    Bug #25597667: REMOVE MY_BOOL
    
    Post-push fix: Fix timeout in query_rewrite_plugins.refresh_thread

commit 7af75bbfe9db3b8fcfefd1d76e812f78b05e81e4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 27 12:28:30 2017 +0100

    WL#7897: Use DD API to work with stored routines
    
    Post-push fix: Add missing return from (unlikely) error path
    during stored routine creation.

commit cf243e43fc8f5295fe775b2415c7d10d7df137e7
Author: Luis Soares <luis.soares@oracle.com>
Date:   Mon Feb 27 13:10:05 2017 +0000

    WL#9840
    
    Post-push fix.
    
    Fixing a merge issue with BUG#25033494 fix.

commit 46929a2a504428c41917eb4f9fc37965dcffe7ef
Merge: 05e459b 3fa9831
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 27 17:31:28 2017 +0530

    Empty version change upmerge

commit 3fa9831662d6ddb25f5fd64dbbdc62f2c163a439
Merge: 89ee0ff bdf3c02
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 27 17:28:51 2017 +0530

    Raise version number after cloning 5.7.18

commit bdf3c0202303390f91741ac90d7e0f1c46fb66df
Merge: 4265487 7df8dc7
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 27 17:24:40 2017 +0530

    Raise version number after cloning 5.6.36

commit 7df8dc750c26ead87c643f87dccba28a66cf3c9b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 27 17:20:51 2017 +0530

    Raise version number after cloning 5.5.55

commit 707a69384c9962fe97b6912d541d49f2c6f0f646
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Fri Feb 24 09:56:25 2017 +0100

    WL#10166 Require WKB input in WKB parsing functions
    
    Give a deprication warning when using geometries as parameters
    to the FromWKB functions. This functionality will be removed in 8.0.

commit 05e459b436ac0e18a6883d951bc615e64d90e670
Merge: 4fc94fe 89ee0ff
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Feb 27 16:10:54 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk
    [Null Merge]

commit 89ee0fffbeec144d1034f437fbd09cdf3b1ae699
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Feb 27 16:09:20 2017 +0530

    Bug #23070734 CONCURRENT TRUNCATE TABLES CAUSE STALLS
    
    Post push test case fix for pb2 issue.

commit 4fc94fec10994b137e46b19d87dde84096d3b187
Author: Luis Soares <luis.soares@oracle.com>
Date:   Mon Nov 28 16:57:23 2016 +0000

    WL#9840: GCS: track mysql-gcs changes in mysql-trunk
    
    This patch breaks the group_replication cmake rules to
    be able to build and test libmysqlgcs alone. In addition
    it adds some of the unit tests missing.
    
    In detail, it does the following:
    - split the rapid/plugin/group_replication/CMakeLists.txt
      into two, one for the group_replication plugin and one
      for the mysql-gcs library
    - adds a libmysqlgcs target
    - adds unit tests for the libmysqlgcs under the unittest
      folder
    - Fixes one build issue in OSX.

commit f93fa9f4e55a70765d0063a3d2909ff77b1ecf7d
Merge: fc5733f 34a0043
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 27 10:11:23 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 34a0043b162602608489dfc347c55bf0d342dd54
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 27 09:59:09 2017 +0100

    Bug#25611609 LINK WITH DYNAMIC RUNTIME LIBRARIES ON WINDOWS
    
    Patch for 5.7 and up. Add option LINK_STATIC_RUNTIME_LIBRARIES, defalt OFF.

commit fc5733f03619e31d0b7dac2939b5943148c37ec9
Merge: 809ca77 bcc6ee0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 27 09:53:51 2017 +0100

    NULL Merge branch 'mysql-5.7' into mysql-trunk

commit bcc6ee089f8fdddcecea411290df0f61c646ca12
Merge: e2e0fd5 4265487
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 27 09:53:17 2017 +0100

    NULL Merge branch 'mysql-5.6' into mysql-5.7

commit 4265487dc14a96ce1c906596b61d055569c3160d
Merge: 9935dac 9483d7d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 27 09:51:57 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9483d7d6f7c54db85d8012b8098883f5710d6b1f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 24 16:20:14 2017 +0100

    Bug#25611609 LINK WITH DYNAMIC RUNTIME LIBRARIES ON WINDOWS
    
    Patch for 5.5 and 5.6
    Use default runtime libraries on windows, i.e. build with /MD

commit 809ca77f5b4110f27dc041e457f57dc6bdc8c120
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Feb 21 14:27:13 2017 -0800

    Bug #25572279 WARNING ALLOCATED TABLESPACE ID N FOR INNODB_UNDO00N
    OLD MAXIMUM WAS N
    
    This extra bootstrap warning was introduced in rb#13164:
    Bug#24462978: Free up 32 slots in TRX_SYS page for non-temp rsegs.
    
    It occurs when the database is initialized with undo tablespaces > rollback
    segments. In this case, only the first undo tablespaces associated with the
    limited rollback segments will be used. The remaining undo tablespaces
    cannot be used because the rollback segment slots are not available in the
    TRX_SYS page. But when starting the server, we have to open all unused
    undo tablespaces. Along with opening the unused undo tablespaces, the
    max_assigned_id needs to be incremented to avoid the warning. The rb#13164
    patch was not doing that.
    
    The solution is simply to call to fil_set_max_space_id_if_bigger(space_id)
    in srv_undo_tablespaces_open() instead of the other three place it does now.
    This makes sure that the condition "id > fil_system->max_assigned_id" in
    fil_space_create() is false which will prevent the reported warning message.
    
    Approved by Thiru in RB#15474.

commit 64ff8aba9911c353fb98fcbe1721762a39dd410e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 24 15:15:06 2017 +0100

    Bug #25597667: REMOVE MY_BOOL
    
    Post-push fix for an internal plugin on Windows.
    
    Change-Id: I11a161e0fb0262627ab4251e523a6fb898840638

commit 04096f9ed2e77be83e361a2a6accda874ff9153c
Merge: 3feba54 e2e0fd5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 24 14:56:45 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit e2e0fd5a0f94d96662a418b09d5181927323c8fe
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 24 14:23:38 2017 +0100

    Bug#25611359 REMOVE UNDOCUMENTED CMAKE OPTION WINDOWS_RUNTIME_MD
    
    Remove the undocumented WINDOWS_RUNTIME_MD cmake option.
    Remove /MT from compiler flags, and use default linkage, which is /MD

commit 3feba54fa66da409c7fb15bcd611fb54f72c572e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 24 14:24:49 2017 +0100

    Bug #25597667: REMOVE MY_BOOL
    
    Post-push fix to remove a Clang warning.
    
    Change-Id: Ic6745afd041643b555bb02c79426c82c056a855b

commit 355c287b33396fee77f51d571310c414fd18c7ed
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 24 14:14:59 2017 +0100

    Bug #25597667: REMOVE MY_BOOL
    
    Post-push fix to fix compilation.
    
    Change-Id: Ie42348db9d8f579f4fb90f8d83cde9fbaa0d08b5

commit b5351c7a13fed526a67c6f98cf603aa51feda1dd
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Fri Feb 24 18:39:10 2017 +0530

    Bug#25176044 : Follow-up patch
    
    problem : Some tests fails on NDB cluster machine due to result content mismatch
    
    Solution : Added a filter in the WHERE clause, to avoid unwanted line
    
    Reviewed by : Satya Bodapati <satya.bodapati@oracle.com>

commit 85209762fe091cbcedd9b4ad09cae25560ff52cc
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 21 13:39:24 2017 +0100

    Bug #25597667: REMOVE MY_BOOL
    
    Replace my_bool with bool everywhere.
    
    Change-Id: Ibfe9f9b4a05d8ee82d09ffdc4f1f038ec4555b89

commit 12df6cadf4b80a94d2defbdfd37ae570239586a2
Merge: ed6832d 4fd4264
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:50:48 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ed6832d93e78fabd3729ff16c466a409f8c5ebb0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 24 13:18:23 2017 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Follow-up patch: Remove NO_EMBEDDED_ACCESS_CHECKS from
    two files where it had been reintroduced. This is an ex-ifdef.

commit 4fd4264ffda6ed054cecca3e210ca62fbe963bc7
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:44:27 2017 +0100

    Deb packaging: Postpush fix for #23588977
    
    Using su to drop to mysql user before running database init:
    Works in 5.6 since mysql_install_db is on path (usr/bin), but
    for 5.7+ and mysqld it needs the full path (usr/sbin)

commit 3288bf66a1983e5ff998a4efdd47a90f753fa5b4
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Fri Feb 24 13:44:52 2017 +0100

    Post push fix for Bug#25589596 PRELIMINARY FIX SOME TESTS BY SETTING DB TEST TO LATIN1 (WL#7554)

commit 57dcfee98238052739dd3bbb395b5ba4b4ce47b5
Merge: 42197ca 365ed52
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:18:54 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 365ed524ec8b22f7c0affdfcf8121d3ff50621df
Merge: cab6d37 9935dac
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:18:14 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9935dac4f270fca1e1066260473a2a93c829c877
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 08:22:34 2017 +0100

    Bug#25525628	UPDATING MYSQL OVERWRITES COLLATION
    
    This marks all the collation xml files as conffiles, meaning
    the user will be asked for confirmation before overwriting them on
    an upgrade (only if they have been edited)
    This is only meant as a workaround, as the user should not be made
    to edit package files to include custom collations

commit 42197cacfd09b679ac29a739c4e2b1b9dca2e54f
Merge: b33b630 cab6d37
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:16:33 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit cab6d373b5da6a0de592fa20d87947212bd4c746
Merge: 54f056e a5690a4
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Feb 24 13:16:18 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit a5690a47d2af7702511a20c7811013eba3690706
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Feb 22 09:28:49 2017 +0100

    Bug#24517024	SETTING DATADIR IN MY.CNF IS NOT USED IN MYSQL-SYSTEMS-START SANITY CHECK
    
    Important directories are now fetched from config using my_print_defaults.
    Missing directories will only be created if they are under /var/lib (var/log for log file).

commit b33b630f20149f3a3326f63ea0422d08ee163076
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Feb 23 12:10:09 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #8
    
    To repeat:
    ./mtr --charset-for-testdb=utf8mb4 --defaults-file=include/utf8mb4_my.cnf
    
    group_min_max_innodb
    heap
    heap_btree
    heap_hash
    join_outer
    join_outer_bka
    join_outer_bka_nixbnl
    join_outer_innodb
    sp_notembedded
    
    Change-Id: I7f1eb96061a1dfba7bb91afcafa47326c9d079e7

commit 03ca2b34e6bac765e3cf334a19d321e3aebb64c1
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Feb 23 09:01:25 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #7
    
    To repeat:
    ./mtr --charset-for-testdb=utf8mb4 --defaults-file=include/utf8mb4_my.cnf
    
    group_by
    handler_read
    key
    key-bug17665767
    subquery
    type_timestamp
    type_timestamp2
    type_timestamp_explicit
    
    Change-Id: I3539cc62ba90b7b35658f1214fd7f3769b740de6

commit 42b795b2e8bcd3e22f80324ce64b240a5a9c1e82
Merge: 6fc8f9d 54f056e
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Feb 24 16:08:54 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 54f056eb9fa8aff018da1eda1b7ae64440ddbab4
Merge: bf7afe5 9753dd1
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Feb 24 16:07:31 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9753dd1e65223d906eebb059a230bf13f4be880c
Merge: 0591d82 a6776ca
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Feb 24 16:06:28 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit a6776caf29541a2b244dfa3dfa86019f2d057b6f
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Feb 24 16:04:34 2017 +0530

    Bug#25608828: I_MAIN.VARIABLES-BUG21503595 FAILS
                  SPORADICALLY ON PB2-5.5 FOR LINUX-VALGRIND
    
    Description: Sporadic failure of variables-bug21503595 test
    on pb2-5.5 for linux-valgrind platform.
    
    Fix: This is a issue related to libc and not related to
    MySQL code. During dlclose few blocks of memory left
    unfreed. This is a known issue in libc and needs to be
    suppressed.
    
    Fix: Added a valgrind suppression.

commit 6fc8f9df098779884ad33e990f521ce0d26aca0c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 24 10:31:14 2017 +0100

    Bug#25587256: NEWDD: FK: NEED TO SET PROPER REFERENCED COLUMN CASE
    
    The problem was that the name of the columns referenced by
    a foreign key was not converted to lower case when they
    were stored in the data dictionary. This would have given
    a change of behavior when the data dictionary eventually
    is used for FK info in e.g. SHOW CREATE TABLE.
    On current trunk, InnoDB's data dictionary is still used,
    so this bug had no visible effects yet.
    
    This patch fixes the problem by converting referenced column
    names to lower case when they are stored in the data dictionary.

commit 01767e7d96909235b0b742ee5b0ee55b2145c17c
Merge: 275245c bf7afe5
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Feb 24 10:49:08 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 275245cce3273d838aef4bbbdbe3bd9ac8cb23cc
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Feb 24 10:40:07 2017 +0100

    fix for pb2 failures (after push of Bug#25188540 and Bug#25573143)

commit bf7afe51deac1d8c5c07d61a4ccb364c2c2a553a
Merge: 5a12ed8 0591d82
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Feb 24 10:12:15 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0591d82162d4ca14eb3e44a72737536aaf48c144
Merge: f597f2c b468809
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Feb 24 10:11:24 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit c48eb148360f39861e71618000af9fecd65c0bd1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 24 09:26:03 2017 +0100

    Bug#25571453: ASSERTION `MDL_CHECKER::IS_READ_LOCKED(M_THD, *OBJECT)' FAILED
    
    The assertion was triggered when executing TRUNCATE TABLE if
    the truncated table was used by a view in a different schema
    and the view was locked with LOCK TABLES. In that case the
    schema containing the truncated table was not locked. This
    caused the assert to be triggered by the data dictionary code
    as a schema lock is required in order to check if the table
    has been locked properly. The problem had no ill effects on
    release builds.
    
    This patch fixes the problem by making sure that the schema
    containing the truncated table is locked.

commit 00050d4a0c304cfba7168bef3cd986eeeeb2e38b
Merge: fe05d5d 5a12ed8
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Feb 24 12:50:53 2017 +0400

    Null-merge from 5.7.

commit 5a12ed857208d52c69820c0a0eed4b7912fe2127
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Feb 14 23:24:17 2017 +0400

    WL#4745: Remove PROCEDURE ANALYZE
    
    This patch is for 5.7: add a deprecation message.

commit fe05d5db429144628e6abaf20804b1f51009b2ce
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Feb 15 23:42:40 2017 +0400

    WL#4745: Remove PROCEDURE ANALYSE.

commit c52d0a4da0c965dc58eb6caeb0a9c5cc3906c16d
Merge: 716f46e 0ad92f1
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Feb 24 12:23:29 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0ad92f1efbf673793fb0183c22f95354d3ef5dab
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Feb 24 12:21:58 2017 +0530

    Bug#25572504 - PID.SHUTDOWN PRESENT.SERVER WILL NOT RESTART
                   EROR WHEN STARTING >1 MYSQLD_SAFES
    
    DESCRIPTION
    ===========
    Script mysqld_safe isn't bringing the server up when the
    latter is crashing due to some reason. The log file reads
    as given below:
    
    "$$$.pid.shutdown present. The server will not restart."
    
    ANALYSIS
    ========
    Whenever we run "/etc/init.d/mysql stop" (or any other
    command which internally calls it), a "$$$.pid.shutdown"
    file is created to verify a graceful exit. During normal
    shutdown this file is expected to be removed as part of
    cleanup.
    
    As part of code refactoring done in patch to Bug#11751149,
    we missed deleting the "$$$pid.shutdown" file in one of the
    exit cases. As a result of which whenever a crash occurs,
    none of the "$$$.pid" file and "$$$.pid.shutdown" file is
    deleted. Now on finding the latter, the mysqld_safe script
    refuses to restart the server and eventually comes to a halt
    (which by its behaviour is correct!)
    
    The "$$$pid.shutdown" file has to be deleted in this case.
    
    FIX
    ===
    Reverted the part of code change in Bug#11751149, so that
    now the files are deleted in such a case.

commit 716f46e4ea1d138a68594be71a3a0fc14f1f23eb
Merge: 318d040 9bdeab7
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Feb 24 10:57:38 2017 +0530

    Bug#25135304: RBR: WRONG FIELD LENGTH IN ERROR MESSAGE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 9bdeab7f3aa67e980438083dd7f7ae1fa03222d4
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Feb 24 10:53:23 2017 +0530

    Bug#25135304: RBR: WRONG FIELD LENGTH IN ERROR MESSAGE
    
    Description:
    ============
    In row based replication, when replicating from a table with
    a field with character set set to UTF8mb3 to the same table
    with the same field set to character set UTF8mb4 I get a
    confusing error message:
    
    For VARCHAR: VARCHAR(1) 'utf8mb3' to VARCHAR(1) 'utf8mb4'
    
    "Column 0 of table 'test.t1' cannot be converted from type
    'varchar(3)' to type 'varchar(1)'"
    
    Similar issue with CHAR type as well.
    
    Issue with respect to BLOB types:
    
    For BLOB: LONGBLOB to TINYBLOB - Error message displays
    incorrect blob type.
    
    "Column 0 of table 'test.t1' cannot be converted from type
    'tinyblob' to type 'tinyblob'"
    
    Analysis:
    =========
    In Row based replication charset information is not sent as
    part of metadata from master to slave.
    
    For VARCHAR field its character length is converted into
    equivalent octets/bytes and stored internally. At the time
    of displaying the data to user it is converted back to
    original character length.
    
    For example:
    VARCHAR(2)- utf8mb3 is stored as:2*3 = VARCHAR(6)
    At the time of displaying it to user
    VARCHAR(6)- charset utf8mb3:6/3= VARCHAR(2).
    
    At present the internally converted octect length is sent
    from master to slave with out providing the charset
    information. On slave side if the type conversion fails
    'show_sql_type' function is used to get the type specific
    information from metadata. Since there is no charset
    information is available the filed type is displayed as
    VARCHAR(6).
    
    This results in confused error message.
    
    For CHAR fields
    CHAR(1)- utf8mb3 - CHAR(3)
    CHAR(1)- utf8mb4 - CHAR(4)
    
    'show_sql_type' function which retrieves type information
    from metadata uses (bytes/local charset length) to get
    actual character length. If slave's chaset is 'utf8mb4' then
    
    CHAR(3/4)-->CHAR(0)
    CHAR(4/4)-->CHAR(1).
    
    This results in confused error message.
    
    Analysis for BLOB type issue:
    
    BLOB's length is represented in two forms.
    1. Actual length
    i.e
      (length < 256) type= MYSQL_TYPE_TINY_BLOB;
      (length < 65536) type= MYSQL_TYPE_BLOB; ...
    
    2. packlength - The number of bytes used to represent the
    length of the blob
      1- tinyblob
      2- blob ...
    
    In row based replication only the packlength is written in
    the binary log. On the slave side this packlength is
    interpreted as actual length of the blob.  Hence the length
    is always < 256 and the type is displayed as tiny blob.
    
    Fix:
    ===
    For CHAR and VARCHAR fields display their length in bytes
    for both source and target fields. For target field display
    the charset information if it is relevant.
    
    For blob type changed the code to use the packlength and
    display appropriate blob type in error message.

commit 318d040eeff7db62c61737123fdc3dd66a856dcd
Merge: f384487 85fb7d4
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Feb 24 08:33:55 2017 +0530

    Null merge branch 'mysql-5.7' into mysql-trunk

commit 85fb7d45a23e4236c075c19247441193470f397b
Merge: 3db8cbb f597f2c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Feb 24 08:33:18 2017 +0530

    Null Merge branch 'mysql-5.6' into mysql-5.7

commit f597f2c326910939ef420ca2f5c4cb0d8da67758
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Feb 24 08:32:41 2017 +0530

    Bug #25551311   BACKPORT BUG #23517560 REMOVE SPACE_ID.
    
    - Post-push fix to avoid pb2 failure

commit f384487855976d13e2b876d635a9e7c299045b0d
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Feb 24 02:50:27 2017 +0100

    WL#9720: SET PERSIST capture user, host and timestamp
    
    Post push fix. This patch fixes invalid read error reported by
    valgrind.

commit 9c428df7c34196511f75dfd093e25d23792bb40c
Merge: 8167d70 3db8cbb
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 17:13:58 2017 +0100

    Null-merge from 5.7.

commit 3db8cbb4003d7f11949397c713f0512c9d102d73
Merge: 49997e1 a67ff2e
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 16:43:31 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit a67ff2e42fa9502f83b1a2679cd2534df91fbce2
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 16:42:47 2017 +0100

    Bug#25604587 BACKPORT BUG#24947217 TO 5.6 AND 5.7
    
    Change is needed in MySQL 5.6 and 5.7 as well.

commit 8167d70aff3492b7cb8904df47cdbd1f6f158508
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Thu Feb 23 16:07:56 2017 +0100

    Bug#25589596 PRELIMINARY FIX SOME TESTS BY SETTING DB TEST TO LATIN1 (WL#7554)

commit 63a8cfbf80f991108704e732e73874a7996dc3a2
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Feb 23 15:07:39 2017 +0100

    Bug#24834622 - ASSERT IN UPDATING VIEW METADATA FOR SYS SCHEMA VIEW.
    
    While updating view columns metadata, assert condition is hit
    for the datetime type column with default value as bitmap
    TABLE::read_set is not set.
    
    TABLE has a bitmap read_set. A bit in this bitmap is set for a
    field of a table used in the query. But this bitmap is not set
    (for outer-most query block) while resolving derived tables.
    A flag THD::derived_tables_processing is used to indicate the
    derived table processing.
    
    DDL operation on a table, views or stored function(sf) updates
    a view columns metadata if there are any views referencing them.
    The view columns metadata is updated as below,
    
      * List all the views using table, views or sf used in the DDL
        operation and even other views dependent on view(s) already
        included in the list.
    
      * For all views in the list,
          ** Prepare query expression for a view query with the new
             definition of table/view/sf.
    
          ** Update view columns metadata using the query expression
             prepared for a view query.
    
        (In error scenarios mark view as invalid and continue with
         next view in list.)
    
    While preparing query expression for a view, if the derived
    table processing fails in a situation like missing other table,
    view or sf (while preparing the query expression of the derived
    table) then the flag THD::derived_tables_processing is not reset
    in the current code. This affects processing next view in the
    list and we end-up not setting read_set flags in TABLE. Hence
    assert condition to check bitmaps THD::read_set while accessing
    fields (of type datatime in this scenario) fails.
    
    Modified code to reset THD::derived_tables_processing flag in
    in all error handling code path while resolving derived tables to
    fix this issue.

commit b4688099dc6bfe54b7786c925d9b9ec4df712130
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Feb 22 20:12:25 2017 +0100

    Bug#25514146: DB_NAME IS IGNORED WHEN CREATING TABLE WITH DATA DIRECTORY
    
    Problem: CREATE TABLE using a fully qualified name with INDEX DIR/DATA DIR
    option reports an error when the current database is not SET.
    
    check_access() was incorrectly called with NULL as the database
    argument in a situation where the database name was not needed for
    the particular privilege being checked. This will cause the current
    database to be used, or an error to be reported if there is no current
    database.
    
    Fix: Call check_access() with any_db as the database argument in this situation.

commit b6ec8dad6074dc58e96916e79d32d3d43ec7a9a6
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Feb 23 14:15:51 2017 +0100

    Bug#25422034 CRASH IN TABLE_LIST::QUERY_BLOCK_ID_FOR_EXPLAIN DURING EXPLAIN FOR CONNECTION
    
    Problem under concurrency:
    SELECTing from materialized view and doing EXPLAIN from another connection.
    The SELECT goes into TABLE_LIST::resolve_derived() which creates a tmp
    table and stores it into the 'derived_table' member of the SELECT_LEX_UNIT
    of the query expression underlying the derived table.
    But before 'derived_table' gets set, EXPLAIN runs and looks at the unit;
    (in Explain::explain_subqueries()) it sees this unit is for a derived
    table (context==CTX_DERIVED) and wants to access the tmp table; however
    'derived_table' is still nullptr so this fails.
    The 'derived_table' member was introduced by WL#883 (CTEs) so it's
    a regression.
    The reason EXPLAIN accesses 'derived_table' is to
    reach the CTE, and from there, the first materialized reference to the CTE,
    and from there, the unit underlying that reference and finally
    the ID of the first query block of that unit, because EXPLAIN wants
    to mention only one plan for the CTE for all references to the CTE.
    Fix: in EXPLAIN FOR CONNECTION, if the stmt is not yet fully prepared,
    don't explain it. This way, if the explainer reaches the point to test
    the 'derived_table' pointer it is sure it is set.
    Testcase with DEBUG_SYNC, as the problem requires concurrency.

commit dc6f063cbd3d63a01468aeba9c309a2124516759
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Feb 22 10:04:00 2017 +0100

    Bug#25188540 FIELD_TINY::VAL_INT(): ASSERTION `!TABLE || (!TABLE->READ_SET |......)' FAILED
    
    Since 5.0 'SHOW FIELDS FROM some_view' opens the view (parses its definition)
    and creates a temporary TABLE object, to get types of of the view's columns.
    In case the view's definer is incorrect, SHOW FIELDS must still succeed,
    so it avoids checking for privileges. That is why there are tests on
    SQLCOM_SHOW_FIELDS in sql_derived.cc and sql_base.cc, per the fixes for
    bug 26817 and 31662.
    In 8.0, 'SHOW FIELDS' gets its information from the DD, doesn't open
    the view anymore (per WL 7167). So those if() tests become unnecessary; moreover,
    they are even problematic: indeed in 8.0 'SHOW FIELDS' is rewritten
    to a SELECT over a system-defined view I_S.COLUMNS which itself wraps
    DD tables: this system view must be opened, and if it is materialized then
    underlying columns must be marked in read_set, which the old if() bypasses,
    leading to the assertion failure.
    
    Fix: remove the if() in sql_derived.cc. Also remove other if()s as
    they look unnecessary too.

commit 4841897b7c71bcd713ad0affb4822df4e967e0a0
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Feb 22 18:59:07 2017 +0100

    Bug#25573143 SELECT USING CTE NEVER USES THE QUERY CACHE
    
    The Query Cache's code is meant to cache results of SELECT statements
    so it has a test:
    "if statement's text starts neither with a comment nor with the SELECT
    word then don't search for it in the cache". It is a quick initial test
    which may let to pass statements like
    /* */ UPDATE ...
    so there are other finer-grained tests later in the process to make sure
    this UPDATE isn't searched for in the cache.
    With CTEs, a SELECT may start with the WITH word, so the quick test wrongly
    rejects such SELECT. Fixed by accepting the WITH word.
    After that, it still didn't work for recursive CTEs. Indeed, when deciding
    whether to store the query's result in the cache or not, the query
    cache's code inspects all tables used by the statement, to see if
    each table's content is "trackable in the cache", like this:
    loop on tables:
    a) if derived table, ignore this table (it's just a "read-only bunch of
    rows from underlying tables", we care only for underlying tables and
    will access them in the loop anyway)
    b) if a tmp table, don't serve from the cache (query cache is supposed
    to be global to all connections; other connections don't see the tmp table).
    With a recursive CTE like
     WITH RECURSIVE cte AS (SELECT... UNION SELECT ... FROM cte) SELECT ...;
    the second 'cte' reference is not a derived table, it's a recursive
    reference. So (a) didn't catch it, so it came to (b), and the test
    for "is tmp table" said "yes" (as it's materialized, it uses a tmp
    table internally).
    Fixed by extending the test on is_derived().
    
    Added an interface is_recursive_reference().

commit 62a30300618b42d46fbff83d73ff86fbd19b1b47
Merge: a0fe338 49997e1
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Feb 23 18:35:40 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 49997e11fc1cc3aafc294dc54b2298f4be472a83
Merge: 28efb0b 2ea2890
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Feb 23 18:35:21 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2ea2890cd230a8df1f3313bd2a611d079a12a006
Merge: c6525e7 aaf37a0
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Feb 23 18:30:25 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit aaf37a09ed507cf1723cae680d2facef5ebed526
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Feb 23 18:27:09 2017 +0530

    Bug#23195404  EXCESSIVE MEMORY CAN BE USED BY THE QUOTE()
    			  STRING FUNCTION
    
    Fix:
    =======
    Added code in QUOTE string function to honor max_allowed_packet.

commit a0fe338a611c1b589441173ce1b188e207b7799a
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Feb 23 09:06:37 2017 +0100

    Bug #25560605   INNODB.INNODB_STATS_LONG_NAMES FAILS ON WINDOWS WITH INNODB_UNDO_TABLESPACES=2
    
    innodb.innodb_stats_long_names  is failing on windows for runs with innodb_undo_tablespaces=2. The failure appears to be because InnoDB attempts to create a file whose path exceeds the maximum path length on Windows of 260 characters. Reducing the vardir name to keep the size within limits
    
    Reviewed by : erlend.dahl@oracle.com

commit 22c8b61bd919592c14a58a28f37d4edb890675ae
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Feb 23 12:33:18 2017 +0100

    Bug #25589691: FIX MISUSES OF MY_BOOL
    
    Post-push fix to unbreak Windows for the time being.
    
    Change-Id: I1fac33f9e9382814b746d96b8b8b887a0da962a7

commit 680d0a06305be1df04aad7244f940f9ccb87d262
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Feb 23 10:44:01 2017 +0100

    Bug #25589691: FIX MISUSES OF MY_BOOL
    
    Fix a bool being declared as char.
    
    Change-Id: I08319a3acb9b8572c8205720a8cf071e7c0bf320

commit 016c2eb4f5c27be81f61c655671dec7715ea2636
Merge: 153a79f 28efb0b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Feb 23 16:44:58 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 28efb0b8d2ed01c98d91f612af1a55191ecf3f72
Merge: f241644 c6525e7
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Feb 23 16:42:59 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c6525e76c941e8d2cea211c3b4dc7ccb68e4738d
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Feb 23 15:49:46 2017 +0530

    Bug#24976304 WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS TIMEOUT VALUE
    HANDLES SOME INPUTS BADLY
    
    Fixing post push issues

commit 153a79ff35da239b23158e34d8db50d0c48f7929
Merge: d4287fb f241644
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 11:19:08 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f24164490593258720b3096ff53aab1cfcc66301
Merge: 72e307e f003b9a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 11:18:52 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit f003b9ab1229f5cbb49f10626a0c3c02613cb84a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Feb 23 11:07:14 2017 +0100

    Bug#25603087 NEW PACKAGES BREAKS INSTALL ON FEDORA
    
    Changes in package structure requires larger set of packages to be
    removed to install MySQL server cleanly.

commit d4287fbcca5dfd2c9f2d4580f02107382464f231
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Feb 23 11:52:11 2017 +0530

    WL#9439 InnoDB: Support geographic R-trees
    
    Currently, InnoDB parses geometry objects and does all bounding box
    computations separate from the server code. This WL moves geometry parsing
    and bounding box computations for R-trees from InnoDB into the server.
    
    The interface defined in storage/innosbase/gis/gis0geo.cc and
    storage/innobase/include/gis0geo.h, which contains code for computing
    relational operations (within, overlaps, intersects, etc.) of bounding
    boxes/geometries and bounding box computations, are moved to
    sql/gis/srs/rtree_support.cc and sql/gis/srs/rtree_support.h, and the
    interface between InnoDB and server is defined in sql/rtree.h.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Norvald Ryeng <norvald.ryeng@oracle.com>

commit ef99a372105d45028e673ec7a4668828f22ac230
Merge: ab5b4bd 72e307e
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Thu Feb 23 09:52:08 2017 +0400

    Null-merge from 5.7.

commit 72e307eba9f6b1d1441d4de8126b5c1caa773f21
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Feb 22 22:15:02 2017 +0400

    Bug#25504275: MAIN.NULL TEST IS FAILING ON PB2 FOR 5.7
    
    MTR with the --ps-protocol hides parse-time warnings, that caused a divergence in test results with and without --ps-protocol.

commit ab5b4bdf47ba5962e746f9358b6b3b4b568eedd1
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Feb 21 15:41:18 2017 +0530

    BUG#25573578: WARNING OF 'AVOID_TEMPORAL_UPGRADE' INCORRECTLY GENERATED
                  FOR SKIP-INNODB OPTION.
    
    Analysis
    ========
    Incorrect warning related to 'avoid_temporal_upgrade' option is reported
    while using the 'skip-innodb' option.
    
    Missing 'break' statement after processing the 'skip-innodb' option.
    
    Fix
    ===
    Added the missing 'break' for 'skip-innodb' option.

commit a3b32195194f378ac1284fa59e7774c55e86453e
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Wed Feb 22 13:28:23 2017 +0800

    Bug #25588520: COLLATIONS USE CLDR_29 IN VARIABLE NAMES ALTHOUGH THEY ARE BASED ON CLDR 30
    
    When we were implementing new UCA collations, they were based on UCA 8.0.0
    and CLDR v29. Then we changed to latest UCA 9.0.0. We found that there is
    no difference between CLDR v29 and v30 on the collations we have. So we
    didn't change the variable names. But we agree that this really raises
    confusion and decide to change them now.
    
    Change-Id: I4e1cd93c489952224fd9e544e6b5d062ed898450

commit a72fb9f714a23e57bde0555cda0e7fedead605e0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 13 08:52:00 2017 +0100

    Bug#24930129: REDUCE NUMBER OF DICTIONARY CACHE LOOKUPS
    
    Move acquire() calls higher in call hierarchy to reduce
    number of acquire() calls. Pass const dd object references or
    pointers instead of object name strings.
    
    Part 2: Do this for views.

commit 79631b4ed78442f3d4a560a30abe6864c6c6229d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Feb 22 14:37:29 2017 +0100

    Bug #25589691: FIX MISUSES OF MY_BOOL
    
    Fix a bit mask being stored as my_bool.
    
    Change-Id: Id6eb144290027587e6a1a5f16e2d896360039362

commit f61970dd90e38f0f37eebfa228d30e0f43b107b7
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Wed Feb 22 20:37:15 2017 +0800

    WL #9751: Add Japanese collation to utf8mb4
    
    Post-push fix: change the presentation of characters to make unittest pass
                   on Windows.
    
    Change-Id: If7e3429e585979011a85d986a25190fba97c897c

commit 9f146db00e8335e7560499e0c13e2899a500f9ad
Merge: ec0cd42 2cd1865
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Feb 22 17:56:52 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2cd186576dea806420104edb901671d28813ed78
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Feb 22 17:56:03 2017 +0530

    Bug #23046302: COUNT(*) MUCH SLOWER ON 5.7 THAN 5.6
    
    This patch is specific to mysql-5.7.
    
    Post-push fix for failures:
    main.alter, main.gis,
    engines/funcs.ta_add_column2,
    engines/funcs.ta_add_column_first2,
    engines/funcs.ta_add_column_middle2
    
    Currently mysql_inplace_alter_table uses HA_HAS_RECORDS and
    records() function to check if there are any rows in a
    table. But after the previous push in 5.7 for
    Bug #23046302, HA_HAS_RECORDS and records() have been
    removed from innodb. This results in test failures.
    
    mysql_inplace_alter_table needs to know whether the table
    contains any rows, this can be accomplished by a single
    call to ha_rnd_next. In case the table is empty,
    HA_ERR_END_OF_FILE is returned. A new function has been
    added to return a boolean value.
    
    Other result file changes (unrelated to above problem):
    mysql-test/suite/innodb/r/innodb_mysql.result
    mysql-test/suite/opt_trace/r/security_ps_prot.result

commit ec0cd42cac144f9e47d5b005303eb189887cd2ee
Merge: 2997f41 c7105e7
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Feb 22 17:55:20 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c7105e7f2eb4dbe816ce98c6a267f9b10867840b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Feb 22 17:52:39 2017 +0530

    Bug#25041920: GTID AUTO SKIP DOES NOT WORK ON XA TRANSACTION ON SQL THREAD
    
    Fixing a post push test script issue

commit 2997f41c4f5c9399727f0f4a750f465b72fab8b2
Merge: e2aa1a8 be1e422
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Feb 22 17:36:44 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit be1e4221757458949a4a89ff8e605d9391a00f26
Merge: d347cdb 5caf4a3
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Feb 22 17:36:22 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5caf4a3b8f70eeeb3e55cdb9d91f63684a5b1b23
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Feb 22 17:35:58 2017 +0530

    Bug#24976304 WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS TIMEOUT VALUE  HANDLES SOME INPUTS BADLY
    
    Problem: WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS, WAIT_FOR_EXECUTED_GTID_SET
    and MASTER_POS_WAIT functions take an optional "timeout" parameter.
    When supplied with a timeout parameter that is anything other than
    a positive integer or zero, the server behaves oddly.
    
    Analysis: The timeout parameter was treated and read as positive integer.
    i.e., -1 became '0', 0.4 became '0', 1.4 becomes '1'. Hence the
    server was behaving wrongly with the negative and fractional timeout values.
    
    Fix: For negative values,
            > If SQL_MODE is strict mode then it will throw ER_WRONG_PARAMETERS
              error.
            > If SQL_MODE is non-strict value then it returns NULL immediately
              without doing any wait and generates ER_WRONG_PARAMETERS warning.
         For fractional value,
           > it is read as it is and no rounding off to near by integer
             i.e., 1.3 will be read as 1.3 and it will wait for 1.3 seconds.

commit e2aa1a86d1ff7f32264b8182b914170c7e5198cc
Merge: 5013d34 d347cdb
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Feb 22 12:58:01 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit d347cdbbb8c123518d3b4aff18c6a23d56a96847
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Feb 22 12:52:51 2017 +0100

    BUG#25461354: FLOW-CONTROL MAY FAIL TO STOP THROTTLING WHEN THE THRESHOLDS ARE LOW
    
    When flow control is enabled, reaching a minimum flow control quota
    of 1 will make Group Replication not to stop throttling once the
    cause of the throttling is gone. This happens because the integer
    result of 1*1.5 is 1, which makes the quota value a constant 1.
    
    To solve the above issue we ensure that the next computed quota
    value is always bigger than the previous one.

commit 5013d34c3136ef4e8b9dc8ed9c662c9d8c02b317
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Feb 21 14:16:46 2017 +0100

    Bug #25589691: FIX MISUSES OF MY_BOOL
    
    We have a variety of misuses of my_bool, in particular cases where it's not
    actually used to hold a boolean, but something else (like e.g.
    TRUE/FALSE/UNKNOWN, or a value from 0 to 5). These are changed to char or
    int as appropriate.
    
    In addition, we have a number of places that assume my_bool _is_ char,
    through implicit pointer casting. These are also fixed, mostly by changing
    the char variables to actually be my_bool.
    
    Change-Id: I8a2bdacce866d98b129f3903bda31a44371f8cd0

commit 00c0acce892db3da299c1dc4083e8796124625f3
Merge: 05923be 22056cb
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 22 15:53:02 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 22056cb5eaf4a0829d5be79abf991fcc0e2328a0
Merge: fa0d226 70b1d2b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 22 15:51:58 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 70b1d2bd397087539f63ea34740e5b5edac21d1c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 22 15:47:27 2017 +0530

    Bug #25551311   BACKPORT BUG #23517560 REMOVE SPACE_ID
                    RESTRICTION FOR UNDO TABLESPACES
    
    Description:
    ============
    The restriction that required the first undo tablespace to use space_id 1
    is removed. The first undo tablespace can now use a space_id other than 1.
    space_id values for undo tablespaces are still assigned in a consecutive
    sequence.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Debarun Bannerjee <debarun.banerjee@oracle.com>
    RB: 14016

commit 05923bef41d235607d8388a5eb172a8f0b621e84
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Feb 22 09:36:02 2017 +0100

    WL #9751: Add Japanese collation to utf8mb4
    
    Post-push fix: Fix Clang build warnings.

commit 5cb09f55da007f1de909a53da9f9aef254ee910a
Merge: b706810 fa0d226
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Feb 22 09:18:29 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit fa0d226d7eea16c67f4c6c63d0aa64025fb43a3e
Merge: c1098c3 5b807be
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Feb 22 09:17:45 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5b807be5ad35d2ee8e4e4b1318db6c6d9b17f670
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Feb 22 09:13:50 2017 +0100

    Bug#23588977	CONSISTENCY ISSUES IN DEB PACKAGING
    
    * Replaced /bin/sh with /bin/bash in mysql-common.postinst
    * Moved checking/creation of directories and database from various places to shared helper script
    * Remove full binary path for e.g. mysqld when running in scripts

commit b70681098895430d189439b27894e0795d579abe
Merge: 217975b c1098c3
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Feb 22 11:04:52 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c1098c3ad012203fbab89f1d6b33855dfa614ec4
Merge: 363155b 7e8b225
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Feb 22 11:03:18 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7e8b225310fd8610ee39e681283019d80bae569c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Feb 22 11:02:07 2017 +0530

    Bug #25053286: USE VIEW WITH CONDITION IN PROCEDURE CAUSES
                   INCORRECT BEHAVIOR
    
    Issue:
    ------
    This problem occurs when a stored procedure contains a
    query with a view. While resolving the columns in the
    WHERE condition, find_field_in_view insists on creating a
    Item_direct_view_ref object every time an execution
    happens. This object is not destroyed at the end of the
    execution.
    
    In the next execution, a new object is created and will be
    appended to the free_list. Hence the size of the free_list
    is growing and the cleanup phase at the end of each execute
    takes increasingly longer time.
    
    Solution:
    ---------
    This is a regression due to the fix for BUG#19897405.
    
    Ideally the Item_direct_view_ref object (which is related
    to the view's column in WHERE clause) should be created at
    the beginning of every execution and destroyed at the end.
    This doesn't happen because the check related to the status
    (STMT_INITIALIZED_FOR_SP / STMT_EXECUTED) had been removed.
    This check has been re-introduced.
    
    Scenario 1 in BUG#19897405:
    --------------------------
    a) SP is executed--> The view fields are resolved/fixed.
    b) FLUSH TABLE <table-name>.
    c) SP is executed--> Triggers re-prepare--> Query arena
       state is not reset and remains as 'STMT_EXECUTED'.
       Previously created Item_direct_view_ref object is
       destroyed. The view fields are resolved/fixed
       using the execution mem_root. It creates a new
       Item_direct_view_ref object, this is destroyed at the
       end of the execution.
    d) SP is executed--> Server crashes while trying to access
       the resolved view columns allocated on the execution
       mem_root which was freed after execution(c).
    
    Solution to Scenario 1 in BUG#19897405:
    ---------------------------------------
    The root cause of the problem mentioned in BUG#19897405 is
    that when a re-prepare error is raised due to a
    FLUSH TABLE / DROP TABLE, the state of statement arena
    should be switched to STMT_INITIALIZED_FOR_SP. Without
    this, the statement is unaware that previously created
    Item_direct_view_ref have been destroyed after the table
    re-open. While it creates a new Item_direct_view_ref
    object, this is destroyed at the end of the execution.
    Hence the execution that follows will not have any
    Item_direct_view_ref to use.
    
    The fix here is to set the state to STMT_INITIALIZED_FOR_SP
    after the re-prepare error is raised.
    
    
    Problem 2 in BUG#19897405:
    --------------------------
    a) SP is executed--> The view fields are resolved/fixed.
    b) SP is executed--> Gets re-prepare error. Destroys
       Item_direct_view_ref object. At the end "TABLE EXISTS"
       error is raised and state is set to EXECUTED
    c) DROP TABLE <table-created-in-sp>
    d) SP is executed--> Creates new item_direct_view_ref
       object. Destroys the object at the end of the statement.
    d) DROP TABLE <table-created-in-sp>
    e) SP is executed--> Server crashes while trying to
       access the resolved view columns allocated on the
       execution mem_root which was freed after execution.
    
    Solution to Scenario 2 in BUG#19897405:
    ---------------------------------------
    CREATE TABLE ... SELECT statement in an SP requires some
    special handling. The state is always set to
    STMT_INITIALIZED_FOR_SP in such a case.

commit 217975bb9ff55136f660acb340863b602438cc25
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Wed Feb 22 13:30:36 2017 +0800

    WL #9751: Add Japanese collation to utf8mb4
    
    Post-push fix: use native_strcasecmp to make it compile on Windows.
    Change-Id: Id04c0d9c276aa782a3c76588d579bb0066e03eab

commit 3cd5ac822b96ceb22693b8618b9d956d756d5b9d
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Wed Feb 22 09:39:34 2017 +0530

    Bug#25176044 : Add bootsrap variables inside master.opt
    
    Problem :
    Many tests in the InnoDB suite are skipped during the basic MTR run because they have inc files like have_innodb_4k.inc
    Therefore, the test will run only if --mysqld=--innodb_page_size=4k is passed on the command line
    
    Solution : The following steps are adapted
    
    step 1. Remove all references of have_innodb_64k/32k/16k/8k/4k.inc file references in *.test files
    step 2. Add --bootstrap --innodb_page_size=64k/32k/16k/8k/4k in master.opt files
    step 3. For rpl cases no need to follow step 2, just do step 1 only, because rpl suites never runs with different page sizes
    
    Reviewed-by : Satya Bodapati <satya.bodapati@oracle.com>
                  kevin Lewis <kevin.lewis@oracle.com>
                  Vinay Fisrekar <vinay.fisrekar@oracle.com>
    RB:15199

commit 5b624765eb51e01f2085726779d81bb5b8aa6a39
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Feb 15 15:12:42 2017 +0100

    Generalize suppress pattern to avoid NUMA-related valgrind warnings.
    
    Approved by Vasil Dimov <vasil.dimov@oracle.com>

commit 48f0f8e662e45a073e182fbce532d4f1ef514f21
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Feb 21 12:21:01 2017 +0100

    Make sure openssl_udf tests don't run when there is no OpenSSL support.
    
    Approved by Bjorn Munch <bjorn.munch@oracle.com>

commit 2cc0856a1f9692ababbf94be9dc3d484002c7341
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Wed Feb 22 11:11:11 2017 +0800

    WL #9751: Add Japanese collation to utf8mb4
    
    Implement Japanese collation based on the rules defined by CLDR v30.
    1. Hiragana and Katakana
    DUCET has already organized weight for Hiragana and Katakana to sort them
    correctly. It uses level 2 weight to differentiate "voiced kana" from
    "voiceless kana", and uses level 3 weight to make sure Hiragana sort before
    Katakana. We use the weight defined in DUCET to sort Hiragana and Katakana.
    
    2. Length mark and iteration mark
    Length mark (U+30FC) is a Japanese symbol which indicates a long vowel of
    two mora (syllable timing) in length. It is usually used in Katakana and
    Hiragana writing. CLDR has a series of rules which define how the length
    mark should sort when it follows different Katakana / Hiragana character.
    We use these rules to tailor its weight.
    Iteration mark is a punctuation mark that represent a duplicated character.
    CLDR has rules which define how the iteration mark of Hiragana and Katakana
    should sort. We use these rules to tailor their weight.
    
    3. Kanji
    CLDR defines sort order of 6355 Kanji characters as defined by JIS X 0208,
    the most recent version of Japanese Industrial Standards.
    We give them tailored explicit weight according to the collating order
    defined in CLDR. The given weight will be greater than the maximum weight
    of Kana characters.
    For other non-Japanese Han characters, we keep their implicit weight as
    defined by UCA.
    
    4. Reorder
    CLDR defines reorder rule [Latin, Kana, Hani] for Japanese.
    For Latin and Kana group, the reorder implementation in WL#9108 can reorder
    them well.
    But for character groups between Latin and Kana, and character groups
    between Kana and Hani, we'll give them tailored weight which is greater than
    the maximum weight of Hani characters to make sure they sort after Hani.
    
    BM_Hungarian_AS_CS   4186 ns/iter    27.11 MB/sec
    BM_Japanese_AS_CS    3899 ns/iter    30.06 MB/sec
    
    BM_Japanese_AS_CS is a little faster than BM_Hungarian_AS_CS. This is
    because besides weight shift, tailoring rule of Japanese contains many
    prefix context, but tailoring rule of Hungarian contains many contractions.
    So in next_raw(), weight of Japanese character can be returned earlier than
    Hungarian character.
    
    Change-Id: I7786d4182c54bd6d588a255e28e440e40fd777a6

commit c4dd2cbd2d966839549c289aa491954486d75ac3
Merge: b401f17 363155b
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Feb 22 02:19:02 2017 +0100

    Null-merge from 5.7.

commit 363155b7e13f3668379f0ba106bcb23ad16225c3
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Feb 22 02:18:39 2017 +0100

    BUG#25549156 - THREAD_POOL VALGRIND FAILURE ON PB 5.7.
    
    Valgrind failures relating to thread pool test suite is
    seen on PB2. The failures are a result of OpenSSL
    library. The fix is to add valgrind suppressions. This bug
    is a backport of the fix for bug#23473989.

commit b401f17e70d8a640f3d40d79e02c9d28be81caff
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Nov 25 17:30:53 2016 +0100

    Bug#25152785: REMOVE JSON_WRAPPER::STEAL()
    
    Add a move assignment operator and a move constructor to the
    Json_wrapper class, and use them instead of the steal() function to
    transfer the contents of one Json_wrapper into another Json_wrapper.
    
    Containers, such as Prealloced_array, can take advantage of move
    assignment operators and move constructors to avoid memory allocations
    when reorganizing their internal storage. Since many of the JSON
    functions store Json_wrapper objects in a Prealloced_array, they can
    under some circumstances do fewer memory allocations than before.
    
    Change-Id: Iaa29bf04320d6883d848d097696c75f0fd2ef562

commit 835bb9bf679726c945e869febb3cfd8b72ddaa3a
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Feb 21 15:19:01 2017 +0100

    Bug #25451166 SPLIT ITEM_FUNC_SPATIAL_REL
    
    Post push fix to fix build failure with VS 14.0.23107.0.

commit 0770afe8785f873573c2dcc36eafdb424ebb28f4
Merge: 783a891 b9184c7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Feb 21 14:29:52 2017 +0100

    Null-merge from 5.7.

commit b9184c773c8c4d6da6e7a14749071e72e3eb348d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Feb 21 08:57:45 2017 +0100

    Bug#25587469 MERGE_LARGE_TESTS NEEDS /BIGOBJ IN 5.7
    
    Add /bigobj for merge_large_tests.cc, to avoid
    "C1128: number of sections exceeded object file format limit" in MSVC

commit 783a891b18d58529d62c71f6107cfe0616915fe0
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Feb 21 13:40:58 2017 +0100

    Bug#25576205 WRONG COLUMN CARDINALITY PASSED TO GET STATS
    
    The problem is that the UDF
    INTERNAL_INDEX_COLUMN_CARDINALITY() is invoked even for
    hidden index elements. The system view I_S.STATISTICS_BASE
    used CAN_ACCESS_TABLE() to ignore hidden indexes, but the
    optimizer seem to invoke outer query conditions first and
    then the conditions of inner query. As per optimizer team
    the view optimization is correct and cannot be changed.
    
    In order to fix the problem, the UDF
    INTERNAL_INDEX_COLUMN_CARDINALITY() is passed as new
    argument conveying that index element is hidden. And if
    it is hidden the UDF will return NULL and avoid invoking
    SE API's for hidden elements.
    
    Because the hidden index elements are added in
    mysql-trunk-meta-sync tree the problem is not seen in
    mysql-trunk yet.
    
    A test case is added.

commit af3c08c9c5bbe8686547fbc3f7850220092e4060
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Feb 21 13:40:45 2017 +0100

    Bug#25583588 `M_PREBUILT->TABLE->N_REF_COUNT > 0' AT HA_INNOBASE::UPDATE_THD IN HANDLER
    
    The old implemenation of IS uses get_all_tables() to fill
    all table details. During this process, it seem to ignore
    only hidden data dictionary tables and does not ignore other
    hidden tables created by SE. Due to this, I_S queries end-up
    calling handler API's for hidden tables, which is not
    expected.
    
    This patch avoid the problem by not only ignoring data
    dictionary tables, but also another other hidden tables.
    This is done by check dd::Table::hidden() property while
    fetch list of all table names for a given schema in
    Dictionary_client::fetch_schema_component_names().
    
    A test case is added.

commit 8a122b0c5941f683b3ef0c697e7e95548d48f705
Merge: 6828d2b 2e53c1b
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Feb 21 14:03:14 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	rapid/plugin/x/tests/mtr/include/xplugin_preamble.inc
    	rapid/plugin/x/tests/mtr/r/notices_enable.result
    	rapid/plugin/x/tests/mtr/r/notices_enable_mysqlx.result

commit 2e53c1b19a0ea8a39969d941acb0b4f56a7c1cc6
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Jan 24 15:31:01 2017 +0100

    Bug #25290001: STATUS VARIABLE MYSQLX_NOTICE_OTHER_SENT IS INCREMENTED MULTIPLE TIMES
    Bug #25289949: ALL MYSQLX.NOTICE.WARNING FRAMES SHOULD INCREMENT NOTICE_WARNING_SENT STATUS VAR
    
    Description:
    Following Mysqlx_notice_warning_sent status variable is incremented when
    X Plugin sends Mysqlx.Notice.Warning frame with "level" field set to
    "Warning". All Mysqlx.Notice.Warning messages should be incrementing
    this status variable. In addition "Mysqlx_on_notice_other_send" status
    variable in some cases is incremented twice. Other problem in this logic
    is that when it "skips" sending the notice it still increments
    the status variable.
    
    Fix:
    The procedure of incrementation of mentioned status variables has been
    rewrote. Additionally, the X Plugin test driver (mysqlxtest) was
    improved for counting incoming messages (separately each type of
    message). This improvement helps build proper assertions for checking
    sent and received messages (e.g. notices). Moreover, loading file with
    macros to mysqlxtest was fixed.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>
    RB: 15187

commit 6828d2b74aad19d0cebae5eea7a1422c091be5cc
Merge: 6a443d9 511330d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Feb 21 17:01:18 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 511330d6d94822fa6c5ab86ce954aa91e10eb978
Merge: 9498d68 8062fd9
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Feb 21 16:59:49 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8062fd96cf4f5251de1526d53fdc94a5c74c3348
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Feb 21 16:56:11 2017 +0530

    Bug#25308357: THE CONNECTION CONTROL PLUGIN WILL
                  NOT COMPILE WITH PERFORMANCE SCHEMA
    	      DISABLED
    
    Description: This patch resolves a linking issue
                 which caused failure while loading
    	     the plugin.

commit 6a443d938bfa5aa5b4920098900d4f58550060d4
Merge: 8b2183b 9498d68
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Feb 21 12:03:28 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8b2183bfa916e70b79dc45134b6cc0f5a11749cd
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Feb 21 10:48:24 2017 +0100

    Applied clang-format.

commit 0e6a2b7bc0d80f46ac9afa10999d2679809dd394
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Feb 21 10:00:59 2017 +0100

    Doxygen cleanup,
    misc makefile cleanup.

commit 9498d68010a363f2363034b702585a2037dcaddb
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Feb 21 11:31:53 2017 +0200

    Addendum 1 to bug #23710632: Fixed doxygen warnings

commit 2c9bf82e833fe2406405393c4d86fa31cf6f81e7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Feb 21 10:28:38 2017 +0100

    WL#9720: SET PERSIST capture user, host and timestamp
    
    Post push fix. This patch fixes clang build failure and testcase
    failure for binary built with ubsan.

commit 0f5d2cf58007504a5651b31599ea84973c139202
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Feb 21 09:31:31 2017 +0100

    WL#9720: SET PERSIST capture user, host and timestamp
    
    Post push fix to resolve ubsan error.

commit 3848cbc67f46fdfcab413f421ffae39a14006454
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Feb 21 05:37:31 2017 +0100

    WL#9720: SET PERSIST capture user, host and timestamp
    WL#9763: Support option to RESET PERSIST
    
    WL#9720 introduces 3 new columns to performance_schema.variables_info table.
    SET_TIME - represents timestamp of when a system variable was changed.
    SET_USER - represents who has changed the system variable.
    SET_HOST - represents host on which the system variable was changed.
    Whenever a system variable is changed using SET statement
    performance_schema.variables_info table will get updated accordingly.
    
    WL#9763 introduces RESET PERSIST [IF EXISTS] variable; statement which lets
    variable to be removed from persistent config file mysqld-auto.cnf. This WL
    also introduces new performance_schema.persisted_variables table which will
    be an exact copy of mysqld-auto.cnf file. This enables user to see what's in
    the file at the SQL level without having to access the file itself.

commit 68560c4c5eca2ac04fa3d8ce6d0fb8d1c599fe15
Merge: 08dd82a 88fa6d5
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 21 10:03:34 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 88fa6d5da9b73ab473f4ee5c790442f84000da5e
Merge: 0f9298f 952063e
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 21 10:03:01 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Null Merge

commit 952063ec9352cf4bccf81ee07347d36cccf59a74
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Feb 21 10:01:04 2017 +0530

    Bug#25391948: RPL_CHECK_GTID TEST FAILS SPORADICALLY ON
    PB2 - WEEKLY-5.6 FOR LINUX-VALGRIND
    
    Problem:
    =======
    During dlopen/dlclose few blocks of memory left unfreed.
    This is a known issue in libc6 and needs to be suppressed.
    
    Fix:
    ===
    Updated valgrind.supp file with required function call
    stack.

commit 08dd82a712f9fab24143ebf1cfcdee69a5163703
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Feb 20 16:48:47 2017 +0800

    Bug #25582742: MAIN.RANGE_XXX FAILS WHEN CHANGING DEFAULT CHARSET
    
    Following tests fail when changing default charset to utf8mb4:
    main.range_all
    main.range_icp
    main.range_icp_mrr
    main.range_mrr
    main.range_mrr_cost
    main.range_none
    main.range_with_memory_limit
    
    Fix:
    Change to use explicit charset and record test result again.
    
    Change-Id: Id9986d4ccc04e7f6405dba2a156b4851307c22e3

commit ff135ab6a0a269706be9d5aa92ba0cad241a38a0
Merge: 6dfbe44 0f9298f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 20 22:53:53 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0f9298f7a23fc980bdc33a12470531f29d58120d
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 20 22:51:04 2017 +0530

    Bug#25041920: GTID AUTO SKIP DOES NOT WORK ON XA TRANSACTION ON SQL THREAD
    
    Problem: Server has a mechanism to skip (silently) a GTID
             transaction if it is already executed that particular
             transaction in the past. This GTID transaction
             skipping mechanism is not working properly for XA
             transaction.
    
    Fix: Rows_log_event::do_apply_event and mysql_execute_command is
    already handling the GTID skip mechanism. Adding the same GTID
    skip mechanism along with few other required GTID post commit
    checks to XA_prepare_log_event::do_apply_event function.

commit 6dfbe449b3cdfc69b7f1dbc14106037d65671d9f
Merge: f6d0616 7b37f59
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 20 21:46:32 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7b37f59881382db454bfc315708e4e4afd43df0c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 20 21:45:21 2017 +0530

    Bug#24806259 PERFORMANCE DEGRADATION WHEN THE SERVER HAS MANY GTIDS
    
    Problem: If a server replicated data from many different servers,
    (can happen over the period of time if slave server's master
    is different time to time, or replication chain is big enough
    that the transactions are travelled from many different Masters
    and reached the node), then FLUSH BINARY LOG command takes
    a lot of time. Since FLUSH BINARY LOG takes lock on binary log,
    it locks all the operations on the server which degrades performance
    of the server during this long time.
    Also > restarting of such this server takes many minutes.
         > setting GTID_PURGED with a big GTID list is taking time.
    
    Analysis:
    Flush binary log is calling  Gtid_state::save_gtids_of_last_binlog_into_table
    which prepares logged_gtids_last_binlog to compute the gtids that needs to be
    stored in the gtid_executed table. During this logged_gtids_last_binlog
    prepare operation, server calls
    Gtid_set::add_gtid_set()
       => Sid_map::add_sid()
             => Sid_map::add_node()
    when ever it finds a new UUID to be added to the set.
    When server calls add_node it has to update many internal structures
    to maintain the consistency of the Gtid_state. Some of these structures are
    declared as dynamic arrays (Preallocated_array).
    Eg:
         > Gtid_set::m_intervals # Array that maps SIDNO to SID;
                                 # the element at index N points
                                 # to a Node with SIDNO N-1,
    
         > Sid_map::sidno_to_hash   # Array that maps SIDNO to SID;
                                    # the element at index N points to
                                    # a Node with SIDNO N-1.
    
         > Mutex_cond_array::m_array # Array of read-write locks.
    
    As the name says, these array lengths needs to be adjusted dynamically when ever
    there is a requirement (no space in the array). In the current code,
    add_node is calling Preallocated_array::reserve(sidno)
    which will make the array adjusted to the size of 'sidno'. The mapped sidno for
    a new UUID is just equal to number of elements in the array + 1. Hence these
    arrays are getting incremented by just one more element.
    These dynamic arrays are adjusted in the following way
                  > Allocate new memory required to fit the new array size
                  > copy element by element from old array to new array location.
    Complexity of the algorithm is O(n^2) where n is the number of new UUIDs that
    needs to be added to these structures.
    
    Similar problem is happening when this server is restarted or when
    we are setting GTID_PURGED with a big gtid list. During these two
    operations, server prepares gtid_executed set by reading the gtids from
    gtid_executed table (or from the gtid text in case SET GTID_PURGED command)
    and server calls add_node for every new UUID.
    If the number of unique UUIDs are in thousands, the restart operation can
    take long time.
    
    Fix: Preallocated_array::push_back has logic inside that it adjust
    these dynamic arrays by doubling the current size when ever it finds
    no space. Hence server should not call "reserve" explicitly and
    let the push_back handle the cash of no space in the array.

commit f6d0616ee35d193c9e0910e279c65a04eae00341
Merge: a427102 57e16c7
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Feb 20 17:58:43 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 57e16c776285b9086153bb4ce2d84f62f0f8d59f
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jan 27 13:30:52 2017 +0200

    Bug #23710632:  AFTER UPGRADING TO 5.7.13 LOGS
      MANY [WARNING] EVENT 'MYSQL_AUDIT_CONNECT
    
    Currently the information about the error used to try to abort the
    audit command or the COM command is lost under a static message.
    
    This makes it hard to debug the "blocked" messages in the error log.
    The messages now print the underlying error too so that causes for it
    can be prevented.

commit a4271026201b1c7b77079e03d93436e0102a676f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 17 14:14:52 2017 +0100

    Bug#25574867 SEVERAL TESTS IN FUNCS_1 TEST SUITE FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat:
    ./mtr --suite=funcs_1 --charset-for-testdb=utf8mb4 --defaults-file=include/utf8mb4_my.cnf
    
    Change-Id: I8fa3a1efa03bdf7f6fd5e1d1170ef78910503f9e
    Fix: set charset explicitly to latin1 or utf8mb4

commit 69c023d759a84a9c9d569b42463cb4a78652f15f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 20 15:27:59 2017 +0100

    Bug#25565199: USE MORE FORWARD DECLARATION IN PUBLIC DD HEADERS
    
    Replace #include with forward declaration in several
    public data dictionary header files.

commit bfd2a66d7140876ba26a6c0b1a0983a947dd0bfc
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 20 15:27:29 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #12: Fix -Wunused-parameter warnings in sql*, part 2.

commit 593ad19562fd835b9232f354201e6db3ed8f8ad4
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 20 13:32:54 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix: Unbreak Windows link test, since <windows.h> without
    WIN32_LEAN_AND_MEAN (which is used in MySQL, but not in the link test)
    pulls in <winsock.h>, which conflicts with our WS2 defines.
    
    Change-Id: I1f158b8a385719f8de0d9d516127a16b7ea7cf9a

commit b711eb41999075250427f041bed00129cd5e66fe
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue Feb 7 12:11:28 2017 +0000

    WL#7318 Delayed Replication: GTID based and relative to immediate master commit
    
    Delayed replication is now applied per transaction (instead
    of per event) and is computed relative to the
    immediate_commit_timestamp (introduced in WL#7319) if both
    the immediate master and current server (slave) support
    immediate_commit_timestamp.
    If at least one of the servers does not support this
    timestamp, the delay will be computed using the old
    implementation.

commit f83e8017d44fc56cad657d3a11480a9b46ec8fd3
Merge: 9f3bf7e 4a3337f
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Mon Feb 20 16:26:58 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4a3337f45b6e434bbc31fe78b278a3bccf82b457
Merge: 147e676 4b1ef54
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Mon Feb 20 16:25:51 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4b1ef547b2e08aacfbb066ae4ae0ce4bd37316fb
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Mon Feb 20 16:24:10 2017 +0530

    Bug #24659861: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   SUBSELECT_HASH_SJ_ENGINE::CLEANUP
    
    ISSUE: For processing the query, creation of myisam
           temporary table fails since the key length in the
           query is larger than the supported length.
           Further in cleanup, variables which are not allocated
           due to the above reason are attempted to free up
           resulting in server to exit abnormally.
    
    FIX: Server will return error if unable to create
         temporary table for query processing.
         Added checks in cleanup to check if variables
         are actually allocated before freeing up.

commit 9f3bf7eb34057f6683331b751735f4f2bf510542
Merge: 22ee930 147e676
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Mon Feb 20 14:05:02 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 147e676adda9138bf106a1f98d8702353990fdc3
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Mon Feb 20 14:02:14 2017 +0530

    BUG#22028117 - MYSQLCLIENT DOES NOT RETURN CORRECT
                   MYSQL_INSERT_ID VIA DATABASE HANDLE
    
    DESCRIPTION
    ===========
    mysql_insert_id() does not return correct values after
    performing inserts in a table containing an AUTO_INCREMENT
    field and then performing a SELECT operation.
    The value of insert_id is getting reset to 0 after
    performing SELECT. However, LAST_INSERT_ID() gives the
    correct value.
    
    ANALYSIS
    ========
    An OK packet is sent from the server to the client to
    signal successful completion of a command.
    As of MySQL 5.7.5, OK packes are also used to indicate EOF,
    as EOF packets are deprecated. The packet identifier 0x00
    represents an OK packet whereas the packet identifier OxFE
    represents an EOF packet. The EOF packet has valid values
    for the following fields: packet header, warnings and
    server status. The fields affected_rows and insert_id will
    have valid values only if it was an OK packet and not for
    an EOF packet. Reading the values of the above two fields
    for an EOF packet will result in inconsistent values being
    assigned to the connection handle.
    
    FIX
    ====
    The fix is to assign the affected_rows and insert_id fields
    to the connection handle only if they were read from an OK
    packet. In case of an EOF packet, skip the assignment and
    proceed to the next valid fields. This way we can make sure
    that they don't get wrongly updated in the connection
    handle.

commit 22ee930becdbaf8ae31e9e4a94d4a5c67be6da3b
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Feb 10 15:10:45 2017 +0100

    Bug#25516960: JSON_SEARCH AND JSON_CONTAINS_PATH REJECT ONE-OR-ALL
                  ARGUMENT IF IT IS UTF-16
    
    Problem: The one-or-all argument is assumed to be utf8mb4 and is
    always believed to be different from "one" or "all" when it is encoded
    in UTF-16.
    
    Fix: Convert the one-or-all argument to utf8mb4 before checking if it
    is "one" or "all".
    
    Change-Id: Ic2160d1928d9afe8dcdc57aae72bb18958540946

commit b470c976882fe18797fc62f2089646e63ca0fa24
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Feb 10 14:18:02 2017 +0100

    Bug#25516881: JSON_UNQUOTE RETURNS WRONG RESULT WHEN INPUT IS UTF-16
    
    The JSON_UNQUOTE function did not unquote the string if it was UTF-16
    encoded.
    
    This happened because the function had some code to check if the
    string started and ended with double-quotes, which assumed that the
    input was UTF-8 encoded. This made it think that UTF-16 strings always
    started with '\0', so it never treated them as quoted strings.
    
    Fix: Convert the input string to utf8mb4, if needed, before attempting
    to analyze the contents of the string.
    
    Change-Id: I1c3fd717cb14ea8fcd57d99f5e9f7a61da798dce

commit af32593767b54a0404a610b57a88b5368f21e44a
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Feb 17 16:58:05 2017 +0100

    WL#9837: Group Replication: Transaction savepoint support
    
    This worklog goal is to improve Group Replication by adding support to
    SAVEPOINT.
    
    The SAVEPOINT statement sets a named transaction savepoint with a name of
    identifier. If the current transaction has a savepoint with the same name, the
    old savepoint is deleted and a new one is set.
    
    The ROLLBACK TO identifier command reverts the state of the transaction back to
    what was when executed the command SAVEPOINT identifier.
    
    The RELEASE SAVEPOINT statement removes the named savepoint from the set of
    savepoints of the current transaction. No commit or rollback occurs. It returns
    an error if the savepoint does not exist.

commit 36126ea623a0f1596343b55058694197990ef2db
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 17 14:01:07 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #11: Fix -Wunused-parameter warnings in sql*, part 1.

commit 9e791dadf1d159a3c401fedccda530848d1ecb22
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Feb 16 11:07:26 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #6
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    
    join_cache_bka
    join_cache_bka_nixbnl
    join_cache_bkaunique
    join_cache_bnl
    join_cache_nojb
    binary
    join
    
    Fix: re-record with explicit charset for queries/tables with mismatch
    in explain output.
    
    Change-Id: I3e40a721f21dba14da362e2aba7a3935f7fc7627

commit 258f5cfb685ab7392776e9be69e00c897f0c571c
Merge: 77dcfc8 82aa7c9
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Feb 17 13:10:30 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 82aa7c9b93b42a0bb30ee042a382527b57f84272
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Feb 17 13:08:30 2017 +0100

    Remove the MSVC CRT libraries from release packages

commit 77dcfc8cb033a4d1f3e5947c7c908638d9427af7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 17 13:04:16 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix: yassl-t was broken on Solaris, #include order is important...

commit ccbfdb264927419ae8efe0cf25423858af448fc9
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 17 10:25:45 2017 +0100

    WL#9167 Index merge hints.
    
    Post-push fix:
    Fix Clang build warnings about inconsistent usage of 'override'.

commit 40d6dcddffbb18316581ce8c0e41e79363c7a119
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Feb 15 14:34:00 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Finally remove the last remnants of my_global.h.
    
    Change-Id: I9116b7d2c0a0ee090e5583951735a6cdbd6c6f13

commit 964b876936ac5de9b7c2a5b7bc4f8b9a89711674
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Fri Feb 17 11:31:52 2017 +0300

    WL#9167 Index merge hints.
    
        INDEX_MERGE, NO_INDEX_MERGE hints are added to allow the user to
        control index merge behavior for the particular query without changing
        the optimizer switch.
    
        INDEX_MERGE hint:
    
           The hint forces the optimizer to use index merge for the specified
           table using the specified set of indexes. If no index is specified,
           all possible index combinations are considered by the optimizer and
           cheapest one is selected.
    
        NO_INDEX_MERGE hint:
    
           The hint disables index merge combinations that involve any of the
           specified indexes. If no index is specified, index merge is not
           allowed for the table.

commit 6158ad3ea9bde932d1043aba11fed9d65d028ced
Merge: 5750276 e6bf12f
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Feb 17 10:58:16 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e6bf12fd793de8f183555e79dae042e8246b2f2a
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Feb 17 10:53:34 2017 +0530

    WL#9772: Test and Document Gemalto KMIP Appliance
             with existing OKV_Keyring
    
    Description: This worklog enhances keyring_okv plugin
                 to support KMIP appliance such as KeySecure.
    
                 This worklog also fixes following issue(s).
                 Bug#25540639: KEYRING_OKV DOES NOT GENERATE
    			 RSA/DSA KEYS CORRECTLY in MySQL 5.7
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>

commit 5750276e9dea0e8aef25082ae468168844e7470f
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Feb 17 10:28:55 2017 +0800

    Bug #25562487: SOME TESTS IN MAIN SUITE FAIL WHEN CHANGING DEFAULT CHARSET
    
    Post-fix patch: fix failing test main.join_nested.
    
    Change-Id: Ic0e577a86d368b5b85e08656d121abab236b2554

commit 2066621e11858632b4c7d63d474a1881a777be64
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Feb 16 16:34:22 2017 +0800

    Bug #25562487: SOME TESTS IN MAIN SUITE FAIL WHEN CHANGING DEFAULT CHARSET
    
    Following tests in main suite fail when changing default charset:
    main.mysqltest
    main.join_nested_bka
    main.join_nested_bka_nixbnl
    
    Fix:
    Change to use explicit charset and record test results.
    
    Change-Id: I492cceda2dac33fd25bab0694f953fec2f088059

commit 934ba9c933184fa2f6d23485f7b38b18d1caa1ac
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Thu Jan 19 11:00:44 2017 +0100

    WL#6378: New data dictionary.
    
    Improve SQL layer handling of tablespace names:
    
    1. Split tablespace name validation into length checks
       and name checks.
    2. Do length checks early, before acquiring MDL on the
       names.
    3. For tables, do tablespace name checks after the
       table has been opened, because we need to know
       which engine it belongs to (see next item).
    4. Introduce an SE specific check of tablespace names
       as part of the handlerton API, and provide an
       implementation for InnoDB.
    5. Invoke the name checks as early as possible to
       avoid unnecessary execution which will just be
       rolled back.
    6. Iterate over indexes and partition indexes when
       retrieving tablespace names relevant for a given
       table, e.g. in the context of acquiring meta data
       locks for DDL statements.
    
    This patch is needed by InnoDB.

commit 546a734e6e80d1035693a1e420f2a87cd36d9050
Merge: f0f51c4 53e84b2
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Feb 16 17:51:39 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 53e84b22ee27d61e2f73bafc0b9409efb5f8121f
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Feb 9 18:35:57 2017 +0100

    BUG#25256910: NODE RECOVERY FAILS WITH ERROR_CODE: 1062; HANDLER ERROR HA_ERR_FOUND_DUPP_KEY
    
    On Single Primary Mode Group Replication certification process is disabled,
    only one server accepts writes so there aren't conflicts. Exist one exception
    for when a new primary server is being elected.
    
    This causes a problem for when a new server is entering the group, it doesn't
    know if certification is enable or not in the group as a consequence of the
    primary election mechanism. Hence, queries being rejected in other member can
    be accepted and fail on the new joiner.
    
    This patch solves this problem sending on view change, when a member join or
    leaves, the state of conflict detection of the members. When the member enters
    it will receive the state of conflict detection of all members and activate it
    if one of the members has conflict detection active.

commit f0f51c410bd4768fd719bdea9eee3285013c46fd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Feb 16 14:01:11 2017 +0100

    Bug#25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Post-push fix: Fix -Wconditional-uninitialized Clang build warning.

commit c6d3655e916242d9580aade8f625b5238161033f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Feb 16 12:20:59 2017 +0100

    Bug#25116123 MULTIPLE PLUGIN_DIR OPTIONS
    
    Extra patch for group_replication.
    Move include/xplugin_preamble.inc to the standard mtr include directory/
    
    Change-Id: I80003d5e4160dd1feb1c138975ff94c0d2439869

commit 5d2b0d769f7b4e080e09632c48142364be2e94c7
Merge: 33c4093 928ab13
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Feb 16 09:37:32 2017 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 928ab13c0c89a1b9af9aa7c4b3437188e188bfbb
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Feb 14 22:16:35 2017 +0000

    BUG#22186307: RPL.RPL_RELAYROTATE 'ROW':FAILS SPORADICALLY WITH REQUEST TO STOP SLAVE SQL THRE
    
    The test case is missing the "for channel ''" (introduced after the
    multi source replication support) in the error message that should be
    suppressed.

commit 33c4093cd103b9cf04b9c524c75c5c216a87ad7a
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Feb 2 16:10:24 2017 +0100

    Doxygen cleanup.
    Applied clang-format.
    Removed dead code.

commit 1bbcae812e1165b9221ac4e7c5b175cac77e1ef5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 10 13:00:28 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Patch #5
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    
    costmodel_planchange
    func_str
    func_weight_string
    group_min_max
    loaddata
    outfile_loaddata
    
    Fix: re-record with explicit charset for queries/tables

commit 4617edd34a8055a16b803efe40abf941cd1a3a42
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Feb 16 09:53:22 2017 +0100

    Bug #25451166 SPLIT ITEM_FUNC_SPATIAL_REL
    
    Split class Item_func_spatial_rel into one class per SQL function it
    computes. Preserve Item_func_spatial_rel as a base class that contains
    only the GIS computations and val_int().
    
    Remove the unnecessary template parameters to
    Item_func_spatial_rel::bg_geo_relation_check() and
    Item_func_spatial_rel::geocol_relcheck_intersect_disjoint(). Those
    functions are only used for Cartesian geometries.
    
    Change-Id: I544d719e83d1af573f396da0a4f596f720909694

commit 563194baaf187499552aceb35aaead878a69020d
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Feb 16 09:39:21 2017 +0100

    Bug #25451180 SPLIT ITEM_FUNC_SPATIAL_OPERATION
    
    Split class Item_func_spatial_operation into one class per SQL function
    it computes. Preserve Item_func_spatial_operation as a base class that
    contains only the GIS computations and val_int().
    
    Add "m_" prefix to member variables of Item_func_spatial_operation.
    
    Change BG_geometry_collection::merge_one_run() to take an
    Item_func_st_union pointer as parameter, since that's the only spatial
    operation used by this function.
    
    Change-Id: I8e10ae0304898bd017023670eb19f4b70f4be395

commit 741e948e0db7c429a07dcf7a6c15e8af1ea2609e
Merge: 3c87f98 85f782b
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Feb 16 09:33:52 2017 +0100

    Null-merge from 5.7.

commit 85f782b08afa47d155bf0993070d55867d6d9262
Merge: 698a8cd 0802a79
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Feb 16 09:17:27 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0802a79917329a5b784cfde3e43c2934468c39fd
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Feb 16 09:09:00 2017 +0100

    The default.weekly.basic collection on 5.6 and 5.7 is running more than what is required. Reducing coverage to same as trunk
    
    Reviewed by : erlend.dahl@oracle.com

commit 3c87f9804ab4ef8dbfeb0d33939fd9ee4073a573
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Thu Feb 16 12:10:14 2017 +0530

    Bug#18184868: CANNOT USE BOOTSTRAP VARIABLES IN -MASTER.OPT FILE
    
    Post-push fix: Bootstrap.sql was not being deleted after server
    initialization during parallel runs, because MTR was looking
    for it in the wrong location. This commit fixes the problem.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit 014c1b4274aa3c6ffe50d46df1ebf166a7a8b3f9
Merge: 914bf90 698a8cd
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Feb 16 12:04:30 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 698a8cd406a1f20c9b03a4ed6028b592c4252a69
Merge: 107945d f1d246c
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Feb 16 12:03:00 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f1d246c6c86530f521e853802c78a1941a158433
Merge: b322e87 9f885f1
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Feb 16 12:00:39 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9f885f155ef0293646b78f5e0bc2269a07b4a724
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Feb 16 11:49:13 2017 +0530

    BUG#25164932: MYSQL 5.5: CRASH IN LIBMYSQLCLIENT.SO
    
    Analysis:
    ---------
    Invalid memory access maybe observed when using prepared statements if:
    a) The mysql client connection is lost after statement preparation
       is complete and
    b) There is at least one statement which is in initialized state but
       not prepared yet.
    
    When the client detects a closed connection, it calls end_server()
    to shutdown the connection. As part of the clean up, the
    mysql_prune_stmt_list() removes the statements which has transitioned
    beyond the initialized state and retains only the statements which
    are in a initialized state. During this processing, the initialized
    statements are moved from 'mysql->stmts' to a temporary 'pruned_list'.
    When moving the first 'INIT_DONE' element to the pruned_list,
    'element->next' is set to NULL. Hence the rest of the list is never
    traversed and the statements which have transitioned beyond the
    initialized state are never invalidated.
    
    When the mysql_stmt_close() is called for the statement which is not
    invalidated; the statements list is updated in order to remove the
    statement. This would end up accessing freed memory(freed by the
    mysql_stmt_close() for a previous statement in the list).
    
    Fix:
    ---
    mysql_prune_stmt_list() called list_add() incorrectly to create a
    temporary list. The use case of list_add() is to add a single
    element to the front of the doubly linked list.
    mysql_prune_stmt_list() called list_add() by passing an entire
    list as the 'element'.
    
    mysql_prune_stmt_list() now uses list_delete() to remove the
    statement which has transitioned beyond the initialized phase.
    Thus the statement list would contain only elements where the
    the state of the statement is initialized.

commit 914bf90ab653cea798395c5d6ffe1acdedb7fd2f
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Thu Feb 16 04:30:58 2017 +0100

    BUG#25444075 - YASSL REQUIRES FROM READ FUNCTION TO RETURN
                   EWOULDBLOCK, VIO RETURNS ETIMEOUT.
    
    Connection is invalidated when read timeout occurs and application uses
    YaSSL.  The root cause is that yassl_recv emulates a blocking recv using the
    vio_read. vio_read returns ETIMEOUT in case of a timeout. YaSSL considers
    ETIMEOUT as a critical error causing subsequent read and writes to fail.
    The fix remaps ETIMEOUT to EWOULDBLOCK in yassl_recv. This fix is provided
    by Lukasz Kotula.

commit 12cc6e0b942b41ad2809465f8e049fce155f0d96
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Feb 13 15:02:02 2017 +0800

    Bug #25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Split contraction list by the string length.
    
    BM_Hungarian_AS_CS     4163 -> 4016 ns/iter [+ 3.7%]
    
    Change-Id: Id7a46275367009f61094f43e651a8055922832f7

commit d8111f6726f7eb258b23b7f6e10b806590618e8e
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Feb 15 22:26:27 2017 +0100

    Fixed a regression introduced by:
    
      commit f0c99144ef59390487fa2c7608bbeff1582ca4dc
      Author: Christopher Powers <chris.powers@oracle.com>
      Date:   Thu Aug 11 20:52:36 2016 +0200
    
          WL#6616 PERFORMANCE SCHEMA, INDEXES
    
          Implement indexes for Performance Schema tables.
    
          Marc Alff, Chris Powers, Mayank Prasad, Tarique Saleem
    
    Now that the instrument prefix does not contain a trailing '/'
    character which is added in build_prefix,
    the length check needs to account for the extra character added.

commit ee6e12cf46256fd94e279517980a066592cedbc6
Merge: 08991c7 107945d
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Feb 15 18:16:29 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 107945ddce8829f5d2c37f1660e9a9818340922f
Merge: dab4f16 b322e87
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Feb 15 17:32:48 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 08991c7f3ce4a58b7e579222528e1d67b5daeec2
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Feb 13 14:15:20 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <sys/types.h> and then re-sorting
    the #includes (and nothing else); then remove <sys/types.h> from my_global.h.
    
    Change-Id: Iafb6783d4c6841029bfc02a5727fc2a911d88bfc

commit b322e873392b45f6757f0bd7b57c43db8c14bc59
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Feb 14 11:34:40 2017 +0100

    Bug#25372805 PERFORMANCE SCHEMA 5.6.35 UNITTEST PFT-T FAILING
    
    Unit test pfs-t is failing, with the following error printed:
      not ok 179 - no locker (no thread owner)
    
    The root cause is the test case for sockets,
    which was not updated to follow a change in implementation in the code,
    as the behavior changed.
    
    Now, somehow this test failure went unnoticed,
    and after investigation it turns out that the unit tests
    programs to not return the test exit_status() on exit,
    masking test failures to the automated build scripts.
    
    This fix adjusts the failing test case,
    and fixes all performance schema unit tests
    to properly return the test exit_status().

commit 928bc9c0ff29f5f8dc4029d99a88183ab9f93a5e
Author: Hans H Melby <hans.h.melby@oracle.com>
Date:   Fri Jan 20 09:26:04 2017 +0100

    BUG #23280574 ASSERTION FAILED: !NO_DATA(NBYTES) IN GEOMETRY::WKB_PARSER::SKIP_UNSAFE()
    
    Applying the following queries:
    
    set sql_mode="";
    do st_exteriorring(convert(geometrycollection(point(1,1)) using utf8mb4));
    
    Causes an assertion failure due to an operation being performed on a WKB
    string believed to be longer than it really is due to its header content.
    
    Solution: In Gis_geometry_collection::scan_header_and_create,
    check that POINT geometries are long enough before setting the mflags.nbytes
    variable. Also, as an additional safety measure, change skip_unsafe() to skip()
    in the Gis_geometry_collection::get_data_size() function. This will cause the
    function to return due to lack of data before attempting to perform an
    operation on an invalid geometry.
    
    A test case is added in the main.gis test file
    
    Change-Id: I04e4a3ded06ada75d907ae08e2c4a98a5cecb741

commit fa33ffc1dfb5a369d031215d20b37abbb8b488ef
Merge: 23a0e71 dab4f16
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Feb 15 12:03:56 2017 +0530

    Bug #23046302	COUNT(*) MUCH SLOWER ON 5.7 THAN 5.6
    Merge branch 'mysql-5.7' into mysql-trunk
    [Null merge]

commit dab4f169e3d702130a76539e4017afb36626b009
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Feb 15 12:00:07 2017 +0530

    Bug #23046302   COUNT(*) MUCH SLOWER ON 5.7 THAN 5.6
    
    ANALYSIS
    
    This is regression caused due to worklog 6742 which
    implemented ha_innobase::records() which always
    uses clustered index to get the row count. Previously
    optimizer chose secondary index which was smaller in
    size of clustered index to scan for rows and resulted in
    a quicker scan.
    
    FIX
    
    After discussion it was decided to remove this feature in 5.7.
    
    [#rb14040 Approved by Kevin and Oystein ]

commit 23a0e71aa3d0e0f966e5fabe0a1ad3c5b9150e08
Merge: 78f1242c 17c1393
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 15 00:48:42 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 17c1393e6fde7c102f6d2b2c231212ffcc49dd1c
Merge: 01d6e6b 90f8c9c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 15 00:26:12 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 90f8c9cedd94c6f9ba01925f9a551620e8d8d313
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 15 00:23:57 2017 +0530

    Bug #25385590   DROP TABLE CRASHES IF INNODB_FORCE_RECOVERY > 4
    
    - Fixing ibuf_not_empty testcase in mysql-5.6

commit 78f1242cce1bd68f379f7a7e48b498af7fa94b41
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Feb 14 15:37:48 2017 +0100

    Followup fix to BUG#25200952

commit 12c60143a1727bd1e853c913caf4a3062ac3b2e4
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Jan 20 15:44:01 2017 +0100

    BUG#25200952 - TRANSACTIONS WITH DML WITH SUBQUERIES ON I_S TABLES CAN BLOCK CONCURRENT DDL
    
    Problem:
    --------
    1. I_S queries are blocking concurrent DDLs
    2. Two concurrent DDL statements which modify DD tables also do some reads
       from them explicitly and implicitly (as part of FK checks) acquiring
       gap locks in the process. As result deadlock occurs as these
       gap locks interact with inserts done by these statements.
    3. GAP locks that are taken part of 'read for update' will block concurrent inserts
    4. Next-key locks that are taken when inserting in unique secondary indexes block
       concurrent insert into DD tables.
    
    Fix:
    ----
    For 1)
    
    These are pure reads as in SELECTS (and not read done to do update)
    
    Use non-locking consistent reads for DD tables. This is applicable
    not only for I_S queries but for any reads on DD tables.
    
    For 2)
    Prevent Gap locks that are taken as part of FK contrainst checks.
    
    For 3)
    We dont need Serialize/RR reads for DD tables, so GAP locks are not necessary
    for DD tables.
    
    For 4)
    Use record locks instead of Next-Key locks. This will prevent blocking
    the range and allow insert into unique secondary indexes. MDL on DD Table objects
    prevents duplicates from being inserted.
    
    Reviewed-By: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 15154

commit a67d3e73412db4493c4389af985cb6cfbdb40509
Merge: 7c0bab4 01d6e6b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Feb 14 12:55:21 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 01d6e6b1f80ab1f4677c41b97ad2abaa91a31621
Merge: 06a4c5e 497a2d0
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Feb 14 12:54:55 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 497a2d0c140d46a66b3ca92136d25bb9e0771e01
Merge: afc4bc3 b687a64
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Feb 14 12:52:28 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit b687a6483515c47c5eeecc5a9c406b9214da6031
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Feb 14 12:25:20 2017 +0100

    Bug#25287707 THE PID-FILE VALUE IS IGNORED IN THE /ETC/MY.CNF OPTION FILE
    
    In SysV initscripts for RPMS [mysqld] section was ignored for some options.

commit 7c0bab4d9306a19c4af4e05eb8b7c82712dbe91b
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Feb 10 10:35:47 2017 +0800

    Bug #25516727: TEST CASES IN SUITE OPT_TRACE FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    Following test cases in suite opt_trace fails when changing default
    character set to utf8mb4.
    opt_trace.bugs_no_prot_all
    opt_trace.bugs_no_prot_none
    opt_trace.bugs_ps_prot_all
    opt_trace.bugs_ps_prot_none
    opt_trace.charset
    opt_trace.general2_no_prot
    opt_trace.general2_ps_prot
    opt_trace.general_no_prot_all
    opt_trace.general_no_prot_none
    opt_trace.general_ps_prot_all
    opt_trace.general_ps_prot_none
    opt_trace.range_no_prot
    opt_trace.range_ps_prot
    opt_trace.subquery_no_prot
    opt_trace.subquery_ps_prot
    opt_trace.temp_table
    
    Fix:
    Change to use explicit charset utf8mb4 except of some tests specifically on
    latin1.
    
    Change-Id: Idb3ce499a9afaf609b7c67b5868f821c60fb93dc

commit dacba00a11ad36dbb0a02e18f94291fc713f9137
Merge: f652d30 06a4c5e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Feb 14 14:50:14 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 06a4c5e52a56c137c6aec0f07b7c828e28b75f9a
Merge: 12f5046 afc4bc3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Feb 14 14:48:12 2017 +0530

    Bug #25385590   DROP TABLE CRASHES IF INNODB_FORCE_RECOVERY > 4
    
    - Allow the server to start if innodb force recovery is set to 6
    even though change buffer is not empty
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit afc4bc3050d8a772b3c4c032ac76eeb344d5c19b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Feb 14 14:34:44 2017 +0530

    Bug #25385590   DROP TABLE CRASHES IF INNODB_FORCE_RECOVERY > 4
    
    Problem:
    ========
     - Drop table assert if innodb_force_recovery is set to 5 or 6.
    For innodb_force_recovery 5 and 6, InnoDB doesn't scan the undo log
    and it makes the redo rollback segment as NULL. There is no way for
    transaction to write any undo log.
    
     - If innodb_force_recovery is set to 6 then InnoDB does not do the
    redo log roll-forward in connection with recovery. In this case,
    log_sys will be initalized only and it will not have latest
    checkpoint information. Checkpoint is done during shutdown even
    innodb_force_recovery is set to 6. So it leads to incorrect
    information update in checkpoint header.
    
    Solution:
    ========
    1) Allow drop table only if innodb_force_recovery < 5.
    2) Make innodb as read-only if innodb_force_recovery is set to 6.
    3) During shutdown, remove the checkpoint if innodb_force_recovery
    is set to 6.
    4) Allow the server to start if innodb force recovery is set to 6
    even though change buffer is not empty.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit f652d308d62f54c5835c8e1c50dc2dd34d986b83
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Feb 13 14:45:20 2017 +0100

    Bug#25413204 DOXYGEN IS NOT GENERATED FOR NON-RAPID PLUGINS
    
    Before this fix, doxygen documentation was not generated for plugins.
    
    The root cause is the EXCLUDE = plugin clause from file Doxyfile.
    
    With this fix, plugin documentation is now generated.
    Several trivial errors now reported have been fixed.

commit 8ce7d01958ab2fdceca8dd8e44a0865098486d4e
Merge: 0d5d9fe 12f5046
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Feb 13 15:20:33 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 12f50466afdca78ecb82c33b43bb2ca22eea5013
Merge: 1ec9578 9d12abb
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Feb 13 15:20:06 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9d12abb7f8eff84b8025fcf609d73f5acf71406a
Merge: 9a2df30 bad945b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Feb 13 15:17:41 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit bad945bf5fd9b99e6a4285b95291bd7d64f60d50
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Feb 13 14:55:29 2017 +0100

    Bug#25144379 MYSQLD PROCESS DOES NOT INCLUDE FULL PATH WHEN STARTING MYSQL SERVER
    
    Fix of Bug#25088048 caused paths to be relative, not absolute, this
    proved to be problematic.
    
    Fix is to still ignore current working directory, however switch to
    using full path of basedir, which is set to parent directory of bin/
    directory where mysqld_safe is located.
    
    References to legacy tool mysql_print_defaults are removed, only
    my_print_defaults is used these days.
    
    This will also fix:
      Bug#11745176 (11192) MYSQLD_SAFE ONLY EVALUATES --DEFAULTS-FILE OPTION WHEN IT IS THE FIRST OP
      Bug#23013510 (80866) MYSQLD_SAFE SHOULD NOT SEARCH $MY_BASEDIR_VERSION/VAR AS DATADIR
      Bug#25244898 (84173) MYSQLD_SAFE --NO-DEFAULTS & SILENTLY DOES NOT WORK ANY MORE
      Bug#25261472 (84219) INITSCRIPT ERRORS WHEN LAUCHING MYSQLD_SAFE IN NON DEFAULT BASEDIR
      Bug#25319392 (84263) MYSQL.SERVER (MYSQL SERVER STARTUP SCRIPT) CAN NOT WORK,AND EXPORT SOME ERROR.
      Bug#25319457         MYSQLD_SAFE MIGHT FAIL IF $DATADIR HAS TRAILING /
      Bug#25341981         MYSQLD_SAFE ASSUMES INCORRECT BASEDIR WHEN EXECUTED WITH ABSOLUTE PATH
      Bug#25356221 (84427) MYSQLD_SAFE FAILS TO START WHEN USING A FIFO FOR LOG-ERROR (REGRESSION)
      Bug#25365194 (84447) MYSQLD_SAFE DOESN'T CHECK EXISTENCE OF GIVEN BASEDIR PARAMETER
      Bug#25377815         ERRORS WHILE STARTING MYSQLD_SAFE WITH SYM LINK ENABLED

commit 0d5d9fe78004f9543f7e70e50b5890bdbf7bb301
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 10 13:08:46 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <stddef.h> and then re-sorting
    the #includes (and nothing else); then remove <stddef.h> from my_global.h.
    
    Change-Id: Iae595c1aff615e294b823ee1663eaabb7dc086fb

commit 19ca7c6a5d3a30dc236a548573ecba80fa56b499
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Feb 13 06:45:41 2017 +0100

    Bug#25539389 INNODB_ZIP.INNOCHECKSUM_3 FAILS WHEN UNDO_TABLESPACES NOT EQUAL TO DEFAULT
    
    Stop-gap fix, prevent the test from running when innodb_undo_tablespaces != 0.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit b7d39f286b4ba22e6677f268f1839b2f78f37047
Merge: cc47679 1ec9578
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Feb 13 08:13:15 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1ec957870fc5f927fe9c42951551d3c71b89cb5b
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Feb 13 08:08:36 2017 +0530

    Bug #24619222: PASSWORD_LIFETIME IS RESET TO NULL WHEN USER
                   EXECUTES ALTER USER STATEMENT.
    
    Analysis:- The "password_lifetime" value is set to NULL for
    certain set of statements.
    
    Fix:- A check is introduced before resetting the
    password_lifetime value to NULL.

commit cc47679bac7ae853bf39c520f93496607ade5e89
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sun Feb 12 16:31:29 2017 +0100

    Bug#25495714: FOREIGN KEY INFORMATION IN NEW DD NOT FOLLOW THE LOWER CASE TABLE NAME SETTING
    
    Post-push fix: Fix windows-only test failure with innodb 4k page size.

commit 2dbde9293d92e6491e0a7c8bd989a4d1dbdae604
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Feb 9 10:57:59 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #10: Fix -Wunused-parameter warnings in sp*

commit 822ae2e9955d08402cd4e6decb78b28081ead851
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Thu Feb 9 13:08:38 2017 +0100

    WL#6391: Post push fix.
    
    Return early after raising error when accessing protected tables.

commit 54812eb4348d6951bd627bebb76c22f3aa600528
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Feb 10 12:48:43 2017 +0100

    Bug#24930129: REDUCE NUMBER OF DICTIONARY CACHE LOOKUPS
    
    Move acquire() calls higher in call hierarchy to reduce
    number of acquire() calls. Pass const dd object references or
    pointers instead of object name strings.
    
    Part 1: Do this for schemas, events and stored routines.

commit 9803931de2fe0732faea7ce309060dcfd1c9f8ad
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Feb 9 16:26:20 2017 +0100

    Bug#25525774 MISC EXPLAIN TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    
    explain_for_connection_small_json
    explain_for_connection_small_trad
    explain
    myisam_explain_json_non_select_all
    myisam_explain_json_non_select_none
    myisam_explain_non_select_all
    myisam_explain_non_select_none
    innodb_explain_json_non_select_all
    innodb_explain_json_non_select_none
    innodb_explain_non_select_all
    innodb_explain_non_select_none
    
    Fix: re-record with explicit charset for queries/tables with mismatch
    in explain output.

commit a0ac92b3907d59bd62455c5f749ab0975f8b6d76
Merge: da89e4e c2b35de
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Feb 10 11:58:49 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c2b35ded61388afa78706cd82d871d755eaa8e59
Merge: 2dffd6c 9a2df30
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Feb 10 11:57:47 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9a2df30e3f830ab470acb759b856ac99c655e814
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Feb 10 11:50:18 2017 +0530

    Bug#25522709 - MAIN.MYSQLHOTCOPY_ARCHIVE AND
                   MAIN.MYSQLHOTCOPY_MYISAM TESTS FAILING
                   IN PB2 IN 5.6
    
    DESCRIPTION:
    ============
    main.mysqlhotcopy_archive and main.mysqlhotcopy_myisam tests
    are failing in PB2 weekly-5.6 on the freebsd platforms.
    
    ANALYSIS:
    ========
    This is caused by an explicit shebang in
    checkDBI_DBD-mysql.pl and in mysqlhotcopy.sh using
    #!/usr/bin/perl which is not correct on a standard install
    of FreeBSD 11. This results in a failure of the script
    execution.
    
    FIX:
    ====
    The fix is to use a portable shebang -> #!/usr/bin/env perl
    instead of #!/usr/bin/perl.

commit da89e4e18d1a94f644e1ce96a6af80f76f002166
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Feb 10 03:21:59 2017 +0100

    Bug #24688694   SEVERAL UNSTABLE TESTS IN SUITE PERFSCHEMA
    
    Disabled perfschema.idx_metadata_locks which is failing very frequently.
    
    Reviewed by : Erlend.Dahl@oracle.com

commit 71b3758a4c9112f937f31bd6598fdb117ee26cbe
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Feb 10 00:42:33 2017 +0530

    WL#6392 : Upgrade to Transactional Data Dictionary
    
    Code cleanup:
    
    Remove unnecessary declaration of function load_db_schema_collation()
    from dd_upgrade.h file.

commit f521c1f2cc37f443e569631295bdcd746618f174
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Feb 9 13:09:16 2017 +0100

    Bug #25481041: WL#9106: SIGNAL 11 IN STRINGS/CTYPE-UCA.CC
    
    Make sure hashing and strnxfrm for UCA collations accept nullptr
    without crashing; we would form a pointer that wrapped around.
    In particular, this would happen when trying to hash an empty blob
    (MyISAM returns a null pointer in this case).
    
    Performance on microbenchmarks is neutral or ever so slightly better;
    generally within measurement noise (~1%).
    
    Change-Id: I4e352e425f057b89599e32c477baea004b65aeea

commit a037c348f7a61d47f781b05856722231bc16a685
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Feb 8 11:57:13 2017 +0100

    Bug#25516986 ORDER_BY_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    order_by_all
    order_by_icp_mrr
    order_by_none
    order_by_sortkey
    
    Fix: re-record with explicit charset for queries/tables with mismatch
    in explain output.
    
    Also fix:
    ds_mrr-big --big-test, use latin1 because utf8mb4 gave plan change.
    
    Also fix: derived, use utf8mb4 except in cases with execution plan changes.

commit bb49e03af3312e715c4de85c205ecfe33d611519
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Feb 8 14:53:51 2017 +0100

    Bug#25518457 SUBQUERY_SJ_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    subquery_sj_all
    subquery_sj_all_bka
    subquery_sj_all_bka_nixbnl
    subquery_sj_all_bkaunique
    subquery_sj_dupsweed
    subquery_sj_dupsweed_bka
    subquery_sj_dupsweed_bka_nixbnl
    subquery_sj_dupsweed_bkaunique
    subquery_sj_firstmatch
    subquery_sj_firstmatch_bka
    subquery_sj_firstmatch_bka_nixbnl
    subquery_sj_firstmatch_bkaunique
    subquery_sj_innodb_all
    subquery_sj_innodb_all_bka
    subquery_sj_innodb_all_bka_nixbnl
    subquery_sj_innodb_all_bkaunique
    subquery_sj_innodb_none
    subquery_sj_innodb_none_bka
    subquery_sj_innodb_none_bka_nixbnl
    subquery_sj_innodb_none_bkaunique
    subquery_sj_loosescan
    subquery_sj_loosescan_bka
    subquery_sj_loosescan_bka_nixbnl
    subquery_sj_loosescan_bkaunique
    subquery_sj_mat
    subquery_sj_mat_bka
    subquery_sj_mat_bka_nixbnl
    subquery_sj_mat_bkaunique
    subquery_sj_mat_nosj
    subquery_sj_none
    subquery_sj_none_bka
    subquery_sj_none_bka_nixbnl
    subquery_sj_none_bkaunique
    
    Fix: re-record with explicit charset for queries/tables with mismatch
    in explain output.

commit 68297e5501f141b560204093d840de3ef274af56
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Feb 9 16:17:16 2017 +0530

    Removed merge conflict header from the file.

commit f4129dc9ecc02710ba8f66f1a78644d8a1fa7e58
Merge: 855cd14 2dffd6c
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Feb 9 15:20:32 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2dffd6c476c478d602beb3cf31f554c6d355a9ea
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Feb 9 15:12:00 2017 +0530

    Added keyring_okv plugin tests to run in following Hudson daily runs:
    daily-57-mtr-run
    daily-57-mtr-run-solaris
    
    Reviewed by:
    Horst Hunger <horst.hunger@oracle.com>

commit 855cd14792c4323fb855546bbf3408c47bcc23dc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 7 20:16:41 2017 +0100

    Bug#25253540 LOOP OPTIMIZATION COMPILE BUG ON SPARC WITH GCC 5.3.0
    
    If cmake option FORCE_UNSUPPORTED_COMPILER is set, warn if bug found and
    workaround does not work.  Workaround is not applied in that case.

commit 3f6ea64e3b2a4ee3fcea054ddae06165925e6dcb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Feb 1 15:50:02 2017 +0100

    Bug#25253540 LOOP OPTIMIZATION COMPILE BUG ON SPARC WITH GCC 5.3.0
    
    Detect GNU C/C++ 5.3.0 Bug 78807 - Loop optimization trigger bus error
    
    See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78807
    
    If compiler bug detected using test program, some tree loop optimizations
    are turned off.
    
    Two CMake functions CHECK_C_COMPILER_BUG and CHECK_CXX_COMPILER_BUG are
    added that first check if bug is detected, and if so checks if given
    workaround works if not build is aborted otherwise the workaround flags
    are appended to compile flags.

commit ba42f7e798b8574ab5b81f1612953a2e728fa7c4
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 8 18:23:56 2017 +0530

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Follow up fix
    
    Fix the build failure of MySQL Server with NDB on Windows. Fix is to
    add an include file so non-standard types can be resolved on all
    platforms.
    
    (cherry picked from commit 26a59b80a69afd7d88e0c2215ccfe555975351b3)

commit da6f52513ec2764e22d6741301f2251dd96d1fba
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 3 14:33:40 2017 +0100

    Bug#25116123 MULTIPLE PLUGIN_DIR OPTIONS
    
    Extra patch for group_replication.
    The following tests are using include files the from the xplugin test suite:
    
    group_replication.gr_xplugin_global_variables
    group_replication.gr_basic_crud_on_doc
    group_replication.gr_crud_basic
    group_replication.gr_xplugin_basic_dml
    
    The existing solution, including from suite/x only works after 'make install'
    Fix: move common include files to the standard mtr include/ directory,
    and change all affected --source statements accordingly.
    This way, all tests can be executed in a developer sandbox as well.
    
    Change-Id: I4139cc4ec9c9108f46ebb1c66bbbfacb62c0ed45

commit 509f92a4290b5013e6dde8cd50e7140417c47b1e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 31 16:53:06 2017 +0100

    Bug#25116123 MULTIPLE PLUGIN_DIR OPTIONS
    
    mtr was unable to run tests which required plugins from different
    build directories. The original bug report asked for multiple
    --plugin-dir options for the server.
    Instead we set target PROPERTIES LIBRARY_OUTPUT_DIRECTORY to the same
    directory for all plugins. This enables mtr to load any number of
    plugins in the same test.
    
    Fix:
    
    Configure components *before* we configure unit tests, so that
    components under test are known before we set up unit tests.
    
    Store all component .so files in {CMAKE_BINARY_DIR}/component_output_directory
    Store all plugin .so files in ${CMAKE_BINARY_DIR}/plugin_output_directory
    
    Change all plugin.defs files accordingly, so that mtr can locate
    plugins/components in the build environment.
    
    In mysql-test-run.pl, look for auth_plugin in plugin_output_directory
    
    In unittest/gunit/CMakeLists.txt, add components/mysql_server explicitly.
    The FILE(GLOB ...) thing was just obfuscating.
    
    Change-Id: I38ec3a4b9f295a0c13578f453316ea19eb8bca21

commit 6871f666149c9e1cb1ad15a5109a8345fb29781a
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Feb 8 16:53:37 2017 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix: Add a missing inline declaration that would cause performance
    regressions on the string length microbenchmark with -O2 (instead of -O3).
    
    Change-Id: I6a576557606ff1aafed1f51340b578028c80227e

commit 65f099fe38fa8994974ba0dd4280bceaab5fc42d
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Feb 8 17:49:27 2017 +0530

    BUG#24806741 : MTR: INTRODUCE "EXPR" COMMAND
    
    Post push fix, fixed main.mysqltest failure on ASAN platform.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>

commit c9c9fd8b65c4649b5955dc487325b1964ccaa273
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Wed Feb 8 16:31:41 2017 +0530

    Bug#18184868: CANNOT USE BOOTSTRAP VARIABLES IN -MASTER.OPT FILE
    
    Post-push fix: Previously, this fix worked only for tests which
    started one server. Now, it works in replication scenarios too,
    and bootstrap options passed in slave.opt files will be used
    to initialize and start the slave server.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14294

commit d12b240c3f519d917527f874fbb6dcc6c826f75a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Feb 7 15:10:52 2017 +0100

    Bug#25511162: MAKE THE JSON TEST SUITE RUN CLEANLY WITH UTF8MB4
    
    Adjust the tests in the json test suite so that they run cleanly
    regardless of what the default character set of the test db is (latin1
    or utf8mb4).
    
    Changes:
    
    - json_client.inc: Create the test table with explicit character set,
      so that the table metadata are unchanged when the default character
      set is changed.
    
    - json_fulltext.inc: Remove a SHOW CREATE TABLE statement that is not
      essential for the test. Its output varies depending on what the
      default character set is.
    
    - json_functions.inc: Remove a redundant SHOW CREATE TABLE statement
      (the same statement is executed on an identical table in
      json_insert.inc). Also use --sorted_result instead of ORDER BY in
      some statements where the ordering differs depending on character
      set ('1' sorts before '[' with latin1, but in the opposite order
      with utf8mb4).
    
    - json_group_concat.inc: Use explicit character set in a CREATE TABLE
      statement to ensure consistent ordering (the ordering of some
      control characters is different in latin1 and utf8mb4).
    
    - json_insert.inc: Use explicit character set in a CREATE TABLE
      statement to make the output from SHOW CREATE TABLE independent of
      the default character set.
    
    - json_agg.test: Use explicit character set in a CREATE TABLE
      statement to make JSON-formatted explain output independent of the
      default character set.

commit 9e79470894a5795db5636bb3c80b9b886e464e84
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Feb 7 16:33:01 2017 +0100

    Bug#25511674 INNODB_MRR_XXX AND MYISAM_MRR_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat:
    ./mtr --mem --charset-for-testdb=utf8mb4
    innodb_mrr
    innodb_mrr_all
    innodb_mrr_cost
    innodb_mrr_cost_all
    innodb_mrr_cost_icp
    innodb_mrr_icp
    innodb_mrr_none
    myisam_mrr
    myisam_mrr_all
    myisam_mrr_cost
    myisam_mrr_cost_all
    myisam_mrr_cost_icp
    myisam_mrr_icp
    myisam_mrr_none
    
    Fix: re-record with explicit charset for queries/tables with mismatch
    in explain output.

commit c47b91aa6b5759883e165aa8d8b3f32872fe0c1a
Merge: bc6e95e 160a383
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 8 12:05:03 2017 +0530

    Null merge branch 'mysql-5.7' into mysql-trunk

commit 160a38377ddb56f816a8047215cf1d1830a44df0
Merge: 692b77f 1d1907f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 8 12:03:39 2017 +0530

    Null merge branch 'mysql-5.6' into mysql-5.7

commit 1d1907f3896df76fe2b74d712091151a02e589a1
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 8 12:00:52 2017 +0530

    Bug #24585978       INNODB: ASSERTION TOTAL_RECS > 0 FAILURE
    			IN FILE DICT0STATS.CC
    
    Analysis:
    ========
    There was missing bracket for IF conditon in dict_stats_analyze_index_level()
    and it leads to wrong result.
    
    Fix:
    ====
    Fix the IF condition in dict_stats_analyze_index_level() so that it satisfied
    the if condtion only if level is zero.
    
    Reviewed-by : Jimmy Yang <jimmy.yang@oracle.com>

commit bc6e95e8a5a80862091d0a2bd8b4fa01d8ca44cc
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Feb 8 10:37:17 2017 +0530

    BUG#24806741 : MTR: INTRODUCE "EXPR" COMMAND
    
    Description :
    =============
    MTR cannot do basic math operations like +, -, /, *, %, &&, || etc.
    Current way is to invoke SQL command to do these operations. But using
    mysqld server for these basic operations is slow and not right.
    
    Fix :
    =====
    Introduced new MTR command 'expr' to perform basic mathematical
    operations.
    
    "--expr $<var_name>= <operand1> <operator> <operand2>"
    
    Both <operand1> and <operand2> should be valid MTR variables. 'expr'
    command supports only binary operators that operates on two operands
    and manipulates them to return a result.
    
    E.g:
    
    --let $val1= 10
    --let $var2= 20
    --expr $res= $var1 + $var2
    --echo $res
    
    Following mathemiatical operators are supported.
    
    1 Arithmetic Operators
      1.1 Addition
      1.2 Subtraction
      1.3 Multiplication
      1.4 Division
      1.5 Modulo
    
    2 Logical Operators
      2.1 Logical AND
      2.2 Logical OR
    
    3 Bitwise Operators
      3.1 Binary AND
      3.2 Binary OR
      3.3 Binary XOR
      3.4 Binary Left Shift
      3.5 Binary Right Shift
    
    NOTE
    1. Non-integer operand is truncated to integer value for operations
       that dont support non-integer operand.
    2. If the result is an infinite value, then expr command will return
       'inf' keyword to indicate the result is infinity.
    3. Division by 0 will result in an infinite value and expr command
       will return 'inf' keyword to indicate the result is infinity.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 14788

commit 483974aa91f69ff190672a849fc883f09245fe6f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Feb 7 15:54:22 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #9: Fix -Wunused-parameter warnings in opt*

commit 7d8a191b581bf27be11714423a218fa9c07dcad8
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 6 16:59:41 2017 +0100

    Bug#25505150 SUBQUERY_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat: ./mtr --mem  --charset-for-testdb=utf8mb4
    
    Fix for:
    
    subquery_all
    subquery_all_bka
    subquery_all_bka_nixbnl
    subquery_nomat_nosj
    subquery_nomat_nosj_bka
    subquery_nomat_nosj_bka_nixbnl
    subquery_none
    subquery_none_bka
    subquery_none_bka_nixbnl

commit 0af5337fadfd5fa624cf1e2545384513c5c15957
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 6 13:31:34 2017 +0100

    Bug#25504662 FUNC_IN_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    To repeat: ./mtr --mem  --charset-for-testdb=utf8mb4
    
    Fix for
    func_in_all
    func_in_icp
    func_in_icp_mrr
    func_in_mrr
    func_in_mrr_cost
    func_in_none
    
    opt_trace.filesort_pq
    opt_trace.filesort_pack
    main.filesort_pack
    
    fulltext
    fulltext_left_join

commit d575a81d324c71d80bd15ea46d38ca6b4cf88352
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Feb 7 14:36:57 2017 +0100

    Bug#25495714: FOREIGN KEY INFORMATION IN NEW DD NOT FOLLOW
                  THE LOWER CASE TABLE NAME SETTING
    
    Post-push fix: Fix off-by-one error that caused
    innodb.innodb_bug12661768 to fail on Windows.

commit ea8312b2b04913dbb6374ac61353b16fe119c576
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Feb 7 13:50:18 2017 +0100

    Bug#22655287: MYSQLDUMP GENERATES INVALID SCRIPT DUE TO DDL
                  ON DICTIONARY TABLES
    
    Follow-up patch: Remove workarounds from main.mysqldump
    and sysschema.mysqldump which are no longer needed now that
    this bug has been fixed.

commit 2100e76b9cbae819d681a2aa13d59c28621545a9
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Tue Feb 7 12:39:18 2017 +0100

    Bug#25510503 MTR SHOULD NOT SET CHARACTER SET OF TEST SCHEMA/DATABASE BY DEFAULT

commit 3a6ed6f18829dc49f5bd4f23f7f6b32b3e162c32
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Tue Feb 7 13:13:27 2017 +0300

    Follow-up to WL#7743 "New data dictionary: changes to DDL-related parts of SE API".
    
    Disabled yet another Group Replication test which requires correct recovery
    of atomic CREATE TABLE statement from binary log after server restart.
    Such recovery is to be implemented by WL@9175.

commit dd21e958bbe5b816e8b5d811a7b3c996f874a978
Merge: 81a62a7 692b77f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Feb 7 10:36:18 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 692b77f1a94cf044e16ed12d7da5f960c80fd013
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Feb 3 15:00:00 2017 +0100

    Bug#25493867 - CMAKE DOESN'T CHECK IF USER HAS SET THE "MYSQLX_TCP_PORT" VARIABLE
    
    Description
    -----------
    WL#9266 defines "MYSQLX_TCP_PORT" cmake/variable which can be used to change the default
    tcp port in X Plugin. Setting this variable doesn't work, cmake overwrites the value to
    33060.
    
    Fix
    ---
    Wrapped MYSQLX_TCP_PORT variable in guard condition.
    
    RB: 15335
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit 81a62a74afb81a4012c57c267e97e8ecdafebb09
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Feb 7 07:47:01 2017 +0100

    Updating notes about i_innodb.innodb_bug14150372 sporadic failure

commit 4d0fa2ff9b991303e6f9c4fd499c954f3ca7cb74
Merge: 5fcaf44 8fed26b
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Feb 6 15:29:45 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8fed26b32ab03bd1a161401c73cb2ff404b08a7e
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Feb 3 13:50:15 2017 +0100

    Bug #25444009: WARNINGS ABOUT UNUSED IMPORTS IN MYSQLX.PROTO
    
    Description:
    The protobuf compiler emits many "unused import" warnings for mysqlx.proto. This causes unnecessary noise when building MySQL.
    
    Fix:
    Remove the unused imports from rapid/plugin/x/protocol/mysqlx.proto.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 15336

commit 5fcaf441488c9d54238281ea631d215e67e2146e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 6 09:31:45 2017 +0100

    Bug#25495714: FOREIGN KEY INFORMATION IN NEW DD NOT FOLLOW
                  THE LOWER CASE TABLE NAME SETTING
    
    The problem was that the referenced_table_schema and
    referenced_table_name fields in the new mysql.foreign_keys DD table
    was not stored in lowercase if lower_case_table_names=1 was used.
    Right now these fields are not used for anything, so this bug
    had no visible consequences. But fixing it is required before
    InnoDB stops using its internal dictionary for FK information.

commit 72de2379e6e8a33b25036f84c1cac3494d6b91a6
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Mon Jan 11 17:10:53 2016 +0000

    WL#7319 Infrastructure for GTID based delayed replication and replication lag monitoring
    
    The worklog creates the infrastructure enabling two new
    timestamps that are associated with each transaction
    (instead of event or statement) in the binary log:
    - original_commit_timestamp: microseconds since the epoch
    when the transaction was committed on the original master.
    - immediate_commit_timestamp: microseconds since the epoch
    when the transaction was committed on the immediate master.
    
    Summary of relevant points covered by this worklog:
    
    1) Two new fields, original_commit_timestamp and
    immediate_commit_timestamp, added to gtid_log_event. Commit
    time is recorded in write_gtid(), so the commit timestamp
    of a transaction is assumed to be the time of writing it to
    the binary log.
    2) has_commit_timestamps flag added to the Gtid_event
    class, indicating whether the current gtid_log_event
    includes at least the immediate_commit_timestamp. If the
    gtid_log_event does not include any commit timestamp, it
    was replicated from a server with a MySQL version lower
    than 8.0 and has to be processed accordingly.
    4) The new body of gtid_log_event consists of:
     - only original_commit_timestamp at the original server,
     since original and immediate commit timestamps are same at
     this server;
     - both original and immediate commit timestamps in any
     other 8.0+ server.

commit e44df895601f97923604a113eb96ec63eee80d82
Merge: 8f47c14 91abeb6
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Feb 6 07:35:53 2017 -0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 91abeb68e11c24fbf636fd130c0d0ba7e1582ca5
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jan 23 15:03:34 2017 +0000

    BUG#19641482 RPL.RPL_MTS_LOGICAL_CLOCK_RECOVERY FAILS WTH "SERVER FAILED
                 TO DISSAPPEAR"
    
    Problem
    -------
    
    The test case is failing to make the slave server to "disappear".
    
    Analysis
    --------
    
    The "crash_in_a_worker" debug sync point is relying on the fact that the
    workload will be parallelized and reach MTS worker #2, but on slow
    systems the parallelization will not happen and the server will fail to
    "disappear".
    
    Fix
    ---
    
    Ensure that the workload will be distributed by at all the workers
    even on slow systems.

commit 8f47c1480de577994134725dd9f4d08959f6b429
Merge: 9d55a47 d2df232
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 6 15:55:37 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d2df232e30a3212510c3124bebeddb94de76b141
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Feb 6 15:54:41 2017 +0530

    Bug#21420180 BINLOG_GROUP_COMMIT_SYNC_DELAY SHOULD BE CONSIDERED
    ONLY WHEN SYNCING BINLOG
    
    Problem: binlog_group_commit_sync_delay is getting applied
    to every binary log commit group.
    
    Analysis: binlog_group_commit_sync_delay variable is introduced to
    control how many microseconds the binary log commit waits before
    synchronizing the binary log file to disk. sync_binlog variable
    is introduced to control the number of binary log commit groups
    to collect before synchronizing the binary log to disk
    
    In the current code, server is waiting for binlog_group_commit_sync_delay
    microseconds after entering into the sync stage of every group
    i.e., every leader of BGC group is waiting the specified time. In case
    of sync_binlog > 1 case or sync_binlog=0 case that every leader will not
    be doing 'sync' and users expectation will be that those groups that are
    doing sync will *only* hit the waiting period.
    
    Fix: wait_count_or_timeout logic should be protected in such a way that
    it will enter only if the sync stage is going to do the sync i.e.,
    check if sync_counter reaches sync_binlog value, only then call the
    wait_count_or_timeout function.

commit 9d55a47055645020e623cabaa9355f7385ce91d9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Feb 6 10:06:27 2017 +0100

    Bug#25494031 WARNING MESSAGES FROM FIELD_STRING::VAL_REAL DEPEND ON CHARSET.
    
    Post-push fix: record new results with stripped padding.

commit 80ca2f87b907b677d47ad140e75b92193dd833a0
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Feb 6 08:54:40 2017 +0100

    Bug#25486592 BROKEN TESTS INNODB_ZIP.INNOCHECKSUM, INNODB_ZIP.INNOCHECKSUM_3
    
    Problem: the tests used "restart_options" instead of
    "restart_parameters".
    
    Hence the restart parameters were ignored by start_mysqld.inc.
    
    In addition to the tests mentioned in the bug report, this patch fixes
    memcached.memc293_ibd2sdi which also used "restart_options".

commit 3ed74f6b8bfc86bf435e4e2de05deb05112c8fb4
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Mon Feb 6 14:16:51 2017 +0530

    Bug#24970537 : RPL TESTS USES DEPRECATED SHOW_COMPATIBILITY_56
    
    The bug is opened to rewrite ' rpl_slave_sysvar_deadlock.test ' and 'rpl_heartbeat.test'.
    rpl_heartbeat.test : Replaced SHOW commands with respective SELECT FROM PERFORMANCE_SCHEMA commands.
    rpl_slave_sysvar_deadlock.test : Removed the testcode which verifies the fix of Bug#16088188.

commit 7d8060566c6701cb68037efd430a5ccb50c2ede1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Feb 6 08:27:49 2017 +0100

    Bug#25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Post-push fix: Fix -Wconditional-uninitialized Clang build warning.

commit ec765638969ccecf292c2d3354614423cec53edf
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Wed Jan 25 12:56:43 2017 +0800

    Bug #25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    contraction_find() checks whether a character combination is contraction by
    comparing it with each one in contraction list. This is obviously less
    effective. Change it to use binary search.
    
    BM_JapaneseUTF8MB4      488 ->  550 ns/iter [-12.7%]
    BM_Hungarian_AS_CS     5520 -> 4050 ns/iter [+36.3%]
    
    Change-Id: I4c0f68dc42931cc27c94ebd1cf7ac48c11797a8c

commit a4de6ab549e69a0bc61ae457ef88f511ac21138d
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Feb 3 18:30:19 2017 +0100

    Merge cleanup

commit 375db325b446e89f7be3c201af57c1574ef81532
Merge: 2a9dda6 368e4c1
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Feb 3 16:52:09 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 368e4c17af201237e32f18f707c9a6eec04df0ab
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Feb 3 16:46:23 2017 +0100

    BUG#24848125: COLLECTION NAMES WITH DIFFERENT CASING ARE HIDDEN ON UBUNTU 14.04
    
    Post-push fix to address mtr test failure on macos.

commit 2a9dda6c858ccd44a44640ac6c08aa7d3ef131cc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Feb 3 09:54:02 2017 +0100

    Bug#25494031 WARNING MESSAGES FROM FIELD_STRING::VAL_REAL DEPEND ON CHARSET.
    
    One example, when database 'test' with utf8mb4 rather than latin1:
    -Warning        1292    Truncated incorrect DOUBLE value: 'A'
    +Warning        1292    Truncated incorrect DOUBLE value: 'A   '
    
    All our collations are currently space-padding,
    so the 'A' is (incorrectly) padded.
    
    Fix: in Field_string::val_real/val_int/val_decimal, strip padding
    before reporting the warning. The goal is to make mtr tests neutral to
    changes in default charset.

commit 3afcd24f0664083523cbe5df157a909875ff3383
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Feb 1 16:07:39 2017 +0100

    Bug#25494068 ADD MTR OPTION FOR CHANGING CHARSET OR THE TEST DATABASE OF MTR
    
    We want to be able to change default charset of the server, and of all
    mtr tests. In order to do incremental testing/changes of mtr tests, implement:
    
    ./mtr --charset-for-testdb=utf8mb4 main.key_cache

commit 88dbc4f45111fbd9a167b922596ea5212aff7f04
Merge: b0945f5 0eefab2
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Feb 3 14:58:51 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0eefab2bd6532b4168945dabb3a9428a6e554b0b
Merge: f0516c0 de2e310
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Feb 3 14:51:34 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit b0945f5e28824960199c27f401e6d7e04c5fb906
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Feb 3 10:36:45 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_config.h" and then re-sorting
    the #includes (and nothing else); then remove "my_config.h" from my_global.h.
    
    Change-Id: I3d6658bc4b19b43c1f6e358f9deeb8ae94801010

commit de2e310f75ee4166bacd7373c885f008f4997de4
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Feb 3 11:29:00 2017 +0100

    Bug#25492129 --PERFORMANCE-SCHEMA-DIGESTS-SIZE=1 LEADS TO SIGSEGV
    
    Before this fix, starting a server with
      --performance-schema-digests-size=1
    would cause a crash.
    
    The root cause is in function fund_or_create_digest().
    
    When scanning the digest array, the code skip entry [0]
    which is reserved for the "NULL" digest,
    and proceeds directly to entry [1].
    
    When --performance-schema-digests-size is 2 or more,
    the record at index [1] exists, but for a size of exactly 1,
    using this record causes a failure.
    
    The fix is ignore record 0 instead of adjusting to record 1,
    and let the while loop operate normally,
    as it accesses records safely already.

commit d4bd8ea5a6996d5831eff2eeb85edb597da8f4c1
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Feb 1 11:32:49 2017 +0100

    Bug#25461627: VALGRIND WARNING WHEN UPDATING A JSON COLUMN
    
    In some situations, updating a JSON column could cause incorrect
    values to be written into the table. The problem occurs if an UPDATE
    statement updates the same JSON column twice, and the second update
    overwrites the column value with a subset of itself. For example:
    
    UPDATE t SET json_col = JSON_ARRAY(....), json_col = json_col->'$[0]'
    
    The problem is that the second update both reads and writes from the
    output buffer, since it needs to read the value that resulted from the
    first update. When reading from and writing to the buffer at the same
    time, it may overwrite parts of the buffer before it has read them,
    which could result in garbling the value.
    
    This is fixed by writing the new value to a temporary buffer first in
    the case where the input is read from the output buffer, and only copy
    it to the output buffer after all the needed data have been read.

commit df6cfd7c620658307ad73262c1660bc224889c2d
Merge: 853a52c f0516c0
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Feb 3 10:44:11 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f0516c00a32becc9dfc5cd01228c27afcc766ce3
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Jan 11 10:29:28 2017 +0100

    BUG#24848125: COLLECTION NAMES WITH DIFFERENT CASING ARE HIDDEN ON UBUNTU 14.04
    
    Description:
    X Plugin hides collections if the names have any letter in
    a different case; for example, flags or Flags or flagS where the OS
    is Linux. Where the OS is Windows, creating flags, Flags, and flagS
    is not permitted.
    
    Solution:
    The 'list_objects' admin command SQL query has been improved to such
    form to take into account a size of letters in names of tables in
    a process of collecting them.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 15173

commit 853a52cf5a1ca06e9a264a7b55400abe48a69350
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Feb 2 11:15:21 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <netdb.h>, <crtdbg.h>, "my_sharedlib.h",
    "my_shm_defaults.h", "my_table_map.h" and then re-sorting the #includes (and
    nothing else); then remove all of these from my_global.h.
    
    This exposed that we were doing ABI checking on psi_abi_data_lock_* headers,
    which are C++ and thus not meant to be ABI checked in C mode. Thus, they have
    been taken out.
    
    Change-Id: I6806853fc60a9eff179c2405ba5cad63ddab19e7

commit b218bbdad18ee76aa831e55c0b1c2c3227da4cf3
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Jan 26 11:29:16 2017 +0100

    Fix for toggling x.regression
    
    Description
    ===========
    
    Creation of 'mysqlxsys' account in thread That calls plugin entry
    Point is not possible, because it could be executed at the start mysqld.
    When mysqld starts the SQL service is not accessable. The creation
    of account was moved to a separate thread which races with 'mysql-test'
    pre / post-check.
    
    Fix
    ===
    
    Plugin is going to be loaded by mysqltest script instead from MTRs
    opt file. In this case we aren't in race with MTR.
    
    RB: 15320
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 4fd270fcd547683b77b3fc68868a14551a623aa6
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Feb 2 16:00:41 2017 +0100

    Bug#25487884 PERFORMANCE SCHEMA CODE CLEANUP, TABLE HELPERS
    
    Code cleanup only, no functional changes.
    
    Moved table helper code
    - from static methods in class PFS_engine_table
    - to global functions in file table_helper.
    
    Adjusted the code accordingly.

commit 99ae1f28081b61d0d880822a8b6c98384ae318ef
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Thu Feb 2 16:00:10 2017 +0300

    Follow-up to alternative fix for bug #22811659 "ACCESSES TO NEW DATA-DICTIONARY ...".
    
    Fix for group_replication.gr_delayed_view_change_write_to_binary_log
    test failures on Windows.
    
    After stages "Opening/Locking system tables" were removed as part of
    alternative fix for bug #22811659 the above test has started to fail.
    This failure stemmed from the fact that on Windows this test used
    "Locking system tables" stage as an indication that DEBUG_SYNC point
    in the Recovery_module::recovery_thread_handle() was reached.
    
    This fix replaces waiting for reaching "Locking system tables" stage
    with waiting for a DEBUG_SYNC signal which is now sent when DEBUG_SYNC
    point is reached.

commit b553be7413ad2a17c84c7c997124aded56dc2779
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Feb 1 10:38:38 2017 +0100

    WL#6599 - New Data Dictionary and I_S integration.
    
    Post-push fix.
    
    When slow query is run more than once with server option
    query_cache_type=1, the first execution of the query is
    logged as slow query. As we skip parsing parsing and fetch
    results directly for subsequent execution of same query, the
    query is not written to slow query. This is the reason
    main.show_check is failing when query cache is enabled.
    
    In order to get consistent results for main.show_check test
    with and without the query cache enabled, the test is
    modified to not use query cache by adding SQL_NO_CACHE in
    respective select.

commit 41e7475e9a1fc2fe6218b0a53979a60467bd9375
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Jan 30 15:19:33 2017 +0100

    WL#7069: Post-push fix of unit tests
    
    - Avoid use of function pointer callbacks to access data structures in sdi.cc
    - Re-enable test checks that been commented out due to undefined behavior
    - Mock Partition_impl object using level=0 to avoid breaking new invariant
      introduced by wl7443
    - Remove use of boost::lexical_cast

commit 0acfac6ac721255b2555fd73009ebe2d4f6b5369
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jan 31 16:37:14 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_macros.h" and then re-sorting
    the #includes (and nothing else); then remove "my_macros.h" from my_global.h.
    
    Change-Id: Ie9fa93af8db7aeb1f3a26bfb4bf9e24d3433c4bb

commit 2905d8f147bd13161218965e440b77f973af72fb
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Feb 2 10:22:02 2017 +0100

    Fix main.mysqlbinlog_debug so that not_asan is checked before
    the binglog format is changed. This avoids changing the
    binlog format as a side effect of starting the test with ASAN.
    
    Reviewed-by: Erlend Dahl <erlend.dahl@oracle.com>

commit b18872ed4a3bb2ba20b97b2ebfe3f28707d83897
Merge: 9be1635 90d90d3
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Wed Feb 1 15:46:39 2017 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 90d90d3ef29ec83275652dccba002f18252d143c
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Tue Jan 31 16:53:23 2017 +0000

    BUG#25460324 - HAVING AN UNRESOLVABLE HOSTNAME IN GROUP_REPL SHOULD NOT BLOCK GROUP REPLICATION
    
    Description
    ---------------
    Having an unresolvable hostname in group_repl should not block group
    replication from starting
    
    mysql> set global
    group_replication_group_seeds='gr-1:24901,gr-2:24901,gr-3:24901,invalid_hostna
    me:24901';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> start group_replication;
    2017-01-24T19:22:03.173670Z 5 [Note] Plugin group_replication reported:
    'Group communication SSL configuration: group_replication_ssl_mode:
    "DISABLED"'
    2017-01-24T19:22:03.173775Z 5 [Note] Plugin group_replication reported:
    '[GCS] Added automatically IP ranges 10.0.2.15/24,127.0.0.1/8,192.168.56.3/24
    to the whitelist'
    2017-01-24T19:22:03.202195Z 5 [ERROR] Plugin group_replication reported:
    '[GCS] Peer address "invalid_hostname:24901" is not valid.'
    2017-01-24T19:22:03.202238Z 5 [ERROR] Plugin group_replication reported:
    'Unable to initialize the group communication engine'
    2017-01-24T19:22:03.202243Z 5 [ERROR] Plugin group_replication reported:
    'Error on group communication engine initialization'
    2017-01-24T19:22:03.202289Z 5 [Note] Plugin group_replication reported:
    'Requesting to leave the group despite of not being a member'
    2017-01-24T19:22:03.202293Z 5 [ERROR] Plugin group_replication reported:
    'Error calling group communication interfaces while trying to leave the
    group'
    ERROR 3096 (HY000): The START GROUP_REPLICATION command failed as there was
    an error when initializing the group communication layer.
    
    Analysis
    --------------
    Actually, when an hostname is unresolvable, GR keeps on rotating
    until it reaches a live seed. The problem here resides on the peer
    addresses validation where a all-or-nothing policy is enforced. If
    one address in the list is invalid from IP/Address rules point of view,
    the whole list is deemed invalid
    
    Suggested Fix
    -------------
    Cleanup the seed list, discarding invalid addresses and continue
    only with the valid addresses. GR will still error out if none
    of the provided peer addresses is valid.
    
    Also correct the fact that we don't error out if we have
    invalid addresses in force_members via GR.

commit 9be16355fa9b1a40a51eaabe1388d30996d67c81
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Feb 1 10:47:34 2017 +0100

    WL#6378: New data dictionary.
    
    Follow-up patch: Remove dead code for writing view FRMs.

commit 59b17bcc58fe86e0fb2e05f2b61f340589fe6367
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Feb 1 13:43:56 2017 +0100

    Bug#25481636 DISK FULL BINLOG TEST CREATES PROBLEMS FOR SUBSEQUENT TESTS
    
    Temporary fix to avoid PB2 problems.
    
    Approved by Venkatesh Duggirala <venkatesh.duggirala@oracle.com> over IM.

commit f088a474c90f9d68ca647fe379c917e837a11d7d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jan 27 14:47:45 2017 +0100

    Bug#25461615 JOIN_CACHE_XXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    All join_cache_xxx tests fail when changing character set from latin1
    to utf8mb4. A varchar(300) column needs 1200 bytes, and is rejected.
    Once this is reduced to varchar(250) we get lots of explain diffs
    (different key length).
    
    Fix:
    Create databases with explicit utf8mb4 character set.
    Reduce varchar column to 250.

commit 6b802b08cd75b1bbdb8b980797920a0f66e047b0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 31 10:55:11 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Fix ctype_utf8xxx by skipping 'SHOW VARIABLES LIKE 'character_set_%'

commit 9f8175a3397cda9a797a0acf3ccb2c72bcaf5d1f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 31 10:07:25 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Fix mysql_locale_posix by adding missing space in argument list to mysql_check.
    
    Fix query_rewrite_plugins using explicit character set for the
    query_rewrite database.
    Remove some SHOW VARIABLES statements.

commit 3416d1c404b298678aa18950f02454d260e3dd04
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 31 11:04:28 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Fix query_cache_ps_no_prot by starting it with --character-set-server=latin1

commit 4bbb3624f3ab1e2c39cf3fcfcd33ed74677cfe44
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 31 10:28:13 2017 +0100

    Bug#25474239 MISC MTR TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET FOR DATABASE
    
    Fix funcs_2.xxx_charset tests by saving current character set before
    running the tests.

commit f8abd7d26993bf4d1ca149e737813ae3f35802a9
Merge: bbb4d19 42a3b56
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 1 16:06:00 2017 +0530

    Bug #25385590   DROP TABLE CRASHES IF INNODB_FORCE_RECOVERY > 4
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 42a3b5609f8d4653ccd4086455489ebaf711f0c5
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Feb 1 16:03:57 2017 +0530

    Bug #25385590   DROP TABLE CRASHES IF INNODB_FORCE_RECOVERY > 4
    
    Problem:
    ========
     - Drop table assert if innodb_force_recovery is set to 5 or 6.
    For innodb_force_recovery 5 and 6, InnoDB doesn't scan the undo log
    and it makes the redo rollback segment as NULL. There is no way for
    transaction to write any undo log.
    
     - If innodb_force_recovery is set to 6 then InnoDB does not do the
    redo log roll-forward in connection with recovery. In this case,
    log_sys will be initalized only and it will not have latest
    checkpoint information. Checkpoint is done during shutdown even
    innodb_force_recovery is set to 6. So it leads to incorrect
    information update in checkpoint header.
    
    Solution:
    ========
    1) Allow drop table only if innodb_force_recovery < 5.
    2) Make innodb as read-only if innodb_force_recovery is set to 6.
    3) During shutdown, remove the checkpoint if innodb_force_recovery
    is set to 6.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 15075

commit bbb4d19d688adf06ca25fc1d081bfb8e8432751c
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Feb 1 15:21:38 2017 +0530

    BUG#24594140: VIEW GETS DROPPED IF ALTER VIEW FAILS WITH
                  ERRNO 1213 (ER_LOCK_DEADLOCK)
    
    Analysis:
    ========
    Views may get dropped if ALTER VIEW fails with an error
    like the deadlock error reported in the bug.
    
    Currently ALTER VIEW, drops the view and re-creates
    and is individually committed. Thus if the drop succeeds
    and CREATE fails, the view gets dropped. Also this causes
    the create time to be updated for an ALTER VIEW operation
    since it involves drop and re-create of the view.
    
    Fix:
    ===
    The ALTER view now updates the meta data in the data
    dictionary rather than DROP + RE-CREATE of view meta
    data. Hence only the last_altered time is updated
    and not the create_time.

commit d071c0e7a0b564b1f63a6b872c9a7f6b0f3dfe8e
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Feb 1 12:26:24 2017 +0530

    WL#9817 : Change default query_cache_size to zero
    
    Post push fix: Record result file to reflect new default value of
                   query_cache_size.

commit 628d5473ee9b0c427f92ca1c50b4f7851b8a1b6f
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Feb 1 07:17:41 2017 +0100

    Bug#24947073   MAIN.DD_IS_COMPATIBILITY FAILS WITH RESULT CONTENT MISMATCH ON PB2
    
    This patch fixes main.dd_is_compatibility test which is
    observed to be sporadically failing. The reason is that, on
    a busy system InnoDB index cardinality is not updated before
    the SHOW KEYS command executes and hence it reads incorrect
    index cardinality. This happens when
    information_schema_stats=latest is set.  In this mode, it is
    expected that the index cardinality is read without
    executing ANALYZE TABLE command before SHOW KEYS command.
    
    The fix is to wait until InnoDB background thread completes
    writing index statistics and then execute SHOW KEYS. The
    behavior of test is found more stable when we create the key
    along with table creation. The following command was used to
    reproduce the sporadic test failure. Running test for Issue
    WL#6599/HLS/6a) in a separate .test file would help
    reproduce the failure more quickly. This patch avoids the
    sporadic failure.
    
      ./mtr
      --repeat=300
      --parallel=40
      main.dd_is_compatibility{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}

commit c224ebbb394d51580cb31eb541c7b592d059dd96
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jan 31 17:07:17 2017 +0100

    Bug#24972059 CREATE ROLE ERROR MESSAGE NAMES CREATE USER
     - fixed: re-recorded test cases.

commit 93df28937435907fa09b5aadd3757693b1f28a5c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jan 27 16:39:57 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_io.h" and then re-sorting
    the #includes (and nothing else); then remove "my_io.h" from my_global.h.
    
    Change-Id: I69dc6b94d53c722427239f28b3639488ca4890d0

commit 7069b9ff9349dd483c21f4471f633d8e44b19b76
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Jan 31 20:08:44 2017 +0530

    WL#9817 : Change default query_cache_size to zero
    
    This worklog changes the default value of query_cache_size variable
    from 1048576 (1MB) to 0.
    
    The change in default value of the variable results in some test case
    changes. An explanation of test case changes.
    
    - result files are recorded to reflect the new default value for
      query_cache_size.
    
    - value of query_cache_size is backed up before changing it in the tests.
      The value is restored later in the tests.
    
    - query_rewrite_plugins.query_cache : tests invalidation of query cache.
      Test need to cache query to simulate the test conditions.
      Set query_cache_size to 1MB explicitly to enable query caching of queries.
    
    - main.query_cache_size_functionality - test value of status variables with
      query cache enabled. The value of status variable had changed as
      query_cache_size is zero from the beginning of the test case.
      Set query_cache_size to 1MB explicitly to enable query caching of queries.
    
    - main.max_statement_time - test query cache behavior with max_execution_time.
      Set query_cache_size to 1MB explicitly to enable query caching of queries.
    
    - main.mysql_client_test_qcache - tests client API with query cache.
      Set query_cache_size to 1MB explicitly to enable query caching of queries.

commit d682b570543ece9845e5cba19f93370d9836c343
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jan 31 12:47:38 2017 +0100

    Bug#24972059 CREATE ROLE ERROR MESSAGE NAMES CREATE USER
    
    When creating roles or in other ways manipulationg authorization
    IDs the error message misrepresented the current action as
    specifically effecting users rather than roles.
    The fix is to address roles as roles when appropriate and in
    general use the term "authorization ID" to mean either role or
    user.

commit 8bcc4da8cf417ac96a5d89aa5beec80bab2cbad8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 30 16:47:04 2017 +0100

    Bug #25469683: REMOVE DESC/REVERSE OPTIONS TO WEIGHT_STRING
    
    strnxfrm has a large set of flags that are not actually used by anything
    _except_ our own debugging function weight_string(). Since this function is
    not meant for end users (only for people developing collations), we can
    remove some complexity.
    
    The actual concept of reversing some levels remains valid, but we currently
    have no collations doing it, and if they are to do it, it should be a property
    of what the collation's strnxfrm function does, not something the strnxfrm
    caller decides through a flag.
    
    Change-Id: I65c56dba05114a9473ebac11ba07a79e0f190666

commit 1d510d03e9acdd07212552435fb5d1d73794ced8
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jan 31 10:53:42 2017 +0100

    Bug#25126144 UPGRADE TO BOOST 1.63.0
    
    Post-push fix: Sourceforce has switched to https so the
    message about setting 'http_proxy' is no longer accurate.
    Update it to 'https_proxy' instead.

commit 99a42315a1fafb000e3012713d07b0aae996c81e
Merge: 68e5dc1 3f1302e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jan 31 14:25:32 2017 +0530

    Periodic up-merge of Cluster branch

commit 68e5dc1aafebaf70b7e68930dee9f14c09c0f1f1
Merge: 4ae7170 113740e
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jan 31 11:56:45 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 113740e84a531ec78662c276cd211172263e9a35
Merge: 5021d04 507063d
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jan 31 11:55:32 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 507063d12e30a33dceac4194fe560d96164a4c12
Merge: 0eba481 dcb7dce
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jan 31 11:54:38 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit dcb7dcee3e296fef6dd0a44d9d0479f7ae850ba9
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jan 31 11:53:42 2017 +0530

    Bug#24619033 - UNABLE TO START MYSQLD DUE TO CHANGES IN
                   MYSQLD_SAFE
    
    DESCRIPTION
    ===========
    Starting a mysql server by running init script:
    /etc/init.d/mysqld start
    
    is failing. This is happening after the changes done in
    script 'mysqld_safe' as a patch to Bug#24464380.
    
    ANALYSIS
    ========
    Say customer's /etc/my.cnf has following content:
    
    [mysqld_safe]
    .
    .
    ledir  = /mysqld_ledir
    mysqld = mysqld_wrapper
    
    Patch to Bug#24464380 prohibits using "mysqld" (and few
    other variables) in config file due to privilege reasons.
    Since mysqld init scripts internally calls 'mysqld_safe'
    script, the existing configuration has started failing.
    
    FIX
    ===
    In the init script, we now pass MYSQLD_OPTS as the first
    argument (expected to be read from /etc/sysconfig/mysqld)
    to mysqld_safe command. This new variable can have all the
    mysqld_safe's special options as a string containing command
    line arguments. For example:
    
    MYSQLD_OPTS=" --ledir=/mysqld_ledir --mysqld=my_wrapper "
    
    NOTE TO THE DOCUMENTATION TEAM
    ==============================
    As mentioned above, the prohibited variables have to be
    moved from /etc/my.cnf to /etc/sysconfig/mysqld as a string
    containing command-line arguments in the form of variable
    MYSQLD_OPTS. We can pass mysqld options as well in this new
    variable which would be further passed to mysqld process.

commit 4ae71705a01016dc34971fedf103b8b667dce9c7
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Mon Jan 30 16:35:30 2017 +0300

    Alternative fix for #22811659 "ACCESSES TO NEW DATA-DICTIONARY ADD CONFUSING STAGES TO P_S.EVENTS_STAGES_*."
    
    Also fixes failure of of group_replication.gr_majority_loss_restart which
    popped-up after WL#7743 "New data dictionary: changes to DDL-related parts
    of SE API" was implemented.
    
    Do not start "Opening/Locking system tables" stages when we are opening/
    locking system tables.
    
    Stages are supposed to be coarse phases of statement execution which are
    useful for users to know about (either because they involve lot of work
    or some waiting). OTOH, opening/locking system tables are operations which
    are normally executed immediately and typically as part of coarser phase
    of statement execution. By entering these stages we will either wipe out
    or split information about coarser/higher-level stage (there is no concept
    of sub-stage yet) without providing much additional value to users.
    Therefore this patch removes these two stages which were introduced by
    original fix for #22811659.
    
    This also solves problem with group_replication.gr_majority_loss_restart
    where access to system tables wiped out information about high-level
    "After create" phase, during which commit of CREATE TABLE statement
    happens after WL#7743 and which name is used by the test to detect
    that CREATE TABLE is blocked during commit.

commit c626c92b8c5c6f1e15511ada0ddc9ccdfe56913f
Merge: 22bb1b7 5021d04
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Jan 30 16:35:15 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5021d04f138e2e9df223b76b6aa4ced7fc672786
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Jan 30 16:34:14 2017 +0100

    Cluster packaging for Debian/Ubuntu
    
    * Set different base version for cluster
    * Add cluster to product name
    * Added cmake file with new control packages
    * Added ndb-specific files to packages

commit 22bb1b778489c038dd685222b15d8033422a4d48
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 30 10:18:56 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix to unbreak the audit plugin.
    
    Change-Id: Id830b4e945dec2b76ba7ce12e81403572f0971d1

commit ad072bd7dd70b9c4d627453b90be0aaffad93af5
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Sat Jan 28 18:26:08 2017 +0100

    WL#7524: Import from serialized meta data files.
    
    This worklog implements IMPORT from SDI files, i.e. for SEs that do not
    implement their own SDI handling.
    
    The FLUSH TABLES ... WITH READ LOCK statement combined with manual copy
    of data, index and sdi files must be used to create a consistent snapshot.
    
    After copying the files into the data directory of another server
    instance, the IMPORT statement can be used to read metadata from the
    SDI file(s) and inject the table definition(s) into the data
    dictionary.
    
    New statement: IMPORT
    IMPORT moved from role_or_label_keyword to role_or_ident_keyword.
    
    Thanks to Gleb Schepa who provded patches for the parser changes.
    
    New tests:
    main.import
    main.import_symlink
    main.import_empty_secure_file_priv

commit 73a9f1019cba2fb8def456a7549a7cfb58f4d33c
Merge: 9a0aa8c 6a765ed
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 30 04:31:30 2017 +0100

    Null-merge from 5.7.

commit 6a765ed5bb912e24537ac909b9a633c3173934b9
Merge: 6d09365 0eba481
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 30 04:27:57 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0eba481a4f707b3be39b43b4bb605c9fc4d92b1b
Merge: 4d1b42f aa6a267
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 30 04:24:32 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9a0aa8c02061b1a0e9b9d0a728da66f5a1bba82c
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Mon Jan 30 04:06:37 2017 +0100

    WL#9494 Implement INFORMATION_SCHEMA system views for ROUTINES/TRIGGERS/EVENTS
    
    Post-push fix. Recording result files for innodb_zip.4k/8k tests.

commit aa6a2672e8d2e8ed8670819741959ab29ddc8d31
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 30 03:16:09 2017 +0100

    WL#10287 - Backport WL#7195 to MySQL - 5.5
    
    This is backport of WL#7195 to MySQL-5.5. In 5.5, we
    offload connection authentication from the acceptor
    thread to tp worker threads.
    
    Connection authentication happens in the acceptor thread that
    accepts the connection for thread pool plugin. Connection authentication
    involves exchanging packets with client and disk I/O
    which is time consuming. This can cause other client
    connections to starve and wait in the queue possibly increasing the
    connect latency and decreasing throughput. In the worst case, some
    connections could be dropped. n addition, SSL handshakes are quite
    expensive and can stall connections in the accept queue.
    
    This patch offloads connection authentication when thread pool
    plugin is used for client connection. Each thread group
    shall have a queue of connection_context objects, which represents
    new connections that need to be processed by thread group threads.
    The connection context is composed of THD object & list pointers
    for intrusive queue implementation. Whenever a new connection
    arrives, connection context object is created and added to the
    queue. A new connect handler thread is created or woken up to handle
    the authentication task. The worker thread loop is modified to
    process connection events on connect handler threads in addition to
    checking for query processing events. The initial number of connect
    handler threads is one per thread group and it is restricted to
    a maximum of 4 threads per thread group.

commit 91953e675827e6dae804b92b285bf003fb1416bb
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Sun Jan 29 07:15:11 2017 +0100

    WL#6599 - New Data Dictionary and I_S integration.
    
    Post-push fix: Sporadic failure of main.show_check test.
    
    The test case for Bug#28808 is written to test behavior of
    'log_queries_not_using_indexes' variable based on test that uses
    INFORMATION_SCHEMA.TABLES. The expectation is that it should not
    use index. But, after WL#6599, INFORMATION_SCHEMA.TABLES is a
    system view which a JOIN over several DD tables and there is
    possibility of optimizer opting to use a index. This leads
    optimizer to set or unset SERVER_QUERY_NO_INDEX_USED as
    thd->server_status sporadically. And this causes
    log_slow_applicable() function to ignore logging the the query
    when SERVER_QUERY_NO_INDEX_USED is not set to thd->server_status.
    
    In order to fix the issue, the test case is modified to use a
    user table 'tab1' (as described in bug#28808) instead of
    INFORMATION_SCHEMA.TABLES. This avoid the sporadic failure.

commit ff26068ff8b9356f0c052d41b1fcaf4e42b890e1
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Fri Jan 27 22:47:13 2017 +0300

    Follow-up to WL#7743 "New data dictionary: changes to DDL-related parts of SE API".
    
    Disabled two Group Replication tests which require correct recovery of
    atomic CREATE TABLE statement from binary log after server restart.
    Such removery is to be implemented by WL@9175.

commit 9c7808e1054684e7928a65213be6eb8ab3938bef
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Jan 26 13:06:45 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_inttypes.h" and then re-sorting
    the #includes (and nothing else); then remove "my_inttypes.h" from my_global.h.
    
    Change-Id: Ieee23e127c316e99db12de737d0b5359a12840e8

commit 4c5b329953e1965dd4f82f49e284af3b6c1285f7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jan 27 11:10:15 2017 +0100

    Bug#25460467 OPT_TRACE.SECXXX TESTS FAIL WHEN CHANGING DEFAULT CHARACTER SET
    
    Tests opt_trace.secXXX_prot fail with result
    conents mismatch when changing default character set.
    
    Fix: create database somedb character set latin1;
    
    Also add new .cnf files for utf8mb4 based on the default ones for latin1

commit 6c1de06614f119900668367a95822486a433b4f0
Merge: 50c3e72 6d09365
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jan 27 15:11:07 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6d093655908b06bddcf23a6173ccdc484db56dc7
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jan 27 15:08:19 2017 +0530

    Bug #25299309: PASSWORD STILL NOT EXPIRING WHEN IT SHOULD
    
    Description:- User password is not expiring even after
    exceeding the "password_lifetime" limit for a user created
    using work bench tool.
    
    Analysis:- When a user is created using workbench tool, it
    in turn uses "CREATE USER" statement for creating the user
    followed by "GRANT" statement for setting the other user
    attributes.
    This bug is reproducible even in command line if "GRANT" or
    "ALTER" statement is executed for setting user attributes
    like "WITH MAX_QUERIES_PER_HOUR", "MAX_UPDATES_PER_HOUR"
    etc.
    The user's last password change time stamp type is set to
    "MYSQL_TIMESTAMP_ERROR" when executing "GRANT"/"ALTER"
    statement WITH attributes like "MAX_QUERIES_PER_HOUR",
    "MAX_UPDATES_PER_HOUR", "MAX_CONNECTIONS_PER_HOUR" etc.
    Because of this, whenever the user with expired password
    connects, server will not be able to check whether the
    user's password is expired or not(since the user's last
    password change time stamp type is set to
    MYSQL_TIMESTAMP_ERROR ). So the server is allowing the
    expired user to connect even after password expiry.
    
    Fix:- A check is introduced before setting the user's
    last password change time stamp.

commit 3f1302e5b0fe355bb9f553a785a50945de24d5eb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 27 07:05:06 2017 +0100

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - fix compilation error in Windows caused by forward declaring
       TABLE as a class instead of struct

commit 50c3e72f9ea99dd2f4759cb0a240f33788726c4b
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Jan 27 05:38:05 2017 +0100

    WL#9494 Implement INFORMATION_SCHEMA system views for ROUTINES/TRIGGERS/EVENTS
    
    Post WL#9494 push fix:
    
    In a very busy machines the test main.events_scheduling seem
    to sporadically fail. The reason of failure is that querying
    INFORMATION_SCHEMA.EVENTS sees the status of a event as
    ENABLED instead of DISABLED. To make the test behave
    consistent, this patch changes the wait condition to wait
    until the status turn to DISABLED for events, instead of
    waiting for ENABLED. This seem to avoid sporadic test
    failure.
    
    Although this failure is seen after WL#9494 is pushed, there
    is no obvious reason to relate to. IMO, we uncovered this
    failure now, may be because WL#9494 makes I_S.EVENTS
    executes much faster than earlier.
    
    Note: The failure could be reproduced by following command
          without the patch.
    
             ./mtr --ps-protocol
                   --repeat=500
                   --parallel=15
                   main.events_scheduling{,,,}
                   events_1{,,,,,}

commit d7f9d534dfad28f6000e63d7b5f41868b979ea94
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Thu Jan 26 19:22:37 2017 +0300

    Follow-up for WL#7743 "New data dictionary: changes to DDL-related parts of SE API".
    
    Ensured that ALTER TABLE INPLACE with RENAME TO clause correctly
    handles FKs and triggers.

commit 6c9481d91bdab2de9132a07eea148c4a15bbacda
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 26 10:59:06 2017 +0100

    Bug#25455065 JSON_QUOTE AND JSON_UNQUOTE ARE WRONG FOR MULTIBYTE CHARSETS
    
    The tests for Bug#21193273 had wrong results for utf8mb4
    Max length of json_quote and json_unquote functions did not take
    character set into account, so a VARCHAR(7) column turned into a
    VARCHAR(28) column.
    
    Fix: Use max_char_length() rather than max_length in resolve_type()
    
    Change-Id: I4914188197f2395e36e0d3aab0d49dbb946aa11d

commit daa2ae67e2bd72c455b3807f16e0ccb3a5b53bc0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jan 26 14:01:52 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - follow up fix, initialize data pointer to avoid compiler warning
       for potentially uninitialized variable

commit dcba36019a7bd4e84a41b2d15debec77aa5892d5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jan 26 13:29:14 2017 +0100

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - add missing includes to fix release compile

commit 75b8ab4e2ca2ba774c9b0fedf1c7d17cdc22d241
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jan 26 13:20:05 2017 +0100

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove trailing whitespace

commit e43187d39f92437ed74a15713ef518311fa57643
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Jan 26 13:09:54 2017 +0100

    Bug#25221172: Fix doxygen and unused variable notes

commit 1434b4daaf94330106cdc564b4e9f239d6153002
Merge: 0149037 e1f9f0f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 26 12:26:28 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit d93a9cee075f4c2c10c7d5e808476449bab14849
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jan 26 12:24:08 2017 +0100

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
      - remove ha_ndbcluster_glue.h which is now unused

commit 91df784deeba01cdcadbb89638bc14c243488cb2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 14:22:19 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove include of ha_ndbcluster_glue.h from ha_ndbinfo.cc
       and include other relevant includes

commit a29f46ad429429507fd82a2ef3158e25646d3ed3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 14:07:12 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - include sql_base.h from ha_ndbcluster and remove
       include of ha_ndbcluster_glue.h from implementation files
       which includes ha_ndbcluster.h

commit e1f9f0fd3fcd9efa16b3709d0d1f9aa0c269f442
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 26 11:13:32 2017 +0100

    Bug#25443178 GROUP REPLICATION, BROKEN ONE-DEFINITION RULE
    
    The global variable cfg_app_xcom_st* the_app_xcom_cfg; should be declared
    "extern" in xcom_cfg.h and then *defined* in xcom_cfg.c
    This broke the one-definition rule.

commit 86f8f8168dd61dc453a6015ab19d5786b0f6b81f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 12:28:39 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove usage of ha_ndbcluster_glue.h from ndb_conflict.cc
       and instead include the necessary includes directly.

commit 014903730277fe95344418ffd93dc11b3cde2f22
Merge: 7afebb4 b4932ef
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jan 26 12:06:22 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit b4932ef39bdc6cc8789ceef9d24e4494fb491c5a
Merge: 0f9410b 4d1b42f
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jan 26 12:06:08 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4d1b42fb32dcb19dfc51494f77785519a01fd2bc
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jan 26 12:03:20 2017 +0100

    Deb packaging: Added support for Debian 9 and Ubuntu 17.04

commit a8d39d8fc3e44a4a3d88fa78e03458b726182d1d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 12:02:08 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - add new file ndb_sleep.h and move implementation
       of 'do_retry_sleep' there, renaming it to ndb_retry_sleep
     - also implement 'ndb_milli_sleep' function similar to
       code my_sys.h thus removing dependency on my_sleep()
     - use ndb_retry_sleep() and ndb_milli_sleep()
     - remove usage of NdbSleep.h from ha_ndbcluster_binlog.cc and instead
       use ndb_milli_sleep()

commit 7afebb45205c1a210a488e6cbca4a50c109664cb
Merge: 7b0cdca 0f9410b
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Jan 26 11:51:17 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0f9410bee55e8f535cbe8253d01db0a97a92b9e8
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Jan 26 11:28:15 2017 +0100

    BUG#25298987: GR USER REMAINS IN THE SERVER AFTER PLUGIN UNINSTALL
    
    The GR user (_gr_user) that is created by the plugin at install shows different
    behaviors if the plugin is started or not.
    
    When uninstall the plugin without starting it remove group replication user.

commit 98799942f5390add5d8f5449c43b4fa092529e55
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 11:31:43 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove usage of ha_ndbcluster_glue.h from ha_ndbcluster_cond.cc
       and instead include the necessary includes directly.

commit 03732375079d4c8c2d17f027eb68b08ae3bf968d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 11:20:15 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - move ha_ndbcluster_cond implementation details verbatim
       into ha_ndbcluster_cond.cc
     - move ha_ndbcluster_cond constructor and destructor into
       ha_ndbcluster_cond.cca
     - use  "class KEY" and "struct st_key_range" to forward declare
       KEY and key_range pointers
     - include NdbApi.hpp

commit e7aeb0d325dbd75db6dfaf2d9d1b69a40cf4db65
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 15:10:23 2016 +0200

    L#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - include log.h from those files which already uses sql_print*
       functions and convert to use ndb_log.h in files which are already
       almost without major dependencies.

commit ac3886362e260ee0a8d8b3ec0b08a2f6d8315abc
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 14:44:06 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - move implemention of thd_print_warning_list() into the only
       place where it's used in ha_ndbcluster_binlog.cc

commit 7b0cdca6e8a951a3abf1412b9aff5a6b730b5702
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Jan 26 11:04:54 2017 +0100

    Bug#23130819: Refactor state changes for the row buffer in class TABLE
    
    Followup to fix regression introduced by original bugfix.
    The regression was in the test information_schema-big.
    
    For join operations that produced aggregated, empty results, some
    tables might be left in the "null_row" state after the output row
    had been produced. For the test that failed, this coincided with a later
    ICP evaluation on the table with the erroneous state, which caused a
    wrong false result.
    
    The immediate fix to this problem was to add reset_null_row() calls
    for all tables involved in such operations. This fixed the problem,
    but re-introduced another problem about overwriting of NULL value flags
    for const tables. Const tables actually need the same save and restore
    logic for NULL values as for eq_ref tables. It seemed like a good idea
    to consolidate all NULL value setting and restoring.
    
    Thus, saving and restoring of NULL values is moved from the TABLE_REF
    class to the TABLE class. A null_flags_saved buffer is allocated for
    all TABLE objects together with record[0] and record[1]. (It is a very
    small buffer, so the overhead is marginal).
    
    The function JOIN::clear() is renamed to JOIN::clear_fields(), it is
    extended with functionality to save NULL values for const tables,
    and it is paired with a new function JOIN::restore_fields() that will
    restore NULL values saved in JOIN::clear_fields().
    
    This also fixed a regression that was introduced when bug#13430588
    was fixed: The offending aggregated query would report a non-NULL value
    when a NULL was expected, see test main.group_by.

commit 24cc0365126217ddc6126537920c598cf0afd6ae
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 12:36:32 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - move include directive to be placed in only those
       implementation files where they are used

commit 7ba1105f9ac9fb87cc43d9383ea7ec145a0a2cbd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 26 08:37:01 2017 +0100

    Bug#25454803 WORLD.INC HAS WRONG ENCODING
    
    world.inc has a mix of windows-1252 and utf8 encoding.
    All tests using this file have wrong .result files.
    
    Fix:
    iconv -f utf8 -t latin1       world.inc -o yy.yy
    iconv -f windows-1252 -t utf8 yy.yy     -o zz.zz
    mv zz.zz world.inc
    
    And then re-record all relevant .result files.
    
    Change-Id: I990b5296eff0b0a86b57ee5968d5a4660b02a44b

commit dbb9bff64b0ca99382a2df5ddf5f24a156ff0812
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 12:14:27 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove unused includes

commit 1d0515c031f99a8e82fef61e506f2982eb632660
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 12:03:28 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove unused thd_stmt_da()
     - any code which uses thd::get_stmt_da() uses the function directly.

commit 961ec9c9fa9552bcf6a1bb2d2d666aad369b033e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 11:58:08 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - Move thd_unmasked_server_id() to ndb_thd.h and ndb_thd.cc
     - It's no longer a static inline function but that's ok
       since it's in the "slow path"

commit 2acd05519077bf180924ee682d38ce540952f130
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Jan 26 09:31:23 2017 +0100

    Bug#25221172 - Refactor Item::field_type() type as a static property
    
    Implement a data type property as a byte field in class Item. This type field
    is retrieved using the non-virtual function data_type(). This function is a
    replacement for the current function field_type().
    
    Implement non-virtual inlined setter functions for data type as follows:
    
    set_data_type() - Set specified data type
    set_data_type_longlong() - Set properties for a longlong data type
    set_data_type_decimal() - Set properties for a decimal data type
    set_data_type_double() - Set properties for a double precision data type
    set_data_type_string() - Set properties for a variable length string type,
                             might be converted to a BLOB type internally.
    set_data_type_char() - Set properties for a fixed length char type
    set_data_type_blob() - Set properties for a long BLOB type
    set_data_type_date() - Set properties for a date type
    set_data_type_time() - Set properties for a time type
    set_data_type_datetime() - Set properties for a datetime type
    set_data_type_timestamp() - Set properties for a timestamp type
    set_data_type_from_result() - Set data type from one of the 5 result types
    set_data_type_from_item() - Set data type based on properties from an item
    
    Generated internal type MYSQL_TYPE_VAR_STRING is replaced with
    MYSQL_TYPE_VARCHAR. This should be a good and consistent change, as
    MYSQL_TYPE_VARCHAR is used for all columns of type VARCHAR.
    
    Removed the following type cache fields:
      Item_null_result::fld_type
      Item_param::param_type
      Item_temporal::cached_field_type
      Item_return_int::int_field_type
      Item_int_with_ref::cached_field_type
      Item_copy::cached_field_type
      Item_cache::cached_field_type
      Item_type_holder::fld_type
      Item_func_coalesce::cached_field_type
      Item_func_if::cached_field_type
      Item_func_min_max::cached_field_type
      Item_sum_hybrid::hybrid_field_type
      Item_temporal_hybrid_func::cached_field_type
    
      Most uses are replaced with the data_type() function.
    
    Changed data type for Item_sp_variable with underlying JSON argument to
    JSON, this required implementing Item_sp_variable::val_json().
    
    Renamed Item::get_real_type() to real_data_type().
    
    Test changes:
    ctype_collate:
    - Collated numeric data is sorted correctly (max_length was wrong)
    
    ctype_utf16, ctype_utf16le, ctype_utf32, ctype_utf8, ctype_utf8mb4:
    - Binary string types have decimals=31 (like other string types)
    
    gis:
    - Binary string types have decimals=31 (like other string types)
    
    innodb-2byte-collation, innodb_gis.1, innodb_gis.gis
    - Binary fields show 31 (UNDEFINED) for decimals
    
    internal_tmp_disk_storage_engine:
    - Result was too short because max_length was calculated improperly.
    
    type_temporal_fractional:
    - Decimal precision derived from UNIX_TIMESTAMP could be calculated wrongly.
    
    json_functions_innodb, json.json_no_table:
    - Type is reported as 15 (VARCHAR) instead of 253 (ancient VAR_STRING).
    
    test_service_sql_api.test_sql_commit
    - character set is changed from 63 (binary) to 8 (default numeric)
    
    test_service_sql_api.test_sql_stmt
    - data type is changed to 15 (MYSQL_TYPE_VARCHAR) for all character items,
      which is a consistent change.
    
    test_service_sql_api.test_sql_complex
    - length of variable @a (of type integer) was incorrectly set as 60
      (MAX_BIGINT_WIDTH * 3), now changed to MAX_BIGINT_WIDTH.

commit 7245ba4fc648085c9d6bcc13bebbab83dbbca701
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 11:42:22 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - change code to use the thd_test_options() function provided
       by plugin.h in stead of homebrewn thd_options()
     - remove thd_options()

commit cd5d6cc1bce823ab6145625411cd72e927324bf1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 11:22:36 2016 +0200

    WL#7569 Split ha_ndbcluster_glue.h into the appropriate ndb_*.h files
    
     - remove thd_set_command(THD*) and use thd->set_command() directly

commit c6ab02f05de334f098a9f723244337b2a251204d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 13:10:40 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - Follow up fix to clean up mysys from unneccessary
       functions when WL has been implemented
     - Remove the now unused(and actually unimplemented) functions
       compress_serialized_metadata() and uncompress_serialized_metadata()

commit 3c1d653b652a48118405f6e3998ea94bbea1b724
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 20:09:37 2017 +0100

    Bug#25266132 MYSQL-TRUNK-CLUSTER BUILD FAILURE ON EL7-X86-64BIT PLATFORM
    
     - fix two compilation errors caused by faulty vararg format specifiers

commit ce71cb31a2e4f30de71debe4650b7c55723b919d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 19:31:42 2017 +0100

    Bug#25266132 MYSQL-TRUNK-CLUSTER BUILD FAILURE ON EL7-X86-64BIT PLATFORM
    
      - improve the removal of -Wundef so it does not match
        -Wundefined-reinterpret-cast etc.

commit 98881311e78a8c8c40b33a5f0fca405ba276cfa1
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Wed Jan 25 20:46:17 2017 +0300

    WL#7743 "New data dictionary: changes to DDL-related parts of SE API".
    
    Changed the storage engine API and SQL-layer code in order to allow
    InnoDB to get rid of its internal data-dictionary and to enable
    support for atomic/crash-safe DDL in future.
    
    Changed DROP TABLES user-visible behavior in case of error to make
    it more atomic. Also changed the way DROP TABLES and DROP DATABASE
    are written in the binary log to make them more crash-safe once
    atomic DDL is supported.
    
    Particularly:
    
    1) Added support for auxiliary columns and keys which are implicitly
       added to the table by SE (e.g. InnoDB's DB_ROW_ID, implicit PK)
       to the SE API. Even though such columns and keys are not visible
       to users we still want to store information about them in the DD.
       So new:
    
       int handler::add_extra_columns_and_keys(HA_CREATE_INFO *,
                                               const List<Create_field> *,
                                               KEY *, uint, dd::Table *)
       method was introduced, which is called during dd::create_table()
       execution. SE adds hidden columns/keys by adjusting dd::Table object
       passed as in/out parameter and then adjusted table definition is
       saved to the DD.
    
    2) Provided access to se_private_* values and methods to update them
       during DDL.
    
       Added "const dd::Table *" argument to handler::open() call so SE
       should be able to get values of these attributes when table is opened.
       Similar arguments were to DDL-related methods which operate on tables
       without opening them.
    
       Extended SE API methods related to DDL to allow SEs to adjust these
       attributes for tables (and its subobjects) and tablespaces.
    
       For example, SE method for renaming table now looks like:
    
       int handler::rename_table(const char *from, const char *to,
                                 const dd::Table *from_table_def,
                                 dd::Table *to_table_def);
    
       New from_table_def in-argument contains pointer to dd::Table object
       describing the table prior to rename. to_table_def is in/out-parameter
       which points to dd::Table object describing the table after rename.
       The latter object can be adjusted by SE and will be saved in the
       DD for storage engines which support atomic DDL (i.e. have
       HTON_SUPPORTS_ATOMIC_DDL flag set).
    
    3) Paved the way for atomic/crash-safe DDL by ensuring that for capable
       SEs (i.e. with HTON_SUPPORTS_ATOMIC_DDL flag) it is executed as a
       single atomic transaction. Such transaction includes updates to the DD,
       changes in SE and writes to binary log and should either commit and
       have its effect properly reflected in DD, SE and binary log or rollback
       and doesn't have any effect at all.
    
       To achieve this:
    
       *) Removed intermediate commits in DDL from SQL-layer if DDL involves
          only SEs supporting atomic DDL. For cases when DDL involves engines
          which do not support atomic DDL intermediate commits still happen
          as it improves their crash safety.
       *) Introduced new handlerton post_ddl() hook to be called after DDL
          is committed or rolled back to let SE do necessary post-commit/
          rollback work (like removing table files after DROP TABLES is
          committed).
       *) Ensured that atomic DDL statements are written as transactional
          statements to the binary log, so they can be correctly committed/
          rolled back. However, WL@9175 is necessary for binlog not to
          override this choice and to support correct crash recovery
          for such statements.
    
    4) Introduced Partition_handler::exchange_partition() method to be
       used for implementation of atomic ALTER TABLE EXCHANGE PARTITION
       which do not rely on legacy partitioning code.
    
    5) Changed the behavior of DROP TABLES statement to make user-visible
       behavior more atomic and try to avoid side-effects from failed
       statements when possible. Multi-table DROP TABLES statement (sans
       IF EXISTS clause) no longer drops any tables if one them is missing.
       Also we will try to rollback effects of this statement in case
       of any error. This means that DROP TABLES which involves only
       tables in SEs supporting atomic DDL will be either successful or
       fail without any side-effects. Deletion of tables in SEs which
       don't support atomic DDL can't be rolled back of course and is
       visible as a side-effect after DROP TABLES fails due to some
       error from SE (but not because of missing table).
    
       The above also applies to DROP DATABASE statement (except that
       it cannot fail due to missing table).
    
       Binary logging for DROP TABLES and DROP DATABASE statement were
       also changed to make them more crash safe. When GTIDs are not
       involved we write separate DROP TABLE statements for each table
       in SE not supporting atomic DDL which is dropped. Removal of
       tables in SEs supporting atomic DDL is still represented in
       binary log as a single multi-table DROP TABLES statement (or as
       DROP DATABASE statement if we are dropping database). Statements
       with assigned GTID can't be split in the binary log, so we are
       still writing single DROP TABLES/DROP DATABASE statement in this
       case.
    
       Note that for SEs which do not support atomic DDL it might happen
       that table is missing from SE, but is present in the DD. Such
       tables still can be dropped using DROP TABLE IF EXISTS.
    
    Note that even though this patch enables HTON_SUPPORTS_ATOMIC_DDL
    flag for InnoDB SE, this engine still doesn't really support atomic
    DDL internally. So this patch adds some workarounds for this until
    WL@9536 is implemented.
    
    It also disables a few tests until WL@9175 and WL@9536 fully enable
    support for atomic DDL in binary log and InnoDB SE.

commit 70b785d495bff128a3375b5ccd8c2b278ca81596
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jan 25 14:39:34 2017 +0100

    Bug#18928848 II. MALLOC OF UNINITIALIZED MEMORY SIZE
    
    Followup patch: Revert original solution and implement the one
    suggested by Oystein: Copy the null value byte that is one byte ahead
    of the actual field value.

commit 2dd5355ff5462bdeff40e6e25581e4df57db970f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jan 17 14:38:32 2017 +0100

    Bug #25407875: GENERALIZE VARIABLE-LENGTH SORT KEY CODE
    
    Currently, only JSON fields can be variable-length in sort keys, and a number
    of details about this format are hard-coded to JSON and encoded in the JSON
    sort keys function. We should make this more general, so that we can also
    sort e.g. VARCHAR fields without padding them to the maximum length. (This is
    especially important with utf8mb4 as default, where key lengths explode.)
    
    In particular, we move the logic for writing field lengths out of
    Field_json::make_sort_key() and into filesort itself. We also allow make_sort_key()
    to return a length, and if sort_key_is_varlen() (a new member functions) returns
    true, this length is allowed to be shorter than the full length of the field.
    
    Similarly, the JSON sort key function no longer knows the details about where
    the NULL indicator byte is supposed to be; it simply gets in a pointer to it
    instead.
    
    Change-Id: I581d5b8a04b9a17663eebc3de59d24aabe24df6e

commit 9b4eb8f3fbf3b39e421961d880ac61487ed7c041
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 15:15:46 2017 +0100

    Bug#25266132 MYSQL-TRUNK-CLUSTER BUILD FAILURE ON EL7-X86-64BIT PLATFORM
    
     - add format specifier attribute to udeb_print() as suggested by
       "-Werror=suggest-attribute=format"

commit 30f1f3a8e0271982798c5151cf14d996216a0b11
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jan 25 19:15:51 2017 +0530

    Post Cluster Upmerge Fix
    
    Fixing the VERSION file which was accidentally changed

commit c077b064ab111248d4172dd8fdb9e2164efe0444
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jan 23 19:25:40 2017 +0100

    Bug#25437227 REMOVE #IFDEF HAVE_NDB_BINLOG
    
      - remove ifdef HAVE_NDB_BINLOG which can be always on after
        having removed embedded
      - rephrase comments in two somewhat old tests which mentioned
        the define to instad refer to "NDB binlog define"

commit 4e82d225e8dd10b1f43451e07aa7a8191e710ef0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 14:21:02 2017 +0100

    Bug#25266132 MYSQL-TRUNK-CLUSTER BUILD FAILURE ON EL7-X86-64BIT PLATFORM
    
     - try again since "fix for bug#25266132" didn't work

commit 4de84a71bbf148fc6d18afeb392558dd264d3773
Merge: 11f1202 a1d31ed
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jan 25 18:36:40 2017 +0530

    Merge branch 'mysql-trunk-cluster' into mysql-trunk

commit a1d31edbe2a6d0dafffa8e30c7cc965337e33ba8
Merge: 7939ecf 05780af
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jan 25 17:46:34 2017 +0530

    Merge commit '05780af7467d13a32495254cbf5dce6469afdac7' into mysql-trunk-cluster

commit 7939ecf17184da9e2823b257ebdd20c32b8e6234
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 25 12:47:45 2017 +0100

    WL#9185 MySQL Cluster support for new DD
    
      - remove ndb_dump_frm_data utility, there are no
        frm files any more

commit 11f1202de059d217b9609ae1806d1713701e807f
Merge: ca88927 d562556
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Jan 25 16:17:23 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit cfdbc7f6afa7a636b01403c23c6fb9ee0c00af50
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 11:28:34 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - add testcase for setExtraMetaData() and getExtraMetadata(
       to testDict
     - needed to create a fairly large slab of memory since compress
       was packing it down so well. Assume the data in the memory
       could also have been made less uniform to accomplish the same thing.
     - add new testcases to be run daily

commit 63feb85b3ddfa6ddce7ff288bbba4fbcb9a108c7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 10:06:16 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - add comments describing how NdbIndexStatImpl still are using
       a compiled in frm blob which is already packed when creating
       its tables.

commit a9000a434c0bd8ef348d4dc5e31a136e53e9015e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 10:02:42 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - rewrite ndbcluster to use the new functions for working with
       extra metadata. This means that it's now working only with
       unpacked data and thus a lot of duplicated code are now removed.
     - rename ha_ndbcluster::alter_frm to inplace_alter_frm in order
       to better indicate which code path it belongs to.
     - rename cmp_frm() to cmp_unpacked_frm() to indicate it's now working
       with the unpacked frm blob
     - revert parts of WL#6378 hacks and add dummy functions for
       readfrm() and writefrm()

commit 4e15948c0d1ff04a38d1334519188e0434f5406e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 09:54:09 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - fix ndb_restore to use the new extra metadata functions
       in function which rewrites stuff inside the frm blob while
       restoring the user defined partition table.
     - this functionality to fiddle with the frm blob was added by
       "WL 2747: Fix such that backup and restore works for user defined
       partitioned tables in NDB". That patch add tests to ndb_restore.test
       which subsequently has been renamed or moved into
       ndb_restore_schema_partitions.test.
     - make note about two chunks of memory which are most likely
       not released
     - make note which bug report was created to describe the shortcomings
       of the function and its suggested solution

commit bd54adb307be919b6e0dcf868eee8befc78f85a0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 09:49:11 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - remove fussy code related to NDB_ALTER_DATA pointer, the
       DBUG_ASSERT shows that pointer never can be null. Thus
       the if checking for null can be removed. Also make
       old_table_version and table_id const.

commit 759e7dc61b79c28dc0205c87f7d02ccdd15f42b8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 09:42:05 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - Implement two new functions Dictionary::Table::getExtraMetaData() and
       Dictionary::Table::setExtraMetadata() which extends the
       NdbApi with support for storing extra metadata for a
       table in NDB's dictionary.
     - The extra metadata is packed into a format which allows the
       version of the payload to be determined from any NdbApi
       application. The extra metadata is compressed
       using zlib compression before being stored in NDB's dictionary.
     - The content of the extra metadata is however still opaque to
       NDB and NdbApi.

commit 2263d3e369a645d966bc30fa6673dc8fa44076ec
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 20 09:32:15 2017 +0100

    WL#9865 Improve NdbApi support for extra table metadata
    
     - mark a few functions in BackupRestore which is part of ndb_restore as
       being const

commit d5625566a7b883313c28939828a299d48bc25f20
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Jan 25 16:11:37 2017 +0530

    Bug#24007040 - MYSQLDUMPSLOW ON MYSQL 5.7 DOESN'T FOLLOW
                   DATETIME FORMAT CHANGE
    
    Post push fix to address test script failure.

commit ca88927e99e7ee6eb7551a478f2d93521bedddbc
Merge: bdc4907 f775387
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Wed Jan 25 10:33:53 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f775387927464913af8e034c20b4fd6366bfd69a
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Wed Jan 25 10:28:51 2017 +0100

    BUG#25247574: CHANGE ALL USES OF WAIT_CONDITION.INC TO WAIT_CONDITION_OR_ABORT.INC
    
    Test failures getting un-noticed around wait_condition timeout.
    It has been observed some wait_condition timeouts were recorded in result files
    resulting in failures getting un-noticed.
    
    Example, if table is expected to have 3 rows.
    Failure of not 3 row will get skipped, due to Timeout message recorded in result file.
    
    Reason: Jobs were not failing due to variable used to skip failures.
    
    To solve it, wait conditions now abort at timeout.
    
    Post changes 4 test failures have been recorded. 3 are being tracked in BUG#25392468.
    Additional changes have been done to show GR debug information at time of failure.

commit 519417728bc20eb7124c5aa630732fc564c17887
Merge: 21e3a97 8d90257
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jan 25 12:59:58 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit bdc49070128fb066a69967dcac4225d7bba4cb21
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jan 25 08:23:59 2017 +0100

    Bug#25424289: Added analyze command to stabilize test

commit 8d902579ca0211e984c0ba62de768f203e6fed85
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Jan 25 11:50:12 2017 +0530

    BUG#24806257 : MTR DOESN'T DO CHECK-TESTCASE IF THERE IS --SKIP IN TEST
    
    Post push fix, skipping check-testcase if a test contains
    'force_restart_if_skipped.inc' before the skip check.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>

commit d97febb6d86c4dadc89de5368e3764a65099d9ad
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Wed Jan 25 11:12:27 2017 +0530

    Bug#25447553 FEW PERFSCHEMA.IDX_COMPARE_* TESTS FAIL DUE TO LIMIT OF
                 100 ON P_S_USERS_SIZE
    
    Issue
    -----
    The default_mysqld.cnf file used by MTR includes 'loose-performance-
    schema-users-size=100' which effectively limits the number of users
    stored in the performance schema users/accounts tables to 100 and
    doesn't record any user/account created further. As a result, few
    perfschema.idx_compare_* tests fail when run after a test which
    creates connections with around 100 users on an MTR worker (eg:
    main.server_offline_5) as these tests add users and validate if
    they are reflected in the preformance schema.
    
    Fix
    ---
    Clean-up residual entries(from previous test runs on the worker) in
    performance_schema 'users' and 'accounts' tables for the failing
    tests.
    
    Reviewed-by: Chris Powers  <chris.powers@oracle.com>
    Reviewed-by: Mayank Prasad <mayank.prasad@oracle.com>
    RB: 15197

commit ae6d5ca081fe9dc78605c5087aee18717feca3f3
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Jan 24 16:01:18 2017 +0100

    Bug#25424289: Assert '!table->has_null_row()' failed in join_read_key
    
    The problem causing this assert was that code in
    evaluate_null_complemented_join_record() might leave without
    resetting NULL row status for outer-joined tables if a join condition
    evaluated to false.
    
    Fix is preserving the evaluation status and leaving function at end,
    as long as no error is encountered.

commit 6724581efa028155779bd40b6e6f72dd250a72a9
Merge: b25af1e 919ea22
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 24 15:22:53 2017 +0100

    NULL Merge branch 'mysql-5.7' into mysql-trunk

commit 919ea22e3c9cb96b45265439678e0cbafe90bae4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 24 14:39:43 2017 +0100

    Bug#24504155 BUILD MEMCACHED WITH SOLARIS STUDIO 12.5 AKA 5.14
    
    Backport to 5.7
    
    Do not set any -std=xxx for the developer studio compiler, that would lead to:
    innodb_engine.so: symbol __sync_add_and_fetch: referenced symbol not found

commit b25af1e79e496cc10434e079c71eb38c77867d07
Merge: 9a78e48 595b062
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jan 24 18:54:04 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 595b06288e33a782817674dcceb0b069be3f1335
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jan 24 18:52:14 2017 +0530

    Bug #23070734 CONCURRENT TRUNCATE TABLES CAUSE STALLS
    
    Post push fix to enable valgrind during big-test option

commit 9a78e48dcd69731ab754ec8e034ece9f9dc822ba
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Tue Jan 24 17:31:54 2017 +0530

    BUG#25182306 : --ONLY-BIG-TEST OPTION TO MTR TO RUN ONLY BIG TESTS
    
    Post push fix, modified MTR to print the details regarding the new
    option 'only-big-test' when '--help' option is used with it.
    
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>

commit 0702671fbd5857f30b8639932586f2b225cfb7df
Merge: 38ffdf4 b871b53
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Jan 24 16:55:22 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b871b53f05f77803cbf0db00735f2de237a20039
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Jan 24 16:51:40 2017 +0530

    Bug#24007040 - MYSQLDUMPSLOW ON MYSQL 5.7 DOESN'T FOLLOW
                   DATETIME FORMAT CHANGE
    
    DESCRIPTION:
    ============
    On MySQL 5.7, make_iso8601_timestamp() is used to build
    timestamp string. This format is different from the
    timestamp format of the previous versions. As a result,
    mysqldumpslow cannot identify each entry and fails to
    summarize the queries in slow-query-log.
    
    ANALYSIS:
    =========
    The script's earlier regex pattern was not able to parse
    the iso8601 timestamp format. As per the iso8601 timestamp
    format, the timestamp can either be in the form of
    YYYY-MM-DDTHH:MM:SS.SZ or
    YYYY-MM-DDTHH:MM:SS.S[+-]HH:MM
    
    FIX
    ====
    Change the regex pattern for the timestamp according to the
    iso8601 timestamp pattern. mysqldumpslow script should then
    be able to summarize the queries correctly.

commit 38ffdf402ee43107c90a9403923e40ee7675d836
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 23 15:26:41 2017 +0100

    Bug#25428042: REPLACE MYSQL_CLIENT IFDEF WITH !MYSQL_SERVER
    
    Additional patch: Remove more unnecessary usage of MYSQL_SERVER
    and move setting of MYSQL_SERVER from C++ to CMake. Also move
    net_serv.cc from sql/ to sql-common/ since it is compiled
    separately for libmysql and mysqld.

commit 05780af7467d13a32495254cbf5dce6469afdac7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Jan 24 11:00:17 2017 +0100

    Follow up fix to "re-enginered ndb restore to remove new/deletes and data copy"
    
     - remove unused function declaration connectToMySQL()

commit cc6c1610ddb5abf03672e14129bb46c36c65ddb2
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Tue Jan 24 09:52:43 2017 +0000

    BUG#25311008 - NODE THAT FAILS AND RE-ENTERS MIGHT BE EXPELLED WITH NO REASON
    
    Post-fix warning on CLang 3.8+

commit 949b1b23c6daa5bbf91a80c53a423d43643fda78
Merge: 5c7c1fc 59fb9ea
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 24 10:34:17 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5c7c1fc2aa11889541a8f960ccc6846b4beffdec
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jan 23 15:59:29 2017 +0100

    Bug#25437177: CONDITIONAL-UNINITIALIZED WARNINGS ON RECENT CLANG
    
    Clang 3.9 warns that some variables may be uninitialized when they are
    used.
    
    Fix: Separate assignments and conditions to make it clearer to
    compilers and humans that the variables are in fact initialized when
    they are used.

commit 59fb9ea1cc0bafc1b65148887d11619f5ca2dfc1
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jan 20 15:17:10 2017 +0100

    Bug#25395543 MYSQL 5.7 DOES NOT COMPILE WITH LIBWRAP/TCP_WRAPPER
    
    Some versions of /usr/include/tcpd.h lack proper function prototypes.
    Add cmake checks for this, and do explicit function pointer cast if needed.

commit bd59e4752a7307a7ed98adb004739c1f159288e2
Merge: 6bf6c7e 791cab0
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jan 23 18:25:41 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 791cab07d88a737d58093fcbed6bc8f5ede4de8c
Merge: 8f68f13 0e2a6d8
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jan 23 18:21:28 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0e2a6d890025e4317cd00421e62780aab5776397
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jan 23 17:48:14 2017 +0100

    Bug#23593091: MYSQL SERVER MSI - REGISTRY ITEMS LEFT BEHIND WHEN > 1 SERVER VERSION INSTALLED
    
    Fixed a bug, where WiX would assign the same GUID to registry key components belonging to different products.
    WiX is set generate GUID automatically based on the registry key path: 'SOFTWARE\MySQL AB\[ProductName]'.
    Unfortunatelly the [ProductName] variable would be evaluated after GUID generation.

commit 6bf6c7e26c2fc99752dc51f367995ddbfb43bde9
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Tue Jan 17 16:56:56 2017 +0000

    BUG#25311008 - NODE THAT FAILS AND RE-ENTERS MIGHT BE EXPELLED WITH NO REASON
    
    XCOM does not automatically remove a node from its configuration and it is
    an upper-layer's responsibility to do so. In MySQL GCS, a node that leaves
    the cluster gracefully is responsible for removing itself and the remaining
    nodes in the cluster are responsible for automatically removing any node
    that has crashed.
    
    If a node crashes and tries to rejoin the cluster, howerver, the request
    to add it back to the cluster may be concurrently processed with the
    request to remove it. If the remove operation is ordered after the add
    operation, the node will only join the cluster for a brief moment and
    will suddenly be kicked out it.
    
    To avoid this issue, we introduce the idea of incarnations where the
    request checks whether it is trying to remove the expected node or is
    trying to add a node back to the system when a reference to it still
    exists.
    
    This is a port of the patch regarding BUG#22204121 - NODE THAT FAILS
    AND RE-ENTERS MIGHT BE EXPELLED WITH NO REASON

commit 126bc011d322e77f21088abf5f280e43bb650d16
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jan 20 14:31:28 2017 +0100

    Bug #25436469: BUILDS ARE NOT REPRODUCIBLE
    
    Current MySQL builds, even on Pushbuild, are not reproducible; they return
    different results depending on which directory they are built from (and
    Pushbuild uses several different directories). This is because absolute paths
    leak into debug information, and even worse, __FILE__. The latter moves code
    around enough that we've actually seen sysbench changes on the order of 4% in
    some tests.
    
    CMake seemingly insists on using absolute paths, but we can insert our own
    layer between CMake and GCC to relativize all paths. Also give the right flags
    to get debug information reproducible and turn off build stamping. This makes
    the mysqld build 100% bit-for-bit reproducible between runs on my machine,
    even when run from different directories.
    
    Change-Id: I61c1373959f0b39ac5e02cdd325cac808c5b1e46

commit 21e3a97f8f0e31faefd7e7f658123fa2d97dba6a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jan 23 16:09:39 2017 +0100

    Remove workaround for BUG 23508762
    
      - the spelling error has been fixed upstream since long

commit f619444e22aa0326c2507ffe81d4a17ae1c32d3e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jan 18 11:20:48 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <errno.h> and then re-sorting
    the #includes (and nothing else); then remove <errno.h> from my_global.h.
    
    Change-Id: I9fe4f416b48ce9d5b257ad99d86b17a96fce16a8

commit 2e37581d68d7129ba5fe6c13146569fcaf75b434
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jan 23 19:14:46 2017 +0530

    BUG#24806257 : MTR DOESN'T DO CHECK-TESTCASE IF THERE IS --SKIP IN TEST
    
    Post push fix, fixed test failure on linux dev build.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>

commit ff662f6189ec57d5ffb7aad47b7d538bffa2644d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jan 19 15:14:58 2017 +0100

    Bug#25428042: REPLACE MYSQL_CLIENT IFDEF WITH !MYSQL_SERVER
    
    Replace the MYSQL_CLIENT #ifdef with !MYSQL_SERVER to
    simplify conditional compilation.
    
    Also remove unnecessary usage of MYSQL_SERVER
    and move setting of MYSQL_SERVER from C++ to CMake.

commit f7c4b136fc8f4fbc2f8f2fb5c96e95078dd26207
Merge: 3e8f0c1 8f68f13
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jan 23 09:41:55 2017 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8f68f13d472a06941c5056ebc41adb965150582f
Merge: 0d2bb43 fb538b9
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jan 23 09:41:25 2017 +0000

    Merge branch 'mysql-5.6' into mysql-5.7

commit fb538b9f4d3c83ceeb0fdc9a07020450d379dc0c
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Jan 20 09:53:01 2017 +0000

    BUG#24801209: RPL_GTID.RPL_GTID_TEMP_TABLE FAILS SPORADICALLY ON PB2
                  IN DIFF_TABLES.INC
    
    Problem
    -------
    
    The MTR test rpl_gtid.rpl_gtid_temp_table fails sporadically on
    pushbuild on perpush as well as weekly/daily runs due to diff-
    erence in table contents between master and slave being reported
    by "include/diff_tables.inc".
    
    Analysis
    --------
    
    The issue seems to be caused because of missing synchronization point
    between master and slave after the workload and before the master/slave
    diff tables check.
    
    Fix
    ---
    
    Added a master/slave synchronization before table diff checks.

commit 3e8f0c13e92754a00bba7cfea64420902010682d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 23 09:22:12 2017 +0100

    WL#9494: Implement INFORMATION_SCHEMA system views for ROUTINES/TRIGGERS/EVENTS
    
    Follow-up patch: Remove code from sql_show.cc that is now dead
    as a result of WL#9494 and earlier 8.0 I_S/DD WLs.

commit d18a22ebf8338576a9b37b99ca0786f6a925a0ec
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Jan 23 12:47:23 2017 +0530

    Follow up fix to BUG#24686908
    
    Fixed the issue which was causing doxygen build failure.
    
    Reviewed-by: Satya Boadapati <satya.bodapati@oracle.com>

commit 7427a9b8139988c8375b3ab987e2b48cf1eff867
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jan 23 11:14:35 2017 +0530

    BUG#24806257 : MTR DOESN'T DO CHECK-TESTCASE IF THERE IS --SKIP IN TEST
    
    Description :
    =============
    Skip statements should be placed in the beginning of a test before it
    creates tables and other objects. If a test is skipped after altering
    the database state then it might affect the subsequent test runs on
    the same thread. `check-testcase` is run only if a test run is
    completed successfully and not run when a test gets skipped. This is a
    badly written test and will be better if it fails and gets noticed in PB2.
    
    E.g :
    -----
    CREATE TABLE t1(a INT);
    skip "Intentional skip doesn't complain about existing table t1";
    DROP TABLE t1;
    
    Here, MTR should have complained about existing table t1.
    
    Fix :
    =====
    MTR is modified to run check-testcase after a test gets skipped.
    Tests modifying the system state before the skip will now fail with
    check-testcase failure and get noticed in regression runs.
    
    Reviewed-by: Anitha Gopi <anitha.gopi@oracle.com>
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    RB: 14835

commit 272cf04b08453eb8d013c087e9c91b4e3b2e48fe
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Sat Jan 21 06:41:32 2017 +0100

    WL#9494 Implement INFORMATION_SCHEMA system views for ROUTINES/TRIGGERS/EVENTS
    
    This WL should implements following INFORMATION_SCHEMA
    tables as system view over data dictionary tables.  This
    implements WL#6599 Phase 2) activities from
    "HLS/3) Development plan".
    
    This patch does following,
    
    A) Implement following tables as system views:
    
      INFORMATION_SCHEMA.TRIGGERS
      INFORMATION_SCHEMA.ROUTINES
      INFORMATION_SCHEMA.PARAMETERS
      INFORMATION_SCHEMA.EVENTS
    
    B) Implements following SHOW commands over system views
       defined in A)
    
      SHOW TRIGGERS
      SHOW PROCEDURE/FUNCTION
      SHOW EVENTS
    
    C) Implements following UDFs used by A) to check access on the
       objects to be displayed.
    
      CAN_ACCESS_TRIGGER() - Checks if user has access on trigger.
      CAN_ACCESS_ROUTINE() - Checks if user has access on routine.
      CAN_ACCESS_EVENT() - Checks if user has access on event.
    
    D) Adds new data dictionary tables columns to stored data
       type in string form.  This is similar to
       mysql.columns.data_type_utf8.
    
      mysql.routines.result_data_type_utf8
      mysql.parameters.data_type_utf8
      mysql.routines.result_data_type_utf8
    
    Notes:
    
    - Removed related old INFORMATION_SCHEMA code.
    
    - There are no dynamic information schema columns whose
      values are read from storage engine in I_S tables in the
      scope of this WL.  So, the 'information_schema_stats'
      variable would not play any role in implementation of this
      WL.
    
    - Compatibility differences are same as we have see in
      WL#6599.  Some of them applies to this WL are 6.b, 6.c, 6.d,
      6.g listed under Section 6.
    
    - The Bug#24420809 gets fixed by the implementation. We
      will not be able to reproduce the problem and hence we
      have removed the test case.
    
    - A scenario in test Bug#12828477 could be used to present
      performance gain from this WL. Probably useful when we
      plan to benchmark.
    
    - In 5.7 SHOW TRIGGERS skips displaying triggers whose
      trigger body is possibily corrupt. However, we know that
      I_S.ROUTINES does not skip the routine entries whose body
      might be corrupt. So, this WL tries to keep the behavior
      consistent and makes SHOW TRIGGERS to display triggers
      even in case when their body is corrupted. Note that, with
      the introduction of data dictionary the triggers/routine
      body is stored in transactional InnoDB engine the
      possiblity of corruption is avoided. So, this change
      would not be really be seen, until DD is corrupt.
    
      With this change, SHOW TRIGGERS in the test
      main.trigger-compat-debug now displays the trigger entries
      even if trigger body seem to be corrupted now.
    
    - This WL introduces changes in the DD tables. Since we do
      not yet support upgrading the DD, this means that a new
      server will not run successfully on an old data directory.

commit d00f1158a3551331b9759946b179752347f0afb4
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Sat Jan 21 14:24:00 2017 +0530

    In continuation to Bug#25166686, we are removing the below inc file
    from MTR.
    
    have_numa.inc
    
    libnuma is supported only on Linux. Due to unavilability of libnuma
    libraries on Linux gcov, the inc file was not removed as part of
    Bug#25166686.
    
    Now we have libnuma available on Linux gcov and hence removing the
    inc file. Also, the reference of have_numa.inc from the MTR tests
    is also removed.

commit 8c18fd76eccff9abb85e716cca558ef2da60963a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Jan 21 06:57:46 2017 +0100

    Bug#25416084 REORGANIZE AND SPLIT EXTRA/
    
    Follow-up fix: make MTR look in the correct directory for utilities.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 18db587004b8c72dabda9dd6332b2c7417541c02
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jan 16 18:30:56 2017 +0100

    Bug#25416084 REORGANIZE AND SPLIT EXTRA/
    
    Move libevent/ to extra/
    Move zlib/ to extra/
    Move editline/ to extra/
    Move regex/ to extra/
    Move utilities in extra/ to utilities/
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit 80d4cdc2414b9258a35e538070300b175b401545
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jan 20 10:24:22 2017 +0100

    Bug#25378337 COMPILER FLAGS NOT COLLECTED IN DOCS/INFO_BIN
    
    Post-push fix: output something that file_contents.test can recognize.
    
    Change-Id: I01f3999c46cb399aa83ee9ff80cb1e86f72e6772

commit 3415e60e5aa4659ad90b4c0c31ce7477965ae89c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jan 20 06:24:00 2017 +0100

    BUG#11763201 PLEASE REMOVE CLIENT PROGRAM VERSIONS
    
    Rerecord the result of memc292_ibd2sdi_system_tablespace

commit 1f8675d499f37edf06773d071108e2067b55ed69
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jan 19 17:09:05 2017 +0100

    Bug#23593091: MYSQL SERVER MSI - REGISTRY ITEMS LEFT BEHIND WHEN > 1 SERVER VERSION INSTALLED
    
    Fixed a bug, where WiX would assign the same GUID to registry key components belonging to different products.
    WiX is set generate GUID automatically based on the registry key path: 'SOFTWARE\MySQL AB\[ProductName]'.
    Unfortunatelly the [ProductName] variable would be evaluated after GUID generation.

commit 3cd85e00476ac21d25cfecc2657feabdfe44150d
Merge: 49179d3 9de6491
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 19 16:40:40 2017 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 9de6491834e6979ebf8efbba39c4c5cd8de31332
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 19 16:11:23 2017 +0100

    Bug#22705935 NDBAPI : SENDSIGNAL FLUSH OPTIMISATION ISSUES
    
    Follow up patch to fix regression observed in the ATR
    tests:
    
    - testNdbApi -n ApiFailReqBehaviour T1
    - testNdbApi -n CheckDisconnectCommit T1
    - testNdbApi -n CheckDisconnectComplete T1
    - testNdbApi -n FragmentedApiFailure T1
    - ... and possibly more
    
    The original patch removed the ::flush_send_signal()
    from TransporterFacade::reportConnected / ::reportDisconnected()
    after it had returned from ClusterMgr::reportConnected
    or ::reportDisconnected().
    
    This was done as flushing is now done by by the poll owner
    when it 'finished poll'. However, that is probably too late
    for the ::reportDisconnected() as we want the receiver to
    take immediate actions on this - Possibly we even reset
    the send buffers as part of disconnecting, such that the
    unflushed signals are lost before they are sent, (Didn't
    really investigate that though)
    
    This patch reintroduce flushing for ClusterMgr::reportConnected()
    and ::reportDisconnected() by changing their signal sending
    to use the flushing ::safe_sendSignal() instead of
    ::safe_noflush_sendSignal(). This reintroduce the
    immediate flushing of signals sent as part of a
    connect/disconnect.

commit d9e2dbc41e719a3b3fe4b6a7064b13daf8607e27
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jan 19 14:05:45 2017 +0100

    Applied clang-format.
    
    clang-format version 4.0.0 (http://llvm.org/git/clang.git
    485363ae349c4f9b038ae42921f530692994ce4b) (http://llvm.org/git/llvm.git
    4e1eef18555afaa48cf1c1aecaeffe2aba3edbd5)

commit 9c6c2d1dbdb446acbfbccb81707922ce8da7d088
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jan 19 11:33:18 2017 +0100

    Fixed REGISTER_BODY_V1 macro to be followed by a ';',
    to avoid confusing clang-format.

commit 211ab704efe11219669028ea68ae987d650f8672
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jan 16 14:16:56 2017 +0100

    Bug#25378337 COMPILER FLAGS NOT COLLECTED IN DOCS/INFO_BIN
    
    Output some CMAKE variables to the file Docs/INFO_BIN
    
    Change-Id: I244dcd48c8e197c8e782c39ac0c2d0ab795769d4

commit c6d8bbb3a9366d91b6b4693e94b375d5cfd08b1c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jan 19 08:43:10 2017 +0100

    Bug#25413554: REMOVE DEAD STRUCT MEMBERS
    
    Additional patch: Remove some dead members from the system
    variables struct.

commit 67ebafc981b974b5683cee4ac70798bddaed1445
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jan 18 10:39:10 2017 +0100

    Bug#25413703: REMOVE #IFDEF HAVE_REPLICATION
    
    After the removal of embedded server, the HAVE_REPLICATION
    ifdef is always true and can therefore be removed.

commit d900d5d6f9c61db2a65d27c6dffcfdfbbdc79a23
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 16 16:08:51 2017 +0100

    Bug #25407857: SIMPLIFY FLOAT/DOUBLE SORT KEY GENERATION
    
    The current float/double sort key generation is unneccessarily complicated,
    and poorly documented. It can be made simpler (and faster) by noticing that
    positive floats already sort correctly as ints, and doing some minor tweaks
    for negative numbers.
    
    Change-Id: I5c51be7e1ba31e173ba67537c21381e98260bfc5

commit 9ea543732a72d96f76a546c99cdaa9485699c92e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 16 15:46:04 2017 +0100

    Bug #25407849: NEED_STRXNFRM IS MISSPELLED
    
    Sort_param has a field called need_strxnfrm, but the function is called
    need_strnxfrm. Fix this everywhere, and also update some comments.
    
    Change-Id: I994d65187fe38d7904cbd870005aa9d165ab36b0

commit 7b64a47716bb943b1cce5ff1c9ad613130382d0c
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jan 18 16:09:53 2017 +0100

    Bug#23130819: Fix NDB build break

commit 40a8b62c4cc80411ea02533734ae968a63d0fe95
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jan 18 08:14:29 2017 +0100

    Bug#25413554: REMOVE DEAD STRUCT MEMBERS
    
    Remove some unused members from Date_time_format, st_lex_user,
    TABLE_LIST and KEY to reduce their size.
    
    Also remove some unused variables from mysqld.cc

commit 6f32c9fa2a1278a851a906b7fbddb9b2da2d9990
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jan 18 15:41:21 2017 +0100

    BUG#11763201 PLEASE REMOVE CLIENT PROGRAM VERSIONS
    
    Follow-up fix to the NDB build

commit d79582c2809ac2f548a78c96b1b9995749993690
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jan 18 14:25:44 2017 +0100

    Bug#23130819: Refactor state changes for the row buffer in class TABLE
    
    This is a more comprehensive fix for bug no 22833364. It reverts the
    changes made in this fix and refactors TABLE status handling.
    
    - Literal values are replaced with setter and getter functions that describe
      the properties of the row buffer denoted TABLE::record[0].
    
      set_not_started()
      is_started()
      set_found_row()
      set_no_row()
      set_null_row()
      reset_null_row()
      set_updated_row()
      set_deleted_row()
      has_row()
      has_null_row()
      has_updated_row()
      has_deleted_row()
    
      STATUS_GARBAGE is renamed to STATUS_NOT_STARTED, as it is now only used
      to describe if a table has been accessed yet. The has_row() function
      (which checks the STATUS_NOT_FOUND) is now used both for key lookup
      functions and range scans.
      By using setter functions, we can guarantee that status values are
      maintained consistently.
    
    - TABLE::set_null_row() is called when processing a NULL-complemented row
      in the nested loops join execution, and TABLE::reset_null_row() is called
      when processing is finished.
    
    - The call to restore_record() inside evaluate_null_complemented_join_record()
      was redundant and has been deleted. Thus, a row that has been set to NULL
      can still be used afterwards, except for the NULL bit vector which is
      set to all ones by set_null_row().
    
    - join_read_key() has been refactored to avoid the illogical
      cmp_buffer_with_ref() function. Instead, a read_row flag is maintained,
      which controls whether reading a row from storage handler is necessary.
      Notice that it is possible to use a cached row that has been set to NULL,
      since we no longer destroy the row by calling restore_record(), and we
      save the NULL bit vector in a new buffer in struct TABLE_REF.
    
    - The has_record field has been removed from struct TABLE_REF since it
      played partially the same role as TABLE::has_row().
    
    - TABLE::status is renamed to m_status and made private.
    
    - All handling of TABLE::m_status is removed from storage engines.
    
    - TABLE::m_status is set in storage engine handler using a new interface:
      TABLE::set_row_status_from_handler(). This is now called from all
      public handler functions, to ensure table status is set consistently.
    
    - A few changes have been done to handler interface to enhance consistency:
      . ha_ft_read() is added as a new public interface.
      . ha_index_read_pushed() and ha_index_next_pushed() are also added.
      . ha_index_next_pushed(), ha_read_range_first() and ha_read_range_next()
        are also added.
    
    - Generally, all public handler functions start with an "ha_" name prefix
      and are non-virtual. Most of these functions call a protected
      handler-specific virtual function with the "ha_" name prefix removed.
      Some deviations to this rule exist when no virtual inner function is
      needed.
    
    - Life cycle description is updated. Since storage engine handler updates
      status after all row operations, it is not needed to set row status
      before calling the handler. However, we must make sure to update status
      when moving rows to record[0] from any other buffer.

commit f55e409ffa120c1ae6a6e9925213a89bee1b1ff7
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jan 9 19:21:52 2017 +0100

    BUG#11763201 PLEASE REMOVE CLIENT PROGRAM VERSIONS
    
    Problem: a number of mysql clients and utilities report a version
    string when for instance started with the '-V' option. The version
    numbers reported aren't consistently updated and don't make sense any
    more. Also, the version strings vary with respect to punctuation and
    use of parentheses. This looks untidy and not very professional.
    
    Solution: keep the version string reported by the server, and make
    that the standard for all clients/utilities. Do not report specific
    version numbers.
    
    The patch also adds the standard Oracle welcome notice to a few
    clients that didn't use it.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit ed2d27803782dd10a7f2b51c70625293a1948a88
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Jan 18 10:00:33 2017 +0100

    Bug#25126144 UPGRADE TO BOOST 1.63.0
    
    Upgrade dependency to 1.63.0 and remove those patches for Boost 1.62.0
    that are already included in 1.63.0. Add patches to fix bugs in Boost
    1.63.0.
    
    Change-Id: Ic94a1030bbe0444861780a8a8ec52dad5a09efec

commit 39746be05c473299db51d9fb8bd485afe46b59cb
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jan 18 11:58:53 2017 +0100

    Trial patch to stabilize innodb.boostrap
    
    Approved by Satya Bodapati <satya.bodapati@oracle.com> over IM.

commit 42282aa3bda6b731609b3380268f75100215aeb5
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Jan 18 11:25:36 2017 +0100

    BUG#25408557 - PPOLL(2) DOES NOT ACCEPT NEGATIVE TIMEOUT VALUE
    
    When a negative timeout value is passed to vio_io_wait, we pass
    a negative value in timespec value to ppoll. This causes the
    connection to idle and abort. Negative timeout value to
    vio_io_wait means the call should block indefinitely
    if no I/O event is available.
    
    The fix is to pass null value to timespec argument of ppoll
    to block indefinitely.

commit 23c69d7a32f19bae3aff48ff0454dac708e4205b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 9 12:43:33 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_compiler.h" and then re-sorting
    the #includes (and nothing else); then remove "my_compiler.h" from my_global.h.
    
    Necessitated some #include cleanups in group replication, which has a ton
    of headers that are not self-sufficient.
    
    Change-Id: If8d754f099ced06c44148018cd775799ae4caa54

commit 85a8cd6e7cd585baed1300779451a438ce2226d8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jan 18 08:46:09 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
      - Build failure of the ndbapi example ndbapi_event after 'run include-
        the #includes (and nothing else); then remove "my_dbug.h" from
    my_global.h.'
     - Fix by adding missing #include my_dbug.h in ndbapi_event.cpp

commit 49179d3fcf994af8423bb80e46387a3a36596e00
Merge: be24fe2 f95bd83
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 18 13:57:28 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit f95bd83d4791548a525cf222a1689cd8b98d02f0
Merge: 86fee75 a8490ee
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 18 13:57:19 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a8490ee370f5455154ca618ff3927fed43a24bfe
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 18 13:51:39 2017 +0530

    Bug#25302901 NDB_PRINT_BACKUP_FILE SEGMENTATION FAULT WITH A TABLE WITH 500 COL
    
    The ndb_print_backup_file tool reads table descriptors from the
    .ctl file. While reading a table descriptor from the .ctl file
    into the buffer, a buffer overflow occurs because the table
    descriptor is too large to be accommodated within the buffer.
    The buffer overflow corrupts the output stream object. The
    corrupted output stream object is then used to print the table
    descriptor, resulting in a segmentation fault.
    
    Fix Description: Increased the buffer size so that the largest
    possible table descriptor can be accommodated without overflow.

commit be24fe2f13f5b6c0ddad257dedcf6260628e9d9e
Merge: a03b197 86fee75
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jan 18 13:50:35 2017 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 86fee7522f9c3ce4fb4aee06d2bd1595535b68a5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jan 12 14:11:29 2017 +0530

    Bug #25302019: CLEAN UP NDB TESTS THAT USE NON-NATIVE PARTITIONING
    
    Problem:
    --------
    
    The generic partitioning handler in the MySQL server is deprecated
    with the storage engine expected to provide a native partitioning
    handler. Thus, the NDB tests that use the generic partitioning handler
    need to be updated to use native partitioning present in InnoDB and
    NDB storage engines instead.
    
    Fix:
    ----
    
    Change the storage engines used for tables to either InnoDB or NDB.
    Cases that used other storage engines have been changed to InnoDB.
    One table has been changed to use NDB which looks like it was
    originally omitted by mistake

commit f2944fd920d4a2d4223e31f6ca75dd1f808272a3
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Dec 21 16:28:43 2016 +0100

    Bug#25229315: ASSERTION `TABLE->M_RECORD_BUFFER.RECORD_SIZE() ==
                  RECORD_PREFIX_SIZE(TAB)' FAIL
    
    Index merge scans might need to read the primary key columns in
    addition to the columns that are in the read set. When a record buffer
    is allocated for an index merge, space is allocated for the columns in
    the read set and also for the primary key columns if needed. For a
    dynamic range scan, however, the extra space for the primary key
    columns is not allocated unless the first range is read using an index
    merge. If the dynamic range scan later uses an index merge to read a
    range, it might not have enough space for the primary key columns in
    the record buffer.
    
    This is fixed by allocating space for the primary key columns in the
    record buffer also for dynamic range scans.
    
    Change-Id: I365cd9e26f96f64f5dbea30f62cce86d4723ad3c

commit d76abb80f8305d168aca1386fcc6c26b9ccb0aff
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Jan 18 12:07:59 2017 +0530

    WL#1074: Desc index support in mysql
    
    Post-push fix
    Test is not stable because optimizer has three choices for index defined on
    the same field. Remove the choice of indexes defined on field "pk" so that
    optimizer always chooses PRIMARY index.
    The corresponding code for this bugfix makes sure that the ranges are
    ordered correctly when desc index is chosen. Among the choice of indexes, only
    PRIMARY index is desc. So the original intention of the bugfix was to choose
    PRIMARY index itself.

commit cd2f8cc1cf956ca02c906b690241657d4fef227c
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Jan 17 23:58:57 2017 +0530

    Bug #25406915 PREFIX+CATEGORY IS TOO LONG WARNING FOR PERSISTENT_DYNAMIC_LOADER
    
    Description:
    Following warning is displayed when 8.0 is started
    
    [Note] Server socket created on IP: '::'.
    build_prefix: prefix+category is too long <wait/synch/mutex>
    <persistent_dynamic
    _loader>
    
    Analysis: PFS_MAX_FULL_PREFIX_NAME_LENGTH is 32.
    In that 16 bytes is used for "wait/synch/mutex" and 1 byte
    is for null character and we have 15 bytes for mutex name.
    While registering mutex name we had given the name as
    "persistant_dynamic_loader" which is of 26 bytes length.
    Hence this is the cause for that warning.
    
    Fix:
    To fix this, the name should be of less than 16 bytes.
    Hence the mutex name is changed to p_dyn_loader in
    mysql_persistent_dynamic_loader_imp::init() function

commit d89dca2afc6e9573ab5f6e1f468a514086bb1cb2
Merge: 523aff9 0d2bb43
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 17:03:16 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0d2bb43677011aaddfce9aec2ef22bc4216186ad
Merge: 0f8403f dcbae0e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 16:58:04 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit dcbae0ee89c9f25fd1986b28b13057f4ba8d66c0
Merge: 00ff8a5 e0798b3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 16:51:44 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit e0798b3b11271cb9bfbe503db55ca8affa054400
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 16:48:24 2017 +0100

    Bug#18374703 COMPILATION ERROR WITH -DENABLE_DEBUG_SYNC=0 AND -DWITH_DEBUG=ON
    
    Post-push fix.
    Problem cmake without explicit build type was broken on windows.
    Fix: do not test for build type, always extend CMAKE_C[XX]_FLAGS_DEBUG

commit 523aff93ea60233230bd9e08ea1b81891f8f3704
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Tue Jan 10 18:45:13 2017 +0000

    BUG#25311164 - UPDATE XCOM ON GROUP REPLICATION
    
    This updates GR to the latest XCom on GCS. On this commit we have fixes for:
    
    BUG#22204121 - NODE THAT FAILS AND RE-ENTERS MIGHT BE EXPELLED WITH NO REASON
    Added the notion of reincarnation of a node.
    
    BUG#22812902 - ENABLE WERROR AS DEFAULT IN MYSQL-GCS BUILDS
    Several warning corrections
    
    BUG#22671683 - LIMIT MEMORY UTILIZATION IN XCOM
    Adding cache methods to avoid breaking examples code
    Added minimum delivered message number to xcom messages to avoid deallocating cache that is needed by slow or joining nodes. Incread xcom protocol version to x_1_2
    Added functions to enforce an upper limit to the application data in the xcom cache
    
    Some changes towards this adaptation:
    - Corrected Copyright year
    - Corrected invalid declaration
    - Adapting to printing size_t on 32-bit platforms
    - Removing unecessary declarations
    - Corrected the fact that the patch was not self-sufficient
      in terms of not using UUIDs with XCom

commit a03b1975e05379d5fda2b76fa65a0cc4d15fcdbb
Merge: 2b4d599 1415aa8
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jan 17 19:22:58 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 2b4d5998b5e82440a78c9a0f161475440d1e8438
Merge: 990d27a 97003a6
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue Jan 17 13:28:43 2017 +0100

    Upmerge of the 7.5.5 build

commit 97003a6e373cffe3f0503a9c340de78701f0b542
Merge: 07a2a26 e1a0052d
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue Jan 17 13:22:10 2017 +0100

    Merge from mysql-cluster-7.5.5-release

commit c1ea97ca2f7e6953b7a2144503771210b6074c2b
Merge: e62ac72 0f8403f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Jan 17 13:06:39 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0f8403fb121183345dbfc88fef455a3e27e4f32e
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jan 16 13:07:58 2017 +0100

    BUG#25392280 - X PLUGIN RELEASES CONNECTIONS WHICH WERE NOT INITIALIZED WHEN VALIDATION OCCURS
    
    Description
    ===========
    Race condition that occurs seldom disconnects a client before
    the authentication process is finished, even the client has a lot time left.
    
    Analyzis
    ========
    Race condition occurs when ngs::Servers verification callback goes
    through all connected clients and in mean time a new client is beeing accepted.
    Accepting takes some CPU cycles to mark the client as accepted and in
    mean time the verification callback checks the clients data. The data aren't
    valid thus the ngs::Server tries to release the object.
    
    RB: 15100
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 990d27a60dab99d27725cdc1768777432db6485b
Merge: f65946f 07a2a26
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jan 17 15:38:49 2017 +0530

    Upmerge of the 7.3.16 build

commit 07a2a2678d738c681dc698a821a8dda88ecb763b
Merge: 5c3ee75 c7f41d5
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jan 17 15:38:02 2017 +0530

    Upmerge of the 7.3.16 build

commit c7f41d558bfc33bd7d067f3aa6a49b03b5252960
Merge: 0e547a8 62613e1
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jan 17 15:37:04 2017 +0530

    Upmerge of the 7.3.16 build

commit 62613e1d1796e9b3e5e781bef67fe35afe3051c0
Merge: dbc346b 6babbdd
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jan 17 15:35:31 2017 +0530

    Merge from mysql-cluster-7.3.16-release

commit f65946f5502e217a5ab5922696be23ea6d2d8f83
Merge: f414057 5c3ee75
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jan 17 15:33:15 2017 +0530

    Upmerge of the 7.2.27 build

commit 5c3ee75d7f190a0894892cf7d2dd68c5ed01d6bc
Merge: a0543af 0e547a8
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jan 17 15:32:32 2017 +0530

    Upmerge of the 7.2.27 build

commit 0e547a89e550fc601bea9f30a65f1eb72e280236
Merge: 37d1266 dbc346b
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jan 17 15:30:54 2017 +0530

    Upmerge of the 7.2.27 build

commit e62ac72258cfa12f2ec3d09328b4b88f3392c169
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Jan 17 11:56:43 2017 +0530

    Bug#25166686::REMOVE ALL THE REDUNDANT .INC FILES FROM MTR
    
    Description:
    It is noticed that there are a lot of redundant inc files which
    are not being used by any of the MTR tests. Also, there are several
    inc files which are included in the test but are not needed
    anymore.
    
    Fix:
    
    Below inc files are not being used by any test and hence removed:
    
    1.  include/check_key_reads.inc
    2.  include/check_key_req.inc
    3.  include/commandline_option_test.inc
    4.  include/config_file_option_test.inc
    5.  include/explain.inc
    6.  include/finish_option_test.inc
    7.  include/have_binlog_checksum_off.inc
    8.  include/have_dynamic_loading.inc
    9.  include/have_shm.inc
    10. include/init_option_test.inc
    11. include/not_blackhole.inc
    12. include/show_partition_checksums.inc
    13. include/show_partition_contents.inc
    14. include/test_outfile.inc
    
    Below are a few inc files which are used in MTR tests but are no more needed.
    Hence these inc files along with their references from all MTR tests have been
    removed.
    
    1. have_symlink.inc
    2. have_perfschema.inc
    3. have_innodb.inc
    
    Note: include/not_valgrind_server.inc is not being used by any MTR test but
    still not removed as this was introduced as part of Bug#22447330
    
    Reviewed by:
    Parveez Baig <parveez.baig@oracle.com>
    Deepa Dixit <deepa.dixit@oracle.com>

commit dbc346b9acead9824cc88bb458208f636cdc8b39
Merge: c69f031 cdb35eb
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jan 17 15:26:32 2017 +0530

    Upmerge of the 7.2.27 build

commit cdb35eb269fad9a21c4c4c4d2e241fd2436ecff2
Merge: 9d848bf 47d57ef
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jan 17 15:21:37 2017 +0530

    Merge from mysql-cluster-7.2.27-release

commit aebb86134a6d88bd28417b00ea51bb626eabfc7b
Merge: 23bf9a2 b591dbe
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 10:31:19 2017 +0100

    NULL Merge branch 'mysql-5.7' into mysql-trunk

commit b591dbebf42db94cbef9783e936f68cd566fce66
Merge: 9c266ce 00ff8a5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 10:28:46 2017 +0100

    NULL Merge branch 'mysql-5.6' into mysql-5.7

commit 23bf9a2de2e8c7738494d4241e8b5dd3776790b1
Merge: 624f47a 9c266ce
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Tue Jan 17 14:50:18 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9c266ce5af762152998fde0a7630f13671f732d4
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Tue Jan 17 14:47:52 2017 +0530

    BUG#24686908 INNODB SHOULD HAVE A MECHANISM TO CHECK IF ALL PFS KEYS ARE
    REGISTERED WITH PFS
    
    Issue:
    ======
    For the mutexes and rwlocks to be instrumented their respective PFS keys
    must be registered with the PFS. It's possible that this registration is
    missed and as a result the respective mutexes/rwlocks are not instrumented.
    So it helps if there's a way to check if all the defined PFS keys are
    registered with PFS.
    
    Fix:
    ====
    Figure out the number of PFS keys defined and number of PFS keys registered
    with PFS and abort startup in debug build if the count doesn't match.
    
    RB: 14913
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>

commit 00ff8a59bf33598bfa7c1899b411f78df1205f1f
Merge: c1455fc e7353ab
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 10:09:37 2017 +0100

    NULL Merge branch 'mysql-5.5' into mysql-5.6

commit e7353abc414e9bbe4acadb0db04401c13e842906
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 10:06:04 2017 +0100

    Bug#18374703 COMPILATION ERROR WITH -DENABLE_DEBUG_SYNC=0 AND -DWITH_DEBUG=ON
    
    The combination cmake -DENABLE_DEBUG_SYNC=0 -DWITH_DEBUG=ON fails to build.
    
    Fix: Remove option ENABLE_DEBUG_SYNC.

commit f41405771d490915c6d844f1759d6eb20e6bbd18
Merge: b639461 a0543af
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Jan 17 10:00:06 2017 +0100

    Upmerge of the 7.4.14 build

commit 624f47ac4261c11f550a9d46e8d8f9dd848e4171
Merge: f0b4721 2951ae4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 09:36:20 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit a0543affde0f4b665539fde4c8c28a60779af7ab
Merge: a7eddbc 37d1266
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Jan 17 08:46:34 2017 +0100

    Upmerge of the 7.4.14 build

commit 2951ae4bb8ab0329eab7e268353d368a4ef60f70
Merge: 27e8356 c1455fc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jan 17 08:44:02 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 37d12667e5044d6e87171e0a394993be9bd038b0
Merge: 742cffa 2a7bb02
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Jan 17 08:30:58 2017 +0100

    Merge from mysql-cluster-7.4.14-release

commit c1455fcefd271cf70d06117477cc81b9b61b121d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 12 12:50:04 2017 +0100

    Bug#25384295 ADD SUPPORT FOR SOLARIS STUDIO 12.6 AKA 5.15 TO MYSQL 5.6
    
    Parse new output from 'CC -V'

commit 34cde940c1eddfc569eeb26b83738d28e2294e44
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jan 12 12:49:22 2017 +0100

    Bug#18374703 COMPILATION ERROR WITH -DENABLE_DEBUG_SYNC=0 AND -DWITH_DEBUG=ON
    
    The combination cmake -DENABLE_DEBUG_SYNC=0 -DWITH_DEBUG=ON fails to build.
    
    Fix: Remove option ENABLE_DEBUG_SYNC.

commit f0b4721fa0233d2d19842c16116844915a57e9f5
Merge: ed13721 27e8356
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue Jan 17 12:34:49 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 27e83566537e747eee65a5dd16f2e14abeb2d2a8
Merge: 9b78199 a148334
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue Jan 17 12:33:08 2017 +0530

    Null Merge branch 'mysql-5.6' into mysql-5.7

commit a148334628a3da0b0a1196eaafd9bc9adf73b643
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue Jan 17 12:30:59 2017 +0530

    Backport of Bug#24666839 INNODB'S ESTIMATE FOR ROWS-IN-TABLE CAN RETURN
    ROWS=1 DUE TO A RACE CONDITION to mysql-5.6
    
    This bug also affects mysql-5.6 . As per customer's request it needs to
    be fixed in 5.6 too.
    
    Rb: 14929
    Approved by : Jimmy Yang <jimmy.yang@oracle.com>

commit 1415aa8c1499b551f1f80459b160e05273666f1d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jan 12 14:11:29 2017 +0530

    Bug #25302019: CLEAN UP NDB TESTS THAT USE NON-NATIVE PARTITIONING
    
    Problem:
    --------
    
    The generic partitioning handler in the MySQL server is deprecated
    with the storage engine expected to provide a native partitioning
    handler. Thus, the NDB tests that use the generic partitioning handler
    need to be updated to use native partitioning present in InnoDB and
    NDB storage engines instead.
    
    Fix:
    ----
    
    Change the storage engines used for tables to either InnoDB or NDB.
    Cases that used other storage engines have been changed to InnoDB.
    One table has been changed to use NDB which looks like it was
    originally omitted by mistake

commit ed13721320c11a40a1612cef1d8589ceb2c64703
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jan 17 07:12:01 2017 +0100

    Disable two tests in Valgrind in order to avoid timeouts.
    
    Approved by Jimmy Yang <jimmy.yang@oracle.com> over IM.
    Approved by Srikanth B R <srikanth.b.r@oracle.com> over IM.

commit 5a2abeba8ea9a7985650d15dc2087876418c5959
Merge: a40172a 9b78199
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Jan 17 11:45:14 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9b781995b3b9a4fea8a70b9ca5b5de83b3a70265
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Jan 17 11:42:33 2017 +0530

    Bug#24732452 - CA NOT VERIFIED WITH VERIFY_CA
    
    DESCRIPTION
    ===========
    While establishing connections from the client to the server
    with SSL capability, connections succeed even if ssl-mode is
    VERIFY_CA or VERIFY_IDENTITY and the client does not
    provide CA certificate.
    
    ANALYSIS
    ========
    If ssl-mode is VERIFY_CA or VERIFY_IDENTITY, it must
    either verify the server certificate against the
    specified CA or fail the connection. Without providing
    the CA or its path, the default CA is used and the
    connection is still established.
    
    FIX
    ===
    We strictly enforce that the CA certifcate or its
    path is provided if ssl-mode is one of the above two.
    Otherwise, we throw an appropriate error message
    and abort the connection.

commit b6394610d8256fe4c7d65c62d663975446fa055e
Merge: b50017b a7eddbc
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jan 17 10:37:40 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit a7eddbcb48fb78fc7f570b51476058a7067cfb89
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jan 17 10:36:58 2017 +0530

    BUG#25399608 - DEPENDENCY ERROR - MYSQL CLUSTER 7.5.5 PACKAGES ON SLES 12
    
    Updated the dependency from python2-crypto to python-pycrypto for sles12

commit a40172a41f8e40cc880b1b370ee492ecf2f5b1a0
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Dec 30 14:37:16 2016 +0800

    Bug #25147988: LOAD DATA INFILE FAILS WITH AN ESCAPE CHARACTER FOLLOWED BY A MULTI-BYTE ONE
    
    Description:
    LOAD DATA fails to accept the multibyte character which follows escape mark,
    but INSERT can.
    
    Fix:
    Change READ_INFO::read_field to ignore the escape mark if it is followed by
    mulitibyte character.
    
    Change-Id: Ifd8058b98f8a38752f9225ea8d230b465cfe183b

commit 4191f6067900505a0c0acf9f6de7b3175350a2a9
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 16 12:35:47 2017 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Remove dead code related to embedded server.
    
    Part 5: Remove EMBEDDED_LIBRARY ifdef from client/
    and storage/
    
    This patch also removes the --server-arg option from 'mysql'.
    This option was embedded server specific and undocumented.
    --server-arg and --server-file are, for the same reason,
    removed from 'mysqltest'.

commit b8b687a691e6e7eb13def5325eaa738264505606
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Jan 16 16:12:11 2017 +0100

    WL#9837: Group Replication: Transaction savepoint support
    
    Revert revisions
      ad34a75da5463b40422ba9cc5b8102becc11af1e
      3954d34e868756a499442163878c34fd5d3dc32f
    pushed by mistake.

commit 4bef4d1d69733284817b85ef55880d5ad2e44140
Merge: ad34a75 c94ff76
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 16 16:08:26 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit c94ff766a6d10db06f7153d50e942116b9bd0f8e
Merge: 7b11f2b 354a859
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 16 16:05:09 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Change-Id: Ifa947c1ac73008b3211a635185e2daf9f0e7bf48

commit 354a859e062f9a63f66260906f53e471e12c1f7a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 16 16:00:41 2017 +0100

    Bug#25391997: BACKPORT SUPPORT FOR NEWER LIBEDIT TO MYSQL 5.6
    
    Backport for mysql-5.7 to mysql-5.6 of:
    
    Bug#23708332: -DWITH_EDITLINE=SYSTEM BREAKS WITH LIBEDIT-20160618-3.1
    
    Add CMake check for the new editline completion API
    and based on the result, use already existing code
    for it in the mysql client.
    
    Change-Id: I8a9a721de24eef6359d3285cffd9745a8894ea4b
    (cherry picked from commit 41480c0bacf8f354610825856b5c66b8516da607)

commit ad34a75da5463b40422ba9cc5b8102becc11af1e
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Jan 16 14:45:23 2017 +0000

    Add debug points for QA

commit 3954d34e868756a499442163878c34fd5d3dc32f
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Jan 13 12:22:30 2017 +0100

    wl#9837: Group Replication: Transaction savepoint support
    
    This worklog goal is to improve Group Replication by adding support to
    SAVEPOINT.
    
    The SAVEPOINT statement sets a named transaction savepoint with a name of
    identifier. If the current transaction has a savepoint with the same name, the
    old savepoint is deleted and a new one is set.
    
    The ROLLBACK TO identifier command reverts the state of the transaction back to
    what was when executed the command SAVEPOINT identifier.
    
    The RELEASE SAVEPOINT statement removes the named savepoint from the set of
    savepoints of the current transaction. No commit or rollback occurs. It returns
    an error if the savepoint does not exist.

commit da24226da235c5179d060d0a28ea52dfdf70301c
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 16 14:27:14 2017 +0100

    BUG#22900354 - INTERACTION BETWEEN --LOG-ERROR AND --PID-FILE
                   OPTION DON'T MATCH DOCUMENTATION.
    
    Post-push fix - Fix failing binlog.binlog_stm_unsafe_warning.

commit e124d62fa70c6efe52ff7a2c4562c3947363e157
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jan 16 07:02:07 2017 +0100

    Stabilize the results of the func_str test
    
    Approved by Srikanth B R <srikanth.b.r@oracle.com> over IM.

commit be2ed0c83adff771a01788eb27793755981bc747
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jan 13 15:49:57 2017 +0100

    WL#8396: Deprecate and remove temp-pool
    
    This patch removes the temp-pool startup option and related code.
    This option only had effect for Linuxes and was a workaround for
    an old Linux kernel bug.
    
    This patch is for MySQL 8.0.

commit fcce0c785729e9d469fb505065f972ca9715351e
Merge: 04adcb0 7b11f2b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 16 09:39:37 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7b11f2b621e89e3c025306a744e9de9789c4167e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jan 5 08:24:38 2017 +0100

    WL#8396: Deprecate and remove temp-pool
    
    This patch marks the temp-pool startup option as deprecated.
    
    The patch is for MySQL 5.7.

commit 04adcb08b0d719335be85adcd28015b2ca421cab
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Jan 16 06:42:09 2017 +0100

    BUG#22900354 - INTERACTION BETWEEN --LOG-ERROR AND
                   --PID-FILE OPTION DON'T MATCH DOCUMENTATION.
    
    When mysqld is started with naked option --log-error and a pid-file
    option specified, the error log is created in base directory of
    the pid-file. In addition, as per the documentation the log file
    under this options on non-windows platforms should be $DATADIR/
    `hostname`.err.
    
    The patch fixes the --log-error option behaviour to be
    in sync with the documentation.

commit c101ec9b5572e220f31c32660cb967baa45b8ec8
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jan 13 16:09:30 2017 +0100

    BUG#24751177: ASSERTION `STRLEN(DB_NAME) <= (64*3) && STRLEN(TABLE_NAME) <= (64*3)' FAILED.
    
    This is a followup patch to fix doxygen issue and compiler
    warning observed with the patch for the bug24751177.

commit 448691ed97b2285f2c09a65dd41e8179eadd698a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jan 13 15:59:28 2017 +0100

    WL#7195 - Offload thd creation and connection authentication
              from Acceptor thread.
    
    Post-push fix: Fix Clang build warning
          missing field 'is_connection_handler_thread' initializer
          [-Werror,-Wmissing-field-initializers]

commit 54fb45ca75eb7979c94887a46c2f3d841e6f758d
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Jan 13 15:53:20 2017 +0100

    Bug #25384527 DD TABLE SPATIAL_REFERENCE_SYSTEMS OVERSHOOTS THE INDEX
    LIMIT FOR 4K PAGE SIZE
    
    Post-push fix to update test results.

commit fdeadd642bde7d07f48fe18db9792ed7bd7b5efe
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jan 13 12:25:26 2017 +0100

    BUG#24751177: ASSERTION `STRLEN(DB_NAME) <= (64*3) && STRLEN(TABLE_NAME) <= (64*3)' FAILED.
    
    EXPLAIN/DESCRIBE of a table where the database name or the table
    name is beyond the maximum supported length, an assert is triggered
    in the debug build instead of reporting an error. In case of non
    debug build, appropriate error is displayed.
    
    During EXPLAIN/DESCRIBE, the temporary tables are processed
    first followed by the regular tables. So we look up for the
    temporary tables in the THD's temporary table list first. But
    validation of database name and table name is done later in the
    add_table_to_list(). Hence assert conditions to check length of
    the table or db name while performing the look up in the temporary
    table list failed.
    
    In the current code, schema table implementation is used if
    table is a temporary table or else new information schema
    implementation(introduced by WL6599) is used. But performing a
    look up in temporary table list before validating db and table
    name looks incorrect.
    
    As part of this patch, refactored code to validate db and table
    name before performing table look up in temporary table list to
    fix this issue.
    
    Code refactoring involves following changes,
    
    1) SHOW COLUMNS/SHOW INDEX implementation is moved to the new
       style,
       1.1 Parse_tree_node is introduced for the SHOW COLUMNS/SHOW
           INDEX statements.
    
       1.2 The decision of choosing schema table or new information
           schema implementation is moved to the contextualization
           stage.
            1.2.1 At this stage, table used in statement is validated
                  first in add_table_to_list() and then lookup
                  in temporary table list is performed.
    
       1.3 Sql_cmd_show is implemented to execute action for these
           statements.
    
    2)  mysql_test_show() is cleaned up to remove the dead code.

commit aa871188ac89ef3b71654755f3fc32dbf4cdb989
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jan 13 11:36:50 2017 +0100

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-fix patch to fix indentation issues and
    trailing space(s).

commit 2c215305c527c73e1a3f66be1e556ea95f2a7aa4
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Jan 13 10:51:08 2017 +0100

    Bug #25384527 DD TABLE SPATIAL_REFERENCE_SYSTEMS OVERSHOOTS THE INDEX
    LIMIT FOR 4K PAGE SIZE
    
    Post-push fix to correct copyright year.
    
    Change-Id: I590182792db5e7e72e41229950d304d70d04414c

commit 1506c6f50faa80210d9f794fb6ecdbc813f3bb7f
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Jan 12 16:00:40 2017 +0100

    Bug #25384527 DD TABLE SPATIAL_REFERENCE_SYSTEMS OVERSHOOTS THE INDEX
    LIMIT FOR 4K PAGE SIZE
    
    Problem: The column st_spatial_reference_systems.name is defined as a
    256 character long string in charset "utf8" with a unique index. If
    run with innodb_page_size=4k, the string expanded to 3 bytes per
    character exceeds the maximum index key length.
    
    Fix: Reduce the length of the column to 80 characters. This is the
    current limit for SRS names in the EPSG Dataset, which is the source
    of the default set of SRSs.
    
    Change-Id: I32e0a89de343ae3483a86f65289cc3df120b684f

commit 4f6bda4e8e8d7347ce6e9d3671108878e513e1f3
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 13 09:58:27 2017 +0100

    Copyright year 2017.

commit 4ac977e87508a2568408e84a121ba510ef3b300f
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Jan 13 12:04:15 2017 +0530

    Bug#24755869 : MOVE MYSQL CODING GUIDELINES TO DOXYGEN
    
    Post push fix :
    Improvements in the mysql coding guidelines documentation.

commit 83895335a4f5b3087a34e9fa37ccb831bd27fffe
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jan 13 11:19:24 2017 +0530

    Bug #25238850: Incorrect behavior when View contains
                   subquery in select list
    
    Issue:
    ------
    In a CREATE VIEW ddl that contains a subquery in the select
    list, privileges are not assigned for some tables. This can
    result in incorrect behavior while checking column
    privileges.
    
    Solution:
    ---------
    The precheck phase iterates through the list of all tables
    and assigns the relevant privilege to each table. After the
    fix for Bug #24810564, a loop that handled tables in the
    subqueries was removed. Subquery tables was supposed to be
    handled by another existing loop.
    
    But the existing loop iterates through the tables based on
    incorrect traversal of the SELECT_LEX objects, that is it
    moves to the "next" select of select_lex. "next" is a
    linked-list of all query blocks in the same query
    expression. This results in not assigning privilege to
    some tables. The precheck phase must consider each table
    present in the view definition, irrespective of where it is
    present in the query.

commit 16c7e97522c68859f77a422299156235c99133ef
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jan 10 14:17:33 2017 +0100

    Bug #25372769: RENAME "CUTED FIELDS"
    
    THD contains a field called count_cuted_fields. This is poorly named, for
    two reasons; it is not a count (it's an enum defining behavior), and the
    fields are not cute. The assumption is that someone did not know how to
    conjugate the verb "to cut".
    
    Rename it to something understandable; I'm picking check_for_truncated_fields.
    Other uses of "cuted" are renamed accordingly, e.g. cuted_fields
    (which _is_ a count) becomes num_truncated_fields.
    
    Change-Id: Id7fff92deadb4a840aa56b3893644f2371618988

commit fd1b70deacdadd0e9acb7b96ebe2d7ce708e355c
Merge: 9210b10 749eb3d
Author: Aditya A <aditya.a@oracle.com>
Date:   Thu Jan 12 17:08:13 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 749eb3d0541b8a127f009dc80aca60734f65ee8d
Author: Aditya A <aditya.a@oracle.com>
Date:   Thu Jan 12 17:07:08 2017 +0530

    post push fix after
    Bug#25340520 SERVER BOOTSTRAP READ STALE NDBCLUSTER FRM FILES
    
    Post push pb2 test fix to modify the search pattern in
    innodb-status-output.test which was not detected after the
    Bug25340520 caused removal of some line from the error log.

commit 9210b104e93d5b66ae98ec0f8104bd3b944caa5b
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Thu Jan 12 11:45:40 2017 +0100

    WL#7195 - Offload thd creation and connection authentication
              from Acceptor thread.
    
    Connection authentication, THD creation & vio/net
    initialization happens in the acceptor thread that accepts
    the connection for thread pool plugin. Connection
    authentication involves exchanging packets with client and
    disk I/O which is time consuming which can cause other
    client connections to starve and wait in the queue possibly
    increasing the connect latency and decreasing throughput.
    In the worst case, some connections could be dropped. In
    addition, SSL handshakes are quite expensive and can stall
    connections in the accept queue.
    
    This patch offloads connection authentication and thd
    creation & vio/net initialization when using thread pool
    plugin for client connection handling. Each thread group
    shall have a queue of connection_context objects, which
    represents new connections that need to be processed by
    thread group threads. The connection_context is composed
    of channel_info object & list pointers for intrusive queue
    implementation. Whenever a new connection arrives,
    connection context object is created and added to the queue.
    A new connect handler thread is created or woken up to
    handle the connection initialization & login task. The
    worker thread loop is modified to process connection events
    on connect handler threads in addition  to checking for
    query processing events. The initial number of connect
    handler threads is one per thread group and it is can grow
    to a maximum of 4 threads per thread group.

commit 22d530acdae8f6ef521dc8ddb9bd5a6d38b62958
Merge: a1363c8 0c5501e
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Thu Jan 12 15:58:45 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0c5501e3eac73b1f6df38b056b57edfce033eda9
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Thu Jan 12 15:45:30 2017 +0530

    Bug#20228478 - ON REPLICATION SLAVE ALTER USER FAILING FOR
                   USER WITH SHA256_PASSWORD PLUGIN
    
    Post push fix to address test script failure.

commit a1363c8ab26af6f9fc84b12e922de9fa8afa5d01
Author: Hans H Melby <hans.h.melby@oracle.com>
Date:   Thu Jan 12 11:06:13 2017 +0100

    WL#9433 Axis order in ST_ASTEXT/ST_ASWKT
    
        This worklog extends the ST_ASWKT/ST_ASTEXT functions to be able
        to have an optional string to specifies the axis order of the
        coordinates. If no options string is entered, the axis order will
        be the default srid ordering.
    
        - Changes to item_create.cc:
    
        Change SQL_FN(Item_func_as_wkt, 1) to SQL_FN_V(Item_func_as_wkt, 1, 2)
        in order to accept two parameter.
    
        - Changes to item_geofunc.cc:
    
        A series of checks are done to determine the coordinate ordering from
        the options string, the srid, and the srs type (geographic or projected)
        in function item_func_as_wkt::val_str_ascii(...)
    
        - Changes to test suite
    
        Added gis.wkt_geometry_representation.test/.result to gis test suite

commit a9e42844d241b57f8705d81695acd31cc4ca9956
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 30 12:12:24 2016 +0100

    WL# 8500 Adapt MySQL Cluster to 8.0
    
     - remove cmp_frm() which been made obsolete by different_serialized_meta_data()

commit 8d7612b6b9ffe33c3d307fa0f4df7e5380eccc82
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jan 9 12:12:27 2017 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Remove dead code related to embedded server.
    
    Part 4: Remove EMBEDDED_LIBRARY ifdef from libmysql/
    libservices/ sql-common/ and testclients/

commit 79b087488b810d197e353ea4a294ffa2b3764f8a
Merge: 1890e67 6a47c5c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Jan 11 15:28:22 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk
    Null-merge as the test has been removed

commit 6a47c5c8c9ff9c2c311ece4ebb4a7c3abfe39fb7
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Jan 11 15:18:33 2017 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL PRIVILEGES
    
    Post-push fix: Mask out GRANT warning which does not appear in embedded mode.

commit 1890e673719e1421faae20ec373f06d830a81b5a
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Jan 11 13:11:24 2017 +0100

    When Valgrind is used, disable test which takes too long and causes
    timeout in pb2

commit b549ac6098f80a8dd04f0456d29b4e811da71a48
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Jan 6 15:57:33 2017 +0100

    Bug#25320909 ASSERTION `THD->LEX->CURRENT_SELECT() == UNIT->FIRST_SELECT()' WITH DELETE
    
    Introduced by WL#3634 (recursive CTE).
    Before WL3634, in unit::execute(), if one of the query blocks'
    join::exec() returned an error, unit::execute() would return
    immediately, but if the fake_select_lex's join::exec() returned an
    error then we would first restore current_select() to the value it had
    when the function started, and then return.
    In WL3634, I moved the fake_select_lex's join::exec() into the same
    loop as the query blocks' join::exec() because it may be executed
    several times. Doing this, I automatically removed the "exceptional"
    restoration of current_select(), judging that it was anyway
    unnecessary: "as a failure of join::exec() means a real problem, the
    statement is going to end in error very soon, so why restore?".
    This introduced the bug. Scenario is:
    DELETE IGNORE ... WHERE a!=(subq);
    where "subq" contains a UNION which returns more than one row.
    DELETE evaluates the scalar subq. The subq's fake_select_lex's JOIN
    sends its result to a Query_result_scalar_subquery which job is to
    fill the Item_singlerow_subselect with the JOIN's result. However if
    this item is already filled (i.e. the JOIN is finding a 2nd result
    row) the result object signals my_error(ER_SUBQUERY_1_ROW) then
    returns "error":
     bool Query_result_scalar_subquery::send_data(List<Item> &items)
     {
       Item_singlerow_subselect *it= (Item_singlerow_subselect *)item;
       if (it->assigned())  <<< already assigned a value
       {
        my_error(ER_SUBQUERY_NO_1_ROW, MYF(0));
        DBUG_RETURN(true);  <<<<<<< error
    
    There is IGNORE so my_error() only pushes a warning. Due to the
    returned "true" value, subquery's unit::execute() terminates, but as
    it's the fake_select_lex's JOIN's which failed, current_select() is
    restored() before terminating. The termination also means the 3rd row
    won't be read (that's efficient). The the subselect_union_engine gets
    the "true" return code, then the Item gets it too:
    
    longlong Item_singlerow_subselect::val_int()
    {
      DBUG_ASSERT(fixed == 1);
      if (!no_rows && !exec() && !value->null_value)
      {
        null_value= FALSE;
        return value->val_int();
      }
      else
      { <<<<<< here as exec()==true
        reset();
        return 0;
      }
    }
    
    reset() fills the Item with NULL and then "return 0" makes the error
    disappear. From the point of view of the outer statement, everything
    is said to be ok. So the DELETE uses the NULL value to evaluate its
    WHERE, then goes and delete the row in:
    which has this assertion:
     `thd->lex->current_select() == unit->first_select()'.
    Which passes.
    After the changes of WL#3634, as current_select() isn't restored, the
    assertion fails.
    
    Fix: restore current_select()
    On-the-side fix: in sql_union.cc:
           if (set_limit(thd, fake_select_lex))
    -        DBUG_RETURN(status);
    +        DBUG_RETURN(true);
    because "status" may not be true at this point.

commit 57c08de8c3f863eb97988332906737a9db1d7330
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Wed Jan 11 12:16:00 2017 +0300

    Follow-up to WL#8971 "Deprecate and remove partitioning storage engine".
    
    Removed truncate() method implementation in storage engines which
    support truncate-by-recreation (MyISAM, Heap, Example and Blackhole).
    In these SEs truncate() was only used for truncating partitions
    and became unused once partitioning storage engine was removed.

commit 8404c9986a5577ca4fcce36b4e58fb65bbf1c086
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Jan 11 14:53:58 2017 +0530

    Bug#25153261 : SEG FAULT IN UPGRADING PARTITIONED TABLE
    
    Post push fix:
    Fix memory issue reported by ASAN. my_tz_free() should be called
    corresponding to my_tz_init() in case mysql.event table is empty.

commit 07404ab18cfd525ef514811ddca88a38a77e1abf
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Wed Jan 11 14:44:49 2017 +0530

    Bug#25372667: MAIN.OPT_HINTS_PFS FAILS ON PB2 OCCASIONALLY
    
    Issue:
    ------
    main.opt_hints_pfs has been failing on pb2 sporadically
    with an error saying that the maximum statement execution
    time exceeded for a query that uses the MAX_EXECUTION_TIME
    hint.
    
    Fix:
    ----
    The maximum statement execution time is exceeded only once in a
    while if pb2 is loaded. When it is loaded, the response time
    increases and determining timeout values in tests can be very hard.
    The fix is to set the timeout to a large value.
    
    Reviewed-by: Gleb Shchepa <gleb.shchepa@oracle.com>
    RB: 15061

commit 9bfcef4337567cfeef162a78214bcd9d345f940c
Merge: 3b94a34 914cf63
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Tue Jan 10 22:22:50 2017 +0100

    Null-merge from 5.7.

commit 3b94a345c43cc8154d6832f68e257f67e625b441
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Jan 10 15:53:02 2017 +0100

    Bug#25339088 REGRESSION IN SYSBENCH/POINT_SELECT DUE TO CTE WL
    
    Revert the patch for this bug.
    Because, even though testing showed it gained back all lost
    performance, something in the time window between testing and push
    changed the conditions and the pushed patch ended up losing
    performance.

commit 968783c8fc4bcffdbb5387faf6c03521691ecb55
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Sun Jan 8 11:57:38 2017 +0530

    Bug#25153261 : SEG FAULT IN UPGRADING PARTITIONED TABLE
    
    While upgrading partitioned tables, partition expression is parsed
    to create Item tree. Parsing of partition expression is done using
    unpack_partition_info(). If partition expression contains character
    set name, convert_charset_partition_constant() function is called
    while resolving character set name used in column.
    convert_charset_partition_constant() tries to access SELECT_LEX to
    fetch Name_resolution_context. SELECT_LEX is set by parser while
    parsing the statement. Bootstrap thread does not set SELECT_LEX
    by default. This leads to segmentation fault.
    
    Fix creates and sets SELECT_LEX before accessing it for
    name resolution.

commit fe4aef2ad248f7a0c3e3430e53aabb9e848afe1b
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Mon Jan 2 15:48:47 2017 +0100

    Bug #23573751     ASSERT BLOCK->MAGIC_N == MEM_BLOCK_MAGIC_N IN MEM_BLOCK_VALIDATE AT MEM0MEM.IC:1
    Bug #24603431     [ERROR] INNODB: ASSERTION FAILURE: MEM0MEM.IC:157:BLOCK->MAGIC_N == MEM_BLOCK_MA
    
    This patch does not fix the bugs, but merely tries to deploy a scheme to nail them down easier.
    
    - Changed offending assert to manual check with more verbose fatal error.
    - Introduced 2*16B no man's land in debug version
     * checks on top free or block free that no mans land on boundary is not overwritten, as a way to check some buffer under/overflows during writes.
     * on valgrind makes no mans land non-accessible, to efficiently check buffer under/overflow on both writes and reads.
    - Improved managing of non-accessible memory checks in valgrind.
    - Increased debug filename storage from 8B to 16B in memory block header.
    - Removed old workaround to problem that is not reproducible anymore (at least on MTR).
    
    RB #14997
    Reviewed by Vasil and Kevin

commit 914cf636b3191c7b8f93c7f8d9971ffb5eac43ff
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Wed Jan 4 16:03:36 2017 +0100

    Bug #25297593 -	BUILD ON NATIVE FEDORA 25 FAILS DUE TO DEPRECATED LZ4_COMPRESS_LIMITEDOUTPUT
    
    As stated in lz4.h file: "These functions are planned to start generate warnings by r131 approximately"
    Using LZ4_compress_default instead.
    
    RB#15011
    Reviewed by Kevin Lewis

commit f4a1f6657cf8efabf442df268d12d57b7f954846
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Jan 10 12:12:55 2017 +0530

    Follow-up push for commit 63649d813fa2380328712979cef817ad6a74709e
    
    Updated copyright year in user visible text
    
    Masked the Copyright year in the result file of memcached.memc293_idb2sdi
    
    Reviewed-by: Erlend Dahl <erlend.dahl@oracle.com> over IM.

commit c0551c73ba0fb2d9308162d0258c8b9f5e9aee27
Merge: a024194 218ebfe
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Jan 10 10:50:46 2017 +0530

    Bug #24793413   LOG PARSING BUFFER OVERFLOW
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 218ebfeae0a39401b52b287a9a18b425bcac9616
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Jan 10 10:48:56 2017 +0530

    Bug #24793413   LOG PARSING BUFFER OVERFLOW
    
    Problem:
    ========
    During checkpoint, we are writing all MLOG_FILE_NAME records in one mtr
    and parse buffer can't be processed till MLOG_MULTI_REC_END. Eventually parse
    buffer exceeds the RECV_PARSING_BUF_SIZE and eventually it overflows.
    
    Fix:
    ===
    1) Break the large mtr if it exceeds LOG_CHECKPOINT_FREE_PER_THREAD into multiple mtr during checkpoint.
    2) Move the parsing buffer if we are encountering only MLOG_FILE_NAME
    records. So that it will never exceed the RECV_PARSING_BUF_SIZE.
    
    Reviewed-by: Debarun Bannerjee <debarun.bannerjee@oracle.com>
    Reviewed-by: Rahul M Malik <rahul.m.malik@oracle.com>
    RB: 14743

commit a0241944350c709c2139334af590a85d8467ef5d
Merge: 362e676 9bbf346
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jan 10 07:46:24 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9bbf346834c43698a84d619c658b57a4c9d566dc
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jan 10 07:44:52 2017 +0530

    Bug #25171608: REFERENCE TO ALIAS FROM SUBQUERY IN SELECT
                   LIST CAUSES INCORRECT BEHAVIOR
    
    Issue:
    ------
    In the following query:
    
    SELECT alias2
    FROM (SELECT ... alias1, (SELECT alias1 .... ) alias2
          FROM t1) X ;
    
    Optimizer marks all the columns that are required from a
    derived table depending on the select list. In this process
    it decides that alias1 is not required and the
    corresponding subquery can be removed. This creates a
    problem because alias2 still requires alias1.
    
    Solution:
    ---------
    While marking all the columns that are required from
    derived table make sure that any column, including those
    from the preceding part of the select list, are also
    marked.

commit 362e676c2df98a8ec418171dbb3b615a888b19ff
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jan 9 23:49:35 2017 +0530

    Bug#24755869 : MOVE MYSQL CODING GUIDELINES TO DOXYGEN
    
    It has been decided to follow the Google coding style for mysql.
    Google coding style should be used for new projects/components
    wherever possible.
    
    This patch adds the mysql coding guidelines inside code
    in doxygen comments format. Doxygen tool will create the coding
    guidelines from the comments.
    
    Exceptions in coding guidelines:
    
    i> Class names : Do not use MyClass but My_class
    
       This exception is because the server has a history of using
       My_class. It will be confusing with mixing the two
       (from a code review perspective).
       InnoDB have had freedom of choice for Class names
       and will therefore not suffer from the mix.
    
    ii> Member variables names : Do not use foo_ but
        m_foo (non-static) and s_foo (static). It is because
        this is an improvement over the Google style.
    
    Notes:
    
    i> Comment Style: Use either the // or /* */ syntax.
       // is much more common but both syntax is allowed
       for the period.
    
    ii> Doxygen comments: Use /** ... */ syntax and not ///.
    
    iii> Doxygen command: Use '@' and not '\' for doxygen commands.
    
    iv> Braces alignment, if..else indentation, spaces around '=':
    
        Mysql coding guideline traditionally places left braces aligned
        with the start of the preceding line, whereas the Google style is
        to place the left brace on the end of the previous line.
    
        Mysql coding guideline is to have no space before '='
        while assignment “foo= bar”. The Google style is have space
        around '=' in assignment "foo = bar".
    
    For new projects Google style should be followed. For old
    projects/components mysql old style should be used for time being.

commit c0c9ceff6ac1cd89742c93388cfd5e2178ec8b0b
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Wed Jan 4 16:03:36 2017 +0100

    Bug #25297593 -	BUILD ON NATIVE FEDORA 25 FAILS DUE TO DEPRECATED LZ4_COMPRESS_LIMITEDOUTPUT
    
    As stated in lz4.h file: "These functions are planned to start generate warnings by r131 approximately"
    Using LZ4_compress_default instead.
    
    RB#15011
    Reviewed by Kevin Lewis

commit 37ae46d76212dabfa86b28c63b5a50cb38a26db0
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Mon Jan 9 22:02:54 2017 +0530

    WL#9547: Post fix
    Fixed test memcached.memc293_ibd2sdi which was failing on weekly trunk.

commit d7895f3cf2663b4b699680db7bebc99d1e14f043
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jan 6 14:06:58 2017 +0100

    Bug #25358534: REMOVE UNNEEDED ZERO EXTENSIONS FROM CRC32 CODE
    
    ut_crc32() has a number of unneeded zero extensions:
    
          66:       f2 48 0f 38 f1 42 80    crc32q -0x80(%rdx),%rax
          6d:       89 c0                   mov    %eax,%eax
          6f:       f2 48 0f 38 f1 42 88    crc32q -0x78(%rdx),%rax
          76:       89 c0                   mov    %eax,%eax
          78:       f2 48 0f 38 f1 42 90    crc32q -0x70(%rdx),%rax
          7f:       89 c0                   mov    %eax,%eax
          81:       f2 48 0f 38 f1 42 98    crc32q -0x68(%rdx),%rax
          88:       89 c0                   mov    %eax,%eax
    
    (etc.)
    
    These are completely unneeded, as the crc32q extension zero-extends by itself
    even when writing to a 64-bit register. Simply change to a 64-bit type everywhere,
    which removes the zero extensions.
    
    The microbenchmarks were written to work with the new microbenchmark framework,
    which gives much more stable timings. Results (64-bit, opt, Skylake 3.4 GHz):
    
      BM_CRC32             2408 -> 1787 ns/iter [+34.8%]
      BM_BigEndianCRC32    2419 -> 1807 ns/iter [+33.9%]
    
    which is something like 0.5% in a typical sysbench run (the function goes
    down from ~3.8% to ~3.2% of CPU time used). This matches well up with theory,
    as crc32q has 3 cycles latency and mov is a bit under 1, and they are mutually
    dependent.
    
    Change-Id: I22f16d1a9cce98bcfd74e10d19ab69566b655e13

commit 89bd8eddd8ec30146c4b25b0f208add778b0d73a
Merge: 5551346 1ca6b12
Author: Rahul Malik <rahul.m.malik@oracle.com>
Date:   Mon Jan 9 15:11:54 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1ca6b12f8780c0b7730737cf414d3f8d0ebf4a25
Author: Rahul Malik <rahul.m.malik@oracle.com>
Date:   Mon Jan 9 15:02:55 2017 +0100

    bug#25330449: ASSERT SIZE==SPACE->SIZE DURING BUF_READ_AHEAD_RANDOM
    
    problem description:
    
    test was failing for innodb_page_size 16K and 32K.
    key_block_size=1 is not supported for 16K and 32K
    page_size.
    
    fix:
    
    removed support for innodb_page_size 16K and 32K.
    
    follow up fix for bug#25330449
    
    reviewed by :
    satya bodapati  <satya.bodapati@oracle.com>
    
    excluded support for

commit 5551346eb1c24df38a1bf681d0569ac619e87c98
Merge: 777dfca8 0cf44b2
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jan 9 18:47:16 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0cf44b21f8d7b8d54e4320562eb74c4242c43a4b
Merge: 9ceb712 20440a6
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jan 9 18:45:39 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 20440a623068b646b52b5d4241434ddc0931ea47
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jan 9 18:43:58 2017 +0530

    Bug #25348787	BUILD BREAK IN INNODB WHEN COMPILING WITHOUT PERFORMANCE SCHEMA
    
    PROBLEM
    
    struct pfs_os_file_t is defined as below:
    Struct pfs_os_file_t {
    os_file_t mfile
    
    ifdef UNIV_PFS_IO
    
    struct PFS_file* m_psi
    
    endif
    
    }
    
    Because of such a definition of the struct pfs_os_file_t if we compile
    without PFS the functions that would then be accepting only os_file_t
    would fail with invalid conversion error.
    
    Solution
    
    Have added macros that would pass file struct when PFS is enables
    file.m_file if PFS is not enabled.
    
    Reviewed By :Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed By :Marc Allf  <marc.alff@oracle.com>
    Rb: 15020
        15031
        15032

commit 777dfca89cc3b7b8d699a2d297985c3b46620bc9
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jan 9 08:52:22 2017 +0100

    Bug#25221171 THREAD_POOL.THREAD_POOL_FUNC4 FAILS SPORADICALLY ON GCOV OF DAILY-TRUNK
    
    Approved by Deepa Dixit <deepa.dixit@oracle.com> over IM.

commit 081e6207c6b6fa3cad3fdb071a3b08e033d476f7
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jan 9 10:50:46 2017 +0100

    Fix failure of innodb_zip.16k in the NDB runs
    
    Approved by Deepa Dixit <deepa.dixit@oracle.com> over IM.

commit d4b5eaf6f92239cf6f8feae21b2ff5b3feb1cc34
Merge: 61caeb3 9ceb712
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jan 9 12:14:38 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 61caeb389b257d42d2acc5b112b3c39d21c76489
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jan 6 14:52:53 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <fcntl.h> and then re-sorting
    the #includes (and nothing else); then remove <fcntl.h> from my_global.h.
    
    Change-Id: I05b71998630cfbb0a939031d0f6d6041357ff3ba

commit 9ceb7128d67214c6b08e7fb6af0952fd1cb23c69
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jan 6 16:08:07 2017 +0100

    Bug#25358460 CONFUSING CMAKE OUTPUT FOR CMAKE_GENERATOR = NINJA
    
    The output at the end of a cmake run is confusing when using -G Ninja
    The code assumes that anything other than "Makefiles" is a multi-config build
    like Xcode or Visual Studio
    
    Fix: Treat anything other than Xcode and "Visual Studio" as single-config.

commit 5deec80ea118809e9fca79359709b2b2b86d4016
Merge: 1d1e17a 0b1108a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jan 9 10:38:28 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0b1108abb368ed6a882c85cd8c892a5ae735f6a4
Merge: 38a5772 cbc500e
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jan 9 10:37:59 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit cbc500eee3fc924e32cae0c55075933674bb1ca5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jan 9 10:36:32 2017 +0530

    Bug #24671968: WHEN THE OPTIMISER IS USING INDEX FOR
                   GROUP-BY IT OFTEN GIVES WRONG RESULTS
    
    Post-push fix.
    
    On trunk and 5.7: re-arranging statement to avoid problems
                      with "--query_cache_type=1".
    On 5.6: additional issues with explain output.

commit 1d1e17a3afd96165b14d84b268713ddd44d919ed
Merge: 4a77bcc 38a5772
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sun Jan 8 10:18:15 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 38a57729178492ebc71c99b17a00c4e84a5a1f74
Merge: d404f6a b653a06
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sun Jan 8 10:16:45 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b653a069fa675733e0ad54dda1fe8cbb3f5025bb
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sun Jan 8 10:15:18 2017 +0530

    Bug #24671968: WHEN THE OPTIMISER IS USING INDEX FOR
                   GROUP-BY IT OFTEN GIVES WRONG RESULTS
    
    Issue:
    ------
    This problem occurs under the conditions:
    1) WHERE clause contains a dependent subquery.
    2) Table has a secondary index on the columns in the SELECT
       list, followed by the columns in the subquery.
    3) Group-by / DISTINCT allows the query to pick loose index
       scan.
    
    Based on conditions 1 and 2 optimizer chooses not to create
    range tree for the WHERE clause due to the dependent
    subquery.
    
    This effectively means that without the range tree, the
    function evaluating the possibility of loose index scan
    will assume that the WHERE clause doesn't contain anything
    that would disqualify it from using this approach. Hence
    the loose index scan structures are created by taking only
    the SELECT list into account. This gives incorrect results
    since a smaller prefix of the index is chosen for loose
    index scan.
    
    Solution:
    ---------
    When there is a WHERE condition without a range tree, any
    reference to the columns in the secondary index that are so
    far unused, will disqualify the query from using loose
    index scan. But this check is not performed for subqueries
    and this has been corrected.

commit 4a77bccdbc34e33b87e8b5260f003cbfe58975c0
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Sat Jan 7 14:57:49 2017 +0100

    Bug#25339088 REGRESSION IN SYSBENCH/POINT_SELECT DUE TO CTE WL
    
    The WL added 4 integers and one pointer to TABLE_SHARE (one of those
    integers was actually moved from TABLE). This caused a repeatable 4% drop
    in performance in sysbench's point_select test.
    Fix: replace those 5 members with a single pointer to a separate
    structure specific ot internal temporary tables; other tables
    logically shouldn't reserve room for useless information.
    This fully regains the lost performance.
    As the struct is specific of tmp tables, removed the "tmp" word
    from members' names.
    Do initialization of the structure in init_tmp_table_share; adding a
    new argument to that latter function, with default NULL; using that
    opportunity to make the previous argument (MEM_ROOT*), added by the
    CTE WL, have a similar default, so most calls become shorter (as they
    were before the CTE WL).
    Limiting to max 1024 references to a single CTE so that we can use a
    short type (uint16) for handler_count to have a small struct (and this
    limit makes sense anyway). Adding error message and test of this limit.

commit 824f8f84c70a20a8106c29c76375e17366355efe
Merge: cb4a747 d404f6a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sat Jan 7 09:12:53 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d404f6ac666487e98440888349ed23e293bfa009
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sat Jan 7 09:11:21 2017 +0530

    Bug #25343335: DERIVED TABLE SELECT LIST'S REFERENCE TO
                   ALIAS CAUSES INCORRECT BEHAVIOR
    
    Issue 1:
    --------
    In the following query:
    
    SELECT *
    FROM (SELECT 1 AS alias1, (SELECT alias1 .... ) AS alias2
          FROM t1) X ;
    
    Notice that alias1 is created in the select list as the
    first column and is then referred to in the second column:
    alias2.
    
    This is not part of the SQL standard, but Mysql allows this.
    
    alias2 is resolved to the alias1 which is also part of the
    same select-list. Once the resolution is completed, the
    derived table is merged into the outer query. Derived
    tables don't have an outer context because they can't refer
    to an outer query. So during the merge, the derived table's
    outer context (which is null) is assigned to the subqueries
    in the select list of the derived table. This is harmless
    during conventional execution since the resolution is
    already complete.
    
    The problem arises during PREPARE/EXECUTE. The prepare
    phase completes the first round of resolution and then
    proceeds to merge the derived table, thus resultig in a
    loss of the outer contexts for alias2. But the EXECUTE
    step needs to redo the resolution. Since the outer context
    of alias2 has been set to NULL, it is unable to resolve the
    alias1 present in the inner-most subquery.
    
    
    Solution to Issue 1:
    --------------------
    In SELECT_LEX_UNIT::exclude_level(), while assigning outer
    context to the subqueries of a derived table, use the outer
    select's context, instead of the derived table's outer
    context.
    
    
    Issue 2:
    --------
    In the following query:
    
    SELECT alias2
    FROM (SELECT ... alias1, (SELECT alias1 .... ) AS alias2
          FROM t1) X ;
    
    Here only alias2 is referred to in the outer query's select
    list. This query works as expected in a conventional
    execution.
    
    But in a PREPARE/EXECUTE scenario, the EXECUTE step fails
    complaining that it is unable to resolve alias1. Notice
    that inorder to resolve alias2, alias1 is required. At the
    end of the PREPARE phase, the derived table is merged into
    the outer query. At the beginning of the EXECUTE phase, the
    context->first_name_resolution_table (which is where the
    query is first supposed to look to resolve a field) is
    mistakently changed to t1 instead of X. So, in order to
    resolve alias1, the table t1 is looked up unsuccessfully.
    Hence the failure.
    
    Solution to Issue 2 on mysql-trunk:
    -----------------------------------
    This problem was fixed by the refactoring in Bug#21522980.
    
    Solution to Issue 2 on mysql-5,7:
    ---------------------------------
    The change of
    context->first_name_resolution_table happens in
    setup_natural_join_row_types, which shouldn't actually be
    called since this is a single table query.
    
    The fix is a partial backport of Bug#21522980.
    
    
    A further problem was identified when the derived table
    contains a join. This will be addressed as part of
    Bug#25355534 . This issue occurs on both trunk and 5.7.

commit cb4a7472719c39fe091d98391998f108a291168f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 15:49:05 2017 +0100

    Applied astyle for brackets on blocks,
    Applied clang-format.

commit 94a5d21c633b70e5c68da36994a72fab41e0dc70
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 15:31:23 2017 +0100

    Applied astyle to add brackets on code blocks,
    Applied clang-format.

commit 5dea1ca9af3c364748f66eda51a5d95340d22765
Merge: 737d3cd de3c153
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jan 6 19:53:15 2017 +0530

    Bug #25167032   CRASH WHEN ASSIGNING MY_ERRNO - MISSING
                    MY_THREAD_INIT IN BACKGROUND THREAD
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit de3c153efa7cbefe142503110f99257801ee9906
Merge: 6ccf620 0601d75
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jan 6 19:51:53 2017 +0530

    Bug #25167032   CRASH WHEN ASSIGNING MY_ERRNO - MISSING
                    MY_THREAD_INIT IN BACKGROUND THREAD
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 0601d75039fd906c9f4f7c39ea8b2f6ca7b2bf7e
Merge: 0418f91 12c6456
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jan 6 19:50:47 2017 +0530

    Bug #25167032   CRASH WHEN ASSIGNING MY_ERRNO - MISSING
                    MY_THREAD_INIT IN BACKGROUND THREAD
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit 12c645627d6872ea0c6821a641dcdd8eec1782bf
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jan 6 19:48:54 2017 +0530

    Bug #25167032   CRASH WHEN ASSIGNING MY_ERRNO - MISSING
    		MY_THREAD_INIT IN BACKGROUND THREAD
    
    Description:
    ===========
    Add my_thread_init() and my_thread_exit() for background threads which
    initializes and frees the st_my_thread_var structure.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 15003

commit 737d3cd5a00666579b76e4bdb2c3dc459e01a413
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 15:03:28 2017 +0100

    clang-format off / on

commit 6bf2dc5a0b3098e21465a5280962fd7d7f8080a9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jan 4 12:37:01 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_systime.h" and then re-sorting
    the #includes (and nothing else); then remove "my_systime.h" from my_global.h.
    
    Change-Id: Icf2f8fea2852add01f2a53b7eff32de3479b1975

commit 3640a851bd0ae01058dddf43a1644807e892e0cc
Merge: 39b587f 6ccf620
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jan 6 18:22:49 2017 +0530

     Updated copyright year in user visible text

commit 6ccf6209cdc4ebff40e589a6a44a50ee6fc5976a
Merge: ad04387 0418f91
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jan 6 18:21:14 2017 +0530

     Updated copyright year in user visible text

commit 0418f919717cd40d6f623865730ae2ac2bab840c
Merge: adfcaed 63649d8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jan 6 18:18:22 2017 +0530

     Updated copyright year in user visible text

commit 63649d813fa2380328712979cef817ad6a74709e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jan 6 18:15:13 2017 +0530

     Updated copyright year in user visible text

commit 39b587f69d5f8e147467760636becb7ec49ae669
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Fri Jan 6 12:35:02 2017 +0100

    WL#9290 InnoDB: Support Transparent Data Encryption for Redo Log
    
    Followup patch for fixing test case failure of log_encrypt_kill
    and log_encrypt2.

commit fec370f9cd6633e38389e1f76839e1c6e0addecb
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 12:21:18 2017 +0100

    Applied clang-format.

commit f5aeb0e7f4517d4b11a11c60981fb5f8457455b7
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Jan 6 16:40:35 2017 +0530

    Bug#25357131: SSL INITIALIZATION CAUSED REDO LOG ENCRYPTION FAILURE
    
    Description: redo log encryption uses SSL library/Keyring before locks
                 for SSL library are initialized.
    
    Solution: 1. Moved SSL initialization before InnoDB initialization
              2. Added SSL error function initialization in keyring_file
    
    Reviewed-By: Georgi Kodinov

commit 53f5bee1e47dca2edf379ab3bcdb6212c19c9539
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 12:06:56 2017 +0100

    Applied clang-format.

commit 8eb6a94df2e249b0e5e3eb0ec0c7f5a060d52cbb
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jan 6 11:05:07 2017 +0100

    Applied clang-format.

commit 3676a6497a810f45682ac47a0152614772b437c5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Oct 28 15:40:50 2016 +0200

    Applied clang-format (4.0.0 git) to includes/mysql/psi

commit 3df2d863f7743b3e7292b21bd0ed62c0c0ee8bb4
Merge: a1f0749 ad04387
Author: Rahul Malik <rahul.m.malik@oracle.com>
Date:   Fri Jan 6 10:56:32 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ad043875ab52912131f595ff159cb755eb65b2dc
Author: rahul malik <rahul.m.malik@oracle.com>
Date:   Fri Jan 6 10:37:07 2017 +0100

    BUG#25330449 ASSERT SIZE==SPACE->SIZE DURING BUF_READ_AHEAD_RANDOM
    
    Problem:
    
    During read head, wrong page size is used to calcuate the tablespace size.
    
    Fix:
    
    Use physical page size to calculate tablespace size
    
    Reveiwed-By: Satya Bodapati
    RB: 14993

commit a1f0749212d05497921d8f424711db12952ff0e3
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Thu Dec 22 17:27:47 2016 +0000

    BUG#25311174 - REMOVE WARNINGS FROM GCS CODE
    
    Update GR code with the patch for BUG#22812902 - ENABLE WERROR AS DEFAULT IN
    MYSQL-GCS BUILDS. The goal from the original bug was to remove warnings
    in order to enable -Werror on GCS builds.

commit b50017bf6197e4c7504e6392e21bd582d9efe4fb
Merge: 307b8c3 3c3258d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jan 6 09:35:56 2017 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 3c3258dda8e095306289550d1c5f4a9f298868dd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jan 6 09:29:05 2017 +0100

    Bug#22705935 NDBAPI : SENDSIGNAL FLUSH OPTIMISATION ISSUES
    
    If signals were sent while the client process received signals
    (typically SUB_GCP_COMPLETE_ACK and TC_COMMIT_ACK), these signals
    were temporary buffered in the send buffers of the clients which
    sent them. If not explicit 'flushed', the signal would stay
    in these buffers until the client was woken up again and flushed
    its buffers. However, this could take quite a while, without any
    attempt of guarantying an upper limit of how long the signal
    could remain unsent in the local client buffers. This could
    lead to timeouts and bad behaviour in the components waiting
    for these ACKs. (bug#18753341).
    
    Furthermore, the patch for Bug#23202735
    
    'CLIENT PERFORMANCE REDUCED DUE TO THREADS WOKEN UP TOO EARLY'
    
    Likely worsened the situation by removing some random client
    wakeups where the clients send buffers could have been flushed.
    
    This patch moves the responsibility of flushing messages
    sent by the receivers from each client, to (only) the
    receiver/poll_owner client. This has the advantage that
    we no longer have to wake up all clients just to have them
    flush their buffers. Instead we let the (already running)
    poll_owner client do the send buffer flushing of whatever
    was sent while it deliverd signals to the receipents.
    (in finish_poll())
    
    Note that all such signals should be 'safe-sent'
    (safe_sendSignal()) which implies that the are buffered in
    the poll_owner send buffers. Thus only the poll owner
    send buffers has to be flushed when the poll 'finish'.
    (Added asserts that there are no pending flush from the other
    'locked-clients')
    
    Explicit 'flush_send_buffers' where we flushed send buffers now
    covered by the above flush has been removed (reportConnected(),
    reportDisconnected(), complete_poll(), wait_for_input_in_loop().
    The later two were replaced with an assert that there were no
    pending flushes.
    
    That ^^ uncovered a missing flush_send_signal() in
    NdbScanOperation::nextResultNdbRecord(), where a
    'prefetch' of more scan results may have been sent, but
    not got flushed to the transporter layer. (Until we eventually
    had to poll-wait for more results)
    
    There has also been some confusion wrt. when to use the
    'safe(_noflush)_sendSignal()' or not. The method
    TransporterFacade::is_poll_owner_thread() is introduced
    as an utility to be used to 'assert' the correct usage of
    the diferent flavours of the 'sendSignal()' methods.
    See also extensive comments added as part of introducing
    this.
    
    Usage of these asserts uncovered that both
    ClusterMgr::reportConnected() and ::reportDisconnected()
    made usage of raw_sendSignal() instead of its 'safe'
    variant - corrected.

commit e8ff7a070492c6fda16164d9bfe3fb304c228c32
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jan 6 04:30:11 2017 +0100

    Bug#24688694 SEVERAL UNSTABLE TESTS IN SUITE PERFSCHEMA
    
    Disable perfschema.stage_mdl_table

commit e4635bf59741fb95f7a69110882cc34acde5796f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jan 5 12:32:29 2017 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #8: Fix -Wunused-parameter warnings in sys_vars

commit bceb65d3ca5336f7efc2593f9bc5dee42ddb0c22
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jan 4 20:02:41 2017 +0100

    BUG#24677618 FUNCS_1.IS_STATISTICS IS UNSTABLE ON TRUNK
    
    Sort the results from a select to avoid sporadic failures.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit 5ef994bc439d54a58f5e3507be3a3221d9fcbfde
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Thu Jan 5 13:01:46 2017 +0100

    Some misspelling and whitespace fixes.
    
    Reviewed-by: Vasil (on IM)

commit e4124247cebc7f8e0aa6c94f46b25d32beb15784
Author: Vinay Fisrekar <vinay.fisrekar@oracle.com>
Date:   Thu Jan 5 16:09:22 2017 +0530

    Reducing table_encrypt_kill.test and undo_encrypt_bootstrap.test is changed to include following steps
     -stop the server
     -change of grep file sequence
     -start the server

commit 2a7bb025e3ed7c59a18db5013efcf8984edfd8f4
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Thu Jan 5 11:02:14 2017 +0100

    Removed copyright tag for util.h and util.c

commit 307b8c3700141bc950eac5c3ba78ffb20a7efebf
Merge: 0f949d3 1884960
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 5 10:52:39 2017 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 18849607c11b4ace8b2a44655d39a0b09e0dc7cd
Merge: b71c4c2 742cffa
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 5 10:51:55 2017 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 742cffacc6bbe8aa2c20147470ba8005bfd37f20
Merge: ad7064e c69f031
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 5 10:51:02 2017 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c69f031d83b517148df45bb687cd01bdc5e4d207
Merge: f36d96c 9d848bf
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 5 10:50:22 2017 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 9d848bfd5fd228171869b3df540b687665aa0aca
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 09:06:19 2017 +0100

    Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event.
    
    (cherry picked from commit cdad2b3a25506e7814c9eece71f575ac54249058)

commit 6f3df00618c8cc42553e90e780d988545c5c7b0b
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Thu Jan 5 10:49:14 2017 +0100

    Downgraded the version to 7.4.14.  Cherrypick from main branch has put the version to 7.4.15

commit 47d57eff520d42510495d4a86089c9f8f6186044
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Thu Jan 5 15:12:27 2017 +0530

    Reverting the version to 7.2.27

commit e1a0052d761f026e53cce364299e5b2378b49d06
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Thu Jan 5 02:10:21 2017 +0100

    Updating Copyright Year

commit 0f949d30d68cb5ac9d2bff32b53d94141ee217bc
Merge: 0299667 b71c4c2
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Thu Jan 5 01:28:40 2017 +0100

    Upmerge of the 7.5.5 build

commit b71c4c20e2c61ef3b904d7b3b626971d8688a98d
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Thu Jan 5 01:26:26 2017 +0100

    Raise version number after cloning 7.5.5

commit 0299667ff81c274bdb8fc9ede622d8c2ae3572f9
Merge: f6935ad da1d95b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 4 15:57:56 2017 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit da1d95be726aa50383633cd42466c3b44ec86899
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 4 15:46:35 2017 +0100

    Bug#25340520 SERVER BOOTSTRAP READ STALE NDBCLUSTER FRM FILES
    
    Regression caused by WL#9457: Deprecate support for non-native partitioning.
    
        This WL inplements the following changes:
    
        1. The bootstrap implementation in the server is extended with
           support for executing a single query.
        2. While restarting the server, an I_S query is executed to
           trigger a scan of all .FRM files in the server.
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    This patch moves the bootstrap reading of the FRM files introduced
    above to after the ndb cluster storage engine has been set up.
    
    This will guarantee that the ndbcluster setup code gets the
    chance to invalidate and recreate any FRM files belonging
    to tables possibly being altered while we 'were away'.
    
    (cherry picked from commit 3b054aed15976cbec4ff2853d5b4c7cb989a8e47)

commit 4bfdb8c7c46422fb5ebd62c72b880e533e71a927
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jan 4 15:06:08 2017 +0100

    Bug#12818207: NO BUILD RULES FOR ARCHIVE_READER AND ARCHIVE_TEST WITH CMAKE
    
    Remove the unused and undocumented archive_reader and archive_test
    utilities that we have not built since the introduction of
    CMake in 5.5.

commit c70ff6cfed1a4f31c4bf674204144329f9217d6a
Merge: b90aea2 3b054ae
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 4 15:48:18 2017 +0100

    Null-merge from 5.7.

commit 3b054aed15976cbec4ff2853d5b4c7cb989a8e47
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 4 15:46:35 2017 +0100

    Bug#25340520 SERVER BOOTSTRAP READ STALE NDBCLUSTER FRM FILES
    
    Regression caused by WL#9457: Deprecate support for non-native partitioning.
    
        This WL inplements the following changes:
    
        1. The bootstrap implementation in the server is extended with
           support for executing a single query.
        2. While restarting the server, an I_S query is executed to
           trigger a scan of all .FRM files in the server.
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
    This patch moves the bootstrap reading of the FRM files introduced
    above to after the ndb cluster storage engine has been set up.
    
    This will guarantee that the ndbcluster setup code gets the
    chance to invalidate and recreate any FRM files belonging
    to tables possibly being altered while we 'were away'.

commit b90aea2e7a1b64e17e3cab93f7af583682f18a21
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Jan 4 13:27:10 2017 +0100

    Bug #25337054 UPGRADE TO EPSG DATASET 9.0
    
    The previous SRS definitions were generatred from EPSG Dataset 8.7. The new ones
    are generated from EPSG Dataset 9.0.
    
    SRSs that were deprecated between 8.7 and 9.0 are not installed on new
    installations. Deprecated SRSs are not removed during upgrade.
    
    Summary of changes to existing SRSs:
    
     - Axes named "Long" are renamed to "Lon"
     - Some axes named X and Y are renamed to N and E
     - TOWGS84 parameters are updated for some SRSs
     - Some SRSs change name (but not SRID)
    
    Change-Id: I882df2ce5b3949ed8e980e49431f4e23e030631f

commit 2067b5e9da4465e14dab03daa0c379fb562486fa
Merge: 740386d 9383a4e
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jan 4 15:43:04 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9383a4e0dc216946535044bb49dbd10dc8771598
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jan 4 15:41:07 2017 +0200

    Bug #23210850 VERSION_TOKEN TEST OCASIONALLY STOPS THE SERVER
    
    Bot the version token plugin and the related UDFs are using a common
    global data structure.
    This structure was disposed of at UNINSTALL PLUGIN and a flag was set
    but between disposing of the structure and setting the flag there was
    a raise window if some other thread calls the UDF afgain.
    Also the global rw lock protecting the common structure was never
    disposed of.
    
    Fixed by introducing a check for the global structure right inside the
    lock.
    Added a C++ class whose destructor releases the RW lock when the
    shared object is unloaded at the last UDF/plugin uninstallation.
    
    Updated the tests to mention the error name next to the error code.

commit 740386d01b205c1cce9d3513b5b5c1c4bb70a97d
Merge: 68f8976 d033fea
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 18:57:08 2017 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit d033fea008b6e3a1f42d37597ea184005c4f2e4f
Merge: 4177ed7 adfcaed
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 18:55:32 2017 +0530

    Null Merge branch 'mysql-5.6' into mysql-5.7

commit adfcaedea967065b67ee7a88f0f41af54059d59e
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 18:53:48 2017 +0530

    Post push fix for build issue due to push of Bug#25220118

commit 68f89763a074bfd8f7dfedf59bd954029505df44
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Jan 4 12:02:34 2017 +0100

    Bug#24844301 ALTER USER CURRENT_USER() DEFAULT ROLE FAILS
    
    The current_user token isn't initialized during parsing and
    during the semantic analysis the all user tokens must be filtered
    so that null pointers are replaced with the current user context.

commit 6babbdd02202397e09ba3889a88cc256d330e5e4
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 17:45:04 2017 +0530

    updating version file in release branch 7.3.16

commit c88216142694b038f57a53414da6273159878ace
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jan 4 13:14:32 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix to fix compilation errors on FreeBSD and Solaris.
    
    Change-Id: I5f5e1529dbd59519b83445ba2dddd7bc8f167862

commit d777bd846455aca5fd07aaa809c46b31f8d7dd60
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jan 4 13:18:24 2017 +0530

    Raise version number after cloning 7.4.14
    
    (cherry picked from commit 1888a42f43b1714e38620654d392461f5ed9f8e7)

commit 2741028b0d2a8b485aceeda27a04e39aaedab182
Merge: 47ea319 4177ed7
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 16:37:36 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4177ed77a25277de9c52b030b1e7e10c775c1a78
Merge: 39e53e1 54d7700
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 16:33:49 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 68f61740e4b05d1769e7e766529a20c0ea8838ce
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 14:59:54 2017 +0530

    Raise version number after cloning 7.3.16

commit 679834eaf1662a06764edbe30d09df3a4b3f0be6
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:52:50 2017 +0530

    Raise version number after cloning 7.2.27
    
    (cherry picked from commit 9ff5786bad1fa61d8d30a004f8f9be90e08cfe7f)

commit 54d77006d0ef23e6cc7330cad3507dc6e77d2b50
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Jan 4 16:29:08 2017 +0530

    Bug #25220118	 CHANGE THE TYPE NAME OS_PFS_FILE_T INTRODUCED LATELY TO
    PFS_OS_FILE_T
    
    Changing the typename os_pfs_file_t to pfs_os_file_t to be in accordance
    with the naming convention.

commit 66882c7126692799b148bcc42b2ff6f76ded5fe6
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Wed Jan 4 11:31:49 2017 +0100

    Fix to update copyright year

commit f6935ad92e6a49b28c76d7edd848230b84f13275
Merge: a47b504 5ec9544
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:57:26 2017 +0530

    Upmerge of the 7.2.27 build

commit 5ec9544c3f02315d9fbb659fef710e91ccef7435
Merge: 6e85a70 ad7064e
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:56:51 2017 +0530

    Upmerge of the 7.2.27 build

commit ad7064e0b6367491b437ad3c5bee9403aebb0bed
Merge: fea0583 f36d96c
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:54:54 2017 +0530

    Upmerge of the 7.2.27 build

commit f36d96ca758965036a0e09e3273916408c00f1f5
Merge: 9de8ab0 9ff5786
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:54:15 2017 +0530

    Upmerge of the 7.2.27 build

commit 9ff5786bad1fa61d8d30a004f8f9be90e08cfe7f
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Jan 4 15:52:50 2017 +0530

    Raise version number after cloning 7.2.27

commit 47ea319b3e61a1d10b97104d0ee45633eefcee1a
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 2 11:49:34 2017 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding "my_dbug.h" and then re-sorting
    the #includes (and nothing else); then remove "my_dbug.h" from my_global.h.
    
    Change-Id: I3cc63fc2a5e88ca0e5b78af17d80488dafded63e

commit a47b504fc44a4b652a6a15679b1aac3da5a30358
Merge: d5c25fe 6e85a70
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 15:15:22 2017 +0530

    Upmerge of the 7.3.16 build

commit 6e85a70c89000fa2345189dbe61ae22eab85bbd9
Merge: b512402 fea0583
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 15:06:41 2017 +0530

    Upmerge of the 7.3.16 build

commit fea0583de60805b50546a16ca358c3c9272a48f9
Merge: 1888a42 9de8ab0
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 15:05:32 2017 +0530

    Upmerge of the 7.3.16 build

commit 9de8ab0dacfc9e571d51cd2dd820f0447bf8e4a9
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Jan 4 14:59:54 2017 +0530

    Raise version number after cloning 7.3.16

commit 4e2278d89ca94e5e06ad455f7da7d46a461d3eaa
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Dec 22 11:42:43 2016 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Remove dead code related to embedded server.
    
    Part 3: Remove NO_EMBEDDED_ACCESS_CHECKS ifdef

commit 1d4b300ad886074599ff107ee98c75e5ca44e1bd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jan 4 10:08:46 2017 +0100

    Fix recently introduced Clang build warnings.

commit 02b9d362c26fefa6aa99deb30188e203c1ddbf55
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Dec 22 15:03:17 2016 +0100

    Bug#23247332: WAIT_FOR_FREE_SPACE SENDS ADDRESS OF MY_ERRNO INSTEAD
                  OF CALLING IT TO GET ERRNO
    
    Replace my_errno with my_errno() when printing full-disk error,
    so that the error message contains the low level error code
    and not the address of the my_errno() function.

commit 3f9c538be39cd45806c92fb9c67b44bc40e22e71
Merge: 4047399 39e53e1
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Jan 4 14:37:42 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk
    [Null Merge for Bug 23070734 ]

commit 39e53e1a8412096d087995791394999da7ecbd4d
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Jan 4 14:34:38 2017 +0530

    Bug #23070734 CONCURRENT TRUNCATE TABLES CAUSE STALLS
    
    PROBLEM
    
    When truncating single tablespace tables, we need to scan the entire
    buffer pool to remove the pages of the table from the buffer pool.
    During this scan and removal dict_sys->mutex is being held ,causing
    stalls in other DDL operations.
    
    FIX
    
    Release the dict_sys->mutex during the scan and reacquire it after the
    scan. Make sure that purge thread doesn't purge the records of the table
    being truncated and background stats collection thread skips the updation
    of stats for the table being truncated.
    
    [#rb 14564 Approved by Jimmy and satya ]

commit d5c25fe29f32d2f4af0f4f328c46def4d35be3e4
Merge: ed70f33 b512402
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jan 4 13:22:17 2017 +0530

    Upmerge of the 7.4.14 build

commit b512402ef9d2db010ca960312dd2419c2e3c32b9
Merge: a284f72 1888a42
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jan 4 13:20:37 2017 +0530

    Upmerge of the 7.4.14 build

commit 1888a42f43b1714e38620654d392461f5ed9f8e7
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jan 4 13:18:24 2017 +0530

    Raise version number after cloning 7.4.14

commit ed70f331717468c847d4332d04987bb5d2377523
Merge: 4d3e419 9b6b6f3
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Wed Jan 4 08:30:26 2017 +0100

    Upmerge of the 7.4.14 build

commit 9b6b6f33ad0e9ce4315a7660ecd9669655b63127
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Wed Jan 4 08:21:45 2017 +0100

    Raise version number after cloning 7.4.14

commit 4047399ba4e7bcaecc7baa69491c32593125c063
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Jan 4 12:01:28 2017 +0530

    Bug #25139901   DB COLLATION CHANGED TO SERVER DEFAULT AFTER UPGRADE
    
    For populating metadata information for databases, the character set
    and collation mentioned in db.opt file is not used but default character
    set is always used while upgrading schema. Character set information
    mentioned in db.opt file is read but the data is lost due to pointer
    mishandling in function parameter.
    
    Fix passes double pointer to function dd::load_db_schema_collation() as
    parameter. This makes sure that correct character set information is
    returned to dd::migrate_schema_to_dd().

commit 48fec5b1c080c46b639312406fe803ab1a2494e8
Merge: 4a5e1da cdfe544
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jan 4 11:39:18 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit cdfe544f3c837a070a48d6d21819d510f2d38f18
Merge: 0751b17 33aa5e3
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jan 4 11:37:03 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 33aa5e3131d6832eca2940f72ab9740fdeadf5e4
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jan 4 11:16:53 2017 +0530

    BUG#25187670: BACKPORT BUG#19894382 TO 5.6 AND 5.7.
    
    Backport from mysql-trunk to mysql-5.6 and mysql-5.7.
    
    Bug#19894382 SERVER SIDE PREPARED STATEMENTS LEADS TO POTENTIAL
                 OFF-BY-SECOND TIMESTAMP ON SLAVE
    
    For temporal type input parameter (as time, timestamp and
    datetime) of server side prepared statement, the fractional
    second part is ignored while preparing the query string.
    Executing such query string at slave is resulting in a time
    value difference between master and server.
    
    For server prepared statement, the parameters passed for
    execution are parsed and Item_param objects are created for
    it. While preparing Item_param for temporal types time,
    timestamp and datetime, precision for fractional second part's
    (Item_param::decimals) is set to "0" always. Because of which
    while preparing query string with param values, fractional second
    value is ignored. So execution of such prepared statements uses
    correct values but query string formed is incorrect. Hence
    difference in temporal type value is observed on usage of query
    string.
    
    Fix:
    --------
    If temporal types time, timestamp and datetime has fractional
    second part then setting microseconds (6 digit) precision for
    the Item_param.

commit 4d3e419f450eac2dfff64029cde75f6343372be8
Merge: 803b4cb a284f72
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 3 18:19:13 2017 +0100

    Merge ../push_75 into mysql-5.7-cluster-7.6

commit a284f72c8ff52a66c6a9ea5d9d9a2c31dfb9f7a4
Merge: f1fcf67 e2ef242
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 3 18:18:57 2017 +0100

    Merge ../push_74 into mysql-5.7-cluster-7.5

commit e2ef242613a11383fe629cbccd7ac95a404191b1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 3 18:14:54 2017 +0100

    BUG#25341157: Ensure that flexAsynch generates REDO log also for updates.

commit 4a5e1da3a1015223db0cb9a8e19b19122d9999a4
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jan 2 13:16:33 2017 +0100

    Bug #25336715: ADD AN OPTION TO RANDOMIZE LINK ORDER
    
    We keep seeing spurious performance changes that we believe are caused by lucky
    or unlucky alignment of code, and that tend to go away by themselves at a later
    stage. This commit adds a CMake flag (-DLINK_RANDOMIZE=ON) that randomizes the
    order of almost all symbols in the mysqld binary; the idea is that if a
    regression between binaries A and B (presumably at different versions) are
    detected, one can randomize both sides to test randomize(A) vs. randomize(B)
    and see if the regression still holds. If the randomized versions are the
    same, it's much more likely to be random.
    
    The randomization is reproducable, as it works by hashing the function name
    together with a seed (which can be set by -DLINK_RANDOMIZE_SEED=).
    
    It's not recommended to use this flag for regular builds, especially as it
    causes somewhere around 5% performance regression in sysbench; the default
    order (ie., just keep the order from each source code file, and link object
    files in the order they are given on the command-line) is quite good for
    reducing TLB misses, as it puts related functions together.
    
    I haven't tested actually reproducing historical spurious regressions
    with this (it would probably mean running quite large benchmarks), so it's
    somewhat experimental, but should be used next time we debug such a regression.
    Different seeds make for differences in some microbenchmarks, which is a good
    indication that it would have a real measurement effect.
    
    Change-Id: Ide109371bd99390bd79b1809d771c444ac70b837

commit ff7f4872c1e94e9825be3b5fb8a5ce696bc41c68
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 13:34:44 2017 +0100

    Bug #25335897: A merge from 5.7 to trunk  overwrote the right code, which I didn't detect when resolving conflicts. So, I have to push the right code, again, only in trunk.

commit da90faa9a0c86cbc326dd84d26760996768170af
Merge: 660b2b8 0751b17
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 09:16:02 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0751b1742e26239972cec17ddfcc4ac214290a65
Merge: 439a6d8 e4940fc
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 09:12:35 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit e4940fcee95f30afafda028b66e5b699ac707be1
Merge: 9358d4a cdad2b3
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 09:10:30 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit cdad2b3a25506e7814c9eece71f575ac54249058
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jan 3 09:06:19 2017 +0100

    Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event.

commit 660b2b89484d1b79eef216c3413591c78d0c0d3e
Merge: 2122357 439a6d8
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jan 2 09:17:11 2017 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 439a6d80652c1b38ebcf896427cb23b615eb8c9a
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Dec 19 11:12:22 2016 +0000

    BUG#25231367: INCONSISTENT WORKER_ID BETWEEN RPL P_S TABLES AND MTS ERROR MESSAGES
    
    This patch fixed a small issue in MTS error generation that was
    displaying the non-internal worker ID instead of the same that is
    externalized in P_S replication tables.

commit 2122357d0aa6782bf7a0a266e95b22193884fa41
Author: Vinay Fisrekar <vinay.fisrekar@oracle.com>
Date:   Mon Jan 2 14:39:44 2017 +0530

    Updating grammar to include "table encryption" (using file based keyring) and "UNDO/REDO" log encryption.

commit a935e22f1a5473cd39a62a7e893f09a9ab3efaf0
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Sun Jan 1 21:34:26 2017 +0530

    WL#9547 - Post fix
    Fixed innodb_gis.rtree_purge

commit ac5293aa3f2393cdd7c72bddcf401eb193201b6e
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Sun Jan 1 02:54:55 2017 +0100

    WL#9290 InnoDB: Support Transparent Data Encryption for Redo Log
    
    Followup patch for fixing test case failure of log_encrypt_xplugin.

commit 803b4cbd1d6daac33e68f6caea2ca49086c7031a
Merge: 675f083 f1fcf67
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 31 13:48:41 2016 +0100

    Merge ../push_75 into mysql-5.7-cluster-7.6

commit f1fcf675e6176030d47b2a57d03aa1f0914ec23b
Merge: b56f27c d12b5fc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 31 13:48:24 2016 +0100

    Merge ../push_74 into mysql-5.7-cluster-7.5

commit d12b5fc02d982f704d7f971c6864c38b7e56da8a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 31 13:45:02 2016 +0100

    BUG#25334193: Fix a timing issue in flexAsynch

commit 675f0835064a08ac0e2b383bad369b60e3847437
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Dec 30 22:36:09 2016 +0100

    Updated compatibility table with 7.6.
    
    Should have been done when bumping version to 7.6 in new 7.6 branch.

commit 7dfbd657a8f1c983b9700d6450a79c7599358feb
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Thu Dec 29 15:25:02 2016 +0400

    WL#7672: Client interface for reading the replication stream

commit 13915f5d884ca1de01ff086a4b7512703b2fbc7c
Merge: 33b1c82 b56f27c
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Dec 29 13:11:12 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit b56f27ca8a52833a2c368b1c2f819973365ed547
Merge: 87f3318 e086ab6
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Dec 29 13:09:48 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 4531dc4bbcc0586a793217cc1525fbbe1952df85
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Thu Dec 29 12:06:32 2016 +0800

    WL#9289 InnoDB: Support Transparent Data Encryption for Undo Tablespaces
    WL#9290 InnoDB: Support Transparent Data Encryption for Redo Log
    
    Based on wl#8548, we provide encryption support for redo log and undo tablespaces.
    
    For encrypting redo/undo log, as same as we did in wl#8548, we will en/decrypt the
    redo log blocks/undo log pages in the I/O layer.
    Which means, the en/decryption only happens when the redo/undo log read or
    write from/to disk.
    
    For redo log, encryption metadata will be stored in the header of first log file.
    Same as wl#8548, there're 2 key levels here, master key and tablespace key.
    Master key is stored in keyring plugin, and it's used to en/decrypt tablespace
    key and iv. Tablespace key is for en/decrypt redo log blocks, and it will be
    stored into the 3rd block of first redo log file(ib_logfile0).
    
    For undo log, Same as regular tablespace, the encryption metadata will be stored
    in the first page of data file.
    
    We also added 2 new global variables innodb_redo_log_encrypt=ON/OFF,
    innodb_undo_log_encrypt=ON/OFF for en/disable redo/undo log encryption.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
                 Annamalai Gurusami <annamalai.gurusami@oracle.com>
                 Shaohua Wang <shaohua.wang@oracle.com>

commit afe34897a1f5b960dc17881b7317fa16b7c8487c
Merge: 0707e7d cfee66e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 28 19:07:08 2016 +0530

    Null merge branch 'mysql-5.7' into mysql-trunk

commit cfee66e03256a7234a036ab22717c5f8146bad4c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 28 19:01:46 2016 +0530

    Bug #23219499   CONCURRENT UPDATE DOESN'T APPLY IN VIRTUAL
                    INDEX DURING TABLE REBUILD
    - Post-push fix for compilation error.

commit 0707e7dff2e910c286a28a91a5dc6a1fee9978d5
Merge: 4649125 7302b30
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 28 17:46:10 2016 +0530

    Bug #23219499   CONCURRENT UPDATE DOESN'T APPLY IN VIRTUAL
                    INDEX DURING TABLE REBUILD
    
    - Merge branch 'mysql-5.7' into mysql-trunk

commit 7302b30836f9e6c464157cbdf3f133f5a459051d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 28 17:44:16 2016 +0530

    Bug #23219499	CONCURRENT UPDATE DOESN'T APPLY IN VIRTUAL
    		INDEX DURING TABLE REBUILD
    
    Problem:
    =======
    Concurrent update dml statement doesn't reflect in virtual index during
    inplace table rebuild. It results mismatch value in virutal index and
    clustered index. Deleting the table content tries to search the mismatch
    value in virtual index but it can't find the value. During log update
    apply phase, virtual information is being ignored while constructing
    the new entry.
    
    Solution:
    =========
    In row_log_update_apply phase, build the entry with virtual column
    information. So that it can reflect in newly constructed virtual index.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 14974

commit e086ab63819e775f62fc6ddf0356524a6263d87a
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 28 14:58:28 2016 +0530

    Bug #24945638 STOPONERROR = 0 WITH UNCONTROLLED EXIT RESTARTS IN SAME WAY AS PREVIOUS RESTART
    
    On ndbmtd crash/shutdown, the angel sets the restart flags to
    Initial or Normal, and to Start or Nostart, depending upon
    parameters like the type of shutdown. For the case where the
    shutdown type is an uncontrolled exit and the StopOnError config
    parameter is set to false, the restart flags were not set, and
    defaulted to Initial/Start. If all the ndbmtds had uncontrolled
    crashes within a specific time interval, then all the ndbmtds were
    restarted in Initial mode and all the data was lost. Added a fix
    for the case of StopOnError=false and uncontrolled exit, to set
    the flags to Normal/Start so that ndbmtd does not lose data.
    
    In the case where the ndbmtd crashes so hard that it cannot send
    startphase information to the angel, the crash is always treated
    as a startup failure. Added a check to execute startup failure
    handling only if a valid startphase has been received from the
    client.

commit 4649125b50b04de2bbdaf0f1bedd59a5c1decdd9
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Dec 28 09:45:28 2016 +0530

    WL#9547 - Post fix
    Fixed failure on daily-trunk

commit 7098ebc8ab16f7f232950c71abe16dc55deda0dd
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Thu Dec 15 12:52:40 2016 +0100

    Bug#25267722   EXTEND MTR SUITE COLLATIONS WITH UNICODE 9.0 CHARACTERS

commit da09791e25fb6709a27613c969af596f12b35d1c
Merge: e2ddaa2 d6e79dd
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Dec 26 15:43:59 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit d6e79dd6e0c836f6ba05836272a5c9be01be1016
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Dec 9 12:45:46 2016 +0000

    BUG#24822686: MTS WORKER IS NOT REPORTING ALL ERRORS THAT STS APPLIER
                  DOES
    
    Problem
    -------
    
    The MTS slave applier is stopping because of an (injected) error, but is
    reporting no useful information for troubleshooting about was has
    happened.
    
    Analysis
    --------
    
    All issues detected when applying binary log events are reported using
    rli->report().
    
    When an issue is not reported by the log event being applied, there is a
    workaround to report the issue using rli->report().
    
    The workaround was missing in the MTS applier.
    
    Fix
    ---
    
    Added the same workaround present on STS applier to the MTS applier.
    
    Also, this patch also refactored many test cases that were expecting
    the generic MTS error code from the slave to expect the specific issue
    error code instead.

commit 5e28e25181c4af96ec43b3b325d4735f705b3a6c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Dec 23 14:18:40 2016 -0800

    fix for bug#25266132
    
    (cherry picked from commit 33b1c827c975b3fb98292e7185c76bf3bda8d7d0)

commit 33b1c827c975b3fb98292e7185c76bf3bda8d7d0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Dec 23 14:18:40 2016 -0800

    fix for bug#25266132

commit 688c6188f54e764c1cb11729b39586c7b92310b4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Dec 23 20:02:47 2016 +0100

    WL#9778 fix for Windows failure on check file size

commit e2ddaa298529fa00bd088b29b3ada789e3d59123
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Dec 23 16:16:04 2016 +0800

    Bug #24742157: UTF8MB4 SHOULD HAVE UTF8MB4_0900_AI_CI AS DEFAULT COLLATION
    
    post-push fix: fix one test failure caused by this default collation change.
    
    Change-Id: If0c4ad9f7ed91e8b8bcac8c7486465feadbf60e1

commit f07218601c1a3b33e1ebd7f3b2320dac1c63c574
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Fri Dec 23 01:32:45 2016 +0530

    WL#9547 - Implement no-skip for daily and weekly MTR runs
    
    Description - This WL#9547 is a continution of WL#9073.
    In this WL, we have  qualified daily and weekly runs with no-skip
    options.
    
    Reviewed by:
    Anitha Gopi <anitha.gopi@oracle.com>

commit 1a688c701d9054c1cd4e2905f2913887fc99a28e
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jun 9 09:37:18 2016 +0200

    WL#9191: Add JSON_PRETTY function
    
    Add a new function, JSON_PRETTY, which transforms a JSON document into
    a more human-readable form with newlines and indentation.

commit 3dddc351541066b3184af9c67e36528b8aa7d82a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Dec 21 15:39:43 2016 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Remove dead code related to embedded server.
    
    Part 2: Remove EMBEDDED_LIBRARY from include/, vio/ and sql/ subdirs.

commit 1228a44a4044421a868513a2d311547b53aaa0a5
Merge: da20d24 7df347d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Dec 22 15:24:30 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7df347d28e58c7ab685340bd207520a3ec1d5b01
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Dec 22 15:22:06 2016 +0530

    Bug#22838596: RPL.RPL_KEY_ROTATION TEST UNSTABLE
    
    Description: Replaced a sleep call with call to
                 sync client with master.

commit da20d24c5d662fbc75928e87feb526aee6fdd160
Merge: 34a65ba 4f35fec
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Dec 22 14:59:57 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4f35fec483e33c268db3535ec902daa35c51755e
Merge: 7da15b1 9358d4a
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Dec 22 14:59:06 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9358d4a3b88369a6743c6323d5f33c88efec5dfd
Merge: 7771853 686d761
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Dec 22 14:57:00 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 686d761e8017809cf6c35d591b85d320a38158bc
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Dec 22 14:56:02 2016 +0530

    Bug#11751149 - TRYING TO START MYSQL WHILE ANOTHER INSTANCE
                   IS STARTING: CONFUSING ERROR
    
    DESCRIPTION
    ===========
    When mysql server processes transactions but has not yet
    committed and shuts down abnormally (due to crash, external
    killing etc.), a recovery is due from Storage engine side
    which takes place the next time mysql server (either
    through mysqld or mysqld_safe) is run.
    
    While the 1st server is in mid of recovery, if another
    instance of mysqld_safe is made to run, it may result into
    2nd instance killing the 1st one after a moment.
    
    ANALYSIS
    ========
    In the "while true" loop, we've a check (which is done
    after the server stops) for the existence of pid file to
    enquire if it was a normal shutdown or not. If the file is
    absent, it means that the graceful exit of server had
    removed this file.
    
    However if the file is present, the scripts makes a plain
    assumption that this file is leftover of the "current"
    server. It misses to consider that it could be a valid pid
    file belonging to another running mysql server.
    
    We need to add more checks in the latter case. The script
    should extract the PID from this existing file and check if
    its running or not. If yes, it means an older instance of
    mysql server is running and hence the script should abort.
    
    FIX
    ===
    Checking the status of process (alive or not) by adding a
    @CHECK_PID@ in such a case. Aborting if its alive. Detailed
    logic is as follows:
    
    - The mysqld_safe script would quit at start only as soon
    as it finds that there is an active PID i.e. a mysql server
    is already running.
    - The PID file creation takes place after InnoDb recovery,
    which means in rare case (when PID file isn't created yet)
    it may happen that more than 1 server can come up but even
    in that case others will have to wait till the 1st server
    has released the acquired InnoDb lock. In this case all
    these servers will either TIMEOUT waiting for InnoDb lock
    or after this they would find that the 1st server is
    already running (by reading $pid_file) and would abort.
    - Our core fix is that we now check the status of mysql
    server process (alive or not) after the server stops
    running within the loop of "run -> shutdown/kill/abort ->
    run ... ", so that only the script who owns the mysql
    server would be able to bring it down if required.
    
    NOTE
    ====
    Removed the deletion of pid file and socket file from entry
    of the loop, as it may result in 2nd instance deleting
    these files created by 1st instance in RACE condition.
    Compensated this by deleting these files at end of the loop
    
    Reverted the changes made in patch to Bug#16776528. So
    after this patch is pushed, the concept of mysqld_safe.pid
    would go altogether. This was required as the script was
    deleting other instance's mysqld_safe.pid allowing multiple
    mysqld_safe instances to run in parallel. This patch would
    fix Bug#16776528 as well as the resources would be guarded
    anyway by InnoDb lock + our planned 5.7 patch.

commit 34a65baad6ec93f16ea2b2ab3fed9154a34adad8
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Dec 21 15:41:06 2016 +0100

    Bug#25304844: REMOVE EMBEDDED_LIBRARY #IFDEF
    
    Remove dead code related to embedded server.
    
    Part 1: Remove EMBEDDED_LIBRARY from sql/

commit 18801760e1ae0a026d575970e264f107109985c2
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Dec 22 15:19:11 2016 +0800

    Bug #24742157: UTF8MB4 SHOULD HAVE UTF8MB4_0900_AI_CI AS DEFAULT COLLATION
    
    post-push fix: fix some test failures by this default collation change.
    
    Change-Id: I808a7a3df49a209a17283a21a7b31441bec1f1e9

commit 22bd33d2acc930f42f8baeeb5850d976d100d9ea
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Dec 22 11:53:10 2016 +0800

    Bug #24742157: UTF8MB4 SHOULD HAVE UTF8MB4_0900_AI_CI AS DEFAULT COLLATION
    
    Change utf8mb4's default collation from utf8mb4_general_ci to
    utf8mb4_0900_ai_ci. (This doesn't change the default character set and
    collation os MySQL).
    Update test cases using utf8mb4_general_ci as default collation.
    
    Change-Id: I1862667be0a2932b0e2de04a41ea6a23d8d680a4

commit 8ded97354fdbd488d51370ed08c352b6f202f06a
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Dec 21 22:54:49 2016 +0530

    WL#9711 : Remove *.require files
    
    Post push fix, recorded main.mysqltest result.

commit fef59121c24db829a52aa7927733537237d0f32b
Merge: 7c3ba91 87f3318
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 21 20:56:58 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 87f3318e2f6d8ce417d41fca560bdd0323cae158
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 21 15:16:38 2016 +0530

    Post Merge Fix
    
    The ndb_index_stat_partitions test started failing after the
    latest server merge.
    
    The problem was the opt file which caused an unnecessary server
    restart. The test itself ensures that index stats are enabled
    and the default values for the other two options specified seem
    to work fine

commit a9cb4c95fd435ee5f41cc9b05a14ced88f1d5f81
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Thu Aug 18 15:05:31 2016 +0200

    WL#9434 Axis order in WKT parsing functions
    
    This worklog modifies WKT parsing functions to be able to take an
    optional string to specify the axis order of the coordinates.
    If no options argument is provided, the axis order will be the
    default srid ordering. The argument list can now be as follows:
    (<wkt string>, <srid>, <options string>).
    
    - Changes to item_create.cc
    
    Added an extra Geometry_instantiator class to be able to take in
    an additional agrument.
    
    - Changes to item_geofunc.h
    
    Ability to take three arguments was added to Item_func_geometry_from_text
    
    - Changes to item_geofunc.cc
    
    Checks for determeninging the coordinate ordering from the options
    argument, the srdi and the srs type has been implemented.
    
    - Changes to test suite
    
    New tests were added to wkt.test

commit 7b3f7bf8f3097703fd02c331b858c85cf4ade1be
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Dec 13 23:21:44 2016 +0530

    Bug#25244414::REMOVAL OF SKIP FROM FUNC_AES_* RELATED TESTS
    
    Problem: It is noticed that below MTR tests uses individual encryption_mode checks in
    the test.
    
    func_aes_cfb1.test
    func_aes_cfb128.test
    func_aes_cfb8.test
    func_aes_ofb.test
    
    However the above encryption_mode CFB1, CFB8, CFB128, OFB are only supported
    by OpenSSL.The aim of this Bug fix is to remove the skips from the test and
    include have_openssl.inc
    
    Fix: Added have_openssl.inc in the tests and removed individual encryption_mode checks.
    
    Reviewed by:
    Pavan Naik <pavan.naik@oracle.com>

commit 0f6acc8e0084bd38f6249206c12fbc440534f88e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Dec 21 11:08:45 2016 +0100

    Bug #25027066: CHANGES TO DICTIONARY_CLIENT NEEDED BY WL#7743
    
    Follow-up patch: Now that Dictionary_client::update() no longer
    needs the old version of the object, several cache lookups
    can be removed from DD client code.

commit 00dab5f203f2e2572632fe655caefefd610c189d
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Mon Dec 12 13:38:17 2016 +0100

    Bug #25245711 -	WARNINGS DURING COMPILATION ON WINDOWS (MOSTLY IN LOB0LOB)
    
    RB#14884
    Reviewed by: Annamalai Gurusami, Kevin Lewis

commit b9a8b9e04be4ad4db1d5e6ccd97852d74b98527a
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Dec 21 15:49:07 2016 +0530

    WL#9711 : Remove *.require files
    
    Post push fix, Removed support for '--require' command and MTR
    will throw an error if the command is used.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>

commit 5fc7f9549969588223e68097aba7dbb2896161ed
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Dec 21 15:32:31 2016 +0530

    BUG#25182306 : --ONLY-BIG-TEST OPTION TO MTR TO RUN ONLY BIG TESTS
    
    Description :
    =============
    MTR has the option --big-test to run tests that contain the
    have_big.inc directive. In this case, MTR will run all ordinary
    tests and the big tests (which are normally skipped). It would
    be desirable both for developers and PB2 to have an option where
    ordinary tests are skipped and only the big tests are run.
    
    Fix :
    =====
    Introduced a new MTR option 'only-big-test' which when passed
    will run only the big tests and the normal tests(non big tests)
    will be skipped. If both --big-test and --only-big-test options
    are passed then MTR will disable the '--only-big-test' option.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 14883

commit a13a0f57cc5ccd9845e9b0a379ced51f4d5a8825
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Dec 21 09:51:21 2016 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Post-push fix: Fix doxygen build

commit 9123719c3272c31a6a29eabb9da450feef9ce9a5
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Dec 21 09:25:35 2016 +0100

    WL#1979: GROUPING function
    
    Post-push fix:
    Fix -Winconsistent-missing-override warning when building with clang.

commit 7c3ba91ad3d9929300ec6aed6aff2a1a5d65a550
Merge: f0735911 e1473ff
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 21 12:15:50 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit e1473ffb4a7913f460489aa94561e4fcd0e6fb4c
Merge: 6a020a0 e756092
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 21 12:15:23 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit e756092d6af998caf194960d8faadf9063ff1fab
Merge: 676d707 4d9d284
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 21 12:14:42 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 4d9d28475f1fa9815b6062468a42b437d5a63699
Merge: 6729536 4092b3b
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 21 12:13:44 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 4092b3bbd2f6686868c2d65503630b09cb585558
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 21 12:12:48 2016 +0530

    Bug#25182956 NDB_RESTORE FAILS WITH READMETATABLEDESC READ ERROR
    
    Fix mtr failure of ndb_restore_schema_tolerance on OSX due to case
    sensitivity issues.

commit 9a3d75db8ac3787b2e56dbfc19af343490c09123
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Dec 21 11:16:46 2016 +0530

    WL#1979: Implementation of GROUPING function
    
    Implementation of GROUPING().
    The GROUPING function distinguishes super-aggregate rows from regular grouped
    rows.GROUP BY extensions such as ROLLUP and CUBE produce super-aggregate rows
    where the set of all values is represented by null. Using the GROUPING function,
    you can distinguish a null representing the set of all values in a
    super-aggregate row from a NULL in a regular row.

commit c28ff055d1428e71a953a8b050c2c2e2c0307093
Merge: 0d467d0 7da15b1
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Dec 20 20:47:19 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7da15b18d6d2f2c6daf5341fb5c3817c02676990
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Dec 20 20:33:57 2016 +0100

    Bug#24413450 FIREWALL PLUGIN STOPS RECORDING EVENTS WHEN AUDIT_LOG INSTALLED
    
    Issue:
    ======
    Every audit pluign defines mask of events, which are handled by the plugin.
    Sum of all event mask is maintained in the global mysql_global_audit_mask
    array variable. If one plugin is interested into all general events, its plugin
    mask is [ 0xf, 0x0, ... ]. A plugin that is interested into all connection
    events, its plugin mask is [ 0x0, 0xf, 0x0, ... ].
    A global mysql_global_audit_mask variable holds sum of all values: [ 0xf, 0xf, 0x0, ... ]
    
    Audit plugins are loaded into a client session on demand. If a server is about
    to signal specific event, plugin acquisition is performed, which loads audit
    plugins that match requested mask and plugin mask. Acquired plugin mask is copied
    into a session's audit_class_mask, which is invalid and lead to a situation that
    prevents other audit plugin to load, because audit_class_mask already contains
    that events:
    
    Plugin 'A' is interested into general events [ 0xf, 0x0, ... ]
    Plugin 'B' is interested into general and connection events [ 0xf, 0xf, 0x0, ... ]
    
    Connection events are generated as first events, so plugins that handle connection
    events are loaded first (Plugin 'B'). Session mask will contain following mask,
    after the plugin is loaded:
    audit_class_mask: [ 0xf, 0xf, 0x0, ... ]
    
    When general event is about to be generated, audit_class_mask is compared against
    mysql_globa_audit_mask array. Because they are the same, no action is performed,
    which is obviously wrong, because Plugin 'A' has not been acquired by the session.
    
    Fix:
    ====
    During acquisition of the plugins that handle specific events, audit_class_mask
    contains events of the plugin currently loaded, but excluding bits of audit
    plugins not loaded. This guarantees that other audit plugis could be loaded
    later on demand.
    
    Acquisition of the plugins that handle connection events, will result in
    acquisition of the Plugin 'B'. audit_class_mask will contain [ 0x0, 0xf, 0x0, ... ],
    which represents acquired plugins, excluding plugins that have not been acquired.
    Generation of the general event will result is reacquisition of the plugins
    and the audit_class_maks will contain [ 0xf, 0xf, 0x0, ... ] eventually.
    
    Reviewers:
    ==========
    
    Georgi Kodinov <georgi.kodinov@oracle.com>
    Harin Vadodaria <harin.vadodaria@oracle.com>

commit 0d467d02034f085a2d176354b64824cd1ab48985
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Dec 20 13:26:21 2016 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #7: Fix -Wunused-parameter warnings in field/item code.

commit f073591102f15b71d476bc087b4cc031a4943087
Merge: a89572b 6a020a0
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 20 17:47:51 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 8b09d50597f0211bf74a2fc6951e9716f2865db1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 19 13:08:12 2016 +0100

    Bug#25252847: FOREIGN KEY CONSTRAINTS SHOULD BE CHECKED IN SQL LAYER
    
    The problem was that several storage engine agnostic foreign
    key constraint checks are currently done inside InnoDB.
    This requires InnoDB to maintain FK metadata.
    
    As a step towards removing this requirement, this patch adds
    two FK checks to the SQL layer. These checks are:
    - Disallow FKs on temporary tables.
    - Disallow index prefixes on FK columns.
    
    These two restrictions are already documented, so this patch
    does not introduce changes of behavior.

commit 6a020a02ce219adf5fb293be71e358a2c6a7b96f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 20 16:22:23 2016 +0530

    Post Merge Fix
    
    The ndb_rpl_innodb_trans test started failing after the recent merge.
    The failure was due to the fix for Bug#24577194 : LOAD DATA ERROR
    1262 BEHAVIOUR DIFFERENT BETWEEN 5.6 AND 5.7 UNDER STRICT SQLMOD
    
    It seems like the test case was incorrectly updated when the
    rpl_loaddata.dat was changed previously but the issue only
    showed up as a warning before the above mentioned fix.
    
    The fix is to change the tables created to match the data
    being loaded thus suppressing the error (and warning)

commit 87551141baaf6a531447e79c41ea7e25899216b6
Author: Filipe Campos <filipe.campos@oracle.com>
Date:   Mon Dec 19 17:54:18 2016 +0000

    BUG#25163241 - MYSQL SERVER: VARIABLE LENGTH ARRAY IN XCOM CAUSING BUILD ERROR
    
    Post push fix: Reverted commit fad0549, since the temporary fix in it
    becomes obsolete.

commit 02057ae0c9eed47d41585e237e25d7eed03e74ab
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Dec 20 10:50:04 2016 +0100

    Bug#25288145 SYSSCHEMA.MYSQLDUMP CAUSES PROBLEMS FOR SUBSEQUENT TESTS
    
    Force a restart at the end of the test.
    
    Approved by Srikanth B R <srikanth.b.r@oracle.com>

commit 4dafc2b3f89705060fb86783839ba7a48bc13803
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 8 09:55:35 2016 +0100

    WL#9816 Do not build/package/test embedded server
    
    - Remove/Cleanup all cmake related code pertaining to embedded server
    - Remove/Cleanup embedded server from RMP and Debian packages
    - Remove embedded tests from our mtr test collections
    - Remove all source code in the libmysqld directory
    - Remove embedded code from mysql-test-run
    
    Change-Id: Ib2432e50043f060f1da64328815cdb9d53981de4

commit 7da7e6f887b571987b8a596e165d285422b1d5d2
Merge: d33e6db ba3a6d0
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Dec 20 10:18:37 2016 +0100

    Null-merge from 5.7.

commit ba3a6d0c793a1047abfaef9533ce95d0e0804470
Merge: e2e8f8f 7771853
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Dec 20 10:18:16 2016 +0100

    Null-merge from 5.6.

commit 7771853a1b3fa08dfdbeac7923641472f7ab14c2
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Dec 20 10:14:14 2016 +0100

    Bug #25076862: BACKPORT PATCHES FOR BUG#24788778 (STRNXFRM() REGRESSIONS) TO MYSQL 5.6
    
    Backport of Ole John's proposed fix for #24788778, to 5.6,
    after it was successfully added to 5.7. (The patch we actually
    ended up with in trunk relied on C++, and ctype-utf8.c wasn't
    moved to C++ before 8.0.) His original commit message follows:
    
    SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Enhance the unicode-pad code to encourage the compiler
    to loop-unroll. That improves the performance of
    padding of utf8 char strings by 2x - 4x
    
    This patch only takes care of utf8 space padding.
    There seems to be similar oportunities for optimizing
    other character encodings using the same technique as in this
    patch.
    
    Patch does not handle the regression caused by
    my_strnxfrm_unicode() being called instead of
    my_strnxfrm_mb_bin() as in mysql 5.5.
    
    Change-Id: Ieb1475c7f69794dc77c9b8c94d571622efb9e91a

commit d33e6db3c701a507563229cadafcd457e8a9205a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Dec 20 07:37:43 2016 +0100

    Bug#23752542 I_MAIN.BUG13868860 IS SKIPPED, BUT RESETS THE BINLOG FORMAT
    
    Problem: i_main.bug13868860 forcibly sets the binlog format to
    'statement'
    
    It then searches for i_mysql_client_test, and skips itself if it can't
    find the client. However, if it skips, the binlog format isn't reset to
    what it was before the test was started. This causes problems for
    subsequent tests in the same worker thread, like i_main.heap_binlog.
    
    Solution: set the binlog format only after all prerequisites for the
    test have been met.
    
    Approved-by Deepa Dixit <deepa.dixit@oracle.com>
    RB: 14942

commit a89572b419eba523dd259caafb234eb1839af2b5
Merge: 9e13aa0 2ebdc2d
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Dec 20 12:27:29 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 2ebdc2d67bfbb1ad29677c53bb96dc22221e53f9
Merge: 1bf62fa 676d707
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Dec 20 11:57:22 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 676d707b74fb173de7c7cfab0221ace41f4a80f6
Merge: 4d9dc86 6729536
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Dec 20 11:56:47 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 67295363852cba4f7f3685eb6724fc670fa3aad9
Merge: 379b6af 746126c
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Dec 20 11:56:10 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 4dad79edbd3a70217631f1eb49e15629f1883d28
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Dec 20 11:27:17 2016 +0530

    Fixed innodb_zip.restart failure on weekly due to innodb_zip.cmp_per_index
    
    Reviewed by:
    Erlend Dahl <erlend.dahl@oracle.com>

commit 746126c9530624f942c5310acb3c1a70fed807e1
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Dec 20 11:25:38 2016 +0530

    Bug#25182956 NDB_RESTORE FAILS WITH READMETATABLEDESC READ ERROR
    
    While loading metadata in ndb_restore. table metadata should be
    read from .ctl file into buffer and then parsed to generate table
    descriptors. If table descriptor is larger in size than buffer
    used for reading from .ctl file, only part of descriptor is
    readable from buffer. So buffered read always fails and
    ndb_restore errors out.
    
    Increased size of buffer used for file reads.

commit a8895566a57e15f02cb841d7e8bb4ddb07921e13
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Dec 19 16:00:18 2016 +0100

    No need to remove replace man page, it will no longer be imported

commit fec289a0faa80e140e8b4ead41015ff192b7136a
Merge: 0ca9ae0 e2e8f8f
Author: Filipe Campos <filipe.campos@oracle.com>
Date:   Mon Dec 19 15:25:12 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit e2e8f8fa8f71465aabb9cee439d64165e91bd156
Author: Filipe Campos <filipe.campos@oracle.com>
Date:   Wed Dec 14 18:18:04 2016 +0100

    BUG#25163241 - MYSQL SERVER: VARIABLE LENGTH ARRAY IN XCOM CAUSING BUILD ERROR
    
    Description:
    ------------
    The -Werror=vla option causes the MySQL Server 5.7.17 build to stop with a
    variable length array error.
    
    Analysis and Suggested Fix:
    ---------------------------
    Ported existing XCom patch where the variable length array that raised the
    error, is replaced by a dynamically allocated array pointer.

commit 0ca9ae06fd29b25966fb39099cf220c5687b7395
Merge: f356c3d f4f80e1
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Dec 19 17:30:08 2016 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit f4f80e11a89ac43edcb0e3245af734e4086e3a60
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Dec 19 17:28:18 2016 +0530

    Bug #24666839 INNODB'S ESTIMATE FOR ROWS-IN-TABLE CAN RETURN ROWS=1 DUE
    TO A RACE CONDITION
    
    PROBLEM
    
    While updating stats there could be a possible race condition while the
    table stats are reset and then table is overwriiten with new stats might
    leading a thread to read estimate rows as 1(wrong value after reset)
    which would let optimizer choose a wrong plan for execution.
    
    FIX
    
    Simple fix from rb#14204 in trunk is backported to 5.7 that would reset
    the stats only when the index is corrupted and the stats would be
    directly overwritten otherwise.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    RB: 14929

commit f356c3dfaf92b8789f99448c773db2a8d3b38f94
Merge: c4ec65a 2130b18
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 19 12:12:02 2016 +0100

    null-merge from 5.7

commit 2130b18b1231fde969db49df14138621a101796f
Merge: 9b63bc7 ae3c048
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 19 12:08:48 2016 +0100

    null-merge from 5.6

commit ae3c048e42551a0d830440d9a32d974038da35f4
Merge: 6e7727a f28cf16
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 19 12:04:54 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit f28cf166727f150fcc1e06a3cdcf640e5846ef14
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 19 10:15:54 2016 +0100

    Bug#13344753 MYSQL_SECURE_INSTALLATION SCRIPT DOES NOT CHECK USER INPUT
    
    Loop until valid answer is given. Variants of y,yes and
    n,no and blank (meaning default) are considered valid.

commit 9e13aa0f1e96b98395c5f38b42554f0e37fc49e6
Merge: 4eec14c 1bf62fa
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Dec 19 12:00:27 2016 +0100

    Merge ../push_75_ai into mysql-5.7-cluster-7.6

commit 1bf62fae8ac39da96a4bcac151c210ddc566f1d2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Dec 19 12:00:16 2016 +0100

    BUG#25268121: Missed removing pid file

commit c4ec65a67dba611a1f336e685c56d94bcfadc968
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 19 10:29:11 2016 +0100

    WL#9874: Deprecate and remove the replace utility
    
    Post-push fix: Fix rpm/deb builds.

commit 4eec14cf46097a3994a40be24c3a4ed9b916b6e3
Merge: 86e2a61 67beb75
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Dec 19 14:15:38 2016 +0530

    Null-merge from cluster-7.5

commit 67beb756f987968ab4dbb39f8ada57810ab94168
Merge: e163764 4d9dc86
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Dec 19 14:14:36 2016 +0530

    Null-merge from cluster-7.4

commit 4d9dc86fc6dfaa200bdc5a66d6293c1ea226a62b
Merge: 8c73548 379b6af
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Dec 19 14:07:39 2016 +0530

    Null-merge from cluster-7.3

commit 379b6afe291cb1431d4c9069d9137f701f3da448
Merge: 90c54df 7da912c
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Dec 19 14:06:38 2016 +0530

    Null-merge from cluster-7.2

commit 818b1545fc09b4fd3d5a6b9575341b9c77d42f92
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Nov 21 13:38:58 2016 +0100

    WL#9874: Deprecate and remove the replace utility
    
    This patch removes the 'replace' utility.
    This is the 8.0 version of the WL.

commit b37556f6f6467b25bb0815d235b8662044ac094e
Merge: 335aa66 9b63bc7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 19 09:20:12 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9b63bc789845b2d473d8c82a8ac1e57469d10c1d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Dec 8 08:46:24 2016 +0100

    WL#9874: Deprecate and remove the replace utility
    
    This patch adds a deprecation warning when starting the 'replace'
    utility. This is the 5.7 version of the WL.

commit 335aa662d6e93fa3cbc77a484f11224380c9db27
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Mon Dec 19 08:53:26 2016 +0100

    WL#3597: Implement NOWAIT and SKIP LOCKED
    
    Follow-up patch: Moved rpl_skip_locked test into
    suite/rpl_nogtid, as this test cannot be run with gtid's
    enabled.

commit 7da912c60596656849c30ccaebcc0a3a9e948c1d
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Fri Jun 24 16:20:33 2016 +0530

    Bug #25260091: BACKPORT BUG 23152979 TO 7.2
    
    DESCRIPTION
    ===========
    Buffer overflow is reported in a lot of code sections spanning
    across ndb code.
    If not handled propoerly, they can cause abnormal behaviour.
    
    ANALYSIS
    ========
    The reported cases are the ones which are likely to cause
    SEGFAULT, MEMORY LEAK etc.
    The function readDataPrivate has a memcpy() that could lead
    to buffer overflow.
    Possible buffer overflow due to strcat() in get_prefix_buf().
    ndb_end() not called in many places due to which memory leaks
    could happen.
    
    FIX
    ===
    1) Made modifications in code paths leading to readDataPrivate
    to prevent buffer overflow:
    
     (i) sql/ha_ndbcluster_binlog.cc: Passed size of buf instead of
     passing UINT_MAX as the "bytes" arg.
     (ii) Added a require() in storage/ndb/tools/ndb_lib_move_data.cpp,
     to make sure "length1" is lesser than or equal to the buffer
     size.
    
    2) Added a require() in get_prefix_buf().
    
    3) Added an inline funcion ndb_end_exit() that calls ndb_end() and
    then exits from the program. Substitued return/exit() with ndb_end_exit()
    in places where ndb_end() was missing.
    
    (cherry picked from commit 49400ead2657504457d7b4c0c0b3a3710c6eabfb)
    
    Conflicts:
    	storage/ndb/src/common/portlib/NdbConfig.c
    	storage/ndb/src/kernel/blocks/dbdih/printFragfile.cpp

commit 86e2a61cd93c89f7f4cf1e63212f6637c8f3c7a9
Merge: e9e30e0 e163764
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:29:54 2016 +0100

    Merge ../push_75_ai into mysql-5.7-cluster-7.6

commit e16376462c3c8df9060efb50ae15dc87ce0bd8a8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:27:38 2016 +0100

    BUG#25268221
    Cluster autoinstaller requires free port for web server. It either gets it
    from CL (setup --port=NNNN) or uses default (8081). If that port is taken,
    the Autoinstaller will not start.
    Have Autoinstaller check for range of ports starting from one defined in CL
    --port=# or default one (8081) in effort to find free one. Try at most
    20 ports in the range.

commit e9e30e001e5d25142090bdca826e8f92431e81db
Merge: 4945cd3 b100b53
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:21:20 2016 +0100

    Merge ../push_75_ai into mysql-5.7-cluster-7.6

commit b100b53b835d130ee478dce5a24f15501027693d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:19:37 2016 +0100

    BUG#25268121
    MySQL Cluster Autoinstaller was not checking if the web server is already
    running. This could lead to many Cluster deployments on the same box(es),
    stray processes and so on.

commit 4945cd3cdf99269f98ea35002532ef7937d411af
Merge: da4888f 4550f02
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:13:13 2016 +0100

    Merge ../push_75_ai into mysql-5.7-cluster-7.6

commit 4550f02bf092a1bfb34221a5d21fc0b6784d135d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:11:43 2016 +0100

    BUG#25268310
    Python script running web server does not state how to stop it which can be
    confusing

commit da4888f18314eca1d1047a433c62dd67df1fd086
Merge: 42554f8 80a30e0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:04:12 2016 +0100

    Merge ../push_75_ai into mysql-5.7-cluster-7.6

commit 80a30e018d9533b9eb96ddfa1fb2539dabb9bcf1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Dec 17 08:03:33 2016 +0100

    BUG#25268278: If a service has terminal error and can not start, Autoinstaller will keep trying in an endless loop due to misspelling of variable

commit a624dc6e2568330e5ec5e7b55bec4b529e435dff
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Dec 16 13:52:42 2016 +0100

    Bug#25267157 32BIT BUILD WITH DEVELOPERSTUDIO12.5 IS NOT SUPPORTED, DISABLE IT
    
    Explicitly disable 32bit build, unless FORCE_UNSUPPORTED_COMPILER is given.
    
    Change-Id: Ie9a537e16d9d6c67cafb8ebe90fab7cba163c839

commit de06b5d64832400aca19863ce526cfdf282deddd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Dec 15 12:59:21 2016 +0100

    Bug#25229424 ENABLE C++03 BY DEFAULT FOR DEVELOPERSTUDIO12.5 MYSQL
    
    "forward-port" from 5.7 to trunk of relevant changes:
    Fix broken code for stack check on sparc (sp_head::execute)
    Allocate more DEFAULT_THREAD_STACK when using developerstudio on sparc.
    
    Change-Id: I23fd6509dfcfcc6d5be0e5346aa530c2b3d3ca4b

commit eee4a5da54b44a27355955c497c8bb2c283cf688
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Thu Dec 1 11:37:26 2016 +0100

    Bug#25118076: IMPROVEMENTS TO NATIVE FUNCTION REGISTRY
    
    This patch replaces the HASH hash table for native functions
    with std::unordered_map, and in the process gets rid of some
    macros and intermediate structures that are no longer
    needed.

commit afca8420db2751508d864de6e4ecd8d14b967798
Merge: ca8d1eb f254154
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Dec 16 17:23:06 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f25415451316b5db7f665cf0741ecba5a683e773
Merge: f4fb641 6e7727a
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Dec 16 17:21:36 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6e7727a041b7ba55e007f8e90428e55c3bd7fea8
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Dec 16 17:17:26 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix: Fix for ASAN issue.

commit ca8d1eb0289025de2700bfdac535bfd065fa64c8
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Dec 16 12:30:09 2016 +0100

    Bug#24786327 SIG 11 IN __STPCPY_SSE2_UNALIGNED FROM MY_STPCPY() IN SQL/AUTH/
    
    Derived tables caused an issue during precheck of column privileges on
    certain statements.
    By checking if the table belonging to the column being checked is a
    derived table or not the issue can be avoided.

commit f4eb666d5db09addaf9e8d25a3dacbb8466af305
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Dec 16 11:27:27 2016 +0100

    Bug#25089371: FOLLOWUP AFTER BUG#22874872: MAKE TESTS INDEPENDENT OF MYSQL.NDB_BINLOG_INDEX
    
     Adjust tests to be agnostic to the existence of the table
     'mysql.ndb_binlog_index'.
    
     Remove the ndbinfo dir and files therein if they exist

commit ad4831164be0dee312e9642ef4800a1ecc2239d8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Dec 16 10:57:32 2016 +0100

    Revert "WL#6378: Followup. Disable failing test."
    
    This reverts commit 0c6680ce0e4e1146984cd96ce078cf9620535d03.

commit 9af911605952530729f9897279c3dd837e244b1d
Merge: 308820f f4fb641
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Dec 16 11:41:23 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f4fb64136d00454a07a71eb8dfa7e2cc06eb81d0
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Dec 16 11:30:54 2016 +0100

    Bug #23748432 MYSQLPUMP FULL LOGICAL BACKUPS UNUSABLE WITH GTID REPLICATION
    
    Post push fix. On solaris set-gtid-purged even after being set to correct
    value, comparison of this vairable with its repective enum value is failing.
    Corrected the condition with explicit typecasts.

commit 308820f569e01da7d7b7e495cbe9791eacaaa355
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Dec 16 11:19:54 2016 +0100

    Bug#25246184 ADD MORE FILESORT INFORMATION TO OPTIMIZER TRACE
    
    Post-push fix: filter out 32/64 bit differences.
    
    Change-Id: I25e7c18afc3fd137af5db59481da49082d249199

commit 984ae67fb4fc16efb3540edde5bff0abadfce7f5
Merge: 9234742 bfcd9aa
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Fri Dec 16 14:47:32 2016 +0530

    Merge branch mysql-5.7 into mysql-trunk

commit bfcd9aafc5ec8db3ac767ce2427686b17cd0dc9d
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Fri Dec 16 12:14:38 2016 +0530

    BUG#25251082 DISABLING CERTAIN MACROS IN INNODB RESULTS IN COMPILATION
    ERRORS
    
    Issue:
    ======
    Disabling macros such as UNIV_PFS_MUTEX/UNIV_PFS_RWLOCK/UNIV_PFS_THREAD
    which are defined in InnoDB throws errors during compilation.
    
    Fix:
    ====
    Fix all the compilation errors.
    
    RB: 14893
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>

commit 9234742917234c6a0e73f4dd42a8ec023659f555
Merge: db02604 48be58c
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Fri Dec 16 14:35:54 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 48be58cabae41361eb51fba3e10ed22807cc788d
Merge: 54e8adf 425b017
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Fri Dec 16 14:32:56 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 425b0170d4c27679c5f0b41b9a075a1530aaf2e5
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Fri Dec 16 14:30:05 2016 +0530

    Bug #25244533 : PERFORMANCE_SCHEMA DIGESTS THE SAME QUERY TO MULTIPLE DIFFERENT
                    DIGESTS
    
    Issue:
    Part1:    When there are ';' in the queries, it is assumed that there are
              multiple queries and therefore parsing is done for each individual
              query one after another. During this process, digest storage was not
              reset properly and digest text of old query was seen.
    
    Fix:      Reset digest storage beforem start parsing next query.
    
    Part2:    In case of multiple queries, when a ';' is seen, its decided that
              current query ends here and a new query is about to start. But when
              delimiter is set to something else, for the first query, ';' is
              passed to digest code. As a result, ';' was seen in digest text and
              the digest created for the query is different from the digest which
              would have been created without the ';' in the query.
    
    Fix:      Parser passes NUL (i.e. 0) to digest code when the first query parsing
              is over. Therefore, in digest code when a NUL (0) is encountered, check
              the last token. If it is ';', pop it out so that it is not included in
              query digest text and digest.

commit db02604f72e156bc904c15b0109fd54e33ee4fe4
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Dec 13 15:49:33 2016 +0100

    Bug #25202470 USE LOGIC TO CHANGE MULTIPLE CHECKS TO A SINGLE CHECK
    (CONTRIBUTION)
    
    Replace checks for (isnan(x) || isinf(x)) with a check for
    !std::isfinite(x) or !my_isfinite(x).
    
    Replace calls to boost::math::isnan() with std::isnan().
    
    Based on a contribution from Daniel Black.
    
    Change-Id: Ife25341d9c69223c37097db34d73a4b885aedec7

commit 02659d3d8b05942d928b5ab23cc5c67bbdd3a68e
Merge: a68faf0 54e8adf
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Dec 16 12:08:30 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 54e8adf680c8c9d57e7416be647365673b3701b2
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Dec 16 12:07:10 2016 +0530

    Bug #25171608: REFERENCE TO ALIAS FROM SUBQUERY IN SELECT
                   LIST CAUSES INCORRECT BEHAVIOR
    
    Reverting the fix due to failure with ps-protocol.

commit a68faf0b8308dd799ca15c6235cdd82a1c0a1cc4
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 29 15:52:09 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Various benchmarking tweaks as we prepare to wrap up the changes:
    
     - Make microbenchmarks show number of processed bytes, in order to
       easier compare throughput between the benchmarks, even if they have
       different input lengths.
     - Add benchmarks for two important cases that were missing (latin1,
       and Hungarian, a locale with frequent contractions). We don't intend
       to optimize these at the current point, but having microbenchmarks
       is an important reminder of what is still left to work on.
     - Fix collation loading; just using the my_charset_foo pointer without
       initializing it first is illegal, and will break anything with
       e.g. contractions.
     - Add a unit test to verify that contractions are working at all.
    
    Change-Id: I85b4a8817fb630d2df36d9b8a4e7437a89a4745f

commit 05ec81184a9b66f9d0c0323c578d6300c441931e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 27 12:08:44 2016 +0200

    Bug#25246184 ADD MORE FILESORT INFORMATION TO OPTIMIZER TRACE
    
    Add information about key/payload size, why we are not packing addon fields, etc.
    
    Change-Id: I53ce0ff785e5440a8b9685386d0fe1ebd4321b12

commit b38f6746b3257fc7b3b700cb338d6c5bacc06621
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Dec 15 14:52:04 2016 +0100

    Bug#25175249: ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
                  || (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    Post-push fix: Fix Clang build warning.

commit 9cc38dc8a45426b8a34695ef17167d8f61db8fc1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Dec 13 13:13:24 2016 +0100

    Bug#25246072: REMOVE TABLEOP_HOOKS/MY_HOOKS FROM CTS CODE
    
    Simplify CREATE TABLE ... SELECT by removing the (now)
    over-engineered TABLEOP_HOOKS and MY_HOOKS classes.
    Move the code that was actually needed to
    Query_result_create::binlog_show_create_table().
    
    Also remove duplicate drop_open_table() call.
    Cleanup is already handled by
    Query_result_create::abort_result_set().
    
    Refactoring only - no changes of behavior.

commit bc7c9c21e0ee2e137e7bb8ff699cb04039e8d3a2
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Dec 9 14:06:37 2016 +0100

    Bug#25221593 ASSERTION `USED_KEYPARTS <= KEY->USER_DEFINED_KEY_PARTS'
    
    This assert may happen for storage engines that includes primary key
    in indexes, and does not initialize rec_per_key on open_table.
    
    Problem is that guess_rec_per_key() contains an assert that does not
    take into account that an index may have more key parts than
    user_defined_key_parts.
    
    FIX: Relax assert by comparing used_keyparts to actual_key_parts.
    
    There is currently no storage engine with above characteristics, so
    fix will onlt be tested by unit test.
    
    sql/opt_statistics.cc
      Relaxed assert
      Include of "mother" header file should be first
    
    unittest/gunit/opt_guessrecperkey-t.cc
      Add unit test that test what happens guess_rec_per_key() is called
      with used_keyparts > key->user_defined_key_parts
    
    unittest/gunit/fake_key.h
      Add Fake_KEY constructor that can be used to specify actual key parts.

commit bea3842e78e45e94c3f27e34433ed58a5e897d70
Merge: 434db75 21a89ef
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Dec 15 12:49:19 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 21a89ef380890f960e74e39d114e3ea4cc65ed5a
Merge: 0d7ec95 a50c10d
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Dec 15 12:48:59 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit a50c10d4646f3b3e464b0dcf5f0bfd7fc0caa6dd
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Dec 15 11:00:08 2016 +0100

    Bug#25258829	USE GNU INSTALL UTILITY INSTEAD OF MKDIR+TOUCH+CHOWN IN DEBIAN/UBUNTU PACKAGING
    
    To avoid any potential race conditions, replace all create+chown commands with gnu install

commit 434db75de277ebaea14a456f7e9086e8c6b3573f
Merge: 083442a 0d7ec95
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Dec 15 16:51:08 2016 +0530

    Null-merge from 5.7.

commit 0d7ec959b283335f910c39b514b22dae6e416fd3
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Dec 15 16:50:44 2016 +0530

    BUG#25053705 INVALID I/O ON TABLE AFTER TRUNCATE
    
    Issue:
    ======
    The issue is that if a fts index is present in a table the space size is
    incorrectly calculated in the case of truncate which results in a invalid
    read.
    
    Fix:
    ====
    Have a different space size calculation in truncate if fts indexes are
    present.
    
    RB:14755
    Reviewed-by: Shaohua Wang <shaohua.wang@oracle.com>

commit 083442a106c8b8a4a2ee024cca7f4c16ab6230b8
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Thu Dec 15 15:44:50 2016 +0530

    Bug#25209228 START/STOP GROUP REPLICATION THROUGH X PROTOCOL
    
    Modified all GR+X plugin tests to START/STOP GR
    through X-protocol.

commit c2c4610cec1da7ac8e6b7c4746276ddb2ec4fd3e
Merge: a88757c 7a66434
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:38:39 2016 +0530

    Null merge branch 'mysql-5.7' into mysql-trunk

commit 7a66434c5a4401dddb41c25419b31f6795e23857
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:38:06 2016 +0530

    Bug #24585978	INNODB: ASSERTION TOTAL_RECS > 0 FAILURE
    		IN FILE DICT0STATS.CC
    
    Analysis:
    ========
     There was missing bracket for IF conditon in dict_stats_analyze_index_level()
    and it leads to wrong result.
    
    Fix:
    ====
     Fix the IF condition in dict_stats_analyze_index_level() so that it satisfied
    the if condtion only if level is zero.
    
    Reviewed-by : Jimmy Yang <jimmy.yang@oracle.com>

commit a88757c8eb19d6ecde9b181850e4a45763ea4a7c
Merge: 7f4b5bf 71fda33
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Dec 15 15:34:26 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 71fda334574670d6b71fa85758f1748e1207806a
Merge: 9282c12 838f3fa
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Dec 15 15:32:58 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7f4b5bfa2f824a0e9a2e328d0c6d7d6518b15bb5
Merge: f18c592 9ae296f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:30:37 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9ae296f164d960eb06900272406bdc3e2fbc820d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:29:49 2016 +0530

    Bug #24585978	INNODB: ASSERTION TOTAL_RECS > 0 FAILURE
    		IN FILE DICT0STATS.CC
    
    Analysis:
    ========
     There was missing bracket for IF conditon in dict_stats_analyze_index_level()
    and it leads to wrong result.
    
    Fix:
    ====
     Fix the IF condition in dict_stats_analyze_index_level() so that it satisfied
    the if condtion only if level is zero.
    
    Reviewed-by : Jimmy Yang <jimmy.yang@oracle.com>

commit 838f3fa66c9b5b1296b819a59470c34ac1c8ab5d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Dec 15 15:29:42 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix: Fixing non-ps build issues.

commit f18c5926e0ecf14516d59e42eecdbd7594c489ba
Merge: dfc2bc7 9282c12
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Thu Dec 15 15:28:37 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9282c12ef9df9fc46437892628d63e981b72e57c
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Thu Dec 15 15:17:02 2016 +0530

    Bug#24391859 ADD MTR TEST TO CHECK BASIC DML OPERATIONS ON GR USING X PROTOCOL
    
    Post push test fix.

commit dfc2bc7b9e571a2ee44c3eeedf385cebc85fca2a
Merge: c9b3aea 6631c8f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:12:50 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6631c8f46cc5351c828861f52e8c383ec0d0bcda
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 15:08:55 2016 +0530

    Bug #25175249   ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
                           || (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    - Post push fix to resolve doxygen and werror build.

commit c9b3aea44ddac06aa5d40a56dd0e54a6062e2699
Merge: 6ecf806 0cf4c61
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Thu Dec 15 14:44:29 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0cf4c611e132e5632cc39e052ddb6ee27751674c
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Thu Dec 15 14:40:35 2016 +0530

    Bug #24714857: FOUND_ROWS() RETURNS 1 WHEN NO ROWS FOUND
    
    This patch is specific to mysql-5.7
    
    ISSUE: FOUND_ROWS() returned 1 even though the previous
           select did not return any rows. This was happening
           because the statistics returned by InnoDB returned
           1 for the select even though there are no rows.
           The same count was further returned by FOUND_ROWS().
    
    FIX: In InnoDB, while determining statistics, check whether
         its for temporary table. If its temporary table,
         do not increment the row count.

commit 42554f847e81ea5156c36faeadcdd809ec6c4c9e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Dec 15 10:03:10 2016 +0100

    WL#9778 Fix Windows build breakage

commit 015e8c57c494b6e81128302db04a38d11d8edac9
Merge: c05faee ffbbd11
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 15 09:21:11 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit ffbbd11b847b9733847d65c4b76bc72fe16cc6ee
Merge: 9d1fe17 8c73548
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 15 09:20:44 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 8c735488b19c319d9170f433f41c17812b8a9c87
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 15 09:17:27 2016 +0100

    Comment out extra empty line in scripts defining the ATR tests.
    Due to bug else where, that empty line preventer preceding
    tests to be run.

commit 6ecf806e846df7536c15c1c684741abb5e171cc4
Merge: 4dcb67d fcac725
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 12:57:45 2016 +0530

    Bug #25175249	ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
    		|| (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit c05faee8d9a13b93891a64e9bb9f9df8bdbb8a78
Merge: 482ff44 9d1fe17
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:55:29 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit fcac7250811e93635f328f6be8c40a8acae3f3cb
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Dec 15 12:55:16 2016 +0530

    	Bug #25175249	ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
    			|| (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    Problem:
    =======
    During end range comparison, secondary index field number is passed instead
    of clustered index field number and eventually leads to fetch the wrong field.
    
    Solution:
    ========
    Pass the correct clustered index field number as well as secondary index
    field number during end range comparison.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 14783

commit 9d1fe17e94ec9b244316976e582f614a972e4743
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:51:58 2016 +0530

    Post Merge Fix
    
    Update the result file of the ndb_statistics1 test.
    
    The changes are due to:
    
    - Fix for Bug #23259872: OPTIMIZER CHOOSES TO USE NON
      PRIMARY INDEX, EVEN THOUGH COST IS HIGHER. The optimizer now
      chooses a range access rather than a ref access in this
      particular case
    - The addition of a new warning in WL#9457: Deprecate support
      for non-native partitioning

commit 482ff44f4f3258822933d66e788ac2d46fdd7a76
Merge: a579603 21ded2b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:46:54 2016 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 21ded2bfd9e31ea2d61039e596a60e1226248b1e
Merge: 110702d 9bb572f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:45:53 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9bb572fb04eaefd51ec89da00f8f63f3fe148597
Merge: 7a91409 90c54df
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:23:37 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 90c54dfa3a8eca14fe6b6d080515c93832bbb0a3
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 15 12:06:23 2016 +0530

    Post Merge Fix
    
    Update the result file of the ndb_statistics1 test. The change
    is due to fix for Bug #23259872: OPTIMIZER CHOOSES TO USE NON
    PRIMARY INDEX, EVEN THOUGH COST IS HIGHER. The optimizer now
    chooses a range access rather than a ref access in this
    particular case

commit a579603807b4c0ef725bf8664261ea24de5e873e
Merge: ff06617 110702d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Dec 14 13:39:05 2016 -0800

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 110702d68df88450d44719eee0b1609c4e17be9b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Dec 14 13:34:24 2016 -0800

    Update ndb nodejs code to be current with latest npm release.

commit ff0661777aab4b1362b9e5637f27e6a956067e11
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Dec 13 13:56:55 2016 +0100

    WL#9778
     UNDO log for disk data can get problem in synchronising the extent pages
     in the presence of drop table followed by create table where the new table
     gets the same table id as the old one. There is no way to see if the table
     is the same as the one described in the extent header or in the page header.
    
     There is also no room in the page header for extent pages and UNDO logs
     for checksums. Also no room for page version the page have.
    
     To alleviate we add also the create table schema version identifier
     (the 24 bits which is added to when table is created) to the page header
     and to the extent headers.
    
     With this we can ensure that we ignore pages that no longer belongs to any
     table and similarly we can ignore extents no longer owned by any table.
    
     The same applies to the UNDO_CREATE and UNDO_DROP and the UNDO LCP
     UNDO log record. We could read an old UNDO_DROP and thereby ignore
     extents for the new table. We need to add create table version to
     all of those 3 UNDO log records and also to ignore those when there
     is no table connected to the triplet (table_id, frag_id, create_schema_version).
    
     This change is not possible to do backwards compatible. So it will only
     apply to new tablespaces and new UNDO log file groups. The already existing
     will retain the old format and only the data pages will be marked with
     the new create_table_version.
    
     When a new tablespace or UNDO log file group is created it is not possible
     to downgrade to the old version again since that will not be able to read
     the new page formats.
    
     Since tables found during UNDO log execution isn't sure to be around in
     restart we need a getInstanceKey function that is allowed to fail.
    
     We ensure that writes to pages conform to the correct format even when
     the format read was according to a newer format. We ensure that extent
     pages, data pages and UNDO log pages has set the page header words
     correctly both at create and at load extent pages (to handle pages
     not properly initialised by older versions.
    
     For testing purposes it is possible to configure to use old disk data
     format (only works when compiled with ERROR_INSERT set). We have added
     one test case in autotest that uses this new format. Also some more
     config files for autotest added.

commit 4dcb67d28dcf9b85644de7fba61a3fee4d64514e
Merge: 691c46b 196acf6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Dec 14 16:51:21 2016 +0100

    Null-merge from 5.7.

commit 691c46bb4876a9ae3172f6b3610329dfff0deb37
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Dec 14 14:18:48 2016 +0100

    Bug #24947217: MTR DOES NOT WORK WITH PERL 5.24.0
    
    Add . to @INC to keep on working with newer Perl, also in
    "perl;" blocks in MTR scripts.
    
    Also fix so that we use "require" instead of "do" in such blocks,
    since "do" quietly ignores errors, making everything much harder
    to debug.
    
    Change-Id: I542a988c0b5663f2370ccffb4154ba50bd1c6957

commit 196acf64bd54e8578fe3357675ce0794229765ba
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Dec 13 12:01:59 2016 +0100

    Bug#25229424 ENABLE C++03 BY DEFAULT FOR DEVELOPERSTUDIO12.5 MYSQL
    
    Check compiler version, use -std=c++03 rather than stlport by default for
    developerstudio12.5
    
    Developer studio uses more stack space than gcc,
    so a couple of mtr tests needed adjustment.
    
    Fix broken code for stack check on sparc (sp_head::execute)
    
    Allocate more DEFAULT_THREAD_STACK when using developerstudio on sparc.
    
    Backport:
    Bug#25148549 REVISIT COMPILER FLAGS FOR ORACLE DEVELOPER STUDIO
    
    Change-Id: I0aad1a4f549c40e66541ebc2ed8add075e1365c3

commit 0b57d379058d9c4b9e66cb99306b3862bb5116d6
Merge: 30611ea a1ca6a9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Dec 14 14:58:39 2016 +0100

    Null-merge from 5.7.

commit a1ca6a93b96f2e27a43a682e1114fccc2164d372
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Dec 12 13:57:15 2016 +0100

    Bug #25076862: BACKPORT PATCHES FOR BUG#24788778 (STRNXFRM() REGRESSIONS) TO MYSQL 5.6
    
    Backport of Ole John's proposed fix for #24788778, to 5.7.
    (The patch we actually ended up with in trunk relied on C++,
    and ctype-utf8.c wasn't moved to C++ before 8.0.)
    His original commit message follows:
    
    SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Enhance the unicode-pad code to encourage the compiler
    to loop-unroll. That improves the performance of
    padding of utf8 char strings by 2x - 4x
    
    This patch only takes care of utf8 space padding.
    There seems to be similar oportunities for optimizing
    other character encodings using the same technique as in this
    patch.
    
    Patch does not handle the regression caused by
    my_strnxfrm_unicode() being called instead of
    my_strnxfrm_mb_bin() as in mysql 5.5.
    
    Change-Id: I17f6f2c7635851903ea7cf9b5f6e4146517c6e40

commit 30611ea08cfe8d3802061d154caafcb1288f8ac3
Merge: da39017 0a2b0b7
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Dec 14 14:55:04 2016 +0100

    Null-merge from 5.7.

commit 0a2b0b7f3f44163686392347026d8fc2648c81cb
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 4 14:29:05 2016 +0100

    Bug #25246254: BACKPORT --SUMMARY-OUTPUT TO MYSQL 5.7
    
    Add an option to MTR that outputs the result summary to a file.
    This can then be used by CI systems (e.g. Jenkins) to send in email when a
    build fails, so that one doesn't have to go click to see what went wrong.
    
    Clean backport from trunk.
    
    Change-Id: I243dd86f104dcf75369c23380d5c30559e92a3ec

commit da390175a5af97f329a84a6478979e935e64d770
Merge: 1ba6364 7d251d6
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 14 18:43:27 2016 +0530

    Bug#25222337    FIELD NAME IS NULL IN NEWLY ADDED VIRTUAL INDEX
                      FOR NEWLY ADDED VIRTUAL COLUMN
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 7d251d64c7e63768026fa5215112496444c2adee
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Dec 14 18:42:46 2016 +0530

    Bug#25222337    FIELD NAME IS NULL IN NEWLY ADDED VIRTUAL INDEX
                      FOR NEWLY ADDED VIRTUAL COLUMN
    
    Analysis:
    ========
    Field name comparison happens while filling the virtual columns
    affected by foreign constraint. But field name is NULL in virtual
    index for the newly added virtual column.
    
    Fix:
    ===
    Ignore the index if it has newly added virtual column. Foreign
    key affected virtual column information is filled during
    loading operation.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 14895

commit 5d0aa3105a7e653858664cead9d332c952a6371a
Merge: c712099 c7b8574
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 14 11:17:35 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit c7120999f2386867cced50cf201f9e29be088334
Merge: 51c6337 7a91409
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 14 11:16:13 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.6

commit c7b8574ec4d0195ce20500fccdde0893bb4e9cb7
Merge: 0f33204 7a91409
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 14 11:15:38 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7a91409eb0aad1ef4ccf90d07f724a9a3eb860d4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 14 11:13:26 2016 +0100

    Suspend a testSpj test case which I have failed to
    make stable, even after several attempts.

commit 1ba6364e01247b6cdd4f102e62e035cd72ae12ac
Merge: 25d7dda 9ea3ac4
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Wed Dec 14 09:50:22 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 51c63370a40eac2f39dd8615402e041dcfc3788c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 14 10:40:12 2016 +0100

    Bug#24526123 ADAPTIVE SEND ALGORITHM IS BROKEN
    
    Fix for previous compiler bug workaround patch:
    Also had to reorder c'tor init order as prev. patch
    moved around the trp_client class members.

commit 3d384b560958c755b3d310f7456eae3f79f217c1
Merge: fbbf604 0f33204
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 14:56:57 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 9ea3ac4d9408beb65af9aefe76e974181d0bef12
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Dec 9 12:24:35 2016 +0000

    BUG#25209109 - NOT ALL TRACE MESSAGES ARE ENABLED IN GCS WITH -DWITH_TRACE_OUTPUT=1
    
    Description:
    -------------
    GR lost the ability to set on GCS the debug and trace flags,
    that are so much needed for developers.
    
    Suggested Fix:
    ---------------
    When of the unification of the CMake files, on mysql 5.7.17,
    the switches that allowed GCS debug and trace were not correctly
    implemented, thus causing trace and debug messages not to be
    displayed at all.
    
    This patch reintroduces those build switches and also corrects
    one file that has never been built with debug directives.
    
    - WITH_GCS_LOG_TRACE=1, will enable trace and debug messages
    - WITH_GCS_LOG_DEBUG=1, will enable debug messages
    
    This patch also removes the automatic feature that would
    enable debug messages on Debug builds on GCS.

commit 0f33204cff9bed0e64e9de1d483c421cb136ce74
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 14:49:00 2016 +0530

    Bug #11757421: SEND START OF NODE START COMMAND IGNORED IN RESTART
    
    Post push fix
    
    The ArbitrationWithApiNodeFailure test case failed when run with
    a cluster consisting of 4 data nodes. The problem was that the
    test case was designed for a cluster consisting of only 1
    nodegroup.
    
    With multiple nodegroups, a single node failure is not enough to
    force arbitration. Since the single node which failed does not
    form a viable community by itself, arbitration is skipped. The
    fix is to simply skip the test case for clusters with more than
    1 nodegroup.

commit fbbf6044cedf6e5efac475d1b768b1627d945a91
Merge: b6af5d9 876e943
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 12:06:21 2016 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'mysql-5.5.54' into mysql-5.5-cluster-7.2)

commit 876e9436ed2108e9fbccfaa87afc914b5fe52629
Merge: 7615735 1d2f9e9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 12:04:06 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'mysql-5.5.54' into mysql-5.5-cluster-7.2)

commit 1d2f9e9bb6d10212e17d1f03c1960326d2d46f3e
Merge: c4b7fce e903a86
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 12:01:43 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'mysql-5.5.54' into mysql-5.5-cluster-7.2)

commit e903a86a62ffd9133e93f4d8ea30b3468b800243
Merge: a038535 6c5b9c1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 11:58:20 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    (Merge tag 'mysql-5.5.54' into mysql-5.5-cluster-7.2)

commit 25d7dda788e98935bd14379fbc39a7a07c4ce583
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Dec 14 11:45:01 2016 +0530

    WL#9711 : Remove *.require files
    
    Description :
    =============
    In MTR we have *.require files to perform checks. But these require
    files are not necessary to perform a check and adds an extra overhead.
    Instead of using require files, the check for the condition can be
    implemented in corresponding inc files.
    
    E.g:
    
    1) have_debug_sync.inc
    ----------------------
    require r/have_debug_sync.require;
    disable_query_log;
    let $value=query_get_value(SHOW VARIABLES LIKE 'debug_sync', Value, 1);
    eval SELECT ('$value' LIKE 'ON %') AS debug_sync;
    enable_query_log;
    
    2) have_debug_sync.require
    --------------------------
    debug_sync
    1
    
    The way this works is that '--require' causes the result of the next
    query to be written to a temporary file and then there is a file
    comparison of the temporary file and, in this case,
    have_debug_sync.require.
    
    This sounds much slower than it could be. And also there are issues on
    Windows where a test can fail simply because of line ending differences.
    
    This WL removes all these require files and implements the check in
    the corresponding inc file. If '--require' command is used in any of
    the test file/inc file, MTR will error out with a deprecation message.
    
    E.g:
    
    Modified have_debug_sync.inc
    ----------------------------
    let $have_debug_sync= query_get_value(SHOW VARIABLES LIKE 'debug_sync', Value, 1);
    if ($have_debug_sync == 'No such row')
    {
      skip Test requires 'have_debug_sync';
    }
    
    Reviewed-by: Anitha Gopi <anitha.gopi@oracle.com>
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Magnus Blåudd <magnus.blaudd@oracle.com>
    RB: 14686

commit b6af5d9bc09a4a9bf735bcf87b8475c17164a5db
Merge: 1179c15 7615735
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 11:33:28 2016 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'mysql-5.6.35' into mysql-5.6-cluster-7.3)

commit 761573538892a96a56b2deb2a292eeb548791d98
Merge: e58f46e c4b7fce
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 11:30:50 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'mysql-5.6.35' into mysql-5.6-cluster-7.3)

commit c4b7fcee1d246194bc16e7f71f7f74c89f6a639f
Merge: 160f4ad a038535
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 13 11:08:56 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'mysql-5.6.35' into mysql-5.6-cluster-7.3)

commit 1179c158c39bf4300c7b6848c4bf28456dee06e8
Merge: 3c2a73a e58f46e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 14 11:04:16 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'mysql-5.7.17' into mysql-5.7-cluster-7.5)

commit 6b033c217a4b044ee4209ed56c61cee67ddf331b
Merge: 8bf1344 08cc347
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Dec 14 08:34:51 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 08cc347d2a01c45c0a7a7fe1354acdd246986a21
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Dec 14 08:33:51 2016 +0530

    Bug #25171608: REFERENCE TO ALIAS FROM SUBQUERY IN SELECT
                   LIST CAUSES INCORRECT BEHAVIOR
    
    Issue:
    ------
    In the following query:
    
    SELECT alias2
    FROM (SELECT ... alias1, (SELECT alias1 .... ) alias2
          FROM t1) X ;
    
    Notice that alias1 is created in the select list as the
    first column and is then referred to in the second column:
    alias2.
    
    Optimizer marks all the columns that are required from a
    derived table depending on the select list. In this process
    it decides that alias1 is not required and the
    corresponding subquery can be removed. This creates a
    problem because alias2 still requires alias1.
    
    Solution:
    ---------
    While marking all the columns that are required from
    derived table make sure that any column, including those
    from the preceding part of the select list, are also
    marked.

commit 8bf1344591283af3f6ace94e22f1149ff95b9756
Merge: 1387f36 d0bb4dd
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Dec 13 21:42:15 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit d0bb4dd5143be9bd487b2b595787ff937a688db8
Merge: 2d185e9 878c345
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Dec 13 21:32:18 2016 +0000

    Merge branch 'mysql-5.6' into mysql-5.7

commit 878c34575033b65bd408b405fe75ae74207601db
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Dec 12 11:16:42 2016 +0000

    BUG#22904496: TEST FAILURE DUE TO STOPPED SLAVE COORDINATOR AND WORKER
                  THREADS
    
    Problem
    -------
    
    The rpl_parallel_switch_sequential test case is sporadically failing
    because of an unexpected error message in the slave server error log
    generated by the MTS slave applier.
    
    Analysis
    --------
    
    The test case has some non-deterministic activity that can
    enable/disable MTS, generate some workload on the master and stop/start
    the slave threads.
    
    As the test case is not doing any synchronization with the master before
    issuing STOP SLAVE, there is a chance that the slave applier be in MTS
    mode and in a condition that it will throw the reported error message.
    
    Fix
    ---
    
    Just uncommented a suppression for the error message that was already
    present on the test case.

commit 3c2a73a2f9dbe75127e70e8c3e467ae9177ac485
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 13 21:44:04 2016 +0100

    Bug#24526123 ADAPTIVE SEND ALGORITHM IS BROKEN
    
    work around patch for Sparc, gcc 5.3 compiler bug.
    The compiler emitted a 64bit memory access instruction
    when accessing the 4 byte aligned trp_client::m_send_nodes_mask.
    
    Patch rearrange member variables such that m_send_nodes_mask
    is defined after the pointer member m_condition.

commit 1387f361a8fccf44a62ad5ab69be3f69865c9862
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Dec 13 14:30:24 2016 +0100

    WL#8971: Deprecate and remove partitioning storage engine
    
    Follow-up patch: Remove the now unused HA_OPEN_NO_PSI_CALL flag.

commit e58f46e57baca1d254667a82b68d1cc35425a345
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 13 18:13:33 2016 +0530

    Post Merge Fix
    
    Update the result files of a few failing tests, The change in result
    was due to the addition of a new warning in WL#9457: Deprecate support
    for non-native partitioning

commit 8ed11c6354720842ea690305757719f2ee873565
Merge: c0a4ebc 2d185e9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Dec 13 16:44:37 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2d185e98ff3f6f30c82e2559e3955171f533311e
Merge: 9b63567 8540aa8
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Dec 13 16:43:42 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8540aa850ecffffcafa56d579b8f94454d249ff7
Merge: 705e700 3a16634
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Dec 13 16:42:22 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 3a166341d0ba804fdb7c4aeb222836e41b818d0f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Dec 13 16:41:05 2016 +0530

    Bug #24595937: INCORRECT BEHAVIOR WHEN LOADING DATA TO VIEW
    
    Issue:
    ------
    While using the LOAD statement to insert data into an
    updateable view, the check to verify whether a column
    is actually updatable is missing.
    
    Solution for 5.5 and 5.6:
    -------------------------
    For a view whose column-list in specified in the LOAD
    command, this check is not performed. This fix adds the
    check.
    
    This is a partial backport of Bug#21097485.
    
    Solution for 5.7 and trunk:
    ---------------------------
    For a view whose column-list is specified in the LOAD
    command, this check is already performed. This fix adds the
    same check when no column-list is specified.

commit c0a4ebc2652668b03e34e92a7354b3409ca7ed86
Merge: 81d0376 9b63567
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Dec 13 11:17:00 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 81d0376e83e21692263f076d1030e657aec1a358
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 12 16:20:39 2016 +0100

    Bug#25240035: DON'T SET BOOST INCLUDE PATHS FOR FILES
                  NO LONGER USING BOOST
    
    Don't set -I to point to Boost headers for files that no longer
    need it. This makes it possible to re-enable compilation warning
    options for these files (which were disabled earlier because of
    Boost).

commit 9b6356708fb366641d9273ac7a005d820937dab2
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Dec 13 09:22:11 2016 +0100

    Bug #23748432 MYSQLPUMP FULL LOGICAL BACKUPS UNUSABLE WITH GTID REPLICATION
    
    Post push fix. On solaris set-gtid-purged default value is not getting set
    which is causing rpl_pump test to fail. This patch fixes the issue by
    explicitly setting default value for --set-gtid-purged option.

commit 2e040780370ba10289208f8f1ac65bef34f5334b
Merge: 8e524f7 a9df0fd
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 13 12:24:29 2016 +0530

    Merge tag 'mysql-5.7.17' into mysql-5.7-cluster-7.5

commit 6c5b9c1b83a4852f47e17fa4448642b063fc5e70
Merge: 582d6df 6b3b64d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 13 11:13:07 2016 +0530

    Merge tag 'mysql-5.5.54' into mysql-5.5-cluster-7.2

commit a03853575abc002bcd2415dc1acd3e9b9a2f7951
Merge: 2742c87 1920b22
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Dec 13 11:05:44 2016 +0530

    Merge tag 'mysql-5.6.35' into mysql-5.6-cluster-7.3

commit 9d4a3be69d54db48fac885fa047cb265d13d0a9e
Merge: 0a3222c a40f4e8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Dec 12 22:51:05 2016 +0530

    Upmerge of the 5.7.17 build

commit a40f4e8e74aa6a2c4e09079d0116911a1d187e34
Merge: a46509a a9df0fd
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Dec 12 22:49:47 2016 +0530

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

commit 0a3222c75249e15bd63f4ff4a718bdb2e270365a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Dec 12 14:11:21 2016 +0200

    Bug #25238906 SERVICE CAN'T BE REGISTRED BY PLUGIN WITHOUT REFERRING TO PRIVATE IMPL
    
    Added a SERVICE_IMPLEMENTATION(component,service) macro to allow
    using BEGIN_SERVICE_DEFINITION/DEFINE_*_METHOD/END_SERVICE_DEFINITION
    macros to define services outside of component definition context, e.g. for
    register_service().
    Updated the places where this name was constructed to use the macro
    Referenced service_implementation.h instead of service.h from
    component_implementation.h

commit a339683c5ff5c32e4ea04d6f9c977facc82d3bdb
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Mon Dec 12 19:41:43 2016 +0530

    Bug#25166648::ADD CHECK_PLUGIN_DIR.INC IN TESTS WHICH NEED MULTIPLE PLUGIN INSTALLATIONS
    
    Problem Description:
    As we know in mysql source, all the plugins might not be in the same
    location. Some MTR tests would require multiple plugins, so it is desirable
    that there is a check to see that, if all the plugins are in a directory,
    then the test should run, else it needs to be skipped.
    
    Fix: Added check_plugin_dir.inc in the MTR tests which requires multiple
    plugin installations.
    
    Reviewed by:
    Vikram G.G <vikram.gg@oracle.com>
    Srikanth B.R <srikanth.b.r@oracle.com>

commit 17c374082965498e6ec347b6d061fcfe092c8758
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 12 14:17:07 2016 +0100

    WL#8057 REMOVE INFORMATION_SCHEMA STATUS tables in MySQL 8.0
    
    Post-push fix: Fix Clang build warning.

commit 9e22fb9147a3b6b39cb42d1d625baaaa65858a3c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Dec 12 14:16:08 2016 +0100

    Bug#25167284: LIKE FUNCTION GIVES WRONG RESULT FOR ACCENTED CHARACTERS
    
    Post-push fix: Fix Clang build warning.

commit e3aab3a63792d305384bff2352eed2820e0fb949
Merge: a48ca59 a46509a
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Dec 12 18:49:41 2016 +0530

    Upmerge of the 5.6.35 build

commit a46509ab01ef90e467d7048f39aa38915145a2d5
Merge: a0eb31b 705e700
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Dec 12 18:48:32 2016 +0530

    Upmerge of the 5.6.35 build

commit 705e7005d6448c7fb1026a41dab1e7be4910ab13
Merge: 6ce0c0b 1920b22
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Dec 12 18:42:41 2016 +0530

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

commit a48ca5966a52077e0041a464628ecf47d68db5fa
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Dec 12 10:18:27 2016 +0100

    Bug#25229328 MAKE GET_SYS_VAR_SAFE() A FUNCTION
    
    The get_sys_var_safe macro is a preprocessor macro because it needs to
    be instantiated for several types. Since MySQL is now compiled with
    C++, we can use templates instead.
    
    Change-Id: I2bf6b20cc0c8ca4b946423e801ae8dfd7e8c93f7

commit e47e762b8da4ae9245542fe18a638083ed9d604c
Merge: e6a2a22 a0eb31b
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Dec 12 17:11:20 2016 +0530

    Upmerge of the 5.5.54 build

commit a0eb31bd117bd73d586aa11c556b6514555838ff
Merge: 6b68e35 6ce0c0b
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Dec 12 17:09:07 2016 +0530

    Upmerge of the 5.5.54 build

commit 6ce0c0b0b1af14d1f69f3b77966c9a71d03202d0
Merge: c947f38 db6ac93
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Dec 12 17:05:48 2016 +0530

    Upmerge of the  build

commit e6a2a2243f9f72da9eefdd374b3a8a3fd9cc380e
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Mon Dec 12 15:31:46 2016 +0400

    WL#1074: Add descending indexes support
    
    Cleanup patch after merging in WL#1074.

commit db6ac930767ef0fbfc4185039cdabc4bb278a24a
Merge: fcc5d8e 6b3b64d
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Dec 12 16:51:06 2016 +0530

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

commit c30911c6fedb233d8bfabcc80ec6db6a586285c2
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Dec 12 10:28:20 2016 +0100

    WL#8057 REMOVE INFORMATION_SCHEMA STATUS tables in MySQL 8.0
    
    Remove the following features:
    
    - table INFORMATION_SCHEMA.SESSION_STATUS
    - table INFORMATION_SCHEMA.SESSION_VARIABLES
    - table INFORMATION_SCHEMA.GLOBAL_STATUS
    - table INFORMATION_SCHEMA.GLOBAL_VARIABLES
    - system variable show_compatibility_56

commit 43b9d269bcf46dc4ccfea423f3e49b1fbfbae153
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Dec 12 05:24:45 2016 +0100

    Bug #23748432 MYSQLPUMP FULL LOGICAL BACKUPS UNUSABLE WITH GTID REPLICATION
    
    Post push fix. Fixed doxygen warning.

commit f8522f2326b14d80882acabf4f48e0f72a07add6
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Tue Dec 6 11:14:08 2016 +0800

    Bug #25167284: LIKE FUNCTION GIVES WRONG RESULT FOR ACCENTED CHARACTERS
    
    For ai_ci collations, accented characters compare equal with their base
    character, but the LIKE function treats them different. This is because
    my_uca_charcmp_900 compares characters without handling ignorable weight.
    
    Solution:
    Change my_uca_charcmp_900 function to compare characters' weight correctly.
    
    This patch also fixed the bug that LIKE function returns error result
    when the last two pattern characters are w_many followed by escape
    (ex, 'a%\\'), and reduced duplicated mb_wc call on same character.
    
    Change-Id: I960bb14d6b239cf3f504f2f703bf69cd58ecb1e8

commit 2ed12d93530758341e0e22b632c7f3be58aab90a
Merge: 2d3ec9e 8e524f7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Dec 9 23:51:51 2016 +0000

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 8e524f71f9a390296b0d6ab881e60ada7da2c933
Merge: 7748899 160f4ad
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Dec 9 23:02:30 2016 +0000

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Conflicts:
    	mysql-test/suite/ndb/r/ndbinfo.result
    	mysql-test/suite/ndb/t/ndbinfo.test
    	sql/ha_ndbinfo.cc

commit 160f4adb8f0cb882cd4f894c98ecfd7a0221d1e9
Merge: 2ae5116 2742c87
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Dec 9 18:30:38 2016 +0000

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 2742c87b6024269d30fd7a937dea6ce9c3be660c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Dec 9 17:47:09 2016 +0000

    Bug#25176404 NDBINFO : ASSERTION FAILURE SELECTING FROM NDBINFO.MEMORY_PER_FRAGMENT
    
    Backport of fix to BUG#20075747
      RND_INIT() ON AN OPEN SCAN IS USED TO REPOSITION THE CURSOR
    
    Extra testcase added.
    
    Will merge up with null-fix effect from 7.5 up

commit 2d3ec9ec35d6fa96764faa10405b4c5ee14b7b78
Merge: 897e041 7748899
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Dec 9 21:16:54 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 7748899febce8044f5638e5ef03a73160dc26cda
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Dec 7 14:30:51 2016 +0530

    Bug #11757421: SEND START OF NODE START COMMAND IGNORED IN RESTART
    
    Post push fix
    
    The patch caused the failure of 3 test cases: Bug16772,
    ArbitrationWithApiNodeFailure, and EventOperationApplier_NS
    
    The failures were due to the change in behavior caused by the
    patch. The data node restarts were expected to fail but the
    failures were silently suppressed previously. The tests are now
    updated to expect a failure in these cases.

commit 21db47762e0af1a0bd9a7b9c5026d7af7d1dd1cb
Merge: f8a2fdd 6b68e35
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Dec 9 14:39:09 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6b68e3500f40b29c3ea260c1ce84679af25df018
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Tue Dec 6 11:46:38 2016 +0000

        BUG#25202999 - MEMORY LEAK/ASAN FAILURE AFTER BUG#25134074
    
        Description:
        -----------
        After BUG#25134074, one introduced a leak on the code, since one returns
        directly from XCom callbacks in case of VOID_NODE_NO, but one needs to make
        some cleanup before effectively returning the control to XCom.
    
        Analysis and Suggested Fix:
        ---------------------------
        After detecting, in and XCom callback, that we are returning after detecting
        that our own node_no is VOID_NODE_NO, make all appropriate cleanup

commit f8a2fdd289af79839ad9e8f97f4ebbe5a7f52a12
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Dec 9 14:38:22 2016 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #6: Fix -Wunused-parameter warnings in GIS

commit 889eb05a3203389aaf497eb887cc5443a8276401
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Dec 9 10:47:50 2016 +0100

    Bug#25228584 ST_ASBINARY DOESN'T ACCEPT SECOND PARAMETER
    
    This is a regression introduced by the fix for bug #25027963.
    
    Problem: ST_ASBINARY doesn't accept it's second parameter.
    
    During the refactoring done in bug #25027963, ST_ASBINARY was defined as
    a function that only accepts one parameter instead of a function that
    takes one or two parameters. This made ST_ASBINARY and ST_ASWKB, that
    are aliases to the same function implementation, behave
    differently. However, since only ST_ASWKB was tested with two
    parameters, this was not discovered during refactoring.
    
    Fix: Define ST_ASBINARY as a function that takes one or two parameters
    and add more tests of ST_ASBINARY.
    
    Change-Id: I0b0ed078a92060a8bb81c6eab3eda5839e38b462

commit 021c3b239abf55fc976925e475c6adb5aa24e6c1
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Dec 9 11:48:30 2016 +0100

    Bug#24488219: INCLUDE WHAT YOU USE
    
    scope_guard.h includes <algorithm> because it uses std::move, but that
    particular variant of std::move is actually defined in <utility>.
    Furthermore, its use of std::move is redundant, because it is called
    on an expression that is already an rvalue. Also, the use of std::move
    prevents copy elision (aka RVO), which is more efficient than moving
    the return value because it bypasses the copy and move constructors
    entirely.
    
    Fix: Remove both the #include and the use of std::move.
    
    Change-Id: I66fc2e2cc08bfa83071d38bb4f6779c91bbeaf2f

commit c626a5affb3bbc10e561178b2d13187ea20721f5
Merge: 5809e81 f3aeed2
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Dec 9 12:20:29 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f3aeed2633b29e1959861107ad54370888502ce7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Dec 9 12:00:28 2016 +0100

    Bug #23748432 MYSQLPUMP FULL LOGICAL BACKUPS UNUSABLE WITH GTID REPLICATION
    In order to restore logical backups to a GTID enabled MySQL instance,
    mysqlpump must do two things to ensure that the GTID metadata on the new
    instance matches that of the original when the backup was taken
    1. Disable binary logging.
    2. Set @@GLOBAL.GTID_PURGED=@@GLOBAL.GTID_EXECUTED
    
    Prior to this patch mysqlpump was not performing the above 2 steps. Now this
    patch fixes the same.

commit 5809e81bdda4b2b52c7094df265b87a06910a681
Merge: 464e8fb 30b0ffb
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Dec 9 15:36:45 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 30b0ffb3c291433a76a028e4acafc7d187dca9cb
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Dec 9 15:35:07 2016 +0530

    Bug #24810564: INCORRECT BEHAVIOR OF UPDATE TABLE IN A
                   STORED PROCEDURE
    
    Issue:
    ======
    This problem occurs under the following conditions:
    1) Multi-table update statement with a derived table that
       will be optimized away.
    2) The update statement is part of a procedure and has a
       specific DEFINER.
    3) More than one call of the procedure.
    
    Before checking privileges on a table, the user is granted
    select authorization on derived tables. When the procedure
    is called for the first time, this is done during the
    prepare phase by the optimizer while resolving the derived
    table (see TABLE_LIST::resolve_derived). In this case that
    derived table is merged into the outer query by the
    optimizer.
    
    On the second execution, multi-table update doesn't
    distinguish between derived tables and regular tables and
    unsets the required grant privileges already assigned to
    the derived table's object. This happens when a merged
    derived table is part of a materialized derived table.
    Optimizer ignores the derived table object since it has
    been merged into the outer query. This will result in
    incorrect behavior when checking for permissions on the
    derived table.
    
    Solution:
    =========
    For multi-table update, the precheck phase doesn't
    distinguish between regular tables and derived tables that
    are part of the subqueries.
    
    The fix is to make sure that derived tables are handled
    differently. While setting permissions, currently
    next_local is used to traverse the table list. This results
    in skipping for some derived tables. This has now been
    changed next_global. And due to this, it is also not
    neccessary to handle the subqueries in the table list
    separately.
    
    Similar problem exists in the precheck code of CREATE VIEW.
    This has also been modified on 8.0.

commit 464e8fba5700758fd24fd7c4ceba40cffae640b5
Merge: 410314f ffc8be4
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Dec 9 09:58:38 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ffc8be42498bded67d219c42ecda269d8a40b2b3
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Dec 7 11:10:49 2016 +0100

    BUG#22322685 ERROR LOG DEFINED PATH MIS-ALIGNS WITH LOGROTATE.D CONFIG IN RPM INSTALL
    
    Use cmake variables to align paths.

commit 410314ff8f3da6ed7c6176b33a8c786ec4f2a082
Merge: 13a46b4 9ca93e0
Author: Parveez Baig <parveez.baig@oracle.com>
Date:   Fri Dec 9 12:14:28 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9ca93e090378514070eb93fc6055641a608e2884
Author: Parveez Baig <parveez.baig@oracle.com>
Date:   Fri Dec 9 12:12:28 2016 +0530

    Bug#21326745: ASSERTION FAILURE IN TEST RPL_GTID.RPL_SYNC_RELAY_LOG_INFO
    
     There are two types of assertion failures in test.
      1)In the test some operation is performed on master and
     on slave assertion is made whether the master_log_name
     and master_log_pos have got updated in mysql.slave_relay_log_info.
     The assertion is failng with the result that the master_log_file
     and position have not got synced since before the assertion is
     made the test doesn't guarantee whether the slave has synced it's
     IO_THREAD with the master.
    
      2) some times there is assertion failure in gtid_step_assert.inc.
     This file checks that n number of gtid's have been added since
     last call to gtid_executed was made. This assertion is failing
     since before the assertion is made the test doesn't guaratee
     whether the slave's IO_THREAD is in sync with the master.
    
     Fix: Replaced assert.inc with wait_condition.inc.
         Added sync_slave_io_with_master wherever necessary.

commit 13a46b4c5ea15481777c7ec06b4c90f39d61fa39
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Dec 7 16:07:26 2016 +0100

    Bug#25207156 MAKE ITEM::NULL_VALUE BOOL
    
    Change the type of Item::null_value from my_bool to bool.
    
    Change-Id: Ie9121769300f5d0770453e502f4f5d786d5e519b

commit 897e041caccc7aca5e2d170a1da77c94a74e9e7d
Merge: 1f27b3e 48d70ad
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Dec 8 10:17:46 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 48d70ad405575b95d31ba19358df77bff2f43ed4
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Dec 8 09:55:14 2016 +0100

    Bug#25056856 NDB_RPL_DIST_PRIV FAILS
    
    The failures seem to be due to strict sql_mode checks for timestamp values.
    Relaxing sql_mode while running the stored procedures. This is similar to
    what is done when the tables are created during installation process.
    The sql_mode is here however set to not alllow running procedures if ndb
    is not configured (no default substition of storage engine).

commit 1f27b3e1c59055923a3252eb6066d5f1aa6b1f40
Merge: c30873d 61b241b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 8 12:32:49 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 61b241b0a1e34e81b8f93e56fa91ee6523ba1420
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Dec 2 14:10:53 2016 +0530

    Bug #24383742 NDB : NDB_SHOW_TABLES MISSING TYPE NAME TEXT FOR SOME TYPES
    
    Problem:
    --------
    
    Type column entries for Fully Replicated trigger missing from
    ndb_show_tables output.
    
    Fix:
    ----
    
    Added missing cases for Fully Replicated trigger in ndb_show_tables

commit 7804910f184a3b6b048fbbbd830584fd7a23a4d5
Merge: a483aaf 2ae5116
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 8 12:29:06 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 2ae5116a30c94d24c01aa246d554813e3f870382
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Dec 8 11:40:28 2016 +0530

    Bug #24383742 NDB : NDB_SHOW_TABLES MISSING TYPE NAME TEXT FOR SOME TYPES
    
    - Update the ndb_hashmap test to use type 'HashMap' instead of
      '0'

commit d1c8153da1a2e280aa8b3c9f8beed74bfd624b1f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Dec 2 14:09:46 2016 +0530

    Bug #24383742 NDB : NDB_SHOW_TABLES MISSING TYPE NAME TEXT FOR SOME TYPES
    
    Problem:
    --------
    
    Type column entries for HashMap missing from ndb_show_tables output
    
    Fix:
    ----
    
    Added missing case for HashMap in ndb_show_tables. Also added the
    missing mapping of the HashMap table type from DictTabInfo to
    NdbDictionary

commit 0c5f558eb500918c825f062b8635a96118f4feaf
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Dec 5 16:52:47 2016 +0530

    Bug #25189666: FAILURE OF MYSQLSHOW_CS TEST IN THE NDBCLUSTER BUILD
    
    Problem:
    --------
    
    The mysqlshow_cs (and probably _ci) test fails when ndbcluster is built. The
    reason is due to the presence of an additional INFORMATION_SCHEMA table
    created in ndb, namely ndb_transid_mysql_connection_map
    
    Fix:
    ----
    
    Suppress the ndb_transid_mysql_connection_map table from the output
    of mysqlshow INFORMATION_SCHEMA. The include file not_ndb_is.inc
    can also be removed as the test now does not have to be skipped
    for NDB and this is the only place the include file was used

commit aba34f1205d738e2c2557c813c32fabea91c580a
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Tue Dec 6 11:47:49 2016 +0100

    Bug #25215806 -	WARNINGS DURING COMPILATION ON WINDOWS IN OS0FILE
    
    RB#14827
    Reviewed by: Kevin Lewis

commit 9861fc130e0ed1b6424fdee48fbfff255d39502f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Dec 7 18:28:51 2016 +0100

    WL#1074 Add descending indexes support
    
    Follow-up patch to stabilize innodb_gis.point_big when running with 4K page size.
    
    Approved by Evgeny Potemkin <evgeny.potemkin@oracle.com>.

commit eac4a5c765a098335a3ed2ae6185356340932fa9
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Dec 7 09:34:28 2016 +0100

    Bug#25213029: TRUNK FAILS TO BUILD; TABLE.CC(7279): ERROR C2672:
                  'STD::MIN': NO MATCHING OVERL
    
    MAX_INDEXES is defined as 64U by default, so it's an unsigned integer.
    If you specify a custom value for it when you run cmake, and you leave
    out the U suffix, it will be defined as a signed integer instead. This
    confuses the compiler when it is used in a context where an unsigned
    integer is expected, and the build fails.
    
    Fix: Automatically add the U suffix to MAX_INDEXES if it is specified
    without a suffix.
    
    Additional fixes:
    
    - raise an error if an invalid value is provided (not an unsigned integer)
    
    - set MAX_INDEXES to 64 if a lower value is provided, as that is what
      the documentation says it should do
    
    Change-Id: I05a9ec10361e5ec3e2c245572f860c1acbd4699e

commit a46d4f9879dd66886835457d5a9884b6992a0b27
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Dec 7 14:08:12 2016 +0100

    Bug#25183521: Rename a few fields in Query_result class
    
    Some functions are given more comprehensive names:
    
    - initialize_tables() is renamed to optimize()
      This function is called during the optimization stage to create
      specific objects that are needed for execution.
    
    - prepare2() is renamed to start_execution()
      Despite the name, this function is actually called at start of
      execution, after optimization.
      So, we can eliminate a few "prepare() && prepare2()" constructs
      because they target different phases.
    
    Fields used in prepared DELETE and UPDATE statements change semantics
    slightly:
    
    - do_delete replaced with delete_completed.
    - do_update replaced with update_completed.
    
    These booleans will start out in false state and get set to true when
    the operation is actually completed.
    For repeated executions, they will likely be set to false in appropriate
    start_execution() function.
    
    In addition, some arguments and return values are cleaned up.
    Return values are changed from int to bool.

commit 5276316a866b77a0d8a3c6ba19dd6bf4227acbf9
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Dec 7 15:41:50 2016 +0530

    Bug #14025581 FILE IO INSTRUMENTATION DISABLED IN PERFORMANCE SCHEMA FOR INNODB
    
    Post Push fix for performance regression on windows trunk.
    
    Reviewed by : Jimmy Yang <Jimmy.Yang@oracle.com>

commit 25c1188a3452f77f258908297abc8d045684ef48
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Wed Dec 7 09:26:46 2016 +0100

    WL#8737 IO aware defaults for optimizer cost constants
    Addendum: Reset cost constant at end of greedy_search.test
    	  to avoid affecting other tests

commit 0e70fc9eaf378a35f67cd22d88cd90c7e6de67e1
Merge: 14e703f 7ad9ce6
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Dec 7 07:23:55 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7ad9ce68945f16689abac2d3a0a5e93d0b3b3f5b
Merge: 70783c1 c947f38
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Dec 7 07:22:00 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c947f381f36d4e542934da7ab0f808b0e8b38d26
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Dec 7 07:20:44 2016 +0530

    Bug #25095582: OPT_TRACE.BUGS_NO_PROT_ALL FAILS ON PB2 WITH
                   RESULT CONTENT MISMATCH
    
    Adding analyze table to the tests added as part of
    Bug #23227428 and Bug #23259872.
    
    For Bug #23227428, there is no need for a full trace
    output. We are looking for a specific string to make sure
    that the range optimizer is re-run with the new index.
    
    This is to avoid the sporadic failures seen on pb2.

commit 14e703fb6ff1ea823891ac024f576a2625de51e7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 00:01:10 2016 +0100

    Bug#25047951 ADD BUILD TIME CHECK THAT MYSQL_SYSTEM_TABLES.SQL MATCH OUTPUT OF NDBINFO_SQL
    
    Problem:  The ndbinfo part of mysql_system_tables.sql should match the
              output of ndbinfo_sql if build with ndbcluster.
    
              Currently there are no build time enforcement of this and
              mysql_system_tables.sql and ndbinfo_sql have diverged.
    
              This can cause confusion and failures when ndbinfo is used
              since mysql_system_tables.sql might not be updated
              accordingly to ndbinfo_sql.
    
    Solution: If build with ndbcluster mysql_system_tables.sql will be patched
              into a new file using the output of ndbinfo_sql.  Then the
              original and patched mysql_systen_tables.sql will be compared
              and if not equal build will fail.  And developer are forced to
              take action to make build succeed.

commit cecfacbce6fe169788d0802988ca763f20486fa3
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Dec 6 18:49:34 2016 +0530

    Bug#25082240: SOME MTR OPTS DONT WORK IF RELATIVE PATH FOR FILE GIVEN
                  ON OUT-OF-SOURCE BUILDS
    
    Post push fix: Modifying the get_bld_path subroutine
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit 3fa32a7669501100bbd1df137bb39441cad14567
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Dec 6 16:31:08 2016 +0530

    Bug#25082240: SOME MTR OPTS DONT WORK IF RELATIVE PATH FOR FILE GIVEN
                  ON OUT-OF-SOURCE BUILDS
    
    Issue:
    ------
    In out-of-source builds, some MTR options which accept files as input
    do not work if the relative path to the file is given. This is because
    MTR looks for the file in the path relative to the MYSQL_TEST_DIR only,
    and not relative to the build directory.
    
    Fix:
    ----
    The files given as input to these options will also be looked for in
    the MTR_BINDIR in case of out of source builds.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14775

commit 4f881c7f9471c0459a26ae8bcf5bf33675cb8e83
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Sun Dec 4 22:22:08 2016 +0100

    Bug#25201815: USE STD::IS_TRIVIALLY_DESTRUCTIBLE IN MEM_ROOT_ARRAY
    
    Remove the has_trivial_destructor template parameter from
    Mem_root_array, and instead let it determine automatically if the
    elements are trivially destructible using
    std::is_trivially_destructible.
    
    There were three cases where the has_trivial_destructor value did not
    match std::is_trivially_destructible:
    
    1) in_string::base_objects is a Mem_root_array of String objects,
    where has_trivial_destructor was true even though the String class has
    a non-trivial destructor. in_string's destructor manually destroyed
    all elements of the array to compensate for this. Now the memory is
    managed by Mem_root_array, and the manual destruction is removed.
    
    2) in_row::base_object is a Mem_root_array of cmp_item_row objects,
    where has_trivial_destructor was true even though the cmp_item_row
    class has a non-trivial destructor. Now the objects are destroyed
    automatically by Mem_root_array instead of manually by in_row's
    destructor.
    
    3) in_decimal::base is a Mem_root_array of my_decimal objects.
    my_decimal has a non-trivial destructor, but has_trivial_destructor
    was set to true. The destructor only contained sanity checks and did
    no resource management. Now we only define the destructor in debug
    builds, so that destruction is trivial (and still skipped) in
    optimized builds.
    
    Change-Id: I935c68a196545ed78fff10d17386f07da964f936

commit c30873d13ccffb6f579429cbd370b13413f3cf40
Merge: 0095141 a483aaf
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 6 10:45:04 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (bug#25103068)

commit a483aafd0a4d70130439bfb44eba24666531c544
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Dec 5 21:46:50 2016 +0100

    Make patch_file work the same on Windows as on Linux.
    
    Ignore CR in input files on Windows.
    
    Use only LF in output files for new line.
    
    Post push fix for bug#25047951.

commit 2f86ce9ef157ab58e36780609bea73550837b53a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Dec 5 17:08:25 2016 +0100

    Bug#25202208 REMOVE SUPPORT-FILES/PLUGINS.FILES
    
    Remove support-files/plugins.files,
    it is no longer in use for producing RPM packages
    
    Change-Id: I298c3b81fcaa7bd42b5b75c393838ea4275d0b43

commit b9d9d4cca65ea6faae04641a7f065420c01598f8
Merge: 89869f2 70783c1
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Dec 6 08:49:54 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 70783c13ecb34bfbabfa3f10836c95181cfaf9d3
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Dec 2 10:38:22 2016 +0000

    BUG#20551133: SPORADIC FAILURES IN RPL_GTID_LOGS_WITHOUT_ROTATE_OR_STOP_EVENT
    
    Problem
    -------
    
    The test case is sporadically reporting a unexpected warning found on
    the slave error log:
       Request to stop slave SQL Thread received while applying a group
       that has non-transactional changes; waiting for completion of the
       group ...
    
    Analysis
    --------
    
    The test case added a suppression on the master that is replicated to
    the slave before a call to "STOP SLAVE".
    
    As there is no slave synchronization with the master before the stop
    slave request, the slave applier can be still applying the transaction
    with the suppression message, that uses non-transactional storage
    engine. In this case, the unexpected warning message will be logged in
    the slave error log.
    
    Fix
    ---
    
    The suppression is only needed on the slave side. Making the suppression
    to only be applied on the slave should avoid the behavior reported on
    the analysis section.

commit 89869f2eb5258f5281cb7d4377c12b6afad65212
Merge: ef70172 2b34d1d
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Dec 6 09:24:31 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ef70172b557ac7f7147f4b933576b31e20efd41a
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Dec 6 13:43:24 2016 +0530

    Bug#20266641 - STORED ROUTINE PRIVILEGES ARE NOT GRANTED
                   TO ANONYMOUS USER
    
    DESCRIPTION
    ===========
    When the 'automatic_sp_privileges' variable is set, it is
    expected that the server automatically grants the EXECUTE
    and ALTER ROUTINE privileges to the creator of a stored
    routine, if the user cannot already execute and alter
    or drop the routine.
    However, in this case, if the creator of a routine is
    anonymous user, which has only CREATE ROUTINE privilege,
    grant operation fails with the following warning:
    Failed to grant EXECUTE and ALTER ROUTINE privileges.
    
    ANALYSIS
    ========
    The creator of a routine is the account used to execute
    the CREATE statement for it. This might not be the same
    as the account named as the DEFINER in the routine
    definition.
    At the time of creating procedure current_user (in this
    case, anonymous user) is used for privilege checking.
    However, at the time of granting privileges, we take into
    account the connected user.
    If the current_user does not have the privilege to create
    a new user, the grant operation fails to grant EXECUTE and
    ALTER ROUTINE privileges. If it has the privilege to create
    a new user, we unintentionally end up creating a new user
    whereas our intention was just to create the procedure.
    
    FIX
    ===
    In sp_grant_privileges, we should use current_user as a
    grantee and not the connected user.

commit 2b34d1d20b5b90aee3af11d0467c689734ff9b20
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Dec 6 09:05:26 2016 +0100

    Bug#24493829 SETTING THE NULL_AUDIT_EVENT_RECORD CAUSES SEGMENTATION FAULT
    
    Post-push fix. Memory leak fixed (reported by Valgrind).

commit af9549b2b33f6dd24d333ac8d68261f9c03b4f84
Merge: aacd5a3 86ad268
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Dec 6 09:08:06 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 86ad2686cf0ec91355d15c3cf589ae472861c5a3
Merge: 95caacd de9350b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Dec 6 09:07:44 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit de9350b1236d5ff9b18b16179fc3b588bc15351b
Merge: c6f02fe fcc5d8e
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Dec 6 09:06:47 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit aacd5a3184e73e541d6813a9e17f1a4f4e34ab8b
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Tue Dec 6 08:46:09 2016 +0100

    WL#8737 IO aware defaults for optimizer cost constants
    Addendum: Stabilize some long-running tests
    
    Tests that runs long with much data got unstable cost estimates after
    WL#8737 since InnoDB would not necessarily have all of tables/indexes
    in buffer pool for the entire test.
    
    mysql-test/include/index_merge_ror.inc
    mysql-test/r/index_merge_innodb.result
    mysql-test/r/index_merge_myisam.result
      Mask entire cost estimates, not just decimals.
    
    mysql-test/r/greedy_search.result
    mysql-test/t/greedy_search.test
      Set memory_block_read_cost equal to io_block_read_cost to make plan
      search independent on how much data is cached in buffer pool.

commit fcc5d8ed6fddf3edb594d0f2ea2429fbd9b644b0
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Dec 6 08:35:26 2016 +0100

    BUG#13788154 INIT.D MYSQL SCRIPT CREATED BY MYSQL SOLARIS PACKAGE FAILS TO RUN DUE TO USE OF PIDOF
    
    pidof is Linuxism, prefer pgrep on other UNIX systems.

commit 1e97dad4d88aa1e1c0b149af437e10389aa57580
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Nov 11 10:01:50 2016 +0100

    Bug#24909223: EXCESSIVE MEMORY USAGE BY QUERY
    
    Problem: A block nested loop sometimes allocates a new record buffer
    each time it restarts reading of the inner table. Since the record
    buffers are not freed until the executing statement has completed,
    this leads to growing memory usage during the execution of the query.
    
    Fix: When reopening a handler that has already allocated a record
    buffer earlier in the same statement, reuse the previously allocated
    buffer instead of allocating a new one.

commit 2f25c8ddf506a402b0bc83c7445aaa860f708017
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Dec 2 00:33:25 2016 +0100

    Bug#25186409: USE STD::IS_TRIVIALLY_DESTRUCTIBLE IN PREALLOCED_ARRAY
    
    Remove the Has_trivial_destructor template argument from
    Prealloced_array and instead deduce it automatically using
    std::is_trivially_destructible.
    
    Change-Id: I094eb9bf8f5c7e360d68c9543c94eb38d515e840

commit da23d6b8e44b6fcb94cd40f779d061d8ce98bd67
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue Dec 6 01:19:59 2016 +0100

    Added a run with --big-test. Removed embedded runs since they run in per push and failures will be caught in WL tree

commit 00951414d0f4bc8d1a9bd08326124b0229389998
Merge: ccdbb06 6989b24
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Dec 5 18:16:43 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (bug#25103068)

commit 6989b24d2b1a1578b93786451f062b035ffeaa46
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 00:01:10 2016 +0100

    Bug#25047951 ADD BUILD TIME CHECK THAT MYSQL_SYSTEM_TABLES.SQL MATCH OUTPUT OF NDBINFO_SQL
    
    Problem:  The ndbinfo part of mysql_system_tables.sql should match the
              output of ndbinfo_sql if build with ndbcluster.
    
              Currently there are no build time enforcement of this and
              mysql_system_tables.sql and ndbinfo_sql have diverged.
    
              This can cause confusion and failures when ndbinfo is used
              since mysql_system_tables.sql might not be updated
              accordingly to ndbinfo_sql.
    
    Solution: If build with ndbcluster mysql_system_tables.sql will be patched
              into a new file using the output of ndbinfo_sql.  Then the
              original and patched mysql_systen_tables.sql will be compared
              and if not equal build will fail.  And developer are forced to
              take action to make build succeed.

commit 0e9f74a15bc7ba013d0091cb07a0901eaa10ca01
Merge: 9b01885 95caacd
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Dec 5 17:59:40 2016 +0100

    Null-Merge remote-tracking branch '57bug/bug' into bug
    
    # Conflicts:
    #	mysql-test/suite/gcol/r/gcol_partition_myisam.result

commit 95caacdd97f2ced11edb36ca702bbf6b27fb1614
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Dec 5 17:56:04 2016 +0100

    Bug#22574695 ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(TABLE->READ_SET, FIELD_I
    
    Back-port from trunk.

commit 9b018853bdbe785ac69fd909db88a973b3a34844
Merge: 83b2c60 960b761
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Dec 5 17:48:40 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 960b761e4a4e3a7e507c08bea3206ee4fe46e291
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Nov 30 12:19:21 2016 +0100

    BUG#24964923: SPORADIC GR LOCAL PORT BIND FAILURES ON WINDOWS
    
    After extensive investigation and discussion, we concluded that the
    bind failures on Windows are expected due to two reasons:
    a) Group Replication does use SO_EXCLUSIVEADDRUSE on its sockets
       on Windows. This disallows that a second application can
       eavesdrop on a socket of another application.
       This option on some situations requires that a given time delta
       elapses between socket close, socket reopen. Exactly what we are
       seeing on PB2 and Hudson.
       https://msdn.microsoft.com/en-us/library/windows/desktop/ms740621(v=vs.85).aspx
    b) On Group Replication we have both client and server sockets, due
       to the event driven of our group communication library, we do
       not control the socket close order.
       When the server socket closes after the client socket, we jump
       into one of the situations on which SO_EXCLUSIVEADDRUSE option
       does require a given time delta between socket close and reopen.
    
    To minimize this behaviour, we did try several approaches, despite
    all had reduced the number if bind failures, none did make the
    number shrink to 0.
    Which leaves us with only one ultimate solution: make MTR deal
    with bind failures in a graceful fashion.
    The approach is:
      After START GROUP_REPLICATION, we check if the command did
      fail due to a bind failure, if it did:
        on Windows systems: the test will skip itself;
        on other systems:   the test will fail.

commit 83b2c602d4eb41b21aad8fca8105fd5b7b25fc56
Merge: 7701f4a 140be25
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Dec 5 16:33:33 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 140be259453145826fd0a3e1d29c0ab6e4c9458f
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Nov 25 20:03:07 2016 +0100

    Bug #25202079: Removal of unused code from X Plugin
    
    - removal functionality of register_server_state_observer,
      unregister_server_state_observer
    - minor refactoring around to_string functionality
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14793

commit 7701f4a564941fe8667904102fc708687750802c
Merge: 997e20e 43c0e21
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Dec 5 16:00:55 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 43c0e21e3613554fb8f10dce432fc411433ca761
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Nov 30 17:17:22 2016 +0100

    BUG#25170698: GR+MTS: ER1755 CAN BE IMPROVED FOR MTS LC -> MTS DATABASE
    
    Group Replication only does support logical clock parallel applier.
    Despite that we may replicate to a external server from the group,
    and that external slave may be configured with database parallel
    applier.
    When this topology is in place, the external server would refuse to
    replicate the View_change_log_events from the group, since those do
    not include database context. Applier was, preemptively stopping
    instead of continuing and cause possible inconsistencies.
    Though View_change_log_events are NOP events when are outside of a
    group, they are just written to binary log, so we are safe to apply
    them and continue applying replication events.
    
    To avoid the database parallel applier stop when it handles a
    View_change_log_event, we mark this event type as IGNORABLE, which
    allows database parallel applier to execute it despite not having
    database context.
    Also, marking View_change_log_events and
    Transaction_context_log_event as IGNORABLE avoids:
     1) applier binary log decoding when reading 5.7+ binary/relay log
        files with 5.6 client tools;
     2) replication stop while replicating from a GR group to a 5.6
        server, directly or through a 5.7 slave between the group and
        the 5.6 server.

commit 997e20ee338d19d8cb001cda471807dff4f88e79
Merge: 5c1fb3a aa59819
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Dec 5 16:04:30 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit aa598191c630bfb20f4a95c0302893de99a853a1
Merge: 6784a0e c6f02fe
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Dec 5 16:02:12 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit c6f02fe8cd7c037bc7d7e3f49c7f575cf78a095d
Merge: ac4b7e5 a85a63b
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Dec 5 15:58:55 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit a85a63be7ec2be986aafdd7fdbe3a96e0afe52cd
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Dec 5 15:36:23 2016 +0200

    Bug #25111907: XML TEST FAILS WITH UNDEFINED BEHAVIOR
    
    The XML parser position stack for each level is with a fixed depth.
    So a bounds check was done to ensure that this depth is not exceeded.
    But it was off by one (i.e. the size of the array was a valid index).
    Fixed by decreasing the allowable depth by one to match the maximum
    number of elements in the position stack.

commit 5c1fb3a98343e383041410df4d86a05f4fb8f167
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Mon Dec 5 13:25:57 2016 +0100

    Bug#24963580 INFORMATION_SCHEMA:MDL_REQUEST::INIT_WITH_SOURCE(MDL_KEY::ENUM_MDL_NAMESPACE
    
    The problem is that if the mysqld server is started with
    --lower-case-table-names != 0.  And then if the first
    command is 'use information_schema;' from the first client,
    then we hit a assert() in server.
    
    The reason is that the first 'use information_schema'
    command triggers reading table information for
    auto-completion of table/column names. This intern executes
    COM_FIELD_LIST command. The problem is that COM_FIELD_LIST
    ends up converting INFORMATION_SCHEMA (I_S) table names
    to lowercase, if lctn != 0. This causes the function
    TABLE_LIST.init_one_table() command to assert which excepts
    the I_S table names to be in capitals, as per WL#6599. This
    patch fixes the problem by avoiding this conversion for
    I_S table names.
    
    A test case is added.

commit e4988e2b972a4ea1adf1850ea8f48662de18379b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Dec 5 13:16:11 2016 +0100

    WL#8582 INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS
    
    Post push fix to record failing test case on Windows.

commit 2acc9509b10e953089cca63d1bf5b48ff3c0382f
Merge: bf0fd7c 6784a0e
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Dec 5 14:44:44 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6784a0e47472155eb5b811d5f359bd311dceb4e5
Merge: 5ab78ff ac4b7e5
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Dec 5 14:43:54 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ac4b7e58c49ec13fec23c1cec0448772aad25d3c
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Dec 5 14:42:47 2016 +0530

    Bug #25147515	SET DAEMON_MEMCACHED_R_BATCH_SIZE GREATER THAN 1 MAKE MYSQLD CRASHED
    
    PROBLEM
    -------
    User starts a "get" the the connection with SET DAEMON_MEMCACHED_R_BATCH_SIZE= 5
    and with binlog on. Since "get" is a read transaction this connection is not
    allocated any conn_data->thd (which is used for bin log commit).The connection
    is kept open. Innodb background thread tries to commit transactions which have
    exceed CONN_IDLE_TIME_TO_BK_COMMIT and whose read batch size > 0, when it finds
    this connection it tries to attach conn_data->thd to bin log thread.Since
    conn_data->thd is NULL it crashes.
    
    FIX
    ---
    Check conn_data->thd value before attaching it to binlog thread.

commit bf0fd7c12b10026eddd45dcb416b84b0f17abfe3
Merge: 7e79b59 5ab78ff
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 5 09:46:42 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5ab78ffbdf3d8ae8cea3e3037b09a0d2d9d8a075
Merge: 1bd08bf e642fc1
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 5 09:45:11 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit e642fc14834bb4daa65fb36dee66efb6c58a9a41
Merge: bcd02cb 53fc942
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Dec 5 09:24:18 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 53fc942d602659419e73dc59ecd37cefd50a6bff
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Dec 2 13:33:44 2016 +0100

    Bug#22240513 REMOVE GITIGNORE / BZRIGNORE FROM OFFICIAL RELEASE
    
    Add .gitattributes to let git archive ignore .gitignore.

commit 7e79b5949c06654f10390b01b52668f70ba6886a
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Sun Dec 4 21:44:21 2016 -0700

    Bug 25139933 INNODB CRASHES WITH VECTOR::_M_RANGE_CHECK
    
    The round-robin code recently refactored in RB#13164: Bug #24462978
    is not correct for both selecting an undo tablespace to truncate and for
    selecting an rseg for a new transaction.
    
    The affect of bad code in get_next_redo_rseg() can be seen in n-test
    reported by Bug 25139933.
    
    The affect of bad code in undo::get_scan_next() can be seen by starting
    innodb_undo.truncate with more than two undo tablespaces.
    
    In addition, several test cases were still running under the assumption
    that 32 rollback segments in the TRX_SYS page are reserved for rsegs
    in the temporary tablespace.
    
    Approved in rb#14762 by Thirunarayanan Balathandayuth

commit c80bbc8dfe34f2091ebf362aa22e56f14c06a290
Merge: 3d1f762 1bd08bf
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Dec 5 10:26:24 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1bd08bf9d6c6ab75dfbff8ce957cbda5edac1996
Merge: 3ffe32e bcd02cb
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Dec 5 10:19:40 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit bcd02cbd1b3135b8a50d25996d83bf974d2cbcea
Merge: 6ff7d00 ad1b361
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Dec 5 10:19:09 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ad1b3617259dc325ef843740feda1a6bfcafeb45
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Dec 5 10:17:40 2016 +0530

    BUG#25147154 : MTR TRIES TO COPY CONTENTS FROM /TMP/DATA
    
    Description :
    =============
    When a MTR test run is started, it initializes the server and creates
    the datadir under '$MYSQL_TEST_DIR/var'('/tmp/var' or '/dev/shm/var'
    if --mem option is used) location and then copies it to the datadir
    location of server(s).
    
    If $parallel == 1, datadir location of the server is
    '$MYSQL_TEST_DIR/var/data'. If $parallel > 1, datadir location of any
    server is '$MYSQL_TEST_DIR/var/<thread_num>/data'.
    
    This is the reason MTR searches for the initialized datadir in 2
    locations('$opt_vardir' and '$opt_vardir/..') from the current vardir
    location..
    
    But this can cause few problems. If a directory with the name 'data'
    already exists under '$MYSQL_TEST_DIR' and if the MTR run is started
    with parallel value 1, then
    
    1. copytree($install_db, '$opt_vardir/..') command will fail if the
    user doesn't have the access permission to '$MYSQL_TEST_DIR/data'
    directory.
    2. Unnecessary contents from '$MYSQL_TEST_DIR/data' directory will be
    copied to server datadir location and this might affect the server
    startup.
    
    Fix :
    =====
    Depending on the $parallel value decide whether the path for the
    initialize datadir is "$opt_vardir"(i.e $parallel = 1) or
    "$opt_vardir/.."(i.e $parallel > 1).
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 14773

commit 3d1f762ada4f3b5f8970d1e433d004fe4dfa9870
Merge: f260eb4 3ffe32e
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Dec 5 09:25:46 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3ffe32e0817fea7b6337966094d85fec9b891a4c
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Dec 5 09:24:19 2016 +0530

    BUG#25126722
    post push fix: disable embedded mode for innodb.foreign_key

commit f260eb4c84abc8c30bd05494535eb14e683a5b63
Merge: 93bdab0 324eb2c
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Sun Dec 4 18:48:13 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 324eb2cf7e8bc3cefe6569c3282996d400aa6bb4
Merge: 69b5779 6ff7d00
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Sun Dec 4 18:47:33 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6ff7d00c4c18c63a9ef0eab086a56604cdf1aef0
Merge: de739c7 e902b24
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Sun Dec 4 18:46:49 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e902b2400da17f4646b019bf79066e331c5b1581
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Sun Dec 4 18:44:51 2016 +0530

    Bug#24449090 - BUFFER OVERFLOW IN FUNCTION DUPL
    
    Post-push fix for memory leak in the code inside
    DBUG_EXECUTE_IF("bug24449090_simulate_oom",...);

commit 93bdab03438bb950eee874baedd218e28b96979e
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Nov 25 13:04:18 2016 +0000

    BUG#25033494 - COMPILATION WARNINGS WITH GROUP REPLICATION PLUGIN - GCS/XCOM
    
    Description
    ---------------------------
    
    We were warning free when building with Clang (default on OSX/FreeBSD, also
    used on Linux) until WL#9053 was pushed.
    After the push, I'm counting 312 warnings.
    
    Out of these 150 warnings (there are 2 builds in the log), around 90 belong
    to the GCS layer.
    
    How To Repeat:
    -------------
    Build with Clang
    
    Suggested Fix:
    -------------
    These issues happen on CLang 3.8/8.0. After a careful analysis, we concluded
    that those are false positives on C code.
    
    On XCom sources only, we will inihibit the -Wconditional-uninitialized.

commit 5a65d3e2c8167038e8919b4e0462f49c801c434b
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Dec 1 18:22:41 2016 -0600

    Bug#24596263 VALGRIND: CONDITIONAL JUMP OR MOVE AT DTOA
    
    Initialize last_query_cost and last_query_partial_plans during THD construction.
    
    These fields are initialized separately from the other status variables.
    RQG/valgrind revealed cases where the status vars of a new THD can be read
    before the query cost fields are initialized.

commit 26100a8e0ce95bd772a0131968d33cb9890ab12f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Dec 2 10:51:43 2016 +0100

    Bug#25176729 CLEANUP MY_PWRITE UNIT TEST
    
    Patch #2 fixing unit test for my_write
    
    Change-Id: I84d232d5816af30080932a529bf2e9103a1c86d1

commit e4a8d462dfdcd7dfa7da3beafdaa7d496721b88f
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Fri Dec 2 16:29:04 2016 +0400

    WL#1074: Add descending indexes support
    
    Updated tests due to behavior change introduced in WL#1074.

commit 6561fb39981ef2570248456d3e903d20298dfd0d
Merge: 5f44906 69b5779
Author: Vikram G <vikram.gg@oracle.com>
Date:   Fri Dec 2 16:48:23 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 69b5779acee7dade1a43c7e5f723b64f88697128
Author: Vikram G <vikram.gg@oracle.com>
Date:   Mon Nov 28 11:07:45 2016 +0530

    Bug #24391859 ADD MTR TEST TO CHECK BASIC DML OPERATIONS ON GR USING X PROTOCOL
    
    This test checks the basic functionality of group replication plugin along
     with mysqlx plugin (x mode).

commit 5f44906525e2a35e9c3911692113fd512c1033a4
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Dec 2 11:47:55 2016 +0100

    Fix for failure of dd_bootstrap.test introduced by WL#883 (CTEs).
    
    In dd_bootstrap.test, we set up a fresh data directory with
    mysqld --initialize, stop mysqld, remove the InnoDB tablespace
    file of the mysql.version table, restart
    mysqld with no option. mysqld is expected to:
    - notice the absence of the tablespace
    - consider it an upgrade from an older MySQL version
    - try to create 'version'
    - and stop with error, as 'version' is actually left in the DD.
    
    Here's how it stops with error: it tries to create mysql.version:
    - the function is ha_create_table(), it calls the next:
    - open_table_from_share() creates a TABLE object for mysql.version,
    and a dummy ha_innobase for this TABLE
    - when trying to insert mysql.version into the data dictionary,
    ha_innobase::create() fails with a duplicate key error, as mysql.version
    "already exists" in the DD. The failure inside create() emits:
     Table '`mysql`.`version`' already exists
    in the log, thanks to a my_error() around
    ha_innodb.cc:10755. "duplicate key" error code is returned upwards,
    after a first translation in ha_innodb.cc:
    	case DB_DUPLICATE_KEY:
    		/* Be cautious with returning this error, since
    		mysql could re-enter the storage layer to get
    		duplicated key info, the operation requires a
    		valid table handle and/or transaction information,
    		which might not always be available in the error
    		handling stage. */
    		return(HA_ERR_FOUND_DUPP_KEY);
    (pay attention to the comment, it's relevant).
    ha_create_table() then reports this error by
    calling handler::print_error() on the still-dummy 'handler' of mysql.version,
    resulting in this printout (before the WL):
     Can't write; duplicate key in table 'version'
    Note that this line is absurd: the duplicate key happened when trying
    to insert a row in *another* DD table than 'version'.
    handler::print_error() then has this:
      case HA_ERR_FOUND_DUPP_KEY:
      {
        uint key_nr= table ? get_dup_key(error) : -1;
    Before the WL, handler->table==nullptr, so get_dup_key() wasn't called.
    Note that it was an inconsistent state of objects:
    table->file->table was nullptr even though this 'file' logically
    has a 'table' as it's table->file.
    The WL introduced an "else" branch in open_table_from_share():
      else if (outparam->file) // if db_stat!=0, ha_open() set those pointers:
        outparam->file->change_table_ptr(outparam, share);
    which is taken for mysql.version. It sets table->file->table to 'table',
    which is a logical thing. Alas, when the creation later fails,
    we go into handler::print_error() where 'table' is now non-null,
    so get_dup_key() is called, but the still-dummy ha_innobase isn't in a
    state ready to support get_dup_key() (in detail: get_dup_key calls info()
    which calls info_low() which calls update_thd() which crashes as
    it has no 'prebuilt').
    
    Fix: make innodb not return "dup key" on creation errors, as the "handler"
    isn't ready for printing "dup key" and it's a bit meaningless to report
    "dup key" to the user. Such idea is already used and explained at
    ha_innodb.cc:14039 (introduced by fix for MySQL bug 45961).

commit a7fa2f3a4ded5fff840ac7242b3fd77565de686f
Merge: 03d925d 74bf765
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Dec 2 10:08:30 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit 74bf765772b307d5ddc93b0184e415a125875fa5
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Nov 25 16:25:44 2016 +0000

    BUG#25134074 - JET/JAG CRASHES WITH MYSQL-GCS
    
    Description:
    -----------
    From BUG#25098458, during GCS JET tests, one discovered a regression on GCS
    caused by a refactoring, which was not discarding messages when the member
    was not active within the group.
    
    How To Repeat:
    -------------
    Please refer to bug#25098458
    
    Suggested Fix:
    -------------
    Add the check if we are a VOID_NODE_NO when receiving a message.

commit 03d925d6357f6bcb2476b30166aab76df642a26b
Merge: 370ce0e 9a1055e
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Dec 2 11:03:16 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9a1055e4fd102ada2843d29b4b2065800573b186
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Dec 2 10:36:40 2016 +0100

    Bug#24689101	ADD -DWITH_NUMA=ON FOR DEBS WHERE POSSIBLE
    
    Flag added for all Debian/Ubuntu builds

commit 370ce0ed3eb973714ca497d5ac4d746fd79cbc2b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Dec 2 10:26:40 2016 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix: Unbreak NDB.
    
    Change-Id: I8dededb36e4698e63db940d32b791a0f580c4288

commit 119450dd40731f88fd4a260a7a89242ecca208bd
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Dec 2 16:55:57 2016 +0800

    Bug #25090543: DIFFERENCES BETWEEN ICU AND MYSQL FOR HUNGARIAN CONTRACTIONS/LIGATURES
    
    Followup patch: fix the test failure caused by random order if some
                    strings' weight are equal.
    
    Change-Id: I9d2e53fd651046b05e9048e9c3afbf248fc224be

commit ccdbb0684e6b732ed7f7a3affad6a6bc7b000a8a
Merge: 7968088 c7e05f5
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Dec 2 13:04:40 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit c7e05f5ae69f07077eb3a13f2cb900e04220aed2
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Dec 2 13:03:30 2016 +0530

    Bug #25103068 NDBMTD CRASHES WITHOUT WRITING TRACES
    
    When ndbmtd gets a signal in any thread other than the main
    thread, traces are not written. This is because signals are
    blocked for non-main threads in ndbmtd.
    
    Unblocked SIGBUS, SIGFPE, SIGILL and SIGSEGV for non-main
    threads so that crashes in non-main threads call the ndbmtd
    crash handler, which then writes traces for the crash.

commit 983ecdb285afba9f2a8eec4a8420aae18179e18f
Merge: a76e88b e811bbd
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Dec 2 04:49:13 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit a76e88b19b7d1ec97406d5149fe94152b5d41e19
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Nov 30 13:33:56 2016 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <new> and then re-sorting
    the #includes (and nothing else); then remove <new> from my_global.h.
    
    Change-Id: I14bea85421a7dbd199318ed62ad9726ab31a95ea

commit 381f881c7328fd4c2d972c488f9d3a4a228172d9
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Nov 17 09:18:35 2016 +0100

    Bug#25146364	ADD CORE BINARY PACKAGE TO DEBIAN/UBUNTU FOR 8.0
    
    Added core packages server-core and client-core
    The new packages contain only binaries. No config, service scripts or directory
    setup (meaning installing the package does not give a functioning server).

commit 7968088eabf264dfaf0ffd704c2797ef8d82bbb5
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Dec 1 14:58:54 2016 +0100

    Bug#24412033: - IF REDO IS FULL ON RESTART, NO LCP TRIGGERED TO CLEAR REDO LOG
    
    This patch ensures that data nodes that have exhausted redo log at
    shutdown trigger an LCP automatically at restart to trim the redo log.

commit 9268121abb0661f1117894a0dc4bdc47a4f46909
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 30 16:50:17 2016 +0100

    Bug#25176729 CLEANUP MY_PWRITE UNIT TEST
    
    Remove the #ifdef of pwrite, use dependency injection instead.
    
    Change-Id: I1ec8718d0ca40f7d7d90f971271c20591c773d22

commit 90e4094d86ab922a5155a22046b1e5ed0f0a61d6
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Dec 1 20:26:01 2016 +0800

    Bug #25090543: DIFFERENCES BETWEEN ICU AND MYSQL FOR HUNGARIAN CONTRACTIONS/LIGATURES
    
    Some Hungarian rules are commented out in
    1bcfdde8aadb24086ae39aa15d18b69d92f6aa9e to fix collating issue, but in the
    same patch, the Hungarian collating issue is also fixed by checking
    character's category. So the rules should be uncommented.
    
    Solution:
    Uncomment the Hungarian rules to get same collating result as ICU.
    
    Change-Id: I2b46bdbf3e5f28b5c69d61fd69479d26534703ee

commit 035fabce8598ec0dfa0b4f2cdbb9f529f27336e5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Nov 30 15:53:44 2016 +0100

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Remove all manual (non-IWYU) #includes of pfs_*_provider.h; due to
    recent IWYU improvements in the PFS headers, these should no longer
    be needed, and we can treat include/mysql/psi/mysql_*.h just like
    any other headers.
    
    Change-Id: Ia6f838c432d682075ad74a3524f7d84dab479d16

commit 83b2a656de1d74913ef41dd2402e511565fc47fa
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Nov 30 09:30:23 2016 +0100

    WL#3597: Fix for firewall test, limits stack size.

commit b3a9b8cc6704b3bf0533ed1200f7014f86823341
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 1 11:15:54 2016 +0100

    Bug #24526123 ADAPTIVE SEND ALGORITHM IS BROKEN
    
    The 'adaptive send strategy' was physically removed from the
    code as part of the 'ATC-patches' and 'forceSend' enforce
    independent of which kind of 'send' was specified.
    
    This patch reintroduce an improved version of the adaptive
    send algorithm. Performance test shows that it performs equal
    with the 'force*send' for a lower number ( <= ~20) of client
    threads, and performs increasingly better with higher number
    of threads.
    
    Details from the patch:
    
    part 1:
        Introduce the TransporterFacade member 'NodeBitmask m_active_nodes'
        which is a bitmap of all m_send_buffers[MAX_NODES] having
        '::m_node_active == true'
    
        Replace the loop(s) iterating m_send_biffers[] from
        1..MAX_NODES to instead iterate the set bits in m_active_nodes.
    
    Part2:
        Introduce the TransporterFacade member
        'Uint32 m_poll_waiters'. Keep track of number of trp_clients
        waiting in the receiver poll queue.
    
        Will later be used as a metric to measure the API
        activity level in the adaptive send algorithm.
    
    Part3:
        Fix const correctness in methods related to 'send'
    
    Part4:
        Introduce the trp_client member
        'NodeBitmask m_flushed_nodes_mask' containing the set
        of nodes this trp_client has flushed, but possibly unsent,
        messages to.
    
    Part5:
        Introduce the TransporterFacade::TFSendBuffer member
        'Uint32 m_flushed_cnt'. Will count the number of 'flush' to
        this buffer which has not yet been sent.
    
        Will later be used as a metric to the adaptive flush
        algorithm to decide whether a message should be sent immediately,
        or if we should wait for possible some more messages to the
        same node to become available.
    
    Part6: refactor:
    
        - Refactor the common 'send to all nodes' loop found in
          both the send thread and in ::do_forceSend() into the
          new method try_send_all().
    
        - Factored out the 'send part' from ::flush_and_send_buffer()
          into the new method ::try_send_buffer()
    
        - Entirely removed the method flush_and_send_buffer().
          Replaced with first calling flush_send_buffer(),
          then try_send_all()
    
        - Introduced the new TransporterFacade member
          'NodeBitmask m_has_data_nodes' which maintain the set
          of datanodes having 'more_data' to be sent. These will
          need attention from the send thread.
    
        - Refactor the send thread to take advantage of new methods
          and members above. Instead of sending to all 'active'
          nodes in each iteration, it will now only send to the
          nodes which 'has_data' - Except every 'sendThreadWaitMillisec'
          where it will also include all 'active' nodes.
    
        - Refactor trp_client::do_forceSend() to take advantage
          of new members above. No functional change (yet)
    
    Part7:
        Introduce NdbCondition_ComputeAbsTime_ns()
    
        The existing NdbCondition_ComputeAbsTime() takes a millisecond
        argument to calculate an 'AbsTime' for the conditional wait
        to wait until. The adaptive send algorithm will need
        an 'AbsTime' caculation with at least micro second resolution.
    
    Part8:
        Introduce the adaptive send
        algorithm. Change trp_client::do_forceSend() to
        use the send type specified instead of always 'forceSend'.
    
        See patch itself for fairly extensive comments about
        how the adaptive send is implemented.

commit 912984575caa7344177c30826e1089fddd626902
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 30 09:54:49 2016 +0100

    WL#7069: Provide data dictionary information in serialized form
    
     - Post push fix
     - remove unused flag WSDI_COMPRESS_SDI and the code which
       was executed when that flag was set.
     - remove the unused st_lock_param_type::pack_frm_data and
       st_lock_param_type::pack_frm_len.
     - thus the sql_table code is not using sql/sdi_utils.h
       anymore
     - NOTE! also the WSDI_WRITE_SHADOW flag could be removed since
       mysql_update_dd() is never called without it.

commit 5ea4cbe40580321e4f5314b13f5c147c7fdd98ca
Merge: ea4d158 c0b5462
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 1 10:28:30 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit c0b5462c96690059e0c99a8d2ebc17e75b35b990
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 1 10:15:15 2016 +0100

    Bug #25056166 REFACTOR: MOVE M_LOCKED_CLIENTS[] FROM POLLQUEUE TO CLASS TRANSPORTERFACADE
    
    1) Move the ::m_locked_client[] array and ::m_locked_cnt from
       trp_client::pollQueue into TransporterFacade. These two
       members could only be operated on by the client being the
       poll_owner - Thus it is sufficient to have one instance of
       these member variables, instead of duplication them in each trp_client.
    
    2) The PollQueue methods ::lock_client(), ::check_if_locked()
       and ::start:poll() operating on the members in 1), has
       been made TransporterFacade members instead.
    
    3) The existing methods trp_client::start_poll() and
       TransporterFacade::start_poll() has been renamed to ::prepare_poll().
       This better reflect their real functionality as no polling does
       'start' until it has become poll_owner, else it will just wait in the
       poll queue without doing any 'poll' at all.
       Renaming also seperate it from the ::start_poll() from 2), which
       actually does 'start' the poll.
    
    4) Replace PollQueue::assert_destroy() with PollQueue d'tor.
    
    5) Complete the c'tors for trp_client and trp_client::PollQueue.
    
    6) Remove the TransporterFacade methods ::prepare_poll()
       and ::complete_poll(). These were both only used from the
       trp_client methods ::prepare_poll() and ::complete_poll().
       They didn't really do anything except asserting
       on some trp_client::PollQueue memebers, which is better
       to do from the trp_client methods.
    
    7) Moved TransporterFacade::start_poll() to right before
       its cousine TransporterFacade::finish_poll()

commit e811bbd212b16e022d22dbe28be2e13d9e46f7f7
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Nov 29 10:06:30 2016 +0100

    Bug#22525354 MY-DEFAULT.CNF.SH IS WRONG AND OBSOLETE AND SHOULD BE REMOVED
    
    Approved-by Terje Rosten <terje.rosten@oracle.com>
    Approved-by Tor Didriksen <tor.didriksen@oracle.com>

commit 0c0c6ada6bf16613d05f2eecaaf7455d5d15634f
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Nov 30 12:29:51 2016 -0600

    Bug#24519021 FEW XA TESTS FAIL IN WAIT_COND'N.INC AS VIEW ON P_S.THREADS...
    
    Follow-up to original fix a545bdd6e310cbf9:
    1. variables_by_thread: Remove index increment in rnd_pos() -- has no effect
    2. events_waits_*: Return HA_ERR_RECORD_DELETED if make_row() fails -- detected
                       by daily-trunk/solaris11/rqg_performance_schema 2016-11-23

commit ea4d158f663493df1482b5bdaf97fafeddf1e560
Merge: 7b68de1 2b8b4b4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 30 19:05:46 2016 +0100

    Merge branch 'mysql-5.7-cluster-7.5-wl9609' into mysql-5.7-cluster-7.6 (WL#9609)

commit 2b8b4b4166a8b26a4358f36bb84e3e490b1c3036
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 30 16:01:42 2016 +0100

    WL#9609: Remove dead code and obsoleted comment for IntrusiveList.

commit 6e8cb6ee29135b815ffa13d6027d0d2ab0492d9c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 17:26:45 2016 +0200

    WL#9609: Rename PoolImpl to Pool

commit 67e7edd90ac784082fad628312143da30c94b0d9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 16:51:10 2016 +0200

    WL#9609: Replace KeyTableImpl with KeyTable

commit 269e55f763656d9d8f5fc311f2cc9d05cb07b0a7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 16:49:15 2016 +0200

    WL#9609: Replace DLHashTableImpl with DLHashTable

commit 9099c344e5bca24b5ec78beb57ce10b59b95223f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 16:41:18 2016 +0200

    WL#9609: Replace XXXListImpl with XXXList

commit 79d6a7d291035f51e07fa4e69b3744251e873683
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 10 23:19:01 2016 +0200

    WL#9609: Remove unused members chunkSize/nextChunk/lastChunk

commit 85d7d9fd9e9c7333a19c80c7b1700dfbe2135fd3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 10 15:34:04 2016 +0200

    WL#9609: Break out CachedArrayPool.

commit 8146033965cf6ef3a1003cffdbf6a42683d5d68b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 11:28:08 2016 +0200

    WL#9609: Replace DataBuffer with DataBuffer2.
    
    Note, release() will now release each segment at a time instead of all at one using releaseList for ArrayPool.
    
    Also Segment now also includes a magic word.
    
    In debug in_use are added for DataBuffer2 as in DataBuffer.
    
    Some code updates moved from DataBuffer to DataBuffer2.
    
    Remove implicit use of ArrayPool for DataBuffer
    
    Remove implicit of ArrayPool for LocalDataBuffer

commit e18b9ef102608626e2bec5cce540666d1df30107
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 6 19:51:45 2016 +0200

    WL#9609: Type RWPool & WOPool. Use void for ArenaAllocator.

commit 340577939e0b1b66f70924df64af0789b6b809ea
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 6 16:58:30 2016 +0200

    WL#9609: Add record type to ArenaPool

commit a2003887f13258a4e5f2b3cef61ee240aa416458
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 30 17:11:04 2016 +0100

    Bug#24847537 - AUTH SUCCEEDS AGAINST ANY MATCHING ACCOUNT
    
    Post push fix for compilation issue with clang.
    
    Reviewed-by Andrzej Religa <andrzej.religa@oracle.com>

commit 328c654d489824dcb05c76cc94f4452eaadd4689
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 6 23:13:52 2016 +0200

    WL#9609: Remove alias optimization part of LocalXXXList
    
    XXXList<Pool,Head>(Pool&) - internal head, empty on ctor, should be empty on dtor
    XXXList<Pool,Head&>(Pool&, Head&) - external head
    XXXList<Pool,const Head&>(Pool&, Const Head&) - read only
    XXXList<Pool,Head&>(Pool&, Head&) - move external head local, and back on destruction

commit 5719e468c31c94b15726933fb48d7b59106faf8c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 4 11:46:52 2016 +0200

    WL#9609: Refactoring: typedef GlobalPage pools.

commit 42b1aec6d55192c5936f1e4d8bca6b34a1009942
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 10:27:38 2016 +0200

    WL#9609: Change OpXXXEvent_pool to OpXXXEvent_keyhash

commit 6572f1bbeb3e0ac8c77ca1bb19f7a075098e0fa0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue May 3 07:28:31 2016 +0200

    WL#9609: Refactoring: Make use of ArrayPool<T> explicit.
    
    Use pool typedefs.
    
    <RecordTypeName>_pool
    <RecordTypeName>_list or _sllist & _dllist
    <RecordTypeName>_hash
    <RecordTypeName>_fifo
    <RecordTypeName>_keyhash
    
    And Local_<RecordTypeName>_xxx
    
    Also replace some use of XXXListImpl<P,T,T> with XXXList<T,P> which are the same.

commit d1047ce8130ad9d4b1a6836968aa7beeb73025d5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 15:37:29 2016 +0200

    WL#9609: Refactoring: This patch changes the RSS macros to snapshot allocated instead of free.

commit d917dce3a0b3a1c0f3de4c537702a6db514065a1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 15:14:31 2016 +0200

    WL#9609: Refactoring: Change count() to getCount() for intrusive lists and hash tables

commit 65688a562134ac83fcd3b23e624f8638f6fc5435
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 13:26:59 2016 +0200

    WL#9609: Refactoring: Make IntrusiveList support other pools than ArrayPool.

commit 1daac490e2c1e61e4cc2586db1f6c2fa943065e1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 12:48:19 2016 +0200

    WL#9609: Refactoring: Make all getPtr methods for pools const. Will be needed in later patches.

commit c61a2a10c9d8e9d22d700bf5a3b53813226dc7be
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 20:02:45 2016 +0200

    WL#9609: Refactoring: dead-code
    
    This patch removes some "#if 0":ed code
    (that makes my grepping for config variables confused)

commit d1b5c3b2b8909cd9e904dad1fd34a56f23ef31fe
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 4 11:23:32 2016 +0200

    WL#9609: Remove unused WaitQueue

commit f25676e5a306b513079281a2a488c374ebea64d7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 4 09:27:43 2016 +0200

    WL#9609: Remove unused KeyTable2Ref

commit 434a6526be1105024b99b916876be957df298924
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 25 12:05:25 2016 +0200

    WL#9609: Refactoring: Remove abandoned pool classes

commit 7580e00a63bfc68abd46fbc5d81436ce969eef2d
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Nov 29 10:04:50 2016 +0100

    Bug#25151440: ALLOW MOVING OR EMPLACING ELEMENTS INTO PREALLOCED_ARRAY
    
    Follow-up:
    
    1) Make erase() use std::move() instead of std::copy() to allow
    erasing elements that can be moved, but not copied, from a
    Prealloced_array.
    
    2) Change the signatures of the erase() functions to match the
    signatures of std::vector's erase() functions in C++11. That is, the
    arguments are now const_iterator instead of iterator.
    
    3) Add cbegin() and cend() functions modelled after std::vector.
    
    Change-Id: I58f010055f05a3aaa495b862812ca3e96d0060b7

commit 7e2101fcc9cd6fd058c5f06ea7dee1e0ce8acd53
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Wed Nov 30 18:59:26 2016 +0530

    WL#1074: Add descending indexes support
    
    Post push fix: Removed all instances of ASC and DESC
    keywords from the create index statements in the
    gis_spatial_index_concurrency.sql due to the new error
    that has been introduced. The keywords ASC and DESC
    can no longer be used while creating spatial indexes.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit e9cd70dda8d6ad6bd0788bf82c46f057abf058fe
Merge: bcf8688 3a1b035
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Nov 30 14:23:57 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3a1b035aaa2a4dad058bc3f849e5ade00c6cac59
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Nov 30 14:19:44 2016 +0100

    Bug#24493829 SETTING THE NULL_AUDIT_EVENT_RECORD CAUSES SEGMENTATION FAULT
    
    Problem:
    ========
    
    null_audit_event_record variable is not intended to be modified outside
    of the null_audit plugin. null_audit_event_record buffer must be allocated/deallocated
    from within a plugin.
    
    Fix:
    ====
    
    null_audit_event_record is read only variable.
    
    Reviewed-by:
    ============
    
    Arun Kuruvila <arun.kuruvila@oracle.com>
    Georgi Kodinov <georgi.kodinov@oracle.com>

commit 7b68de1c17b6997692ea6107f8eca2b7a8c1fa84
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 30 14:08:29 2016 +0100

    Bump version to 7.6.1

commit bcf8688a856cc9079c28c5ad8b475fb38ebb53d9
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Tue Nov 29 19:36:32 2016 +0100

    Bug#24940128: TEMPLATIZE ITEM_CREATE FOR ONE ARGUMENT FUNCTIONS
    
    Follow-up patch:
    
    - Adds Instantiator_with_functype templates.
    
    - Replaces Item_func_spatial_decomp subclasses introduced in
      the original fix with the above templates.
    
    - Removes mixing of typedef's and type aliases.

commit 47a047d86c845953135cff32e45f06cffe21e929
Merge: 680b429 846de08
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Nov 30 18:30:26 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 846de08638649ffcabacce4436f51b92182883e4
Merge: 1afd693 de739c7
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Nov 30 18:28:52 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit de739c75b2153b2f09f0d8c4da0ad533fd32d9b0
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Nov 30 18:26:54 2016 +0530

    Bug #22686994: REGRESSION FOR A GROUPING QUERY WITH DISTINCT
    
    ISSUE: Using aggregate function with distinct, results in
           wrong results. This happens because, while handling
           the final distinct, write_func gets set to
           end_write_group instead of end_write.
    
    FIX: In JOIN::make_tmp_tables_info() unset sort_and_group
         while creating group table.

commit 680b429aabcd8df2391518cccd0cc137ac3f560a
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Nov 30 13:30:03 2016 +0100

    yet another pb2 fix after CTE push

commit 7e6fdfac13c480488e0cd37421ea1b4edac5a063
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Nov 30 13:19:36 2016 +0100

    fix for pb2 failures after CTE push

commit 08e14e734b9e6e6e8f5c29478bef802d80163bc9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 29 12:48:57 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Microoptimize and simplify utf8mb4 parsing:
    
     - Use regular AND masks and comparisons instead of xor-ing away
       the continuation bits. GCC rewrites the xor-and-comparison tests
       to wrapping adds, which are not as easy to mix with shifts as
       ANDs are. (See also below.)
     - Use adds instead of ors, since these are equivalent and can
       sometimes be rewritten as LEAs. (The compiler doesn't actually
       seem to do so in this case, though.)
     - When testing for multiple continuation bytes, read a larger
       chunk using memcpy and do all the comparisons at the same time.
       This would not be possible to do using the XOR trick.
     - When testing if we are outside the allowed range for a given number
       of UTF-8 bytes, simply test the resulting code point (after piecing
       it together) instead of doing complicated testing on each byte
       of the encoded form.
    
    In particular, this matters for three- and four-byte code points;
    one- and two-byte are generally unchanged, and ASCII is of course
    taken by the UCA scanner fast path anyway. Add a new microbenchmark
    consisting exclusively of Japanese (which is represented mainly
    using three-byte code points) to highlight the differences.
    
    Also unify the many different UTF-8 parsing routines that we have.
    
    Microbenchmarks (Skylake 3.4 GHz, 64-bit, GCC 6.2):
    
      BM_SimpleUTF8                328 -> 334 ns/iter [ -1.8%]
      BM_UTF8MB4StringLength        47 ->  47 ns/iter [  0.0%]
      BM_SimpleUTF8MB4             142 -> 142 ns/iter [  0.0%]
      BM_MixedUTF8MB4              197 -> 188 ns/iter [ +4.8%]
      BM_MixedUTF8MB4_AS_CS        643 -> 576 ns/iter [+11.6%]
      BM_JapaneseUTF8MB4           663 -> 542 ns/iter [+22.3%]
      BM_NewlineFilledUTF8MB4      171 -> 172 ns/iter [ -0.6%]
      BM_HashSimpleUTF8MB4         306 -> 306 ns/iter [  0.0%]
    
    sysbench results are neutral, since they don't test anything
    but ASCII.
    
    Change-Id: I57a72abf69d1b636d2224a1f6e0ebb1aa196296e

commit e63872258f1a21df7b62351ae16da789d15de5b3
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 30 12:38:34 2016 +0100

    Fix broken doxygen

commit c866946f9c2830926924959334b63a73a4e933b2
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 30 12:22:06 2016 +0100

    WL#883 non-recursive CTE
    WL#3634 recursive CTE
    
    Post-push fix: Fix Clang build warnings.

commit 1eeb316b914b47ef5b4dcd38be02b1461f7db468
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 29 15:14:18 2016 +0100

    Bug#25169421 USE MULTIPLE COMPILATION UNITS FOR MERGE_XXX_TEST
    
    We currently do a textual merge of source code for building
    unit tests which consist of many independent tests.
    This does not scale very well: on some platforms the compiler can spend
    several minutes processing "merge_large_tests.cc"
    
    Fix:
    Build merge_xxx_test in separate compilation units,
    and merge .o files into an executable instead.

commit 053d96a980844452d8e98df4cd248bd7ba3b40cc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 29 12:15:11 2016 +0100

    Bug#25167004 CMAKE CLEANUP AFTER THE DUAL GCC/SUNPRO BUILD
    
    Patch #2: remove stlport adaptions

commit 03d0f07569694177bcf99750c94a86b529eb9379
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 29 11:06:52 2016 +0100

    Bug#25167004 CMAKE CLEANUP AFTER THE DUAL GCC/SUNPRO BUILD
    
    Misc cmake cleanup after the gcc-server/sunpro-client dual build.

commit 02246cd064f135844d1971733afc36744276c3f9
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Wed Nov 30 16:22:39 2016 +0530

    Bug#18184868: CANNOT USE BOOTSTRAP VARIABLES IN -MASTER.OPT FILE
    
    Issue:
    ------
    Non-dynamic variables such as innodb_page_size and
    innodb_undo_tablespaces cannot be set inside master.opt files because
    the server throws an error during resizing, if the value passed differs
    from the one that was used to initialize the data directory.
    This is because master.opt files were used only to start the server with a
    particular configuration, and not for initializing the server with that
    configuration. The solution is to reinitialize the data directory that MTR
    started with when such variables are set.
    
    Fix:
    ----
    When non-dynamic variables are set in the master.opt file, they must be
    prefixed with "--bootstrap" so that MTR knows that it must delete, and
    reinitialize the data directory with the values that have been passed.
    Then, MTR starts the server with the values that have been set in the file.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    RB: 14294

commit 12518cabeb9531b4ba208562c0e356bf1a04de6d
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Nov 30 11:35:38 2016 +0100

    Bug#23522793 GIGO: AUDIT_LOG_FILTER_REMOVE_FILTER CRASHES WITH NULL STRING
    
    Post-push fixing audit_log_filter_bugs test.
    5.7 still uses MyISAM engine for storing audit_log specific data, while
    newer versions use InnoDB engine.
    Argument evaluation works differently between 5.7 and 8.0. In 8.0 it works
    as expected, so we got NULL value in the UDF init function. We will keep
    extra argument check in the UDF implementation just in case.

commit 832ca4499f236be11ebfbda32521e090d3cacdb5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Nov 30 11:16:36 2016 +0100

    BUG#25111830
    On Windows there will be messages to the web client that originates
    from Windows. Windows uses a special character set cp1252 that
    isn't UTF-8 compatible.
    
    The communication to the web client is done with UTF-8 encoding.
    So to ensure that this is done properly we will retry with
    translating cp1252 to UTF-8 if direct UTF-8 translation fails.

commit 5ce982992929fc01ecd42fec4d992e21ad3b2c67
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Nov 30 10:37:48 2016 +0100

    Bug #22655287: MYSQLDUMP GENERATES INVALID SCRIPT DUE TO DDL ON DICTIONARY TABLES
    Problem: mysqldump/mysqlpump when used to dump mysql database, system metadata
    tables mysql.innodb_table_stats, mysql.innodb_index_stats are also dumped, thus
    causing error during restore. This error is due to DDL operation performed on these
    tables.
    Fix: Fix is to avoid DDL statements on these tables and dump only data rows.

commit e3eeb0a4b1e49ecf1ddba044bd0d69f94bd711cd
Merge: 7b0040e 1afd693
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Nov 30 09:46:53 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1afd693b6d7e7d0b65322d22ca8253c02e565a1b
Merge: ea0a8b8 529fe6d
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Nov 30 09:46:34 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 529fe6d519f9fbfac177e01fa433361b64fcf5c1
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Mon Oct 3 10:25:11 2016 +0200

    Don't install systemd file if there is no systemd by default.

commit 7b0040ebada0a94c0e59bed68263f0465d06b41a
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Nov 30 09:34:29 2016 +0100

    fix for pb2 failures (had forgotten to commit data57.zip in CTE push).

commit dc8c20db6d59486d3727932442d45de4a07f8e20
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Nov 29 09:46:04 2016 +0100

    WL#8582 INFORMATION_SCHEMA.ST_GEOMETRY_COLUMNS
    
    Add a new view, I_S.ST_GEOMETRY_COLUMNS as defined in SQL/MM Part 3,
    Sect. 19.2, based on I_S.COLUMNS.
    
    Change-Id: I42bbb50ba707729ef50a282aae5ad8360a723a67

commit 42817580769c43309db266a2214309eae855f736
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Wed Nov 30 13:15:38 2016 +0530

    Bug #24343582 ASSERT: TRX_IS_REGISTERED_FOR_2PC(TRX) ON INSTALL COMPONENT
                  WITH LOG-BIN ENABLED
    Description:
    The below assertion failure is encountered while trying
    to install an example component as in the MTR test
    'main.component' on a server with binary logging enabled
    in row mode (please note that the assertion is not hit when
    the binlog format is mixed or statement).
    [ERROR] InnoDB: Assertion failure:
    ha_innodb.cc:17586:trx_is_registered_for_2pc(trx)
    
    Analysis:
    The m_ha_list is getting set by value 2, first time through
    open_component_table() and the second time through call
    handler::ha_write_row() in mysql_persistent_dynamic_loader_imp::load().
    Because of that at the time of ha_commit_trans() the
    m_scope_info[scope].m_rw_ha_count is having 2, which is not in
    the case of plugins.
    
    Fix:
    
    plugin code do call tmp_disable_binlog() before
    ha_write_row()/ha_delete_row().
    so similaly we need to call tmp_disable_binlog() in components code.

commit f1171da3f6a063f00357637aebe44561a773f462
Merge: 870db32 ea0a8b8
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Nov 30 12:57:42 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ea0a8b8883751ec26872b585ffa7b32d282f3b46
Merge: b1c803d 22499bd
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Nov 30 12:54:20 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 22499bd6c0b8d2f8a6057a911b1adcb5d61dd573
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Nov 30 12:51:32 2016 +0530

    Bug #14025581 FILE IO INSTRUMENTATION DISABLED IN PERFORMANCE SCHEMA FOR INNODB
    
    PROBLEM
    =======
    Since windows use HANDLE for file descriptor and pfs needs to register
    the file with a integer key for instrumentation , the performance schema
    for file IO is currently disabled on windows.
    Fix are for 5.6+.
    Solution
    ========
    Define a common descriptor like how we have os_file_t for
    platforms other than windows i.e os_pfs_file_t as
    struct os_pfs_file_t  {
           os_file_t m_file;
    #ifdef UNIV_PFS_IO
           struct PSI_file*     m_psi;
    #endif
       };
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Marc  Allf <marc.alff@oracle.com>
    RB: 14714
    RB: 14539
    RB: 14702

commit 870db32f23547f4673c189e3cb0b554756b3d4c5
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Nov 23 07:00:21 2016 -0600

    Bug#24336345 MEMORY LEAKS IN UNIT TESTS
    
    Unit test cleanup, ASAN

commit 5e5fa232da2889285cb0becd5d5751a0b7cf00c7
Merge: 237a849 b1c803d
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Nov 30 03:55:00 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 237a8498196ed0f75a933a9acb189c630fac59d8
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Nov 17 17:58:11 2016 +0800

    Bug#24672415: UTF-8 ENCODING ACCEPTS SURROGATE PAIRS AS VALID
    
    Per RFC 3629, UTF-8 should prohibit characters between U+D800
    and U+DFFF, which are reserved for surrogate pairs and do not
    directly represent characters, but the validity checking
    function my_valid_mbcharlen_utf8mb3 doesn't do the check.
    
    Microbenchmarks (Skylake 3.4 GHz, opt, GCC 5.4):
        BM_SimpleUTF8             296 -> 298 [- 0.7%]
        BM_UTF8MB4StringLength    35  -> 35
        BM_SimpleUTF8MB4          202 -> 205 [- 1.5%]
        BM_MixedUTF8MB4           224 -> 209 [+ 6.7%]
        BM_MixedUTF8MB4_AS_CS     690 -> 696 [- 0.9%]
        BM_UTF8_Valid_Check       339 -> 316 [+ 6.8%]
    
    Solution:
    Return MY_CS_ILSEQ if the character is in [U+D800, U+DFFF].

commit b1c803dbaebb4a22011293f74b531c4e1e9bf878
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sat Nov 26 19:47:15 2016 -0600

    Bug#24336345 MEMORY LEAK IN UNIT TESTS
    
    Cleanup instrument classes after each Performance Schema unit test to avoid
    memory leaks. Make PFS_global_param param global to eliminate stack overflow
    ASAN false positive.

commit e3da2d5a61e1690159cd2fa5fc7068479981068f
Merge: ca09376 e0e9461
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Nov 30 01:30:19 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit e0e94614e08e1b3340436bb1be3a3eb15e68849c
Merge: c7c075b bca27b2
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Nov 30 01:28:20 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit ca093760b53deedd0becf6dfad57351b449701ec
Merge: ec3c0d0 c7c075b
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Nov 30 00:59:58 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit c7c075b37b3cd6e3557097f639291101ee49143d
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Nov 30 00:43:52 2016 +0100

    Bug#23522793 GIGO: AUDIT_LOG_FILTER_REMOVE_FILTER CRASHES WITH NULL STRING
    
    Problem:
    ========
    UDF consists of two functions: init and the implementation itself. Audit log
    UDFs perform argument check in the UDF init. In some cases that is not enough,
    especially when the parameter is evaluated by a function.
    
    Fix:
    ====
    Perform argument check in init and the UDF implementation as well.
    
    Reviewed-by:
    ============
    Arun Kuruvila <arun.kuruvila@oracle.com>
    Robert Golebiowski <robert.golebiowski@oracle.com>

commit bca27b23e67b6d4a4d9364e9245ff677c6185e89
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Nov 29 17:39:46 2016 -0600

    BUG#24336345 MEMORY LEAKS IN UNIT TESTS
    
    Cleanup instrument classes after each Performance Schema unit test to avoid
    memory leaks. Make PFS_global_param param global to eliminate stack overflow
    ASAN false positive.

commit ec3c0d079b2b566366d22238bdc0efa82968c3a7
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Nov 29 15:46:27 2016 +0100

    WL#883 non-recursive CTE
    WL#3634 recursive CTE
    
    As single patch. Adds support for:
    
     WITH query_name AS (subquery)
     SELECT * FROM query_name;
    and
     WITH RECURSIVE query_name AS (recursive subquery)
     SELECT * FROM query_name;
    
    The objects introduced after WITH are called "common table
    expressions" (CTEs). There can be several, separated with ','.
    A CTE can reference CTEs defined before it in the WITH list.
    A CTE is materialized or merged, which can be influenced with the
    Merge/No_merge hint.
    A CTE can be referenced multiple times in the query; if it's
    materialized it's materialized only once in the query.
    
    Specific of WITH RECURSIVE:
    'recursive subquery' must be
    of the form
    SELECT ... UNION [ALL] ... SELECT ... etc
    where the union is formed of a head of SELECTs which don't reference
    query_name (are non-recursive) followed by a tail of SELECTs which
    reference it. UNION DISTINCT and UNION ALL can be used. This allows
    traversing trees, hierarchies, finding transitive closures, computing
    numbers recursively, applying algorithms...
    
    CTEs can be defined in SELECT, UPDATE, DELETE, INSERT SELECT, REPLACE
    SELECT, CREATE SELECT, CREATE VIEW.
    
    After 'query_name' one can specify column names in parentheses:
    WITH query_name(a,b) AS...
    Such feature is also added to derived tables i.e.
    FROM (SELECT ...) AS dt(a,b)
    Such feature already existed for views but is rewritten (it had a bug,
    see at the end); to support this rewrite, a column VIEW_COLUMN_NAMES
    is added to the TABLES table of the Data Dictionary; this will prevent
    on-the-fly upgrades from 8.0.0 to 8.0.1, which mgmt has approved.
    
    Like derived tables:
    - a CTE may not reference an outer table
    - functional dependencies in (non-recursive) CTEs are recognized.
    - relevant indexes are automatically added to the materialized CTE if the
    Optimizer thinks that they will speed up the top query's access to the CTE.
    
    Also fixes:
    Bug#23265335 SPECIFYING A NAME FOR VIEW'S COLUMN IN CREATE VIEW MAKES SELECT
    FAIL
    Bug#23024178 WRITES TO INNODB INTERNAL TEMPORARY TABLE DOESN'T INCREASE
    "HANDLER_WRITE"
    
    Partially fixes:
    BUG#23022426 UNION ALL STILL USES TEMPORARY TABLE WITH INSERT SELECT
    i.e. with this WL, UNION ALL doesn't create a temporary table with
    INSERT SELECT iff the UNION ALL is not the top query expression after
    INSERT (i.e. is a subquery).

commit 85f60948d4b0a59ea108a0c1d3b17c9ebd9af0ed
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Thu Nov 24 14:34:19 2016 +0000

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Harmonize force/always inlining on all supported platforms.
    
    Change-Id: I579da5f3900587da61d7056ad6115cf0c3aca436

commit b1748c6f59634fbbe5b6181d4e0e09e1646564f5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 28 14:45:49 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Some small cleanups in the UCA scanners; in particular, we don't check against
    uca->maxchar in the 9.0.0 scanner, since we already know that we cover the
    entire BMP in our 9.0.0 tables, and the scanner checks if we're outside that.
    Apart from that, we remove the odd instruction here and there (mostly sign
    extensions, and also a few indirections through the stack), but those don't
    show up as clearly in the benchmarks.
    
    Microbenchmarks (Skylake 3.4 GHz, optimized mode, GCC 6.2):
    
      BM_SimpleUTF8MB4          147 -> 141 ns/iter  [ +4.3%]
      BM_MixedUTF8MB4           223 -> 195 ns/iter  [+14.4%]
      BM_MixedUTF8MB4_AS_CS     668 -> 631 ns/iter  [ +5.8%]
      BM_NewlineFilledUTF8MB4   206 -> 191 ns/iter  [ +7.9%]
      BM_HashSimpleUTF8MB4      306 -> 307 ns/iter  [ -0.3%]
    
    I haven't compared in sysbench, since these changes are small enough that they
    probably would not be easy to measure.
    
    Change-Id: I103a483a106b0b7f581d64e876204554154a13bc

commit 8b16e6be408fd9ae91e6b88a746cb65d8c73df9c
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Nov 28 15:45:39 2016 +0100

    Bug#25118423 SPLIT ITEM_FUNC_DISTANCE
    
    ST_Distance and ST_Distance_Sphere are both implemented by
    Item_func_distance. Split it in two: Item_func_distance and
    Item_func_distance_sphere.
    
    Change-Id: Ib99d3d4947df0e95420881127cb7b5b45a6bbba5

commit 8ffd7750826253e603c456679adaf7497f622eec
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Fri Nov 25 12:55:56 2016 +0000

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO
    UTF8MB4
    
    Windows specific performance improvement: htons is not as efficient
    compiled with MSVC as the platform intrinsic _byteswap_ushort.
    
    Benchmark results (Intel Xeon @2.89GHz, CL 19.0 /O2):
    
    sysbench goes from 3611 -> 3861 tps (+6.9%).
    
    Change-Id: Idb6f93a5d41a32358a46eadd9ec68ece2056c296

commit 1b69562c710334a1fafbb6a387bde44dc6b18683
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Nov 28 16:39:05 2016 +0100

    Bug#25167413: MOVE NON-SSL FILES FROM MYSYS_SSL TO MYSYS
    
    Move mf_tempdir.cc and my_murmur3.cc from mysys_ssl/ to
    mysys/ since they have nothing to do with SSL and do not
    depend on anything in mysys_ssl/.

commit 69830fec04d9b0139637509e928378bfcde39c78
Merge: 1b6bf45 7e4cef4
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Nov 29 16:09:38 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7e4cef426e3bd98e097bc02f20cb310a4c6bc6c7
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Nov 29 16:07:43 2016 +0530

    Bug #23295423: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   HANDLE_GRANT_TABLE
    
    Post push patch to fix test case failure in pb2.

commit 1b6bf45ea08c5b55b38338b2d0214af6d56e707b
Merge: 421b5bf cca5dbe
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Nov 29 15:33:27 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    Null merge branch 'mysql-5.7' into mysql-trunk

commit cca5dbecbc2959e16d0d73780f5c74b19c4529ff
Merge: 4b536ec ba80d62
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Nov 29 15:32:25 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    Null merge branch 'mysql-5.6' into mysql-5.7

commit ba80d62381d5666bd64147ccd1a31ed0e4d4c6d0
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Nov 29 15:31:10 2016 +0530

    Bug #23481444	OPTIMISER CALL ROW_SEARCH_MVCC() AND READ THE
                           INDEX APPLIED BY UNCOMMITTED ROW
    Problem:
    ========
    row_search_for_mysql() does whole table traversal for range query
    even though the end range is passed. Whole table traversal happens
    when the record is not with in transaction read view.
    
    Solution:
    =========
    
    Convert the innodb last record of page to mysql format and compare
    with end range if the traversal of row_search_mvcc() exceeds 100,
    no ICP involved. If it is out of range then InnoDB can avoid the
    whole table traversal. Need to refactor the code little bit to
    make it compile.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>
    Reviewed-by: Dmitry Shulga <dmitry.shulga@oracle.com>
    RB: 14660

commit 421b5bf9782922793c4fa900e3063f507a6b6fb9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 29 08:28:22 2016 +0100

    Bug#25148549 REVISIT COMPILER FLAGS FOR ORACLE DEVELOPER STUDIO
    
    Post-push fix: Check for CMAKE_BUILD_TYPE = Release or RelWithDebInfo
    when compiling item_geofunc_buffer.cc in optimized mode.

commit 17d5ea0b8d94516aad552370cea45d8ebc453c64
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Nov 29 09:20:36 2016 +0100

    Bug#22574695 ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(TABLE->READ_SET, FIELD_I
    
    Problem and fix are similar to that of Bug21779554.
    Updating a row of a table which had partitioning on a generated column
    could trigger an assertion failure in debug binary, and return a wrong
    result in non-debug binary.

commit 2731dcb4fed776b927b22e8a6cca46745ba6143f
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Tue Nov 29 10:39:21 2016 +0100

    WL#3597: Follow-up fix. rpl_skip_locked shouldn't be run with --gtid-mode=on.

commit 7f7918995bfa066855836d9bff99194caa921529
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Tue Nov 29 11:18:43 2016 +0400

    WL#1074: Add descending indexes support
    
    Hide innodb statistics from explain output in descending index tests.

commit d9126d47161c122a7c64dcb88ada4ba597606fb4
Merge: 8193cd9 4b536ec
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Nov 29 12:50:55 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4b536ece5dea51fa7d0bf98518de0691ec3322dc
Merge: 579d79b 4cb3028
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Nov 29 12:47:03 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4cb3028c76dbf186dcae0bdef91c772687b34df1
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Nov 29 12:42:59 2016 +0530

    Bug#20228478 - ON REPLICATION SLAVE ALTER USER FAILING FOR
                   USER WITH SHA256_PASSWORD PLUGIN
    
    Post push fix to address the test script failure.

commit 8193cd908341742c5b4be40e9b31b2bfd6516ee8
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Nov 29 12:39:55 2016 +0530

    Bug#25060412: REPLACE CLEANUP_FOLDER.INC AND RMTREE()
                  IN TESTS WITH FORCE-RMDIR COMMAND
    
    Post-push fix to fix memcached.memc292_ibd2sdi_system_tablespace
    failure on pb2.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit 34435a57306f16c468738e1bffca632704fab737
Merge: f9d56ec 579d79b
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:29:34 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 579d79b167bc6840026aa0fe768fe810aa2b5ae9
Merge: 2e152e1 6dcfc56
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:28:51 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	regex/regcomp.c

commit 6dcfc56d4c5d82e849485a7910872232b98b5fa6
Merge: e8eab7c 536593f
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:27:50 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 536593fc1cb1d86889c4b28c423e6dc75d9cd285
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:26:25 2016 +0530

    Bug#24449076 - INTEGER OVERFLOW IN FUNCTION DOINSERT
    
    DESCRIPTION
    ===========
    Performing a pattern match of a Regex resulting into a very
    large string, leads to crash due to integer wraparound.
    
    ANALYSIS
    ========
    doinsert() - The length calculated here (to copy the
    number of bytes) comes out to be too large to be stored in
    the "int" variable 'length'. We need to ensure that the
    variable can accommodate large lengths.
    
    FIX
    ===
    'length' in doinsert() is now defined as of type "size_t"
    instead of "int"

commit f9d56ec3d9caee96c55bf96e56cd6f63148fe930
Merge: e4f6c2f 2e152e1
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:22:49 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2e152e1b878464a8ae2d08167e1eced8a1c5a46b
Merge: 655b5a2 e8eab7c
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:21:49 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e8eab7c81d46255d63436bfbe7f90a68da943407
Merge: d66d9a6 4f54b00
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:21:02 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 4f54b0004c383f3997a4ab697eec5e5793cd4877
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Nov 29 11:19:30 2016 +0530

    Bug#24449090 - BUFFER OVERFLOW IN FUNCTION DUPL
    
    DESCRIPTION
    ===========
    Performing a pattern match of a Regex resulting into a very
    large string, leads to crash due to failed realloc().
    
    ANALYSIS
    ========
    dupl() calls enlarge(). It in turn calls realloc() for
    pointer p->strip. This eventually fails due to OOM.
    However we are still using the same pointer in memcpy()
    causing a SEGFAULT!
    
    FIX
    ===
    1) In dupl(), checking for error code (which would be set
    if realloc fails) immediately after call to enlarge().
    Returning now with this error code.
    
    2) Handling the same in the caller functions.

commit e4f6c2f78920f0adf3bab94c282ea910c3e1c5b8
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Nov 28 16:19:17 2016 +0800

    Bug #25140629: WRONG RESULT WHEN USING LIKE FUNCTION WITH UCA COLLATIONS
    
    When escape mark is at the end of pattern string, LIKE function of UCA
    collations returns different result against it from collation as
    latin1_swedish_ci. This is because my_wildcmp_uca_impl tries to get the next
    character when it detected escape mark, no matter whether it is the end of
    string.
    
    Solution:
    Add condition to check whether the escape mark is at the end of pattern string.

commit 9ceaca1d61da38a2e471373e3163a3587ea0f797
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Fri Nov 25 17:10:49 2016 +0400

    WL#1074: Add descending indexes support
    
    Complete implementation.

commit a8cb2b2804dc28694ee03f27c8ff3f55d2e7b5a6
Merge: e6cf3df 655b5a2
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Nov 28 21:28:58 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 655b5a2916e4ac613e516964f1214876ccfa3946
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 23 13:57:59 2016 +0100

    BUG#25162590 - X PLUGIN TRIES TO DEFINE MYSQL_DYNAMIC_PLUGIN BUT IT IS NOT NEEDED
    
    Description
    ===========
    X Plugin tries to redefine "MYSQL_DYNAMIC_PLUGIN" in the source code
    which isn't needed (cmake already does that).
    
    Reviewed by Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    RB: 14732

commit e6cf3dffc3dd7a596d01a9ff7e9acedd91e80ea5
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Mon Nov 14 18:08:13 2016 +0100

    Bug#25082552 SERVER CRASH IN PREPARED_STATEMENT::CLOSE_CURSOR
    
    Problem:
    =======
    result pointer is not freed if there is an error while trying to open
    the cursor
    Solution:
    ---------------
    - delete result in case of OOM or error while opening the cursor.
    - re-enable the test
    - add an assert to make sure the result is always nullptr if there's an
    error
    
    Change-Id: I305a822f864d1ed2eb8c51311413cbd52f651945

commit cc6d45997d70ac40ed75d38ed6841a3e72002daf
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Nov 28 10:42:37 2016 +0100

    Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
    
    warning C4129: '%': unrecognized character escape sequence

commit 249c699c48b7a55413db03c71d6d23072e7a093f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 24 15:06:52 2016 +0100

    Bug#25148549 REVISIT COMPILER FLAGS FOR ORACLE DEVELOPER STUDIO
    
    Remove some old/deprecated flags.
    Use same flags for intel/sparc (where appropriate)
    Add -xdebuginfo=no%decl which reduces image size for executables with about 50%

commit 7c716edda7666813925c2df28b310775ba0a0a38
Merge: 63ad41d 158e438
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Nov 28 17:18:48 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 158e438f4177f41ab550351727523da85597a4f0
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 23 12:40:02 2016 +0100

    BUG#25047909 'MYSQLX-BIND-ADDRESS' DEFAULT MUST BE '*'
    
    Description
    ===========
    WL#9266 defined default value for system variable "mysqlx-bind-address"
    to be backward compatible with previous releases of X Plugin, still
    more important is to be in align with MySQL Servers "bind-address"
    system variable which is set to "*".
    
    Fix
    ===
    Default value of the system variable was changed to "*".
    
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    RB: 14690

commit 63ad41d3ff3eb59cd0d25eb897e900dec867abe0
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Nov 24 21:13:32 2016 +0100

    Bug#25151440: ALLOW MOVING OR EMPLACING ELEMENTS INTO PREALLOCED_ARRAY
    
    Add variants of insert() and push_back() that accept rvalue references
    and move them into place if possible. Also add emplace() and
    emplace_back() to construct new elements in place.
    
    This makes it possible to have arrays of types that cannot be copied,
    such as std::unique_ptr. This could be useful for example in the
    Json_object and Json_array classes in order to simplify memory
    management.
    
    Change-Id: Iba54cadbe5baef231d12adf4d4985105dcd82ea1

commit a1d5629eb0ecfca30bcf64841c864bbdd0fb0335
Merge: 8a9b461 1b0e132
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Nov 28 16:23:59 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1b0e13250c40b0b8de2a294f463d8e1e2fa31884
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Nov 28 16:12:41 2016 +0100

    Bug #25048274: SOME FILES HAVE GPL LICENSE HEADER
    
    Description:
    Some files have GPL license header.
    
    Fix:
    Remove GPL license header where necessary

commit 8a9b46123d57f21deee29f51994069b4649897d8
Merge: ba6b2c9 586bc33
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Nov 28 15:52:47 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 586bc332a4129fd1671f2686c8db8a0b86211d35
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 23 12:20:17 2016 +0100

    BUG#24940144 EXPECT.OPEN BEFORE AUTH LEADS TO READ FROM BAD FILEDESCR
    
    Description
    ===========
    X Plugin tries to read from already closed socket, which leads to
    "recv" call with socket value set to "-1".
    
    Analyzis and fix
    ================
    The issue was caused by wrong state of "xpl::Client" object which was
    not modified in call to "xpl::Client::shutdown_connection" and was causing
    additional message-loop iteration in "xpl::Clinet::run" until EBADF
    was received.
    
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    RB: 14689

commit ba6b2c99fb08fd88c28a18614a442768e965a575
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Nov 25 09:42:23 2016 +0100

    WL#3597: Implement NOWAIT and SKIP LOCKED
    WL#8919: InnoDB: Implement NOWAIT and SKIP LOCKED

commit a0831b272942633a43ebf34fd356d8a1b30bfb33
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 27 16:07:10 2016 +0200

    Bug#24930829 BITWISE OPERATORS: CRASH IN ITEM_FUNC_BIT_COUNT::VAL_INT
    
    Problem:
    -------
    Item_func_json_depth::val_int sets null_value= true even though
    maybe_null is false.
    
    Solution:
    --------
    returned error_int as it will set the null_value accordingly.
    
    Change-Id: I23ca1cb7849ffe1d19e916f0d326a98dd26c6232

commit d916029bdb10e147f3a710560179a6361a32667b
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Mon Nov 28 13:48:03 2016 +0100

    WL#8737 IO aware defaults for optimizer cost constants
    
    Addendum: Stabilize tests in PushBuild
    
    mysql-test/include/index_merge_ror.inc
    mysql-test/r/index_merge_innodb.result
    mysql-test/r/index_merge_myisam.result
      Mask decimals in cost numbers due to differences between platforms
    mysql-test/t/explain_for_connection_crash.test
    mysql-test/t/internal_tmp_disk_storage_engine.test
    mysql-test/r/internal_tmp_disk_storage_engine.result
    mysql-test/suite/opt_trace/include/bugs.inc
    mysql-test/suite/opt_trace/r/bugs_no_prot_all.result
    mysql-test/suite/opt_trace/r/bugs_no_prot_none.result
    mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result
    mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result
      Run ANALYZE TABLE to stabilize statistics

commit c54a3211aca4bde4c3e52cc1fa033412761c1ca4
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Nov 28 14:02:54 2016 +0100

    Bug#25162209 REMOVE VIO/DOCS/
    
    Remove outdated copyright file and internal notes.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit 6dd32c2d4d127335e1d6430322dbaf2bdc7a07fd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 25 13:09:21 2016 +0100

    Bug#25152435: MOVE CLIENT/SERVER INDEPENDENT FILES FROM SQL-COMMON TO MYSYS
    
    Move my_user.c, my_time.c and pack.c from sql-common/ to mysys/
    These files do not need to be compiled separately for client
    and server and can therefore be part of the mysys library
    and be compiled only once.
    
    Also change them from .c to .cc so that C++ can be used for
    future changes in these files.

commit 1920b22f480ad50b125d77d42971a878e7ca4ea5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:43:06 2016 +0530

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

commit 6b3b64da66644ba5c142f2f289fbe4c8fb12e965
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:38:03 2016 +0530

    Bug#25159791 BASEDIR: COMMAND NOT FOUND ERROR WHILE STARTING SERVER WITH INIT SCRIPTS
    
    (cherry picked from commit 7a39efab8a59ebdcd562fb788bc004ff338796ea)

commit a9df0fd70786abc86ad6a49e8450972efff1960a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:48:20 2016 +0530

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

commit 556883b1b52d2435682e27789b78c9143a6e76f3
Merge: f5a992b a7abe54
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Nov 28 11:36:07 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit a7abe5454a5c674b00d6894a42c56c62ac495ac3
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Nov 28 09:59:44 2016 +0000

    BUG#24643036 BINLOG_SENDER DOES NOT REDUCE SIZE OF SEND BUFFER AS
                 EXPECTED
    
    Post push fix.
    
    The String object used as network packet by the Binlog sender is not a
    real string (it is not always a null terminated string).
    
    The code BUG#24643036 originally pushed did some optimizations in the
    packet memory allocation and handling that lead to situations were the
    String object buffer didn't filled the last buffer position with a '\0'.
    
    Because of this, some functions handling the buffer as a null terminated
    string (packet->c_ptr()) started failing on valgrind tests.
    
    This patch make those functions to pass the pointer to the buffer
    without considering it a null terminated string (packet->ptr()).

commit f5a992b58ca31f6d4f5bc631f584d0b3d08fa04c
Merge: dd8739c 009d62b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:50:08 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 009d62b68f3bf0ba8afc5e7bb39fb61caf8022f4
Merge: 6a93a17 d66d9a6
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:48:20 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d66d9a678b1b11ce940b2afb624621286af98ab8
Merge: 64003a9 7a39efa
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:43:06 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 7a39efab8a59ebdcd562fb788bc004ff338796ea
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Nov 28 16:38:03 2016 +0530

    Bug#25159791 BASEDIR: COMMAND NOT FOUND ERROR WHILE STARTING SERVER WITH INIT SCRIPTS

commit dd8739cae5c102ee2eadd3881657b1e07cb81b23
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Nov 28 11:05:03 2016 +0100

    Bug#24733658: If and friends give wrong type for signed and unsigned integer
    
    The problem here is that the CASE, COALESCE, IF and IFNULL functions merge
    signed and unsigned integer data types incorrectly. The value range of
    the merged type is not large enough to accomodate all values from the
    source expressions. Interestingly, this is only a problem with SELECT,
    when the SELECT is used with a CREATE TABLE statement, a correct
    data type is generated. This is because the merged field_type is used
    to determine the data type in the SELECT case, whereas result_type is used
    to determine the data type in the CREATE TABLE case.
    
    The solution is to refactor how the data type of such functions are
    generated, and derive the result type from the data type. A new function
    Item::aggregate_type() is implemented that loops over all source items
    to the function. NULL types are skipped, and if only NULLs are input,
    a NULL value is generated. Otherwise, the function Field::field_type_merge
    is used to generate the proper data type. However, when the generated
    data type is an integer type, and we have both unsigned and signed arguments,
    the data type may be adjusted to one with a bigger range. Let's say we have
    a signed short int and an unsigned short int as arguments. The value
    range for those are -32768..32767 and 0..65535, respectively. The resulting
    values are not accomodated in a short int, so we make the resulting type
    a signed long int. The range need to be "bumped" only if the largest
    unsigned type is the same as the type resulting from field_type_merge().
    If the longlong integer type must be bumped, no integer type is wide
    enough to hold the resulting values, and a DECIMAL(20,0) is generated.
    
    When implementing Item::aggregate_type(), a few functions were made
    redundant and have been deleted. These are item_store_type() (we
    no longer aggregate result type, the result type is derived from field
    type), agg_result_type() (replaced by field_type_merge()) and
    Item_func_if::cache_type_info(). In addition, the resolve_type() functions
    of class Item_func_ifnull,  Item_func_if, Item_func_case and
    Item_func_coalesce have been made as equal as possible.
    
    This change caused one regression because fields of type BIT and integer
    were merged to a string type instead of an integer type. In trunk,
    agg_field_type() generated VARCHAR for this combination, but
    agg_result_type() generated DECIMAL_RESULT, and this was the chosen
    data type. Since a BIT is classified as an integer data type in the
    manual, the conversions for BIT and integer types in the array
    field_types_merge_rules were changed to numeric types. This caused the
    regression to disappear, and no other test failures were introduced.
    
    This will also fix bug#25139420. A test case for this bug is added.

commit 706ad97c557cdcda3eebf2436bcf8931c3ad31ea
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Nov 28 11:09:48 2016 +0100

    WL#9348 INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS
    
    Record failing test case.
    
    Change-Id: I56d8043097615af2172972d11930138e8d7730a5

commit bc85ad563053e2239b0f619208c462ab31ca67a5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 25 20:53:21 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Two small cleanups in the UCA scanners:
    
     - Move next_implicit() into a scanner-local member function, since
       uca_scanner_any isn't able to handle UCA 9.0.0 collations anymore
       anyway. (Saves an easily-predictable branch.)
     - Collapse next_raw() and next_raw_single_level() into a single function,
       now that they are so similar that it's easy.
    
    Microbenchmarks are generally neutral, ie. within noise; most likely,
    all of these effects (including the sole win) are likely to be reverted
    by chance later.
    
      BM_UTF8MB4StringLength        47 ->  47 ns/iter  [  0.0%]
      BM_SimpleUTF8MB4             143 -> 146 ns/iter  [ -2.1%]
      BM_MixedUTF8MB4              211 -> 215 ns/iter  [ -1.8%]
      BM_MixedUTF8MB4_AS_CS        702 -> 663 ns/iter  [ +5.9%]
      BM_NewlineFilledUTF8MB4      197 -> 204 ns/iter  [ -3.4%]
      BM_HashSimpleUTF8MB4         305 -> 305 ns/iter  [  0.0%]
    
    Change-Id: I90ede3198d99488308604ae50f056cbc784c09a1

commit 69edf59212f8468ec7449b3a96e3d0c80a74038a
Merge: fd22991 6a93a17
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Nov 28 10:04:29 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6a93a173541a0b3e05db6a74b3cdecfa91973d5f
Merge: 52a4836 64003a9
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Nov 28 10:02:47 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 64003a9b55cb330982128782df73dc48d2e66e14
Merge: 5cfbdc6 c002314
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Nov 28 10:02:09 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit fd22991a83804641667a5f892dc2808ceb10362d
Merge: 21563c5 52a4836
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Mon Nov 28 14:24:54 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 52a483683691289096b86e5139b86a090030b796
Merge: 58a525e 5cfbdc6
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Mon Nov 28 14:22:03 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5cfbdc6932f8f3a49f9fe65575d5014287dfb70f
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Mon Nov 28 14:19:16 2016 +0530

    Bug#20228478 - ON REPLICATION SLAVE ALTER USER FAILING FOR
    	       USER WITH SHA256_PASSWORD PLUGIN
    
    Description:
    In a replication environment, SET PASSWORD/ALTER USER query
    fails to execute on the slave due to slave not being
    able to parse the hash string correctly.
    
    Analysis:
    When the plain text password is converted to hash and if
    the hash string contains a single quote, it results in a
    syntax error on the slave thread. This is because the hash
    string with quote is written to the binlog without
    correctly escaping the special characters. This results in
    the slave throwing a syntax error.
    
    Fix:
    The fix makes sure that depending on the charset and the
    sql-mode of the connection, the hashed password string is
    correctly escaped before it gets written to the binlog as
    a part of the query. The slave can then correctly parse the
    string and can execute the query successfully.

commit c186b64b240a2414e1f332a388b91719e19b3c9c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 24 18:07:49 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove duplicate CMake code that downgraded -Werror to warnings.
      Not only was the code redundantly repeated, it was also right at
      the top which meant it was executed regardless of whether NDB was
      built or not. Removed the redundant code at the top such that the
      downgrades happen only when we're sure that we're building NDB.

commit c0023143bd1d1d7b7ca69a13f35d9549373e2762
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Nov 25 11:03:44 2016 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL
    PRIVILEGES
    
    Post-push fix: Handle symlink setting correctly.

commit 21563c5427f60830ba797e46150f9b6a3bdad088
Merge: 785a670 58a525e
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Nov 28 11:14:18 2016 +0400

    Merge branch 'mysql-5.7' into mysql-trunk (null-merge of WL 7247)

commit 785a6702875e624f20f5a65e1219b436a0f1874a
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Nov 28 11:10:13 2016 +0400

    WL#7247: Deprecate and remove the \N synonym of NULL
    
    1. remove \N support from sql_lex.cc
    2. remove the MY_LEX_ESCAPE lexer state, since it isn't needed any more
       after the removal of #1.
    3. minor refactoring, remove some anachronisms:
      * in sql_yacc.yy: remove unneeded resetting of the next lexer state
        to the MY_LEX_OPERATOR_OR_IDENT value;
      * replace the MY_LEX_OPERATOR_OR_IDENT state with MY_LEX_START since
        since they are equivalent.

commit 58a525e7230cdb4fc8d67bff800ba71966bb4df4
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Thu Sep 1 20:50:49 2016 +0400

    WL#7247: Deprecate and remove the \N synonym of NULL
    
    Note: this patch for 5.7, it introduces a deprecation warning for the \N extension.

commit ff1425a8eeb2a36f6764a2c73c1e267342fe9eb2
Author: Parveez Baig <parveez.baig@oracle.com>
Date:   Mon Nov 28 12:20:03 2016 +0530

    Bug#24714637: RPL_GTID.RPL_SYNC_RELAY_LOG_INFO IS UNSTABLE ON PB2
    
      The test was failing due to the wrong syntax in the sql_query.
     The wrong syntax was due to the 'No Such row' value of the specified
     position in the query show relay log events from position.
    
     Fix: The value of position is obtained in the test using query which
     acquires the position of the next event using show relay log events
     with LIMIT and offset. This position obtained will be 'No such row'
     if the next event has still not arrived at the slave. Later the position
     will be used in query 'show relay log events from position' which results
     in SQL syntax error.
      Introduced a while loop which executes the query to get the value of the
     position until it is not equal to 'No such row'

commit 12a112e9cb2c28a748d4995324f009cf4110f85c
Merge: c6af7f5 225338a
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 28 12:02:36 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 225338a0fdb96c8aec9698b3b2fc9f0064a8a41d
Merge: 018c3e8 6e2d369
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 28 12:00:33 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6e2d369db588968e5c79e490af002fd9e88dfd12
Merge: fe014f0 0f26ee3
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 28 11:58:29 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0f26ee33bf3dfb0ee70a3e1ff3361a3e15c1fb80
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 28 11:55:36 2016 +0530

    Bug #23295423: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   HANDLE_GRANT_TABLE
    
    Description:- Server received SIG11 in the function,
    "handle_grant_table()".
    
    Analysis:- TEMPORARY table can be created even when a
    non-TEMPORARY table of the same name is present and the
    existing non-TEMPORARY table is hidden until the temporary
    table is dropped. This behaviour is causing the server
    to crash when "user" and "host" fields of temporary
    mysql.user table are fetched as part of CREATE/DROP user.
    This issue exists with ACL system tables.
    
    Fix:- All functions updating ACL system tables are modified
    with a check whether the table to be updated has expected
    number of columns, expected character set and data type for
    each columns. If not, an error is thrown along with an error
    message reported in the mysqld error log.

commit 7add3b87effc1342e0e71d0bdbbf70f4fd2761de
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Nov 28 11:39:27 2016 +0530

    Bug #11757421: SEND START OF NODE START COMMAND IGNORED IN RESTART
    
    Problem
    --------
    
    When a data node is restarted, the node is first stopped and after
    a fixed wait, it is assumed to have entered the NOT_STARTED state.
    At this point, a start signal is fired. If the node is not ready
    i.e. has not completed stopping during the wait and is therefore
    not in the NOT_STARTED state, the start signal is silently ignored
    leaving no error even though the restart process is incomplete.
    
    Fix:
    ----
    
    Check if the data node has reached the NOT_STARTED state before
    the start signal is fired. The wait for the node to reach this
    state is split into 2 separate checks:
    
    1. Wait for the data node(s) to start shutting down
    2. Wait for the data node(s) to complete shutting down and reach
       NOT_STARTED state
    
    In the event of either of these cases timing-out, the restart is
    considered to have failed and an error message is returned.

commit b95762b07e758b17a7c82b8abc4a36a8a97b6829
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Nov 26 20:41:48 2016 +0530

    Followup fix for Bug#25088048 - ADDITIONAL ISSUES IN MYSQLD_SAFE
      - Removed mysql.conf, mysqld.service and mysql-systemd-start from sles spec file
    
    (cherry picked from commit 35c1adc17c1a99b2c256d374500437a6ce21339e)

commit c6af7f512b6485d7e6e0b45b69e9e40e614386c5
Merge: ce70744 018c3e8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Nov 26 22:23:20 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 018c3e8a7a1d7e6d501a952b04e9144495d2ffd5
Merge: 5de9c39 fe014f0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Nov 26 22:21:57 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fe014f0ef178073008c44f02a012a5ed67e7b160
Merge: a1d5217 35c1adc
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Nov 26 22:19:28 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 35c1adc17c1a99b2c256d374500437a6ce21339e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Nov 26 20:41:48 2016 +0530

    Followup fix for Bug#25088048 - ADDITIONAL ISSUES IN MYSQLD_SAFE
      - Removed mysql.conf, mysqld.service and mysql-systemd-start from sles spec file

commit ce70744c2024d8864f4902522908bacb88199733
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Nov 25 17:21:08 2016 +0200

    Bug #24527148: SERVER CRASH WITH COMPONENT LOAD/UNLOAD CONCURRENTLY
    
    Added a mutex to serialize persisted_dynamic_loader::load and
    persisted_dynamic_loader::unload.
    No real need to execute these in parallel and they'd also interfere
    with the max_id.
    Fixed the unit tests

commit 4d9e469adc346748567d94334264b494e01cbbc3
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Fri Aug 12 14:57:18 2016 +0200

    WL#9127 Define new handler API for sampling
    
    This worklog specifies a new handler API for doing sampling of a given table.
    
    Together with the new API, we provide a default implementation
    that will be used if the storage engine does not provide an implementation.
    The default implementation does a full table scan, but skips rows
    so that it looks like sampling from the caller point of view.

commit 0895544e29bb0bffed5bde8902b00f878f802686
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Nov 25 15:08:37 2016 +0100

    Revert "Bug #24527148: SERVER CRASH WITH COMPONENT LOAD/UNLOAD CONCURRENTLY"
    
    Does not compile:
    In file included from /home/ogrovlen/mysql-git/mysql-trunk/unittest/gunit/components/mysql_server/registry-t.cc:24:0:
    /home/ogrovlen/mysql-git/mysql-trunk/components/mysql_server/persistent_dynamic_loader.h:140:10: error: ‘mysql_mutex_t’ does not name a type
       static mysql_mutex_t component_id_by_urn_mutex;
    
    This reverts commit 466f48522ebdd82847472ab8f6b49628d1222650.

commit a0903d78dc93f1bc5c8646a3ba47d060664a13a8
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Nov 25 13:32:20 2016 +0100

    WL#8737 IO aware defaults for optimizer cost constants
    
    Update default values for optimizer cost constants. New values are:
    
      row_evaluate_cost             0.1
      key_compare_cost              0.05
      memory_temptable_create_cost  1.0
      memory_temptable_row_cost     0.1
      disk_temptable_create_cost    20.0
      disk_temptable_row_cost       0.5
      memory_block_read_cost        0.25
      io_block_read_cost            1.0
    
    Changes to source files:
    
    sql/opt_costconstants.cc
      Changed default values for cost constants.
    sql/sql_select.h
      Change type of JOIN_TAB::read_time from ha_rows to double since cost may now
      be lower than 1.
    sql/sql_optimizer.cc
    sql/sql_select.cc
      Removed casts when assigning to/from JOIN_TAB::read_time
    unittest/gunit/opt_costconstants-t.cc
      Updated unit tests to use new values for cost constants
    
    Changes in tests:
    
    mysql-test/include/join_cache.inc
      Added more data in one table to preserve original query plan.
    mysql-test/include/mix1.inc
      Added more data in in two tables to preserve original query plan.
    mysql-test/r/count_distinct.result
      User variable changed because plans go from BNL to ref access
    mysql-test/t/dd_is_compatibility.test
    mysql-test/r/dd_is_compatibility.result
    mysql-test/r/dd_is_compatibility_ci.result
      Lowered setting of max_join_size to make sure test still get ER_TOO_BIG_SELECT
    mysql-test/r/delete.result
      Changed join order gives more warnings
    mysql-test/r/endspace.result
      Query returned result in different order, re-recorded.
    mysql-test/r/explain.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/explain_for_connection_rqg_json.result
      Change in two query plans, updated cost numbers in EXPLAIN JSON.
    mysql-test/r/explain_for_connection_rqg_trad.result
      Change in one query plan, updated cost numbers in EXPLAIN JSON.
    mysql-test/r/explain_for_connection_small_json.result
    mysql-test/r/explain_for_connection_small_trad.result
      One query changes from table scan to ref access, due to magic constants
      added when calculating cost for tables scan. Two queries changes from
      index scan to ref access due to lower cost of doing ref access. Updated cost
      numbers in EXPLAIN JSON.
    mysql-test/r/explain_json_all.result
      Re-recorded new query plan for one query since it no longer tested
      what the original test was for. Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/explain_json_none.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/t/explain_other.test
    mysql-test/r/explain_other.result
      Added more data to one table in order to preserver original query plan.
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/func_concat.result
      Changed from table scan with BNL to eq_ref access.
      The new plan is identical to the plan when the test case was added.
    mysql-test/r/greedy_optimizer.result
      Several queries got new query plan. All new query plans resulted in a
      lower number of Handler_reads. Updated Last_query_cost numbers.
    mysql-test/r/greedy_search.result
      No changes in query plans but the number of partial plans evaluated
      was changed for several queries.
    mysql-test/r/group_by.result
      Changed from table scan with BNL to ref access
    mysql-test/r/group_min_max.result
      Four queries changes from doing index scan to use range scan due to
      range scan becoming cheaper with all data in memory buffer.
    mysql-test/r/heap_hash.result
      One query changes from using join buffer to use ref access for join.
      This is what the original test used, accepted new plan.
    mysql-test/r/index_merge_innodb.result
      One query changes from ref to range. This is caused by using DS-MRR for the
      range scan. Updated cost numbers in EXPLAIN JSON.
    mysql-test/include/index_merge_intersect_dml.inc
    mysql-test/r/index_merge_intersect_dml.result
      One query changed from doing range scan on primary key to range scan on
      secondary key. Changed query to switch back to use primary key.
    mysql-test/r/index_merge_myisam.result
    mysql-test/r/innodb_explain_json_non_select_all.result
    mysql-test/r/innodb_explain_json_non_select_none.result
    mysql-test/r/internal_tmp_disk_storage_engine.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/t/join.test
    mysql-test/r/join.result
      Query plan changes for two queries. First fixed by increasing the range
      interval in the query. The second query changes from table scan to
      eq_ref for one table, re-recorded new query plan. Updated Last_query_cost
      numbers.
    mysql-test/r/join_cache_bka.result
      Four queries changes from using BNL to use BKA/ref access.
    mysql-test/r/join_cache_bka_nixbnl.result
      One query changes from table scan to BKA/ref access.
      One query changes join order
    mysql-test/r/join_cache_bkaunique.result
      Four queries changes from using BNL to use BKA-unique/ref access.
    mysql-test/r/join_cache_bnl.result
      Four queries changes from using BNL to use ref access due to ref access
      becoming cheaper with all data in a memory buffer.
    mysql-test/r/join_cache_nojb.result
      Changed join order for one query due to ref access becomming relatively
      less costly compared to table scan when all data is in a memory buffer.
    mysql-test/r/join_outer.result
      Changes in order of results from a few queries, re-recorded. Updated cost
      numbers in EXPLAIN JSON.
    mysql-test/r/join_outer_bka.result
    mysql-test/r/join_outer_bka_nixbnl.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/key.result
      Updated Last_query_cost numbers.
    mysql-test/r/key_diff.result
      One query changes from using join buffering to ref access. The new plan
      has also been accepted as plan for this query before, so just use it.
    mysql-test/r/myisam.result
      One query changes from table scan to range scan, likely due to use of
      magic constants when calculating cost of table scan.
    mysql-test/r/myisam_explain_json_non_select_all.result
    mysql-test/r/myisam_explain_json_non_select_none.result
      Updated cost numbers in EXPLAIN JSON plus two rows estimates in explain.
    mysql-test/r/myisam_icp.result
    mysql-test/r/myisam_icp_all.result
    mysql-test/r/myisam_icp_none.result
      Changes to query plans for two bugs that was reported for InnoDB.
      Accepted changes since the plan is still the same when run with
      InnoDB.
    mysql-test/t/opt_costmodel.test
    mysql-test/r/opt_costmodel.result
    mysql-test/t/opt_costmodel_flush.test
    mysql-test/r/opt_costmodel_flush.result
      Updated to use new cost numbers, updated result files.
    mysql-test/r/opt_costmodel_restart.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/opt_hints.result
      Changes from ref access to range access. Does not affect purpose of test
    mysql-test/t/opt_hints_subquery.test
    mysql-test/r/opt_hints_subquery.result
      A lot of changes to explain output:
      -Most of the changes are from using join buffer to ref access (ok)
      -Some changes are in join order (ok)
      -Some changes are in semijoin strategy; adjusted test cases so hints
       are used according to original purpose of tests.
    mysql-test/r/order_by_all.result
    mysql-test/r/order_by_icp_mrr.result
    mysql-test/r/order_by_none.result
      Two queries joining three tables changes join order. The new query plans are
      equal to earlier query plans, so no attempt on reproducing current query
      plans.
    mysql-test/r/partition.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/t/partition_locking.test
    mysql-test/r/partition_locking.result
      Many queries changed from doing index scan to range scan. Adjusted
      the queries to use index scan. For the last query, the plan change
      is accepted since it is the same as the initial query plan.
    mysql-test/t/partition_pruning.test
    mysql-test/r/partition_pruning.result
      Two queries changed from table scan to range scan. Adjusted queries
      to produce same plan.
    mysql-test/r/range_all.result
    mysql-test/r/range_icp.result
    mysql-test/r/range_icp_mrr.result
    mysql-test/r/range_mrr.result
    mysql-test/r/range_mrr_cost.result
    mysql-test/r/range_none.result
    mysql-test/r/range_with_memory_limit.result
      Change in three query plans. The first is due to range scan becoming cheaper
      than table scan, and join buffering is no longer considered. The two last is
      Change in join order due to differences in cost estimate for ref access
      versus join buffering. The new plan is more similar to initial plan for
      these two queries.
    mysql-test/include/select.inc
    mysql-test/r/select_all.result
    mysql-test/r/select_all_bka.result
    mysql-test/r/select_icp_mrr.result
    mysql-test/r/select_icp_mrr_bka.result
      Two identical queries switches from using join buffering to use ref access.
      Change accepted since ref access was the original join method for these
      queries.
    mysql-test/r/select_none.result
    mysql-test/r/select_none_bka.result
    mysql-test/r/select_none_bka_nixbnl.result
      In addition to the two queries above, a third query changes from table
      scan to range scan due to range access is cheaper with all data in memory.
      Accepted new plan since range scan was the origianal plan when the bug
      was first fixed.
    mysql-test/r/select_all_bka_nixbnl.result
    mysql-test/r/select_icp_mrr_nixbnl.result
      Updated result file after adding sorted_result for two queries in select.inc
    mysql-test/t/select_safe.test
    mysql-test/r/select_safe.result
      Adjusted value for max_join_size to make query fail.
    mysql-test/t/single_delete_update.test
    mysql-test/r/single_delete_update.result
      Two limit queries changed from doing file sort to using index. The
      test assumed that is should use filesort, so increased the limit to
      produce original query plan. Needed to adjust some other parts of
      the test due to this.
    mysql-test/r/status.result
      Updated Last_query_cost numbers.
    mysql-test/r/subquery_all.result
    mysql-test/r/subquery_all_bka.result
      Five queries have changes in query plans:
      -Change from using join buffer to ref access due to ref access is less costly
       with all data in memory buffer.
      -Join order changes due to minor changes in cost estimates, the new
       plan is identical to a former plan for this query.
      -Last three queries change from using join buffering to use ref access
       due to ref access is less costly with data in memory. The query plan for
       these queries has changed several times so no effort on reproducing
       original plan.
    mysql-test/r/subquery_all_bka_nixbnl.result
      Join order changes for one query due to minor changes in cost estimates,
      the new plan is identical to a former plan for this query.
    mysql-test/r/subquery_mat_all.result
      Several queries changes from using DuplicateWeedout to FirstMatch due
      to the cost of FirstMatch reading data is now lower compared to using
      the temporary table. The query plan for these queries have changed
      several times so no attempt on reproducing original query plan.
    mysql-test/r/subquery_nomat_nosj.result
    mysql-test/r/subquery_nomat_nosj_bka.result
    mysql-test/r/subquery_none.result
    mysql-test/r/subquery_none_bka.result
      Join order changes for two queries due to minor changes in cost estimates.
    mysql-test/r/subquery_nomat_nosj_bka_nixbnl.result
    mysql-test/r/subquery_none_bka_nixbnl.result
      Join order change for one query due to minor changes in cost estimates.
    mysql-test/r/subquery_sj_all.result
    mysql-test/r/subquery_sj_all_bka.result
    mysql-test/r/subquery_sj_all_bka_nixbnl.result
    mysql-test/r/subquery_sj_all_bkaunique.result
      About 25 queries has changes in query plans:
      -Materialization to FirstMatch: FirstMatch becomes cheaper due to the
       cost of reading the data when it is in memory is now lower
      -Materialization to DupsWeedOut: Some of the changes are due to
       materialization and dupsweedout having the exact same cost and the change
       is caused by rounding errors. In a few cases, the cost of DupsWeedOut
       is now lower than Materialization.
      -DupsWeedout to FirstMatch: FirstMatch benefits more from having all
       data in a memory buffer
      -Join method: Changing from using join buffer to use eq_ref or ref:
       eq_ref and ref get a lower cost when all data is in a memory buffer
    mysql-test/r/subquery_sj_dupsweed.result
    mysql-test/r/subquery_sj_dupsweed_bka.result
    mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
    mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      A few queries have changes in query plan, no changes in semi-join strategy:
      -Join method: Changing from using join buffer to use eq_ref or ref:
       eq_ref and ref get a lower cost when all data is in a memory buffer.
       This causes changes to join order.
    mysql-test/r/subquery_sj_firstmatch.result
    mysql-test/r/subquery_sj_firstmatch_bka.result
    mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      A few queries have changes in query plan, no change in semi-join strategy:
      -Join method: Changing from using join buffer to use eq_ref or ref:
       eq_ref and ref get a lower cost when all data is in a memory buffer.
       This causes changes to join order.
    mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/subquery_sj_loosescan.result
    mysql-test/r/subquery_sj_loosescan_bka.result
    mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
    mysql-test/r/subquery_sj_loosescan_bkaunique.result
      A few queries have changes in query plan, no change in semi-join strategy:
      -Join order: due to changes in cost estimates, verified that current
       plan is not the same as origianal plan, so just re-recorded.
      -Join method: Changing from using join buffer to use eq_ref or ref:
       eq_ref and ref get a lower cost when all data is in a memory buffer.
       This causes changes to join order.
    mysql-test/r/subquery_sj_mat.result
    mysql-test/r/subquery_sj_mat_bka.result
    mysql-test/r/subquery_sj_mat_bka_nixbnl.result
    mysql-test/r/subquery_sj_mat_bkaunique.result
      A few queries have changes in query plan:
      -Join order: due to changes in cost estimates, verified that current
       plan is not the same as origianal plan, so just re-recorded.
      -Join method: Changing from using join buffer to use eq_ref or ref:
       eq_ref and ref get a lower cost when all data is in a memory buffer.
       This causes changes to join order.
      -One query changes from MaterializeLookup to MaterializeScan.
    mysql-test/r/subquery_sj_mat_nosj.result
      A few queries change from using join buffer to use eq_ref or ref:
      eq_ref and ref get a lower cost when all data is in a memory buffer. This
      causes changes to join order.
    mysql-test/r/subquery_sj_none.result
    mysql-test/r/subquery_sj_none_bka.result
    mysql-test/r/subquery_sj_none_bkaunique.result
      One query changes from using join buffer to use eq_ref or ref:
      eq_ref and ref get a lower cost when all data is in a memory buffer. This
      causes changes to join order.
    mysql-test/r/subquery_sj_none_bka_nixbnl.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/r/type_blob.result
      Change from ALL to ref_or_null.  Back to plan before switch to InnoDB
    mysql-test/r/type_ranges.result
      Order of warnings changed for an INSERT INTO SELECT statement likely due
      to plan change. Re-recorded result file.
    mysql-test/r/user_var.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/suite/engines/iuds/r/insert_calendar.result
    mysql-test/suite/engines/iuds/t/insert_calendar.test
      Different plans for MyISAM and InnoDB caused different number of warnings.
      Changed start date for range for query to avoid warnings for zero date.
    mysql-test/suite/gcol/inc/gcol_ins_upd.inc
    mysql-test/suite/gcol/r/gcol_ins_upd_innodb.result
    mysql-test/suite/gcol/r/gcol_ins_upd_myisam.result
      Added sorted_result to some queries to handle that the order of the
      result changes. This happened for the MyISAM test, the InnoDB test
      had the same order.
    mysql-test/suite/gcol/r/gcol_keys_innodb.result
    mysql-test/suite/gcol/r/gcol_keys_myisam.result
      Changed plans from table scan to index usage
    mysql-test/suite/gcol/r/gcol_select_myisam.result
      One query changes join order and switches from join buffering to ref
      access.
    mysql-test/suite/gcol/r/gcol_select_innodb.result
      One query changes from using join buffering to do ref access. This is
      caused by table scan becoming relatively more costly compared to ref
      access.
    mysql-test/suite/innodb/t/innodb_mysql.test
    mysql-test/suite/innodb/r/innodb_mysql.result
      Added extra rows to a few tables to preserve original query plan.
    mysql-test/suite/innodb/include/query_workload_itt.inc
    mysql-test/suite/innodb/r/optimizer_temporary_table.result
      Cost estimates of EXPLAIN JSON was unstable since one table was not used
      for a while and sometimes its pages was flushed from buffer pool.
      Added a query that does a table scan to ensure that pages are in buffer pool.
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/suite/innodb_gis/r/create_spatial_index.result
    mysql-test/suite/innodb_gis/r/rtree.result
    mysql-test/suite/innodb_gis/r/rtree_multi_pk.result
      Changes in query plans from full table/index scan to range scan
      Queries will now actually use a spatial index
    mysql-test/suite/innodb/r/temporary_table.result
    mysql-test/suite/innodb/r/temporary_table_optimization.result
    mysql-test/suite/innodb_zip/r/wl6469.result
    mysql-test/suite/innodb_zip/r/wl6560.result
      A few queries changes from table scan to range scan due to use of magic
      constants in the cost model for table scan.
    mysql-test/suite/innodb_fts/r/opt.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/suite/json/r/json_agg.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/suite/opt_trace/r/bugs_no_prot_all.result
    mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result
      Updated cost estimate numbers in optimizer trace output.
      There are a few minor changes in the optimizer trace output
      and a few plan changes.
    mysql-test/suite/opt_trace/r/bugs_no_prot_none.result
    mysql-test/suite/opt_trace/r/bugs_ps_prot_none.result
    mysql-test/suite/opt_trace/r/fulltext.result
    mysql-test/suite/opt_trace/r/general2_no_prot.result
    mysql-test/suite/opt_trace/r/general2_ps_prot.result
    mysql-test/suite/opt_trace/r/general_no_prot_none.result
    mysql-test/suite/opt_trace/r/general_ps_prot_none.result
    mysql-test/suite/opt_trace/r/range_no_prot.result
    mysql-test/suite/opt_trace/r/range_ps_prot.result
      Updated cost estimate numbers in optimizer trace output.
      There are a few tiny minor change in the optimizer trace output.
    mysql-test/suite/opt_trace/r/charset.result
    mysql-test/suite/opt_trace/r/eq_range_statistics.result
    mysql-test/suite/opt_trace/r/filesort_pack.result
    mysql-test/suite/opt_trace/r/filesort_pq.result
    mysql-test/suite/opt_trace/r/general_no_prot_all.result
    mysql-test/suite/opt_trace/r/general_ps_prot_all.result
    mysql-test/suite/opt_trace/r/subquery_no_prot.result
    mysql-test/suite/opt_trace/r/subquery_ps_prot.result
    mysql-test/suite/opt_trace/r/temp_table.result
      Updated cost estimate numbers in optimizer trace output.
    mysql-test/suite/opt_trace/r/security_no_prot.result
    mysql-test/suite/opt_trace/r/security_ps_prot.result
      Updated length numbers for optimizer trace output.
    mysql-test/suite/parts/r/partition_icp.result
      Updated cost numbers in EXPLAIN JSON.
    mysql-test/suite/sysschema/r/pr_statement_performance_analyzer.result
      Changed query plans give different number for rows_examined
    mysql-test/suite/sys_vars/r/max_join_size_func.result
    mysql-test/suite/sys_vars/r/sql_big_selects_func.result
    mysql-test/suite/sys_vars/t/max_join_size_func.test
    mysql-test/suite/sys_vars/t/sql_big_selects_func.test
      Reduced value for max_join_size to make queries fail with new cost constants.
    mysql-test/suite/test_service_sql_api/r/test_sql_stmt.result
      Changed result order due to different access method
    mysql-test/suite/i_main/r/bug18932813.result
    mysql-test/suite/i_main/r/derived.result
    mysql-test/suite/i_main/r/explain_json.result
    mysql-test/suite/i_main/r/group_by.result
    mysql-test/suite/i_main/r/partition_icp.result
    mysql-test/suite/i_main/r/subquery_mat_cost_based.result
    mysql-test/suite/i_main/r/view.result
      Updated cost numbers in EXPLAIN JSON.
    .../mysql-test/suite/i_main/r/bug22671573.result
      Plan changed from table scan to range scan.
      Verified that test case still reproduce the original bug.
    .../mysql-test/suite/i_main/r/costmodel_planchange.result
      Adjust queries to still identify plan changes
    .../mysql-test/suite/i_main/t/insert.test
    .../mysql-test/suite/i_main/r/insert.result
      Added data to keep same query plan
    .../mysql-test/suite/i_main/t/subquery-bug22262843.test
    .../mysql-test/suite/i_main/r/subquery-bug22262843.result
      Added a row so that subquery materialization is still used.
    .../mysql-test/suite/i_main/t/subquery.test
    .../mysql-test/suite/i_main/r/subquery.result
      Added data to keep on query plan
      Some changes from table scan (with BNL) to ref access
      Some semijoin strategy changes that seems reasonable
    .../mysql-test/suite/i_opt_trace/include/bugs.inc
      Added analyze table to make test stable
    .../mysql-test/suite/i_opt_trace/r/bugs_no_prot.result
    .../mysql-test/suite/i_opt_trace/r/bugs_ps_prot.result
    .../mysql-test/suite/i_opt_trace/r/query_cache_trace.result
      Updated cost numbers in EXPLAIN JSON.
    .../mysql-test/suite/i_opt_trace/r/refaccess_trace.result
      One query plan goes from table scan to eq_ref
      Updated cost numbers in EXPLAIN JSON.
    
    Implemented by Olav Sandstå

commit 466f48522ebdd82847472ab8f6b49628d1222650
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Nov 25 12:54:51 2016 +0200

    Bug #24527148: SERVER CRASH WITH COMPONENT LOAD/UNLOAD CONCURRENTLY
    
    Added a mutex to serialize persisted_dynamic_loader::load and
    persisted_dynamic_loader::unload.
    No real need to execute these in parallel and they'd also interfere
    with the max_id.

commit 783c516a63fee592d2e369ea34b248ba12d71add
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 25 13:54:16 2016 +0100

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Post-push fix for Windows compilation.
    
    Change-Id: Ife9bbfa8f99976932a5f07801531b9092891ebf3

commit d4f680f8402a04c35a3561ae8b493ba0aec6e3e9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 25 16:55:38 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix another build error on linux-x86-64bit-asan
      Fix a memory leak asan reported. This pops up at
      compile time itself since this particular binary,
      ndbinfo_sql, is run to create ndbinfo.sql

commit 5a3afc7b6c0bc612df1fe018c79c16fb60a6bcc9
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Nov 25 10:10:38 2016 +0100

    WL#9348 INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS
    
    Add a new view, I_S.ST_SPATIAL_REFERENCE_SYSTEM as defined in SQL/MM
    Part 3, Sect. 19.3, based on mysql.st_spatial_reference_systems.
    
    Change-Id: I2e6e636a766d48c4401b4d18548aab934e5152c7

commit bd930df0f99f82b7bece4c5753a66124eddd4c34
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Oct 20 13:23:27 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Rerun include-what-you-use for include/. The previous runs didn't
    capture free-standing include files (ie., those who have no corresponding
    .cc file); for that, we need the --check_also= flag to IWYU, which has
    been added now. (Also, with the my_global.h split, there are some
    new changes that need to be picked up.)
    
    Since we've already broken the ABI for 8.0, we can remove some unused
    struct members while we're at it.
    
    Also, "instr" is a macro defined by ncurses; since we now include
    more stuff, we need to rename our member to strstr.
    
    Change-Id: If4eaed4174269b0b70df2b78d5862a712b22b431

commit 0d5eecee07922a786ba1a6d7df7559946e8f9d31
Merge: 29e441b 5de9c39
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Nov 25 16:23:57 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 5de9c39f397e6642f08bab49b438f04f0a6fc3c5
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Nov 25 16:16:15 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    - Fixing the RQG failure by removing infimum check and
    adding the test case to test virtual column index.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 1c7e3f484b6aae93d0b5ba45824c9509933032b4
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Nov 25 11:04:23 2016 +0530

    BUG#25126722 FOREIGN KEY CONSTRAINT NAME IS NULL IN INFORMATION_SCHEMA
                 AFTER RESTART
    
    Problem :
    ---------
    Information_Schema.referential_constraints (UNIQUE_CONSTRAINT_NAME)
    shows NULL for a foreign key constraint after restarting the server.
    If any dml or query (select/insert/update/delete) is done on
    referenced table, then the constraint name is correctly shown.
    
    Solution :
    ----------
    UNIQUE_CONSTRAINT_NAME column is the key name of the referenced table.
    In innodb, FK reference is stored as a list of columns in referenced
    table in INNODB_SYS_FOREIGN and INNODB_SYS_FOREIGN_COLS. The referenced
    column must have at least one index/key with the referenced column as
    prefix but the key name itself is not included in FK metadata. For this
    reason, the UNIQUE_CONSTRAINT_NAME is only filled up when the
    referenced table is actually loaded in innodb dictionary cache.
    
    The information_schema view calls handler::get_foreign_key_list() on
    foreign key table to read the FK metadata. The UNIQUE_CONSTRAINT_NAME
    information shows NULL based on whether the referenced table is
    already loaded or not.
    
    One way to fix this issue is to load the referenced table while reading
    the FK metadata information, if needed.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 14654
    (cherry picked from commit dc55bc8de77539b846200c0baa2f2a5715779dd9)

commit 1c990090c150a079bd05e3b67e20b5ffd96fe404
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:59:08 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    (cherry picked from commit c07e5128a98edb3ea15eb5b7e05613add587ed14)

commit 3652bef0d81410f4a1bf855450c9a0d75887df8c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 18:25:27 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-innodb.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc
    
    (cherry picked from commit fda03524ec0e601b933189a53bea2c28c6deda4e)

commit e27ef2a615c977601e37afc97a9883d5b57730cf
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 24 14:43:45 2016 +0100

    BUG#24818604: MYSQLD CRASHES WHILE STARTING GROUP REPLICATION FOR A NODE IN RECOVERY PROCESS
    
    During BUG#24818604: MYSQLD CRASHES WHILE STARTING GROUP REPLICATION
    FOR A NODE IN RECOVERY PROCESS analysis, three issues were found:
     1) Foreign keys were not being ignored when foreign_key_checks == 0
        That was fixed on BUG#24916351: GR KEY GENERATION FOR FOREIGN
        KEY SHOULD BE IGNORED IF PARENT IS NOT YET CREATED
     2) Foreign keys referenced_key_name could be NULL when a DELETE on
        a child table was executed before accessing the parent, like
        just after server start.
        That was fixed on BUG#25126722 FOREIGN KEY CONSTRAINT NAME IS
        NULL IN INFORMATION_SCHEMA AFTER RESTART
     3) A DELETE on child table after the parent table was dropped using
        foreign_key_checks= 0, is making referenced_key_name NULL and
        consequently crashing the server.
    
    This patch solves issue 3), by skipping foreign keys inclusion on
    transaction write set if referenced_key_name is NULL, since this,
    after issue 1) and 2) fix, means that the parent table does not
    exist and there is no foreign key constraint.
    
    (cherry picked from commit 3160ccf71a0b6fd1d5d87d4ce63c9477f5626e44)

commit 74a737c42f6296c042bda06406bc533a045209d4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 17 14:46:40 2016 +0100

    Bug#25111489 GROUP REPLICATION BREAKS CMAKE --DFOO=SYSTEM BUILD
    
    Change-Id: Ibaa0fad470ed3b1f5a89ea020cff2b38901568e1
    Fix: include compile_flags.cmake
    Also: fix broken unit test build for -DWITH_LIBEVENT=system
    (cherry picked from commit 616c85f600817cc9073d85ea8db7077f5ec33b0d)

commit 232ab22d2cbcbfc5a6a6cae2856419a80d865a85
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 14:21:47 2016 +0100

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

commit 29e441b2bf57036ffd16c54028e612decbd73056
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Nov 25 15:41:40 2016 +0530

    Bug#25060412: REPLACE CLEANUP_FOLDER.INC AND RMTREE()
                  IN TESTS WITH FORCE-RMDIR COMMAND
    
    Issue:
    ------
    A new MTR command "force-rmdir" has been introduced
    to delete directories recursively. "cleanup_folder.inc" which
    was being used till now to serve the purpose, can be
    removed and all the tests which were using that can now
    use "force-rmdir".
    
    Fix:
    ----
    Replace all instances of "cleanup_folder.inc" and rmtree()
    with "force-rmdir" in all the tests.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14553

commit d0b26ca8edccb6f965533d30c5eba479cf9b6239
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:55:42 2016 +0100

    Merge ../bug_25092566 into mysql-5.6
    
    (cherry picked from commit a1d52171de9b20130ef4b6de6e5e018ad16dbaf1)

commit dd55b22b015e19310319c70b8d200d78ee432c93
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 10:03:12 2016 +0100

    Merge ../bug_25092566 into mysql-5.6
    
    (cherry picked from commit 234bf1c47b2271c345847b2b3927bc6a78dabe3b)

commit 8b8f0d2550d4b6028b5633347051057e52b68ee7
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 14:11:02 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 00189280432ac459d657417f7ec42aed651d5ec0)

commit 1daf8794fe8812181b440823989f7d90e62db693
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:53:55 2016 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL
    PRIVILEGES
    
    Post-push fix: Handle embedded server correctly.

commit 7509ca8506550f7caf9d2573503f6d58f57aec94
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 09:57:54 2016 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL
    PRIVILEGES
    
    Require FILE privilege when creating tables using external data directory or
    index directory.

commit 2a9b2c913022f5b768725a806170e3f863ee9129
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 13:41:27 2016 +0100

    Bug#25088048 ADDITIONAL ISSUES IN MYSQLD_SAFE
    
    Don't read --ledir option from config file.
    Ignore current working for finding location of mysqld
    Remove use of chown/chmod in scripts.
    Be helpful only when basedir is /var/log or /var/lib.
    Removed unused systemd files for SLES.
    Set explicit basedir in scripts.

commit e4d026e06a8666f5f7da41b3c0e581767b22c6da
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 25 14:07:31 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix build error on linux-x86-64bit-asan
      The problem was that a list of C flags are suppressed in the
      memcached code including -Wextra. Unfortunately this had an
      effect on a new flag -Wextra-semi which was incorrectly
      replaced with just -semi, something clang obviously complained
      about. Fixed the string replacement code such that -Wextra-semi
      remains untouched.

commit cb5cc15ee1b7910e8b2d1bf096df7e814c782af9
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Fri Nov 25 12:38:22 2016 +0530

    Bug#25127417 : main.group_by.test fails sporadically on PB2
    
    Problem :
    main.group_by.test fails sporadically on PB2 after wl#9489
    
    Solution :
    But after detail investigation and discussion among the optimizer team, it was decided that, this particular test has to be retained as Myisam
    specific. the following steps are adapted.
    
    A Engine=Myisam has been added in the DDL statement , to retained as Myisam
    A column masking at 10 & 11 , has been added for the sporadic explain failures
    
    Reviewed-by: Chaithra <chaithra.gopalareddy@oracle.com>
    
    RB : 14668

commit 1bbacafe71a856a64dc095cb8d7989f8f38a612a
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Fri Nov 25 11:24:43 2016 +0530

    Revert "WL#9758 - Add a new MTR option --skip-if-config to skip a test for"
    
    This reverts commit 470b05d70dbe57dc28fd811eb6465886153fc410.

commit 41dafb6d34add0cd02cf95e0db3f51232052d70e
Merge: 4bc7ddb dc55bc8
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Nov 25 11:07:42 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	mysql-test/suite/innodb/r/foreign_key.result
    	mysql-test/suite/innodb/t/foreign_key.test

commit dc55bc8de77539b846200c0baa2f2a5715779dd9
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Nov 25 11:04:23 2016 +0530

    BUG#25126722 FOREIGN KEY CONSTRAINT NAME IS NULL IN INFORMATION_SCHEMA
                 AFTER RESTART
    
    Problem :
    ---------
    Information_Schema.referential_constraints (UNIQUE_CONSTRAINT_NAME)
    shows NULL for a foreign key constraint after restarting the server.
    If any dml or query (select/insert/update/delete) is done on
    referenced table, then the constraint name is correctly shown.
    
    Solution :
    ----------
    UNIQUE_CONSTRAINT_NAME column is the key name of the referenced table.
    In innodb, FK reference is stored as a list of columns in referenced
    table in INNODB_SYS_FOREIGN and INNODB_SYS_FOREIGN_COLS. The referenced
    column must have at least one index/key with the referenced column as
    prefix but the key name itself is not included in FK metadata. For this
    reason, the UNIQUE_CONSTRAINT_NAME is only filled up when the
    referenced table is actually loaded in innodb dictionary cache.
    
    The information_schema view calls handler::get_foreign_key_list() on
    foreign key table to read the FK metadata. The UNIQUE_CONSTRAINT_NAME
    information shows NULL based on whether the referenced table is
    already loaded or not.
    
    One way to fix this issue is to load the referenced table while reading
    the FK metadata information, if needed.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 14654

commit 4bc7ddb0c8152792674005e62f622a81d08b621a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Nov 25 05:08:37 2016 +0100

    Remove two unstable RPL tests from the Valgrind run
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 3cadeefa042cff2fa7ea7d1d2d43307ff93210f0
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Nov 22 22:07:55 2016 +0100

    Bug#25089371: FOLLOWUP AFTER BUG#22874872: MAKE TESTS INDEPENDENT
                  OF MYSQL.NDB_BINLOG_INDEX
    
    Adjust tests to be agnostic to the existence of the table
    'mysql.ndb_binlog_index'.
    
    Create the table at the end of 'scripts/mysql_system_tables.sql'
    to make it easier to filter out table ids in the InnoDB sys tables,
    since we avoid tables with higher ids that would otherwise be
    one off dependeing on the existece of the ndb_binlog_index table.

commit 6172ecac1169a015b2d10b6900c5bd0a1c7c9d86
Merge: 0ff07bb c07e512
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 22:05:02 2016 +0100

    Merge ../bug_25092566__5.7 into mysql-trunk

commit c07e5128a98edb3ea15eb5b7e05613add587ed14
Merge: fda0352 a1d5217
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:59:08 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7

commit a1d52171de9b20130ef4b6de6e5e018ad16dbaf1
Merge: 234bf1c c20be85
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:55:42 2016 +0100

    Merge ../bug_25092566 into mysql-5.6

commit c20be85c65210237139aa1d93337bfc2b049e1b6
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 21:53:55 2016 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL
    PRIVILEGES
    
    Post-push fix: Handle embedded server correctly.

commit 0ff07bb311c425c72afdf514cabd2ba92ea8f68b
Merge: 03d9b6b fda0352
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 18:32:41 2016 +0100

    Merge ../bug_25092566__5.7 into mysql-trunk
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/sql_parse.cc

commit fda03524ec0e601b933189a53bea2c28c6deda4e
Merge: 315db47 234bf1c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 18:25:27 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-innodb.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc

commit 03d9b6bc0fa4e35dd56b0dd5687154091a79a9ba
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Sep 29 15:05:41 2016 +0200

    WL#9581 Deprecate and remove DTrace probes
    
    Remove all DTrace probes and associated build machinery.
    
    Change-Id: Ia0ef3e910512f97c6adc79cc75ad7de90f79e43a

commit 09b874e8b10a59e4e14ca4615116cf142c948990
Merge: b63f75f 315db47
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Nov 24 16:11:24 2016 +0100

    Null merge branch 'mysql-5.7' into mysql-trunk

commit 315db476c68a804f1cec0d5a1bb77c80771192c8
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Nov 16 16:01:54 2016 +0000

    Bug#25119288: COMPILATION WARNINGS WITH GROUP REPLICATION PLUGIN ON WINDOWS ON 5.7
    
    There are some warnings when building Group Replication on Windows on 5.7.
    These warnings need to be analysed and fix all possible ones.
    
    Warnings were due the need of casts to convert variables types.

commit b63f75fc109551412a44401d02a50728375a3247
Merge: 17d10af 888de79
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 15:49:28 2016 +0100

    Merge ../bug_25092566__5.7 into mysql-trunk
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc

commit 888de7996031e9e3c73ba64df11bd7ca6cbc938c
Merge: d3a5526 234bf1c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 15:40:54 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-innodb.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc

commit 17d10af3d73054899925af344604de9cd173983d
Merge: 91ab10a d3a5526
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Nov 24 15:21:28 2016 +0100

    Null merge branch 'mysql-5.7' into mysql-trunk

commit d3a552650afd3b57a9dcea60cfadc53c7111a854
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Oct 3 10:12:08 2016 +0200

    Bug#24756780 SOME FILES HAVE WRONG PERMS
    
    Approved by Terje Rosten <terje.rosten@oracle.com> over IM.
    
    Backport this from mysql-trunk.

commit 91ab10a6b5b43ba34f17e295dbe4f94e01ec9c25
Merge: 6448ac0 f594907
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 15:15:59 2016 +0100

    Merge ../bug_25092566__5.7 into mysql-trunk
    Null merge
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/sql_parse.cc

commit f5949073113660df6b31b20b12d0c8b9d28490a2
Merge: 3160ccf 234bf1c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 15:09:26 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-innodb.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc

commit 6448ac0d3026981949aade5ada5b35e89023114c
Merge: adf2e37 3160ccf
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 24 14:48:28 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3160ccf71a0b6fd1d5d87d4ce63c9477f5626e44
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 24 14:43:45 2016 +0100

    BUG#24818604: MYSQLD CRASHES WHILE STARTING GROUP REPLICATION FOR A NODE IN RECOVERY PROCESS
    
    During BUG#24818604: MYSQLD CRASHES WHILE STARTING GROUP REPLICATION
    FOR A NODE IN RECOVERY PROCESS analysis, three issues were found:
     1) Foreign keys were not being ignored when foreign_key_checks == 0
        That was fixed on BUG#24916351: GR KEY GENERATION FOR FOREIGN
        KEY SHOULD BE IGNORED IF PARENT IS NOT YET CREATED
     2) Foreign keys referenced_key_name could be NULL when a DELETE on
        a child table was executed before accessing the parent, like
        just after server start.
        That was fixed on BUG#25126722 FOREIGN KEY CONSTRAINT NAME IS
        NULL IN INFORMATION_SCHEMA AFTER RESTART
     3) A DELETE on child table after the parent table was dropped using
        foreign_key_checks= 0, is making referenced_key_name NULL and
        consequently crashing the server.
    
    This patch solves issue 3), by skipping foreign keys inclusion on
    transaction write set if referenced_key_name is NULL, since this,
    after issue 1) and 2) fix, means that the parent table does not
    exist and there is no foreign key constraint.

commit adf2e37cd58e15e201f0f8dc43a07a90f86fa4fd
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Nov 24 14:42:33 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix: Give the mock charset in the field-t unit test a valid charset,
    so that calling charpos works.
    
    Change-Id: I87f52cc7dc204f91746f4c61e04c04e0714b8a47

commit ae77654d9e6555c1fe75f93ce20f279c6e495bee
Merge: 470b05d fe75689
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 14:27:23 2016 +0100

    Merge ../bug_25092566__5.7 into mysql-trunk
    
    Conflicts:
    	mysql-test/r/partition_symlink.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	mysql-test/t/partition_symlink.test
    	sql/sql_parse.cc

commit 470b05d70dbe57dc28fd811eb6465886153fc410
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Nov 24 17:55:13 2016 +0530

    WL#9758 - Add a new MTR option --skip-if-config to skip a test for
    a particular server option
    
    Problem:
    
    With the usage of opt files to set the server variables in the tests,
    we found that MTR tests have duplicate test runs.
    For ex-
    All the rpl tests will run in all the three runs i.e, rpl without MTS,
    rpl MTS LC and rpl MTS DB.
    
    Solution:
    
    To avoid duplicate runs, we have implemented a new MTR
    option (--skip-if-config) which skips tests for the mentioned
    server configuration.
    Below example runs only rpl MTS DB tests and skips all rpl without
    MTS tests.
    
    Usage: ./mtr --suite=rpl --mysqld=--slave-parallel-workers=4
           --mysqld=--slave-parallel-type=DATABASE
           --skip-if-config=--slave-parallel-workers=0
           --skip-if-config=--slave-parallel-type=LOGICAL_CLOCK
    
    Reviewed by:
    Srikanth B.R <srikanth.b.r@oracle.com>
    Pavan Naik <pavan.naik@oracle.com>
    Joao Gramacho <joao.gramacho@oracle.com>

commit fe75689e6745e420cade2395fbf37e8699567996
Merge: 8e68d98 234bf1c
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 12:43:26 2016 +0100

    Merge ../bug_25092566__5.6 into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/parts/r/partition-dml-1-11-innodb.result
    	mysql-test/suite/parts/r/partition-dml-1-11-myisam.result
    	sql/partition_info.cc
    	sql/partition_info.h
    	sql/sql_parse.cc

commit ce9672055f3b08fa7914cafb25ca4a7e46c0e63e
Merge: b9b6af8 8e68d98
Author: Vikram G <vikram.gg@oracle.com>
Date:   Thu Nov 24 16:14:06 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8e68d98915904e8865db2da0908261cfd249310a
Author: Vikram G <vikram.gg@oracle.com>
Date:   Wed Nov 23 18:30:52 2016 +0530

    Follow up for commit 1c56209120238f533c7a5cb6d9046b4d7ad4e7c1
    
    Fixed failures of below tests on windows:-
    
    group_replication.gr_basic_crud_on_doc
    group_replication.gr_xplugin_global_variables
    group_replication.gr_xplugin_basic_dml

commit 234bf1c47b2271c345847b2b3927bc6a78dabe3b
Merge: edb3c3a 43a039d
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 10:03:12 2016 +0100

    Merge ../bug_25092566 into mysql-5.6

commit b9b6af82a41339e0a86daa94a433e1a3b1102314
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 22 10:43:41 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Drop char_index for UCA 9.0.0 scanners, now that strnxfrm is no longer expected
    to truncate (and we don't need it for padding). Speeds up the slow path
    significantly.
    
    Microbenchmarks (Skylake 3.4 GHz, optimized mode, GCC 6.2):
    
      BM_SimpleUTF8MB4                147 -> 142 ns/iter  [ +3.5%]
      BM_MixedUTF8MB4                 277 -> 212 ns/iter  [+30.7%]
      BM_MixedUTF8MB4_AS_CS           786 -> 657 ns/iter  [+19.6%]
      BM_NewlineFilledUTF8MB4         231 -> 200 ns/iter  [+15.5%]
      BM_HashSimpleUTF8MB4            306 -> 306 ns/iter  [  0.0%]
    
    Change-Id: Id9883ac4d73618e05b4663d7cb15310aa300cbcc

commit 4a3279dd01b5a8454805f2f1d394471035380a32
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 21 16:27:20 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    We have a syntax WEIGHT_STRING(foo AS CHAR(n)), but exactly what n means
    is undocumented; it truncates or pads foo based on _something_, but it is
    very unclear what.
    
    The parameter was named “nweights”, but ignorables (having no weights)
    would count as 1, contractions (having one weight) sometimes as 1
    (prefix contractions) and sometimes as the real number of code points
    (postfix contractions), and expansions (having multiple weights) always
    as the real number of code points, ie., typically 1. And this is only
    UCA collations -- some collations (e.g. cp1250) just ignore the parameter
    altogether and never truncate, and some collations (e.g. tis620)
    truncate the output string instead of the input string.
    
    This is not useful behavior. Since WEIGHT_STRING() is an internal debugging
    function which doesn't change on-disk format, we can modify its meaning,
    so change it to mean number of code points unconditionally, which is what
    CHAR(n) means everywhere else. (Probably, CHAR(n) should mean graphemes,
    but this would require extensive changes everywhere, including in the storage
    layer.) The documentation should be updated accordingly.
    
    Similarly, Field_string::make_sort_key (used for CHAR(n), although not
    VARCHAR(n)) would assume strnxfrm truncated, so we could potentially output
    junk bytes in the sort key without really noticing.
    
    This is a prerequisite for dropping char_index for UCA 9.0.0 scanners,
    which don't need this information for anything except truncation.
    
    Change-Id: I07e24a1609d5cc70dbb78e1cd61825bda4658fee

commit 43a039dadf326c5d77ceba8b4e21bf290e1045ba
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Nov 24 09:57:54 2016 +0100

    Bug#25092566: CREATE TABLE WITH DATA DIRECTORY CLAUSE DOES NOT REQUIRE SPECIAL
    PRIVILEGES
    
    Require FILE privilege when creating tables using external data directory or
    index directory.

commit 7905f67ad1b5d0e27dea5895026bbbd534709cea
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Thu Nov 24 13:50:43 2016 +0530

    Bug #24528148 UNPRIVILEGED USER ABLE TO LOAD COMPONENTS TO MYSQL.COMPONENT
    
    Description: As per wl#4102, there is provision to register components
    to mysql.component table but here privileges are not working.
    Unprivileged user can able to load/unload these components
    
    Analysis: While loading the components, we are opening the
    mysql.component table.
    But we are not checking the table access privilege for
    the user. This is the causes the bug.
    
    Fix: Added access privilege call before opening the
    msql.component table. And moved down the
    mysql_dynamic_loader_imp::load and
    mysql_dynamic_loader_imp::unload
    calls after the open_component_table() because we need
    to first check the access privilege before performing
    load/unload operations.

commit b34d5188298a5f3d7a942a7bffa1865093f08cf9
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Nov 24 13:41:02 2016 +0530

    BUG#24579973 : MYSQLD--DEFAULTS-FILE TEST FAILS WHEN TEST SUITE IS RUN FROM NON-CANON PATH
    
    Description :
    =============
    The mysqld--defaults-file test fails when the test suite is run from a
    non-canonical path, which happens when the current working directory
    when mysql-test-run.pl is started contains a symbolic link.
    
    The problem is that this test case uses --replace-result with
    $MYSQL_TEST_DIR. This variable is a potentially non-canonical path
    based on the current working directory when mtr is started. However,
    the path in the expected error message from mysqld contains a
    canonical path. This means it does not contain $MYSQL_TEST_DIR if
    mtr's working directory is not the canonical path of the working
    directory.
    
    Because other tests produce output that may contain non-canonical
    paths, making $MYSQL_TEST_DIR always canonical is not a fix.
    
    Fix :
    =====
    Introduced a new environment variable '$ABS_MYSQL_TEST_DIR' which will
    contin the canonical path to the test directory and replaced
    $MYSQL_TEST_DIR with the new variable in main.mysqld--defaults-file
    test file.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    RB: 14650

commit f448e66e57cc101b4be2601f1a7e479008e0d8ac
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Nov 24 11:58:32 2016 +0530

    Bug#25144004 - INNODB_ZIP.WL6915_1 REQUIRES INCLUSION OF HAVE_INNODB_MIN_8K.INC
    Bug#25143915 - RUN INNODB_ZIP.CMP_PER_INDEX.TEST WITH INNODB_LOG_COMPRESSED_PAGES ENABLED
    
    Reviewed by:
    Erlend Dahl <erland.dahl@oracle.com> over IM
    Satya Bodapati <satya.bodapati@oracle.com> over IM

commit c79f529af6e371f3ab846ce9431abcfd9b9294e6
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Nov 24 07:12:39 2016 +0100

    Revert "Bug#24710786 STRING OBJECTS SHOULD ALLOW CUSTOM PSI_MEMORY_KEY USAGE"
    
    The patch broke the Windows build.

commit 2bbc76b239e907af270d3c3c1e465d50e2834c69
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 24 11:27:03 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Updated the version file to the standard NDB format which
      contains -ndb-X.X.X in the MYSQL_VERSION_EXTRA section.
      This enables the autodetection and building of NDB in a
      cluster tree.
    
    Note: The new version number is only a placeholder

commit 325e9b909a25ec731772dff3bb6bc978c31ad8d3
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Nov 24 10:19:03 2016 +0530

    BUG#20694384 : TEST TIMEOUT BUT NO STACK TRACE ON WINDOWS
    
    Description :
    =============
    When a test times out, MTR generates stack trace in order to
    debug the issue. We usually get this on Linux, but apparently
    not on Windows.
    
    Except when the test is too slow, a timeout is most likely due
    to a deadlock. A stack trace would help to find out. With no
    stack trace it's impossible to analyze the bug.
    
    Issue :
    =======
    When a test times out, on linux kill() command with ABRT signal
    is issued to the server process which will cause it to generate
    memory dump.
    
    Due to the limitation of perl and signal handling in windows, no
    signal is sent to the server process and no dump file is generated.
    
    Fix :
    =====
    On windows, when a test times out 'cdb' tool is used to generate
    the dump file for server process, but there is a high risk of MTR
    hanging by calling external programs like 'cbd' in multi-threaded
    runs(i.e $parallel > 1). Currently patch is made to work with
    parallel value 1 only.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 14236

commit 081149b8903cc5f3f3cc71b6e9854b498fe392e4
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Oct 5 13:13:29 2016 +0100

    Bug#24710786 STRING OBJECTS SHOULD ALLOW CUSTOM PSI_MEMORY_KEY USAGE
    
    Problem:
    
    It is not possible to monitor Binlog_sender event buffer memory
    consumption deterministically because its memory consumption is tied on
    the String memory consumption.
    
    Fix:
    
    Added a String::set_psi_memory_key method.
    
    This patch changed the Binlog_sender to use Binlog_sender::packet as PSI
    memory key for its sender buffer and also changed he related test case
    rpl_binlog_sender_packet_shrink.test to use same PSI memory key.

commit e68e3858ee9ccf88727b4a003bdc2842e7f05508
Merge: 050cf78 df75cd1
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Nov 23 17:28:23 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit df75cd16debaffaf34423bf83e56321ec7296c75
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Sep 12 17:27:06 2016 +0100

    BUG#24643036 BINLOG_SENDER DOES NOT REDUCE SIZE OF SEND BUFFER AS
                 EXPECTED
    
    Background
    ----------
    
    Binlog_sender writes events from the binary log to a packet buffer, then
    sends the packet to the slave. The packet buffer is kept between events.
    
    Before an event is written to the buffer, if the event is bigger than
    the current allocated size of the buffer, the buffer is reallocated. To
    keep reallocations few, it grows to at least twice the size.
    
    To prevent that the buffer stays big forever just because there was one
    big event, the buffer shrinks when events are small again.
    
    To prevent that the buffer grows and shrinks often, it shrinks to half
    the size if 100 events in sequence are smaller than half the buffer
    size.
    
    Problems
    --------
    
    P1) The buffer shrink procedure is not working as expected.
    
    The buffer is not shrinking to half the size if 100 events in sequence
    are smaller than half the buffer size.
    
    P2) The buffer might be reallocated by Log_event::read_log_event().
    
    As the packet buffer is pre-allocated before loading the event, the
    buffer should never be reallocated by Log_event::read_log_event().
    
    Analysis
    
    P1)
    
    Due to a typo in the code, the buffer shrinks to 4096 bytes when 100
    events in sequence are smaller than 4096 bytes.
    
    Also, if one event in 100 is at least 4097 bytes big, the buffer will
    never shrink.
    
    P2)
    
    The Binlog_sender uses String::append(IO_CACHE, size) to load the body
    part of the event into the (packet) buffer.
    
    The issue happens when the buffer has BS bytes allocated and the event
    size is ES = BS - 1, BS is a value aligned by 8 bytes.
    
    So, when an event of size ES = BS - 1 is going to be loaded to a buffer
    with BS bytes of allocated size (BS = ES + 1), the Binlog_sender expects
    no changes in the buffer size (or pointers) as 1 (OK) + ES <= BS.
    
    The packet buffer is always initialized with a 0 to sign a OK packet,
    making packet->m_length= 1.
    
    Then, Log_event::read_log_event appends LOG_EVENT_MINIMAL_HEADER_LEN (19
    bytes), making packet->m_length= 20.
    
    Finally, Log_event::read_log_event loads the rest of the event content
    into the buffer, calling String::append(IO_CACHE, ES - 19).
    
    String::append is then calling String::mem_realloc(m_length +
    append_size), or (20 + ES - 19 = 1 + ES) doing the math. The current
    buffer is enough to hold the event (BS = ES + 1), but there is an "+ 1"
    used at the new desired buffer "len" calculation (to store a new \0 for
    the string) using ALIGN_SIZE that will make the buffer to grow 8 more
    bytes, producing the packet buffer re-allocation.
    
    Fix
    ---
    
    Separated growth and shrink into distinct functions by creating
    Binlog_sender::calc_shrink_buffer_size and renaming
    Binlog_sender::calc_buffer_size as Binlog_sender::calc_grow_buffer_size.
    
    Changed Log_event::read_log_event(IO_CACHE*, String*, ...) making it to
    read the event content directly from the I/O cache to the packet buffer
    instead of calling String::append().
    
    Added a test case to verify the buffer growth and shrink.

commit 050cf78d9d583cc4d3ca13226374b24967088510
Merge: d8fdc20 fbb12ba
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Nov 23 15:23:28 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit d8fdc20fdd3ecece6d5fb40e88e84ba8ddc4bce9
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Wed Aug 31 10:12:05 2016 +0200

    WL#9436 ST_SwapXY
    
      This worklog adds a new functionality ST_SWAPXY.
      The new functionality will let the user swap the longitude and
      latitude coordinates within a geometry.
    
      The main changes to the code is as follows:
    
      Changes to item_create.cc
       - Added the Item_func_swap_xy function to the Native_func_registry
    
      Changes to item_geofunc.h
       - Added a new class Item_func_swap_xy
    
      Changes to item_geofunc.cc
       - New method String *Item_func_swap_xy
    
      Test file and result
      - A new testfile for this work log was added
        with its appurtenant result file.

commit fbb12ba5d33000dcdaff699b6d90cf85667c5b11
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Sep 20 08:59:08 2016 +0100

    BUG#24693798 PARTIALLY FAILED USER MANAGEMENT STMT FAILS TO CONSUME
                 GTID ON BINLOGLESS SLAVE
    
    Problem:
    
    The partially failed CREATE USER, RENAME USER and ALTER USER statements
    does not consume a specified gtid when binary log is disabled.
    
    Analysis:
    
    All above mentioned statements can be partially failed when handling
    multiple users, and a partially failed statement that is written to the
    binary log when the binary logging is enable should consume a
    specified gtid when GTID_NEXT is set and binary logging is not enabled.
    
    Fix:
    
    To fix these wrong behaviors, make a partially failed CREATE USER,
    RENAME USER and ALTER USER to consume the specified gtid and save
    the gtids into @@GLOBAL.GTID_EXECUTED (and mysql.gtid_executed table)
    when binlog is disabled as it does when binlog is enabled.

commit 2d5a217c37d70a59858d9b0279f74e8b98413730
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 14 17:05:37 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Refactoring: Get rid of MY_UCA_WEIGHT_LEVEL; it is not actually used
    (and will not be used) to represent different weight levels, so every
    UCA version has only one of these anyway.
    
    Microbenchmarks are neutral.
    
    Change-Id: I012194ef8ce2fa299a7a09d1dd4625b71319961e

commit e7946d2760ec991aa3f483ad78c58bd4a7abeb73
Merge: 60c20f9 e41cbb0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Nov 23 12:13:26 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit e41cbb049963ce790018588b55d9f4a2c28ce60b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Apr 19 16:44:39 2016 +0100

    Bug#22255698 INAPPROPRIATE LIST ITERATOR USAGE IN 'INIT_GTID_SETS()'
    
    Problem:
    
    When issuing a CHANGE MASTER for a channel that doesn't exist yet, the
    init_gtid_set() function is called to compute the retrieved GTID set of
    a replication channel that doesn't have relay log files.
    
    In this case, when going to parse the relay log for incomplete
    transactions, the function uses a reverse list iterator for the relay
    log file names, incrementing it when already pointing at the being of
    the list and decrementing it when pointing at the end.
    
    Also, the reverse iterator pointing at begin/end was used to search the
    file name on a list.
    
    Fix:
    
    Only do the parsing for incomplete transactions if there are files in
    the relay log for the channel.
    
    Added also some asserts to verify the proper behavior.

commit 60c20f9252ede988d7dcc86f58e2757da922670e
Merge: d94eb90 dd452c4
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Wed Nov 23 12:09:50 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit dd452c42d9f79c49c21a74ede8709c01ee56f140
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Tue Nov 22 13:26:12 2016 +0100

    Bug#24595612 DEBUG ASSERTION HIT IN ITEM_FIELD::USED_TABLES_FOR_LEVEL
    
    ANALYSIS
    --------
    For UNION, lacking initialization of
    
    a)  st_select_lex_unit::table->pos_in_table_list
        to point to
    
            st_select_lex_unit::result_table_list
    
        which is the materialization table for the UNION.
    
    and
    
    b)  for st_select_lex_unit::result_table_list->select_lex.
    
    The caused trouble in Item_field::used_tables_for_level which presumes
    pos_in_table_list (and the select_lex) are never null.
    
    FIX
    ---
    
    a) We have a TABLE_LIST for the UNION result materialization table, we just need
    to assign in to st_select_lex_unit::table->pos_in_table_list,
    
    a) We can assign the fake_select_lex to TABLE_LIST::select as it holds the
    proper level information.
    
    [proposed by Roy]
    
    Repro tests added.
    
    Change-Id: Ic04773aa3885355485b3b01e50a575d3ca0e441d

commit d94eb903989bf92dd3688a82ba2aa89e146e13ca
Merge: eb4a9f9 18d645c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Nov 23 11:56:51 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 18d645ccc22078e2299efaa5bea31e80853f2fa1
Merge: 682bcb8 edb3c3a
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Nov 23 11:56:28 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit edb3c3ae501d1da269caf7930fd5f231d39658d3
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Sep 20 07:51:37 2016 +0200

    Bug#25126961	PORT REFACTORED DEBIAN/UBUNTU PACKAGING FROM 5.7 TO 5.6
    
    Deb packaging is now cmake-based, using a single set of source files in
    packaging/deb-in instead of separate files for every supported platform.

commit eb4a9f9b0a2c2795f8e559d1fc33e97a87b3435f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 23 11:31:39 2016 +0100

    Change the n_mix run for ndbcluster to n_mix-debug
    
     - making the test runs identical to all the other test runs
       avoiding that the -ndbcluster host detects problems not
       detected elsewhere

commit a545bdd6e310cbf947d81d1dec186e7c3d66103d
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sun Nov 20 15:21:45 2016 -0600

    Bug#24519021 FEW XA TESTS FAIL IN WAIT_COND'N.INC AS VIEW ON P_S.THREADS DOESNT RETURN RESULT
    
    Part 2 of 2: Update remaining tables
    
    To avoid "Query didn't return a result set" erros, all P_S tables now return
    HA_ERR_RECORD_DELETED from rnd_next() if make_row() fails.

commit 85e37037a65394b3ffb03a7456cfc87eafdc6e45
Merge: 7a681de 682bcb8
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Nov 22 20:18:09 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 682bcb8581fcfe89473f10a507ff4eff29fbec49
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Nov 22 19:33:13 2016 +0100

    Bug #25119886: MAKE MYSQLXTESTS FAIL ON NOT EXPECTED ERROR (OPT_FATALERROR=TRUE)
    
    post-push fix: removing unnecessary code

commit 7a681de6cbb8cc3c03427a6c68a32a91aa900127
Merge: f7ec80f b7ab083
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Nov 22 19:05:27 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f7ec80f8a1db514e9834ed70d15ad40e5b34646a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 22 12:38:06 2016 +0100

    Bug#25133434 GET RID OF THE PBOOL TYPEDEF
    
    Cleanup: remove all usage of
    typedef char pbool;  /* Obsolete. */

commit a7ad1ffb6151dc4e97d30cdaf4afa2d775ce5f5d
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Nov 21 13:00:22 2016 -0600

    Bug#25108926: ON STARTUP, ASSERTION FAILED: VECTOR ITERATOR
    + OFFSET OUT OF RANGE
    
    std::vector::back() was being used on a possibly empty vector.
    “Calling this function on an empty container causes undefined behavior.”
    http://www.cplusplus.com/reference/vector/vector/back/
    
    Approved by Satya in RB#14661

commit b7ab083f429d36fb977fe5eaf8cdf57a008ccd2a
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Nov 18 12:57:49 2016 +0100

    Bug #25119886: MAKE MYSQLXTESTS FAIL ON NOT EXPECTED ERROR (OPT_FATALERROR=TRUE)
    
    Description:
    -----------
    The default behaviour of mysqlxtest should be changed. The test script
    execution should be immediately stopped at the first not expected result.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14655

commit b820b41dbfa69f0ac97cb1a06a86a94f368e03ff
Merge: 2694ba2 1c56209
Author: Vikram G <vikram.gg@oracle.com>
Date:   Tue Nov 22 19:10:30 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1c56209120238f533c7a5cb6d9046b4d7ad4e7c1
Author: Vikram G <vikram.gg@oracle.com>
Date:   Tue Nov 22 18:57:27 2016 +0530

    Bug#24315750 WL9053 ADD MTR TESTS RELATED TO BASIC DDL/DML
                 OPERATIONS ON GR USING XPLUGIN
    
    This test checks the basic functionality of group replication plugin along
    with mysqlx plugin.
    
    RB : 13403
    
    Bug#24391824 ADD MTR TEST TO SET AND VERIFY THE GR VARAIBLES USING X PROTOCOL
    
    Basic test to set the GR variables and verify if the GR variables are
    set correctly using xplugin (x protocol)
    
    RB : 13552
    
    Bug#24414037 ADD MTR TEST TO CHECK BASIC CRUD OPERATIONS
                 ON DOCUMENT TYPE WITH GR
    
    This test checks the basic functionality(CRUD operations) of group
    replication plugin along with mysqlx plugin.
    
    RB : 13594

commit 2694ba2735c3aa5c0e1838b7f2473f553465ab7d
Merge: b6f59b0 95fc243
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 22 13:41:27 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 95fc243ebbad81df6c39482017064313d021e2ec
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 22 12:11:05 2016 +0100

    Bug#25040566 USE WHITELIST INSTEAD OF FILTER FOR MYSQL_CONFIG COMPILE OPTIONS
    
    Post-push fix: remove some debug output from cmake.
    
    Change-Id: If3a9fea984faccaee700cf99c21723b29568bfa8

commit b6f59b0ea53bc96dcefd8a352cf8e9bb2cdc3001
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Tue Nov 22 15:50:30 2016 +0530

    Bug#25047504 : migration of testcase : main.alter_table.test follow-up patch of wl#7587
    
    Problem : main.alter_table.test has been running myisam as a default storage engine
    
    Solution: migrate the testcase , to run with InnoDB as a default storage engine, for migration steps please refer wl5656
    
    Reviewed-by: Jon Olav Hauglid <jon.hauglid@oracle.com>
                 Gopal Shankar <gopal.shankar@oracle.com>
                 anitha Gopi <anitha.gopi@oracle.com>
    RB : 14499

commit 60470a21c4d180c244c113cc130667f785cc3434
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 18 13:11:49 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Unroll the ASCII fast path to check four bytes at a time. This is a tradeoff;
    we lose out on the cases where we have four-byte blocks with mixed ASCII/non-ASCII
    (e.g. in text with mostly ASCII but some accents) and on some relatively common
    ASCII code points outside the 0x20..0x7e range, such as newlines.
    
      BM_SimpleUTF8MB4          232 -> 146 ns/iter  [+58.9%]
      BM_MixedUTF8MB4           230 -> 276 ns/iter  [-16.7%]
      BM_MixedUTF8MB4_AS_CS     759 -> 828 ns/iter  [ -8.3%]
      BM_NewlineFilledUTF8MB4   123 -> 231 ns/iter  [-46.8%]
      BM_HashSimpleUTF8MB4      299 -> 306 ns/iter  [ -2.3%]
    
    Change-Id: I64dc2fa06482809cc2e530f2434e5c8890a4edb2

commit 663293b2b20c787a03294a44b55a32837ad2a8d2
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Nov 21 15:21:33 2016 +0100

    Bug#25127832 GET PTRDIFF_T AND INTPTR_T FROM SYSTEM HEADERS.
    
    Use standard types in stddef.h and stdint.h rather than our own typedefs.
    Also: use std::numeric_limits rather than pointer size ifdefs in sys_vars.cc

commit 8a7971330682c0442df389cb888863f69a0f0444
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Nov 17 13:48:33 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Optimize the hash function; the old one was horrible both in speed and quality.
    The new one is significantly faster and slightly less horrible (verified with
    SMHasher). Note that we can do this only because the UCA 9.0.0 collations are
    not part of a GA release; we cannot go back and do this to other collations
    without breaking partitioning.
    
    Microbenchmarks (Skylake 3.4 GHz, optimized, GCC 6.2):
    
      BM_HashSimpleUTF8MB4   1140 -> 289 ns/iter  [+294.5%]
    
    sysbench goes from 11519 -> 12022 tps (+3.2%).
    
    Change-Id: I6c554110387d927ad1d139c19627c6c51a6aa10c

commit e523114e5aa3445c2efeb8493b766340c81bf389
Merge: 3b16902 05eafdb
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Nov 22 14:51:54 2016 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit 05eafdbdcf53ca6d3a63f9e34af0fa449b7dfbac
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Nov 22 14:35:16 2016 +0800

    Bug#23044098 INSERT OF GIS DATA INTO RTREE HITS ASSERT IN
    RTR_CUR_RESTORE_POSITION_FUNC()
    
    This bug is caused by missing page number field when store btree cursor.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 14617

commit 3b16902c5e88c20d8a9fa0ba00b6414c3ec5acd0
Merge: 37df78f 46763e8
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Nov 22 11:19:22 2016 +0530

    Merge branch 'mysql-trunk-cluster' into mysql-trunk

commit 37df78f0b74e56b505f5fdcd9df30c54d9907d53
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Nov 22 10:40:52 2016 +0530

    Bug#24786029: SEGMENTATION FAULT IN UPDATE_SCHEMA_PRIVILEGE() AT SQL/AUTH/SQL_AUTHORIZATION.CC
    
    Description: ACL caches were not locked when information
                 was being extracted for I_S view. This may
                 cause race condition if other transactions
                 are accessing ACL caches in parallel. Fixed
                 by acquiring required locks before accessing
                 ACL caches.

commit 78c4959990a49e906fd28ff1dc364493ae6d7329
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Nov 21 22:26:56 2016 +0100

    Revert "Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4"
    
    Patch broke both on Ubuntu 32-bit and Windows.

commit 9b9cf6efa4059ad0bf85515e7242176c16d13272
Merge: 67ba910 77cee6f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 23:40:13 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROW
    
    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 77cee6fcc5868af31e0bf3ad4921922e48894b70
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 23:37:39 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    - Added prebuilt->m_end_range check in row_search_mvcc().
    
    RB:14634

commit 67ba910569edb7f7c0c8c75e825b2e66d838d91b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Nov 17 13:48:33 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Optimize the hash function; the old one was horrible both in speed and quality.
    The new one is significantly faster and slightly less horrible (verified with
    SMHasher). Note that we can do this only because the UCA 9.0.0 collations are
    not part of a GA release; we cannot go back and do this to other collations
    without breaking partitioning.
    
    Microbenchmarks (Skylake 3.4 GHz, optimized, GCC 6.2):
    
      BM_HashSimpleUTF8MB4   1140 -> 289 ns/iter  [+294.5%]
    
    sysbench goes from 11519 -> 12022 tps (+3.2%).
    
    Change-Id: I6c554110387d927ad1d139c19627c6c51a6aa10c

commit fbbb035e96a990a7117924aaee65e4fa3745600d
Merge: cf8f4d1 b70739d
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Nov 21 17:34:41 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit b70739dd0c5add46c4258ff8378bc2629932046b
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 17 12:37:37 2016 +0100

    BUG#25071492: SERVER SESSION ASSERT FAILURE ON SERVER RESTART
    
    SQL service abstraction provided by Sql_service_interface class was
    ignoring open session return status. That was causing assert
    failures during Sql_service_interface destructor on threaded
    sessions. Sessions were being attempted to be destroyed, despite
    their non existence.
    
    To solve the above issue, the open session return status on
    Sql_service_interface are now considered.

commit cf8f4d16127c9aed346c66cbcabcabd1a5d3a62f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Nov 21 13:28:47 2016 +0100

    Bug#25117195: MOVE MYISAM-SPECIFIC MYSYS FILES TO STORAGE/MYISAM/
    
    Post-push fix: Fix broken build with -DWITHOUT_SERVER=1.
    Also change NDB CMake check from "TARGET ndbinfo_sql_run" to
    WITH_NDBCLUSTER_STORAGE_ENGINE.

commit 54e389e417be9587968d5dc86f32fa625c460406
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 17 18:49:07 2016 +0530

    Bug #25110790: FAILURE OF GCOL_COLUMN_DEF_OPTIONS_NDB, GCOL_INS_UPD_NDB
    AND GCOL_KEYS_NDB TESTS
    
    Problem:
    --------
    
    The tests fail with a Result Content Mismatch error due to two reasons:
    
    - The order in which rows are returned by a select from an NDB table
      can vary across different runs
    - In the gcol_column_def_options tests, NDB returns an
      ER_ALTER_OPERATION_NOT_SUPPORTED_REASON error on an inplace alter
      whereas InnoDB and MyISAM return ER_ALTER_OPERATION_NOT_SUPPORTED
      error
    
    Fix:
    ----
    
    - Use --sorted-result before relevant selects
    - Include the error returned by NDB on an inplace alter in the result
      files of the gcol_column_def_options tests

commit c749c51a92341799af884420bd26fbab4dd744e8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 18 12:54:25 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix: I submitted the wrong version, yielding broken behavior
    when requesting truncation.
    
    Change-Id: I86c9054a5bbcc8c9f2c6151d5dbcfb90b8258d22

commit 72d396258a61feaef3381fe2a573d902f5e4f6d4
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Mon Nov 21 17:35:30 2016 +0530

    wl#9489 : this is a follow-up patch
    problem : result content mismatch as there is no ORDER By clause
    solution : Added ORDER By clause and recorded result file.
    
    Reviewed-by: Amit Bhattacharya <amit.bhattacharya@oracle.com>
    RB : No rb

commit 93fd40ca664ddaca38108c9e785e7ca11d51a69d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 18 12:54:25 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    When copying variable-length multibyte strings around, don't bother counting up
    all the characters if there's guaranteed to be no truncation anyway.
    This takes about 2.2% of CPU time in sysbench with utf8mb4 with
    --oltp-use-varchar-for-char. (This is too small of a difference that I can
    reliably measure it in my local sysbench runs, but I've run perf and verified
    that my_well_formed_len_utf8mb4 disappears from the profile.)
    
    Change-Id: I86c9054a5bbcc8c9f2c6151d5dbcfb90b8258d22

commit 725a30ce0633ea99f48eb339c1fd118ec954a156
Merge: 88602da df4a04b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 15:34:53 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit df4a04b42a29cdc81dfe360951e416c33099482b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 15:34:06 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    - Fixing Doxygen build failure.

commit 88602da3515a2e20b6468e2bb050c4e5470204d2
Merge: d1f811e 7109457
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 11:50:53 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS
    
    Merge branch 'mysql-5.7' into mysql-trunk
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    Reviewed-by: Knut Hatlen<knut.hatlen@oracle.com>
    RB: 14141

commit 7109457660e2fee99b6fb3e8587709d7fdd1b695
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Nov 21 11:49:20 2016 +0530

    Bug #23481444   OPTIMISER CALL ROW_SEARCH_MVCC() AND
                    READ THE INDEX APPLIED BY UNCOMMITTED ROWS.
    
    Problem:
    =======
    row_search_mvcc() does whole table traversal for range query even though the
    end range is passed. Whole table traversal happens when the record is not
    with in transaction read view.
    
    Solution:
    ========
    Convert the innodb last record of page to mysql format and compare
    with end range if the traversal of row_search_mvcc() exceeds 100, no ICP involved.
    If it is out of range then InnoDB can avoid the whole table traversal.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    Reviewed-by: Knut Hatlen<knut.hatlen@oracle.com>
    RB: 14634

commit d1f811eb6e862dd4099a6ed72ec4891c88579d15
Merge: c299846 b14fad4
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Nov 21 08:31:14 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b14fad431c7d24f81dc840d9754cdf9fa2256cd7
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Nov 21 08:30:33 2016 +0530

    Bug #23596760: FORCE INDEX IS SKIPPED WHILE EXECUTING
                   SELECT COUNT(*)
    
    
    Issue:
    ------
    After WL6742, using secondary index for SELECT COUNT(*) has
    been replaced by a single call to the handler
    (ha_innobase::records()). This function counts the
    clustered index and returns the number of records.
    
    This may not be the most optimal in some cases (for example
    average row size is large making the clustered index also
    large, but with a smaller secondary index). The user can't
    use FORCE INDEX syntax to override the call to
    handler::records.
    
    Solution:
    ---------
    When FORCE INDEX is specified optimizer doesn't use the
    WL#6742 optimization and pick the suggested index.

commit c2998467ae7b9bca5b7dd7b45ab233b9cbc27279
Merge: d895a4f 5ed9c1c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 18 17:42:28 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	rapid/unittest/gunit/xplugin/CMakeLists.txt
    	scripts/CMakeLists.txt
    
    Change-Id: I5f43628d6e0e390ffcc788acad2b54bb40e90200

commit 5ed9c1c52c93b3fb48bd1367b24f40a8fcef9dc3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 16 14:01:42 2016 +0100

    Bug#25040566 USE WHITELIST INSTEAD OF FILTER FOR MYSQL_CONFIG COMPILE OPTIONS
    
    Remove blacklist of options entirely.
    Add (mostly empty) whitelist of options to pass to mysql_config and pkg-confit.
    Change-Id: Ic9574f0a03b3f9150bc99d7be0a3c0936a920fa5

commit 616c85f600817cc9073d85ea8db7077f5ec33b0d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 17 14:46:40 2016 +0100

    Bug#25111489 GROUP REPLICATION BREAKS CMAKE --DFOO=SYSTEM BUILD
    
    Change-Id: Ibaa0fad470ed3b1f5a89ea020cff2b38901568e1
    Fix: include compile_flags.cmake
    Also: fix broken unit test build for -DWITH_LIBEVENT=system

commit dd05ec9d8df630e236d42c16ba6b44179b8c338d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 17 12:08:27 2016 +0100

    Bug#25110808 KEYRING UNIT TESTS: ADD UNIT TEST AS OPTIONAL TARGETS WHEN MERGE_UNITTESTS=1
    
    Problem: To build an individual unit test one has to configure with
    MERGE_UNITTESTS=0 which increases compile times and disk usage
    considerably.
    
    Solution: Always add the unit test binary targets, but mark them as
    optional when MERGE_UNITTESTS=1, and only add the unit test binaries
    to ctest when MERGE_UNITTESTS=0.
    
    Change-Id: I4b1ea9e1ae76905afae113fe1acb3ba1885db66e

commit d895a4ffdbb012afc8ff536cc1a413348a8bfc96
Merge: d1fc972 54ae129
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Nov 18 17:07:57 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 54ae129b6cfd61c80731afebc6532012aee18bba
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Nov 18 15:52:10 2016 +0100

    BUG#25083408: GROUP_REPLICATION.GR_SINGLE_PRIMARY_READ_WRITE_AUTO_SETTING FAILS ON DAILY-TRUNK
    
    Faling test on PB2 with a mismatch on diff tables.
    
    After analyse of logs a network error occurred.
    
    Improved test members synchronization.

commit d1fc9721935d2f794acc2b553ffcc094411babc0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 18 16:41:14 2016 +0100

    Bug#25117195: MOVE MYISAM-SPECIFIC MYSYS FILES TO STORAGE/MYISAM/
    
    Move MyISAM specific mysys files to storage/myisam/
    to simplify future mysys refactoring.

commit 2d3ec3c810f2ee44057e4f9ab4a7d3b4c44e614c
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Nov 17 12:43:13 2016 -0600

    Bug#25111169 - ERROR DURING SERVER INITIALIZATION WITH
    INNODB_UNDO_TABLESPACES
    
    undo::done_logging() is now used for undo tablespaces that are created during
    bootstrap by the function srv_undo_tablespaces_construction_list_clear().
    In this usage, the truncation log file does not exist.  The function
    os_file_delete() assumes the file exists.
    
    Add code to srv_undo_tablespaces_construction_list_clear() so that it only
    calls undo::done_logging() if undo::is_truncate_log_present() returns true.
    Also, fix undo::done_logging so that it does not attempt to delete a file
    that does not exist.
    
    Approved by Satya in RB#14629

commit 8586dc388fdc317860ee26ef216dd4f3550e19b1
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Nov 16 16:01:54 2016 +0000

    Bug#25071448: COMPILATION WARNINGS WITH GROUP REPLICATION PLUGIN ON WINDOWS
    
    There are some warnings when building Group Replication on Windows.
    These warnings need to be analysed and fix all possible ones.
    
    Warnings were due the need of casts to convert variables types.

commit 387bb2f4ff73a88854a2980d4080d6452c256428
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Nov 17 16:26:36 2016 +0100

    Bug#25112481: REMOVE DEAD TEST* FILES FROM MYSYS
    
    Remove 4 test files which have not been compiled since CMake
    was introduced in 5.5 (or maybe even earlier than that).
    Trying to re-enable them gives compilation errors.

commit 0f02330e6854c2dcd554aa1d5d5979f60ab89a96
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Nov 14 15:01:58 2016 +0530

    Bug#24967869 MTR: SOME TESTS RUN ONCE EVEN IF THEY ARE GIVEN
                 MULTIPLE TIMES ON COMMAND LINE
    Issue
    -----
    A test from a non-default suite (or from a suite not present in
    those given with the --suite(s) option) runs once even if it is
    specified multiple times on the MTR command line.
    
    Fix
    ---
    All test cases specified on the command line are collected as is,
    even if a test is specified multiple times.
    
    The patch also includes a follow-up to Bug#24904659 to avoid MTR
    printing the message "sysctl: unknown oid 'machdep.cpu'" to its
    console on FreeBSD.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14511

commit d920e016dd4a4447c5cb9970d40962a082288207
Merge: c7062a0 77ac3ea
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Nov 18 13:20:34 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 77ac3ea3f3447e7ddf0cfadb08029da5ec30f830
Merge: d5863db 0d8d766
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Nov 18 13:20:09 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0d8d766fbc3d955500d09e97e57a9ebc8cf207f5
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Nov 18 13:19:04 2016 +0530

    Bug#23532304 : SECONDS_BEHIND_MASTER REPORTS IO_THREAD TIME WHEN USING
        MTS & ROTATING RELAY-LOG
    
        Problem: The value of 'Seconds_Behind_Master' (SBM) reports
        distorted number when rotating a relay-log.
    
        Analysis: The issue is happening only on MTS enabled Slaves.
        The distorted number is coming while the Slave is executing
        fake rotate events. Fake rotate event (=which does not exist
        physically in any binlog) is a rotate event, which contains
        the name of the binlog Master is going to send to the slave
        (because the slave may not know the binlog name if it just
        asked for MASTER_LOG_FILE='', MASTER_LOG_POS=4). These events
        contains zero in it's even time stamp value which will be
        replaced by Slave's during the execution with I/O thread's
        time. If SBM is calculated while these fake rotate events
        are executing, the SBM value end up in getting big number
        which confuses the users.
    
        Fix: For Single thread slaves, Slave server is already
        ignoring to set the last master_time stamp (which is used
        to calculate SBM) if the event is fake/artificial event by
        using is_artificial_event() function. Now with this patch,
        Slave will ignore these fake/artificial rotate events even
        in MTS execution path as well.

commit c7062a0df60e2fd828fa16da122ef4db226fba49
Merge: d5510b4 d5863db
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Fri Nov 18 10:58:04 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d5863db02a955eb9c5be24e4afdb4fe028790b5a
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Fri Nov 18 10:56:02 2016 +0530

    Bug#25039567 GROUP_REPLICATION.GR_PARALLEL_INSERT IS UNSTABLE ON PB2
    
    gr_para11el_insert and gr_autoincrement_parallel_insert tests fail
    sporadically on windows.
    
    Fix:
    Sync group members before validating data.

commit d5510b4e660fb4c489ccd2e62ce9abb54a20ce3e
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Nov 17 13:01:20 2016 +0100

    Bug #25083555 SOME TESTS FAIL WITH DEBUG SERVER ON SOLARIS WHEN BUILT WITH DEVELOPER STUDIO
    
    Follow-up fix: perfschema.statement_digest_long_query needs to be
    skipped also for non-debug sparc but then need to make some
    amendements so it can "espace" --no-skip.

commit c087beb1a53b0bf7af4fe49a2acf67a12cf3c076
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Nov 17 09:43:57 2016 +0100

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #5: Fix -Wunused-parameter warnings in Replication

commit 46763e8f98e323751cf9a061cb00132cb16ab0e5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 17 14:30:14 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    Update the result files of several tests in the gcol_ndb suite.
    The result files need to be updated due to the following changes:
    
    - New testcases for 2 new wrong column definition options -
      SERIAL DEFAULT VALUE and ON UPDATE NOW
    - Explicit character set introducer is displayed when printing
      out the generated column expression
    - Usage of order by replaced with --sorted-result
    - Other minor changes like tweaks to error messages

commit f15621eabc514ceb8e6529c90193cf0c4f439679
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 16 16:39:30 2016 +0100

    Bug#25105399: REMOVE MYSYS/MY_MEMMEM.CC
    
    Replace the only usage of memmem() with standard strstr()
    and remove mysys/my_memmem.cc. Only affects a test file,
    not server/client code.

commit 0da384f6281a92ea647db8a1075661a4b266ca5d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 16 14:53:51 2016 +0100

    Bug#25104994: MYSYS/MF_SOUNDEX.CC CONTAINS ONLY DEAD CODE
    
    Remove mysys/mf_soundex.cc since it only contains dead code.
    Move soundex_map from mysys to item_strfunc.cc since that is
    the only place it is used.

commit 5733aa0144d577e505012fece7c1e3d43288344f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Nov 17 10:10:30 2016 +0100

    Bug#25095798: DO DATA DICTIONARY CACHE UPDATES AS PART OF
                  TRANSACTION COMMIT
    
    Post-push fix: Fix main.dd_string Windows test failure.
                   Increase allocation threshold from 13% to 15%

commit 6f0bdba9e97c4f23d89b878b9733f08fe19d48f6
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu Nov 17 11:22:14 2016 +0530

    Squashed commit of the following:
    
    commit fcf3dec9fa4e5f7b27080dd09d609adf818cfec5
    Merge: e32d692 efab2bf
    Author: Neha Kumari <neha.n.kumari@oracle.com>
    Date:   Thu Nov 17 10:24:03 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9110
    
    commit 931cf237071e582234902f2ff3e1d5bc47727ce9
    Merge: ff0f870 506e96d
    Author: Neha Kumari <neha.n.kumari@oracle.com>
    Date:   Tue Nov 15 11:39:45 2016 +0530
    
        Merge branch 'mysql-trunk' into mysql-trunk-wl9110
    
        Additional:
        The test mysqld--help-win, mysqld--help-notwin needed to be
        recorded again as the performance-schema-error-size is
        incremented due to the introduction of a new error message by WL#9110.
    
    commit 4d6be5ce262dfa66c2474062ef3b8e58f62fe764
    Author: Neha Kumari <neha.n.kumari@oracle.com>
    Date:   Wed Aug 24 12:31:01 2016 +0530
    
        WL#9110: Add RESET MASTER TO x to allow specification of binlog file number
    
        We have a "RESET MASTER" command in replication, what happens on execution of
        this command is it deletes all binary log files listed in the
        index file, resets the binary log index file to be empty, and creates
        a new binary log file with index as 000001.
    
        With this extension to RESET MASTER, user will be able to specify
        which binary log file index number to start from once the reset happens,
        instead of startint from 000001.
    
        This can be used to simplify the failover process and make it more efficient,
        by replacing FLUSH BINARY LOGS + PURGE BINARY LOGS TO x with a single
        RESET MASTER TO x command.
    
        This won't have any affect on the old command RESET MASTER, it will
        still behave as before.

commit ec8601f166006df651cb36927082ad3a63233a0f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jun 29 10:51:20 2016 +0200

    Bug#25103242: 5.6 DOES NOT BUILD ON FEDORA 25 DUE TO READDIR_R BEING DEPRECATED
    
    Backport from trunk to 5.6 of:
    
    Bug#23708395: GLIBC 2.24 DEPRECATES READDIR_R() BREAKING
                  DEBUG BUILD OF MYSQL SERVER
    
    As of glibc 2.24, readdir_r() has been deprecated. This breaks
    our debug builds since the deprecation warning is upgraded to
    an error during compilation.
    
    This patch fixes the problem by removing use of readdir_r() and
    using readdir() instead. This is thread safe as long as readdir()
    is only used concurrently on different DIR* - which it is in
    our case.
    
    POSIX quote: "The pointer returned by readdir() points to data
    which may be overwritten by another call to readdir() on the same
    directory stream. This data is not overwritten by another call
    to readdir() on a different directory stream."
    
    Change-Id: I85a6f5da2d48c8d5a9804cd6281411d9e757f46c
    (cherry picked from commit ba5245e9fef2257d60213076598268f544ca7109)
    (cherry picked from commit 865c124d1bdfd4eeee5eb42ea9faa9c8b45bfbb0)
    (cherry picked from commit d083887ca7cf90ac370b1a564b5090358f9a097f)

commit f6b0df3f3b359a32322b3a48774658ce46157eae
Merge: b1222c2 b3ca8c5
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Nov 17 02:50:04 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit b3ca8c523882c958b5ba84011a6dda394b70c2a3
Merge: 4ca77b8 e5be963
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Nov 17 02:46:29 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e5be963398875cb72231ac04a28598d4681d1db0
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Oct 21 13:34:09 2016 +0100

    Bug#25063506: FK update not cascaded to grandchild
    
    The original transactions's connection flags in ApiConnectRec are saved
    in the IndexOperation before executing so that they can be restored
    after execution. This is to ensure that any subsequent FK triggers run
    with the original transaction's flag. But the saved flags in the
    IndexOperations are not reset when the IndexOperation is finally
    released. Due to this any subsequent transaction that uses the same
    IndexOperation reads the dirty saved flags and produce inconsistent
    results.
    
    This patch fixes that by resetting the saved flags when the
    indexOperation is released.
    
    This patch also fixes another similar issue in the ApiConnectRecord.
    When a transaction is newly started, the ApiConnectRecord has to be
    initialised. But during the execution of the TCINDXREQ signal, this was
    not being done properly. Due to this, a transaction could read the dirty
    flags from the previous transaction and return inconsistent results.
    This is fixed by properly initialising the ApiConnectRecord.

commit efab2bff849705767b6e937dd1ed011186cc517b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Nov 16 08:46:38 2016 -0600

    Fix i_rpl.rpl_bootstrap_gtid.test

commit fea3680b488abab11c8363471c3d10bab4977f3a
Merge: ce79255 7939fdd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 16 15:18:34 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7939fdd14b672e1ff71221fcd06518def2fa29a4
Merge: 309c254 d083887
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Nov 16 15:18:19 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit d083887ca7cf90ac370b1a564b5090358f9a097f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jun 29 10:51:20 2016 +0200

    Bug#25103242: 5.6 DOES NOT BUILD ON FEDORA 25 DUE TO READDIR_R BEING DEPRECATED
    
    Backport from trunk to 5.6 of:
    
    Bug#23708395: GLIBC 2.24 DEPRECATES READDIR_R() BREAKING
                  DEBUG BUILD OF MYSQL SERVER
    
    As of glibc 2.24, readdir_r() has been deprecated. This breaks
    our debug builds since the deprecation warning is upgraded to
    an error during compilation.
    
    This patch fixes the problem by removing use of readdir_r() and
    using readdir() instead. This is thread safe as long as readdir()
    is only used concurrently on different DIR* - which it is in
    our case.
    
    POSIX quote: "The pointer returned by readdir() points to data
    which may be overwritten by another call to readdir() on the same
    directory stream. This data is not overwritten by another call
    to readdir() on a different directory stream."
    
    Change-Id: I85a6f5da2d48c8d5a9804cd6281411d9e757f46c
    (cherry picked from commit ba5245e9fef2257d60213076598268f544ca7109)
    (cherry picked from commit 865c124d1bdfd4eeee5eb42ea9faa9c8b45bfbb0)

commit ce79255bd1b7f2346d4af7f1aadd9d3c48b34d4c
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Nov 11 17:47:48 2016 +0100

    Bug#25027963: TEMPLATIZE ITEM_CREATE FOR VARIABLE ARGUMENT
    FUNCTIONS
    
    This patch extends the use of the template introduced in
    bugs no 24916689, no 24940128, no 24947913, and no 24947953
    where it was used for zero, one, two and three argument
    functions, respectively. This patch templatizes the variable
    argument functions, and those that posed as such.
    
    This concludes the refactoring, and the last remnants of the
    old ways are removed, including the BUILDER, and
    GEOM_BUILDER macros.

commit bb6984973854cf0fdaee31d3cadd7d15664c7379
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Nov 16 17:30:36 2016 +0530

    Bug#25096341::MTR CANNOT RUN WITH --NO-SKIP ON RELEASED PACKAGES/SOURCE*
    
    Problem:
    
    MTR --no-skip is completely broken when attempted on release packages,
    including int.. ones built in PB2:
    
    Logging: ./mtr  --no-skip --suite=main
    MySQL Version 8.0.1
    no-skip option cannot run without
    '../int../mysql-test/include/i_excludenoskip.list' No such file or
    directory at ./mtr line 1536.
    
    Fix:
    
    A check has been introduced to see if the i_excludenoskip.list exists or not.
    
    Reviewed by:
    Srikanth B.R <srikanth.b.r@oracle.com>
    Bjorn Munch <bjorn.munch@oracle.com>

commit 3c1a360a99dfe8f5ead7e0892ddcfab8dcf1d97c
Merge: 606987f 309c254
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 14:22:22 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 309c25474ee3eaaa7ce732b554db486142bc4c8a
Merge: 91c872c 0018928
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 14:21:47 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 00189280432ac459d657417f7ec42aed651d5ec0
Merge: 3c8215b 8add15e
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 14:11:02 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8add15eadf2dea826562ca5ffc40b0c79d3b2799
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Nov 16 13:41:27 2016 +0100

    Bug#25088048 ADDITIONAL ISSUES IN MYSQLD_SAFE
    
    Don't read --ledir option from config file.
    Ignore current working for finding location of mysqld
    Remove use of chown/chmod in scripts.
    Be helpful only when basedir is /var/log or /var/lib.
    Removed unused systemd files for SLES.
    Set explicit basedir in scripts.

commit 606987f49f1bb1e0179ef4f7b7bf61ca32b26577
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Nov 15 14:07:02 2016 +0100

    Bug#25095798: DO DATA DICTIONARY CACHE UPDATES AS PART OF TRANSACTION COMMIT
    
    Post push fix for more uniform code:
    
    1. Avoid reflecting tablespace meta data in the uncommitted
       registry during bootstrap.
    2. Clean up meta data also on error exit for tables created
       during bootstrap.
    3. Remove explicit calls to rollback/commit_modified_objects()
       that were necessary in the DD upgrade code before 1. and. 2.
       above were added.

commit 27a4de4b9e80783eed932056c1cf924caa42fa83
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Nov 16 12:43:32 2016 +0100

    Bug #24613005: SET PERSIST STORES PREVIOUS VALUE OF INNODB_BUFFER_POOL_SIZE
                   TO MYSQLD-AUTO.CNF
    SET PERSIST innodb_buffer_pool_size= <value> writes old value to config file.
    Fixed it by copying the new value into appropriate buffer so that correct
    value is reflected in config file.

commit f3e3a7cbb5a4ca90ea6546b28e74cb2a9296e3ab
Merge: c370a4e 91c872c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 16 12:28:43 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 91c872ca5cb9a896d743b28b5beb2c6ed3c47819
Merge: 2acc418 3c8215b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 16 12:26:13 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3c8215b59ccc004df09ac31ae65e44b18b748c2c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 16 11:34:05 2016 +0100

    Bug#24624555 DEBUGPRINTDEATHTEST.PRINTEVAL UNIT TEST FAILS ON AARCH64.
    
    Commit 5c2b61d has brought two unit tests (DebugPrintTest and
    DebugPrintDeathTest) that use "division by zero" exception to check
    the evaluation of args of DBUG_PRINT macro.
    
    About division by zero C99 says in 6.5.5p5: "... if the value of the
    second operand is zero, the behavior is undefined".
    
    Also, according to the ARMv8 Architecture Reference Manual if the
    divisor is zero, the result of operation is zero and no exception is
    generated. Consequently, DebugPrintDeathTest.PrintEval test fails and
    DebugPrintTest always passes at least on Aarch64.
    
    Fix: do not use undefined behaviour to test DBUG macros.
    
    The patch is based on a contribution by Alexey Kopytov

commit c370a4e27c9d32dd425d1f81e454fb3372a86c1c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 14 14:29:08 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Refactoring: Remove char_scanned (and make char_index private); it's not
    actually needed, even if we were to add explicit padding for two- or
    three-level collations. This means less work done per character,
    although the microbenchmarks are pretty much neutral (less than 1% difference),
    so this is generally just a cleanup.
    
    Change-Id: I65e1236e4fddccc1ab2c4bc398e2017160b8fc99

commit 9c79e477261ab252e38def436bca3336ef597603
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Nov 15 14:39:50 2016 +0100

    Bug #25083555 SOME TESTS FAIL WITH DEBUG SERVER ON SOLARIS WHEN BUILT WITH DEVELOPER STUDIO
    
    When we do a release type build of the server (with both optimized and
    debug enabled server/plugins) with Developer Studio, some MTR tests
    when run with --debug-server will fail in one of two ways:
    
    1. Tests which try to load a plugin into the mysql client fail with
       missing symbols. This is caused by the plugin having references to
       functions which do not exist in the non-debug client.
    
    2. Some tests on sparc fail with Thread stack overrun.
    
    Fix for issue #1: mtr will have appended /debug to the plugin dir part
    when running with --debug-server and if there actually is such a
    directory. The fix is to remove any trailing /debug from the
    env. variable within the test. This will affect the client only, not
    the server. Developer builds will not have put the plugins in a
    subdirectory /debug so it makes no different to those.
    
    Fix for issue #2: apparently this thread stack overrun is not feasible
    to avoid, so just skip the test if running with debug server on sparc;
    there is already an include file to do that.
    
    Also added not_sparc_debug.inc to the "white list" so the tests are
    skipped even when running mtr --no-skip.

commit f025f8e8a5e340bb16e0a39b07c0537f639681b9
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Nov 16 10:26:10 2016 +0100

    Bug#23508203 CANNOT COMPILE OUT FEDERATED STORAGE ENGINE
    
    Building without the feredated storage engine fails.
    
    The root cause is the work around implemented in
      storage/federated/CMakeLists.txt,
    which uses file mysys/string.c.
    
    This file was renamed to mysys/string.cc and then to mysys/my_string.cc,
    but the makefile was never updated.
    
    This fix adjust the federated makefile to reflect the naming change.

commit ac7fb5e373b0b98b135e04c6bf05d12148486e37
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Nov 16 14:51:02 2016 +0800

    Bug #22607168  ASAN: MEMORY LEAK IN CONNECT_TO_MASTER()
    
    Build with clang and -DWITH_ASAN=1 on vilma51.no.oracle.com, the
    problem can not be reproduced after repeating the following tests
    10000 times with the --sanitize MTR option:
    rpl.rpl_row_001
    rpl.rpl_row_reset_slave
    rpl.rpl_stm_reset_slave
    rpl.rpl_stm_000001
    rpl.rpl_slave_status
    rpl.rpl_stm_mixed_mts_rec_crash_safe_small
    
    So remove these tests from mysql-test/collections/disabled-asan.list.

commit 0bd0925971c35b4489ceebb9839047f8be99a267
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Nov 15 16:21:19 2016 -0600

    Bug#24462978 post-fix Should not have moved os_file_get_size() in previous patch.

commit f90bf1973a466b5b5ca265f76f3ce6e699ef8242
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Nov 15 13:38:18 2016 -0600

    Fix an ubuntu 32-bit compile error

commit 2c0d5118cd7afaff0ead1ea5c4dad85040c048e9
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Nov 15 11:27:50 2016 -0600

    Bug#24462978 Post-fix for a couple doxygen errors and
    an unusual ubuntu 32-bit compile error.

commit 6102299a2c8e0394b74624f3c97c86cc22275753
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Nov 15 22:32:19 2016 +0530

    Bug#25095900 - post fix for testcase rpl_nogtid.rpl_replicate_same_server_id

commit ed32dffb02a58758de10e8e3a69d42dc781e0595
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Nov 15 08:56:14 2016 -0600

    Bug #24462978: Free up 32 slots in TRX_SYS page for non-temp rsegs
    
    This is a preliminary patch for
    WL#6966-InnoDB: Flexible UNDO tablespace management
    
    There are 32 slots in the TRX_SYS page that are not being used.
    The slot numbers are reserved for rseg_ids of rollback segments
    in the temporary tablespace. The space_id & page number of these
    rollback segments will never be stored persistently.
    
    In this patch, these slots are moved to a separate in-memory array of
    rsegs so that these 32 slots in TRX_SYS can be used for durable
    rollback segments.
    
    This is a nonfunctional change which allows parts of wl9507 to be reviewed
    and tested separately with the current set of test cases so that we can be
    confident that these changes are clean.
    
    So in addition to the new container for temporary rollback segments, this
    patch contains the following, some of which are explained in WL#9507
    
    * Add and improve comments for clarity.
    * Change the preferred terminology from 'undo_log' to 'rollback segment'
    when that is what it refers to. 'Undo log' has another meaning.
    * Use an std::vector as a container for undo tablespaces so that this list
    can grow and shrink without introducing array gaps. In wl#9507, the
    translation between an rseg_id from a rollback pointer to a space_id will
    be just a simple math function since the rseg_id will be a 7-bit number
    and the undo space_id will be a reserved range of tablespace IDs.
    * Use an std::vector as a container for trx_rseg_t objects consistently.
    The purge list is already using this kind of container.
    * Reorganize srv_undo_tablespace_init() so that it can be easily expanded
    in wl#9507 by putting various tasks into their own functions.
    * Combine the functions that build rollback segments.
    * Combine the effort to construct FSP headers and rollback segments after
    an undo tablespace is created, or fixed-up from a failed truncate. This will
    make it easier to upgrade undo tablespaces on startup and add rollback
    segments when needed. The undo::Truncate class used two different vectors of
    space_ids but those vectors can be combined because they never overlap in
    usage. One is at startup and the other is during runtime.
    * Introduce the class undo::Tablespace to handle the just-in-time creation
    of undo_name and undo_file_name from a space_id.  This collects this
    repeated code to one location and reduces how often it is done. This will
    be expanded further in wl9507 to handle the conversion of an undo space_id
    to an undo space_num. It will also contain a vector of rseg objects for
    each undo tablespace.
    
    Approved by Thiru in RB#13164

commit 194a52fd8f0c0bb5a9330d23ae6101e639f569f8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 14 16:42:55 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Refactoring: Clean up an ending condition in the slow path of uca_scanner_900.
    
    Change-Id: Ie2708b664ca2794826474fc74797fd22b623f1be

commit 8e90f0e14f87eb97256de89c0ffe4cf26aebad37
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Nov 15 11:34:06 2016 +0100

    Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
    
    Patch #15:
    
    This patch reduces the compiler warning count on Win64 by an additional
    370, as reported by VS2015.

commit eb16d936a652f6548c5f8a577abba014eb315d16
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Nov 14 15:04:56 2016 +0100

    Bug#25095798: DO DATA DICTIONARY CACHE UPDATES AS PART OF TRANSACTION COMMIT
    
    Move calls to Dictionary_client::remove_uncommitted_objects()
    to trans_commit() and trans_rollback() instead of doing it
    directly from DDL code.
    
    Re-enable the assert in the auto releaser dtor that checks that
    we either have reported an error or have remove all uncommitted
    objects.
    
    After this patch, the top-level auto releaser needs to be in
    the same scope as DDL trans_commit/trans_rollback as the auto
    releaser will own the uncommitted DD objects that the transaction
    will commit/rollback.

commit 0574da557fc24240d6f511e3be577aaf3079c541
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 15 13:32:29 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix: Fix an UBSAN warning about a zero-byte memcpy from
    a null pointer. (I believe this was preexisting.)
    
    Change-Id: I1d87fc977588c232f2073f9ed5efb93785ef6e05

commit e55c9e69d21070c19f8ea970315d1248afca7901
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Nov 14 12:08:30 2016 +0100

    Bug#25090147 SWITCH TO CMAKE_POLICY CMP0022 NEW
    
    Keep transitive library dependencies when merging lilbraries.
    Remove transitive library dependencies for 'mysqld'
    
    Change-Id: Ie80ffd653385b4c7cc6c19a4dc8762261204fd6d

commit 75816cd3d1897c7dcc23b3c178033da721a6a5a6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 10 14:39:45 2016 +0100

    Bug#25047032 DECLARE OVERRIDDEN ITEM MEMBER FUNCTIONS AND FINAL ITEM SUBCLASSES
    
    Post-push fix: remove some 300 warnings from Visual Studio
    
    Change-Id: Ide654072ceaeb7fe9142a21fe1063d5851a09e77

commit 144ab039e98f6c2417db6a3ff24b6fed1081e37f
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Nov 15 15:00:08 2016 +0530

    Bug#25095900:: FEW I_RPL TESTS SHOULD BE MOVED TO I_RPL_NOGTID
    Problem and Fix:
    
    It is observed that few tests in i_rpl can run only with gtid_mode=off.
    Ideally they should be a part of i_rpl_nogtid suite. Hence moving the test
    file, result file and any related cnf/opt file to i_rpl_nogtid.
    
    Reviewed by:
    Joao Gramacho <joao.gramacho@oracle.com>

commit 04a2065dfd4c862d004afc5a1d11ef27d3b456ad
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Nov 15 12:31:34 2016 +0100

    Bug#24941421 - FIX DOXYGEN WARNINGS ON GCS/XCOM
    
    Doxygen cleanup in the group replication code.

commit 664832d168abbd07b788347bffda3dcef20dbb3b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 15 12:29:29 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix: Fix an ASAN leak report. (We don't actually allocate less
    memory, it's just done in a way that happens to be freed immediately
    before exit instead of on exit.)
    
    Change-Id: I555e43d625b7aaf1c3d8895d1887fd90437070e7

commit fad0549b712f1b78cc54290745a6f34a245e6311
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Tue Nov 15 11:57:47 2016 +0200

    Fix compilation error "variable length array" in sock_probe.c
    
    The breakage is due to 1f3b29a (from Oct 27) and is still not fixed.
    
    This patch is a Q&D fix until the proper solution comes to the tree.

commit 107837ce0adae19e6e2ec31b246cef611dd96646
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Nov 14 14:44:47 2016 +0100

    Bug #25090907: KEYS_CONTAINER_TEST.CHECKIFKEYISNOTDUMPEDINTOKEYRINGFILEIFKEYRINGFILE FAILING

commit bea9a15ba51175f7ad6703ca3dbc8cc77fb7ad45
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 31 12:03:25 2016 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <stdlib.h> and then re-sorting
    the #includes (and nothing else); then remove <stdlib.h> from my_global.h.
    
    Change-Id: Ida8f17c2f07887dc19647d69e737f585c12e6c85

commit 442d09be08e23ba42f736c718926455c4904a077
Merge: a10bdff 2acc418
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Nov 15 09:38:25 2016 +0100

    NULL Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	configure.cmake
    	storage/ndb/include/kernel/BlockNames.hpp
    	storage/ndb/include/kernel/BlockNumbers.h
    	storage/ndb/src/common/debugger/BlockNames.cpp

commit a10bdfffe2a265e252ddbcc4d189317904ac7066
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Nov 11 17:44:14 2016 +0800

    Bug #24934161: FAILURE OF SYNONYMY OF NCHAR AND NATIONAL CHAR
    
    'NCHAR' is synonymy of 'NATIONAL CHAR' but CAST fails when casting
    string to type 'NATIONAL CHAR'.
    
    Solution:
    Change sql_yacc.yy to let 'CAST' treat 'NATIONAL CHAR' same as
    'NCHAR'.

commit 2acc418ffda762d59ef79b9342798599c8eb08b5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 11 14:15:55 2016 +0100

    Cherrypick commit 261f6d54f16f5348c08849da570b6786c15af65a
    
    WL#7575 Remove ndbinfo's usage of other engine
    
     - fix problem with multiple definition of "BlockNames"
       and "NO_OF_BLOCK_NAMES" when linking libmysqld(the embedded mysqld)
     - The two variables were defined both in libndbapi and libndbtrace
     - split the two variables into their own file, allowing libndbapi
       to reference the variables from libndbtrace
     - fix ancient copyright headers

commit b4dbfcedf898c66a225a1e843d6f7f8e9be15241
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 9 15:37:45 2016 +0100

    Bug#24947136 ENABLE DEVELOPERSTUDIO12.5 WITH C++03 FOR MYSQL 5.7
    
    This patch adds support for building mysql5.7 server (including NDB)
    with -std=c++03
    
    cmake/os/SunOS.cmake partial backport of
    Bug#24481181: RAISE MINIMUM CMAKE VERSION TO 2.8.12
    
    configure.cmake partial backport of
    Bug#24487934 FIX DYNAMIC LIBRARY SEARCH PATHS ISSUES ON SOLARIS

commit 5e827ab8f627a6cdd8109d64873a91c7dfcd3b49
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Oct 24 13:24:07 2016 +0200

    Bug#22561096 UPGRADE TO CMAKE 3.2.3 BROKE NDBCLUSTER WINDOWS BUILD IN MYSQL-TRUNK
    Bug#22572632 CMAKE WARNING IN NDB_CHECK_MYSQL_INCLUDE_FILE.CMAKE
    
    Backport to 5.7

commit 1423461d25a823113fed340f06534ecb2a69e00c
Merge: 506e96d 3fbdcbc
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Nov 15 12:02:31 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3fbdcbce7c14a800809427c19476435c6ed8f73a
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Nov 15 12:01:05 2016 +0530

    Bug#22857926: ASSERTION `! IS_SET()' AT SQL_ERROR.CC:38 IN
    READ_ONLY MODE FOR MANY RPL CMDS.
    
    Problem:
    =======
    This bug is opened to fix assertion `! is_set()' at
    sql_error.cc:380 in "void Diagnostics_area::set_ok_status
    (ulonglong, ulonglong, const char*)" for many RPL commands.
    This issue has been fixed for couple of commands with
    Bug#22097534. But, still issue exists for few other
    commands.
    
    RPL commands affected:-
    =======================
    [PENDING] 1. FLUSH LOGS;
    [PENDING] 2. RESET SLAVE ALL;
    [PENDING] 3. SET GLOBAL gtid_purged='aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1';
    [FIXED]   4. CHANGE MASTER TO..
    [FIXED]   5. CHANGE REPLICATION FILTER
    [FIXED]   6. START SLAVE;
    [FIXED]   7. STOP SLAVE;
    
    Analysis:
    ========
    When the above set of commands are executed they will try
    to update replication specific system tables. For example
    mysql.gtid_executed
    mysql.salve_master_info
    mysql.relay_log_info
    
    This scenario is applicable to all replication specific
    internal system tables. During the fix for Bug22097534 it
    was concluded that "read only" mode should prevent changes
    to user data, but not to prevent normal Server operations or
    to prevent a DBA from managing the state of the MySQL Server
    itself.
    
    Hence the above commands should be able to update data in
    replication specific internal tables.
    
    Fix:
    ===
    There exists a flag named 'ignore_global_read_lock' whose
    intention is to ignore the read only option and allow
    commits to replication specific system tables. Reused
    this flag as part of fix. If this flag is set then the
    additional check for 'read only' option is not done.
    Hence 'read only' mode error will not be reported and
    command will complete successfully.

commit b1222c2d511c8799a53fd7176da074dfbbd3fbf5
Merge: e973844 4ca77b8
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 14 18:23:30 2016 +0000

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 4ca77b86b1a6cd5575f68bdbd2a519e41565e9b9
Merge: acf4346 055bb9b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 14 18:22:51 2016 +0000

    Merge 7.3->7.4

commit 055bb9b5fc11ead00fc54c8a57848bf8d7f6612c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 14 18:20:36 2016 +0000

    Bug#23723110 NDB : TUP IMMEDIATE TRIGGERS HITTING LONGMESSAGEBUFFER EXHAUSTION LEAKS ROWID
    
    LongMessageBuffer exhaustion when firing immediate triggers could result
    in RowId leaks, which may later result in persistent error code 899
    RowId already allocated errors.
    
    Testcase testBasic -n TupError is enhanced to cover this case, and
    the leak is fixed.

commit 506e96dbc7baa01e5735a49f792e686d97e9a84a
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Nov 10 12:25:10 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Simplify the order of the weight tables for UCA 9.0.0 so that we no longer need
    a multiplication with variable to access each element, but can do with
    additions (and the occasional multiply-by-256 for less common cases).
    
    In the process of debugging this change, I added a lot of cleanups and
    new comments to the code to understand it better. I let them stay, since
    I believe they will make the job for whoever comes next easier.
    
    Microbenchmark results (64-bit, opt, GCC 6.2):
    
      BM_SimpleUTF8MB4         270 -> 234 ns/iter  [+15.3%]
      BM_MixedUTF8MB4          265 -> 239 ns/iter  [+10.9%]
      BM_MixedUTF8MB4_AS_CS    795 -> 751 ns/iter  [ +5.9%]
    
    sysbench results are in the noise (probably +3% tps or so).
    
    Change-Id: I75e23589929daf46b5fc04cc1d045e81275c90fb

commit 4dfa7e61146974a0cbdf92e8b3d4df524f468c48
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Nov 7 11:08:06 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Prefactoring: In the collations test suite, output the actual weight string
    we are sorting on, in order to more easily detect and debug regressions.
    
    Change-Id: I27620708d5869c4371aa0c2ecc9f6812239fbe55

commit 70db98162367ab910c3f3ea63940634d2027eef7
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Nov 14 09:07:28 2016 +0200

    Bug#25088793 DECLARE IN_VECTOR::RESULT_TYPE() AS CONST
    
    All implementations of the pure virtual member function
    in_vector::result_type() are simply returning a constant,
    without modifying anything. Therefore, the member function
    should be declared as const.
    
    Likewise, declare in_vector::create_item() as const.
    
    In the derived classes and overridden member functions, we
    also introduce the C++11 attributes final and override.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit d672eb09dbff45ab9da72f7a231bd6f490c77b8e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Nov 4 14:29:05 2016 +0100

    Bug #25048971: ADD SUMMARY RESULT OUTPUT FILE FROM MTR
    
    Add an option to MTR that outputs the result summary to a file.
    This can then be used by CI systems (e.g. Jenkins) to send in email when a
    build fails, so that one doesn't have to go click to see what went wrong.
    
    Change-Id: I9306ce281ff7245781dd9e700a49c159d0b6dfbd

commit 58157669e6be52b14c03bc057f7d8eaef87ee6f8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Oct 27 13:56:44 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    When writing a big-endian 16-bit weight to the buffer, do it in one go
    (using htons and memcpy) rather than shifting and masking ourselves;
    seemingly GCC doesn't manage to combine the two writes. (The htons()
    is rewritten to a 16-bit rotate-by-8, which is efficient although it
    is contrary to Intel's recommendation to use XCHG AL, AH.)
    
    Microbenchmark results (Skylake 3.4 GHz, opt, GCC 6.2):
    
      BM_SimpleUTF8MB4          375 ->  309 ns/iter  [+21.4%]
      BM_MixedUTF8MB4           316 ->  307 ns/iter  [ +1.3%]
      BM_MixedUTF8MB4_AS_CS    1041 ->  982 ns/iter  [ +6.1%]
    
    sysbench goes from 10825 -> 11136 tps (+2.9%).
    
    Change-Id: Ifa54a02456dcaec808bef2fc4fb5c6d2158133d7

commit 4f42d4c8d415eacd91ef171e6beb812ab513ed99
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Nov 14 10:38:02 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - 'check testcase' hangs when only one mysqld connected to the cluster
       is restarted due to -master.opt file.
     - fix by moving partition_basic-master.opt to partition_basic.cnf
       to have the whole cluster restarted

commit 0782dc91a0f14ecc1380635e4623119bab6a660e
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Nov 14 09:27:52 2016 +0100

    Bug #25027066: CHANGES TO DICTIONARY_CLIENT NEEDED BY WL#7743
    
    Post push fix: Delete object in unit test to avoid memory leak.

commit f3cf1dd39a4545c72cab4f25bee7ca910fcc1581
Merge: bf7c35a e973844
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Nov 14 11:41:36 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-trunk-cluster

commit bf7c35ada8ad35ee91fa9f5b0f1ee202c5e128f8
Merge: be89803 d472a6f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Nov 14 11:40:02 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit e9738440c6c333f68ce41a305ead5bb96a08cd69
Merge: dd9decb acf4346
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Nov 14 11:34:08 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove duplicate code for finding the NDB_DROP_TABLE binary
      in MTR)

commit acf4346d0d2dd391b5c7cebdb5c6a21fb22ad23a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Nov 14 11:25:15 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove duplicate code for finding the NDB_DROP_TABLE binary
      in MTR

commit d472a6f9ebde8432c36af921e57132bbdc0a94d6
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Mon Nov 14 06:52:59 2016 +0100

    Bug#24749248 - Native methods introduced for i_s should not be used by a user
    directly.
    
    Followup patch to fix test failures observed with patch for this bug.

commit 3d3dc66ac5c80051c6de3f6c85d72a5a4ea51183
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Sat Nov 12 20:53:15 2016 +0530

    BUG#25032066 PREPARED TRANSACTION SHOULD NOT BE ROLLED BACK
                 BY HIGH PRIORITY TRANSACTION
    
    Problem :
    ---------
    1. delete_all_rows() and rnd_init() are not returning error
    after async rollback in 5.7. This results in assert in
    innodb in next call.
    
    2. High priority transaction is rolling back prepared transaction.
    This is because TRX_FORCE_ROLLBACK_DISABLE is getting set only for
    first entry [TrxInInnoDB].
    
    Solution :
    ----------
    1. return DB_FORCED_ABORT error after rollback.
    2. check and disable rollback in TrxInInnodb::enter always.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 13777
    (cherry picked from commit 628f957a874dfcdc5431c52a39b5363c13a1fdba)

commit 749e7d2c05083a5b4c7aa2c98faf83352b3507ce
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Mon Nov 14 09:50:11 2016 +0800

    There are sixteen result files which do not have corresponding test file. See below.
    
    mysql-test/r/rpl_colSize.result
    mysql-test/r/rpl_extraColmaster_innodb.result
    mysql-test/r/rpl_extraColmaster_myisam.result
    mysql-test/suite/rpl/r/rpl000001.a.result
    mysql-test/suite/rpl/r/rpl000001.b.result
    mysql-test/suite/rpl/r/rpl_gtid_stm_insert_delayed.result
    mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result
    mysql-test/suite/rpl/r/rpl_parallel_fallback.result
    mysql-test/suite/rpl/r/rpl_perfschema_applier_status.result
    mysql-test/suite/rpl/r/rpl_row_err_ignoredtable.result
    mysql-test/suite/rpl/r/rpl_row_loaddata_m.result
    mysql-test/suite/rpl/r/rpl_row_multi_query.result
    mysql-test/suite/rpl/r/rpl_show_slave_status_nonblocking.result
    mysql-test/suite/rpl/r/rpl_show_slave_status_nonblocking_debug.result
    mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic_32.result
    mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic_64.result
    
    Delete these result files from the suite, since they are unavailable.

commit ed5e011b43ee2ee6236b28c3b2f240e30845d9db
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Thu Nov 10 12:32:08 2016 +0100

    Bug #25027066: CHANGES TO DICTIONARY_CLIENT NEEDED BY WL#7743
    
    This patch implements various adjustments to the caching layer,
    required by WL#7743::
    
    1. The vector for objects to be auto deleted is moved from
       the auto releaser to the dictionary client.
    2. In acquire_for_modification(), a new clone is always
       returned. If an uncommitted object already exists, that
       object is cloned, otherwise, an object is acquired from
       the shared cache and cloned. The clone is added to the
       auto delete vector.
    3. Dictionary_client::register_uncommitted_object() has been
       made private.
    4. Dictionary_client::store() asserts that the object has
       id == INVALID_OBJECT_ID, and will implicitly call
       register_uncommitted_object().
    5. Dictionary_client::update() will get the old object from
       the uncommitted registry or from the shared cache. The
       'old_object' parameter is obsolete, and is removed. The
       new object is removed from the auto delete vector, and
       is added to the uncommitted registry.
    6. Dictionary_client::object_renamed() is now obsolete, and
       is removed.
    7. During bootstrap, we call Storage_adapter::store() directly
       instead of Dictionary_client::store(). This is due to
       restrictions that do comply with the bootstrap use case.
    8. Add an assert to register_uncommitted_object() to make
       sure we have a top level auto releaser when an uncommitted
       object is added. This assert may be removed when the cleanup
       of the uncommitted object registry is done implicitly in
       commit/rollback.
    9. Backport changes done in WL#7743, e.g. changes to the
       shared cache (method 'drop_if_present()'), changes to
       'remove_uncommitted_objects()', 'drop()', etc.
    10. Put back 'acquire_uncached_uncommitted()', which is needed
        by InnoDB for ALTER TABLE implementation on top of
        WL#7743.

commit d344e4209b49a86cdf40e4f3f2960344bf8038d1
Merge: 161798c 8823f01
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Sun Nov 13 10:32:35 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8823f019bec265596b7bf53e936130b5b506b287
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Sun Nov 13 10:31:35 2016 +0530

    BUG#25082593 FOREIGN KEY VALIDATION DOESN'T NEED TO ACQUIRE GAP LOCK
                 IN READ COMMITTED
    
    Problem :
    ---------
    This bug is filed from the base replication bug#25040331 where the
    slave thread times out while INSERT operation waits on GAP lock taken
    during Foreign Key validation.
    
    The primary reason for the lock wait is because the statements are
    getting replayed in different order. However, we also observed
    two things ...
    
    1. The slave thread could always use "Read Committed" isolation for
    row level replication.
    
    2. It is not necessary to have GAP locks in "READ Committed" isolation
    level in innodb.
    
    This bug is filed to address point(2) to avoid taking GAP locks during
    Foreign Key validation.
    
    Solution :
    ----------
    Innodb is primarily designed for "Repeatable Read" and the GAP lock
    behaviour is default. For "Read Committed" isolation, we have special
    handling in row_search_mvcc to avoid taking the GAP lock while
    scanning records.
    
    While looking for Foreign Key, the code is following the default
    behaviour taking GAP locks. The suggested fix is to avoid GAP
    locking during FK validation similar to normal search operation
    (row_search_mvcc) for "Read Committed" isolation level.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 14526

commit f3d5e6c3c905cae958bde6d38ce2b6f48273653a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Nov 4 13:44:36 2016 +0100

    Bug#25048573: STD::MAP INSTANTIATIONS CAUSE STATIC ASSERT FAILURES ON FREEBSD 11
    
    Problem: Some instantiations of std::map have discrepancies between
    the value_type of the map and the value_type of the map's allocator.
    On FreeBSD 11 this is detected by Clang, and an error is raised at
    compilation time.
    
    Fix: Specify the correct value_type for the allocators.
    
    Also fix an unused variable warning in storage/innobase/os/os0file.cc.
    
    (cherry picked from commit 84407083481e8d98751252fa87501ec27f87ec48)

commit 86b0524e3de2397fa1a66bd25cd586c047bf9139
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 4 12:05:29 2016 +0100

    Bug#25048128: MAP_NORESERVE NO LONGER DEFINED IN FREEBSD 11
    
    MAP_NORESERVE is no longer defined on FreeBSD 11
    which breaks the build.
    
    Fix: Reintroduce code from 5.6 that defines MAP_NORESERVE to 0
    if it doesn't exist.
    
    Change-Id: I22daeeca0584ed1d21c12135e9a1a166ce31cc07
    (cherry picked from commit 249c59163a797ede2d77e9e3c3e05940e1f55087)

commit 161798c1207fb738c28b0c26d6f3c3f728caf396
Merge: 617b53b 628f957
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Sat Nov 12 21:04:37 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	storage/innobase/handler/ha_innodb.cc

commit 628f957a874dfcdc5431c52a39b5363c13a1fdba
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Sat Nov 12 20:53:15 2016 +0530

    BUG#25032066 PREPARED TRANSACTION SHOULD NOT BE ROLLED BACK
                 BY HIGH PRIORITY TRANSACTION
    
    Problem :
    ---------
    1. delete_all_rows() and rnd_init() are not returning error
    after async rollback in 5.7. This results in assert in
    innodb in next call.
    
    2. High priority transaction is rolling back prepared transaction.
    This is because TRX_FORCE_ROLLBACK_DISABLE is getting set only for
    first entry [TrxInInnoDB].
    
    Solution :
    ----------
    1. return DB_FORCED_ABORT error after rollback.
    2. check and disable rollback in TrxInInnodb::enter always.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 13777

commit 5b8f7fc9ed1935f0a73aefcc0e21e45506d71979
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Wed Nov 2 16:02:52 2016 +0000

    BUG#24971129 - MACRO REDEFINITION IN XCOM
    
    From problems that GR encoutered when entering the server main trees,
    one decided to make a full revamp of the CMake files in order to use
    the most one can from the Server build infrastructure.
    
    For that, one redesigned the CMake from Group Replication in order
    to build all its code in one single file
    
    (cherry picked from commit 1b16141549b83d9d2254865aa0cc99c03a79151f)

commit 57ce0f7d98c6d8dff2f85c249384bc88bb48f8dd
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Nov 9 10:47:06 2016 +0100

    BUG#25055190: FLOW-CONTROL APPLIER QUEUE SIZE INCORRECT IN JOINS ON BUSY GROUPS
    
    When a new member joins a group that is busy, one of the statistics
    used by the flow-control - applier queue size - may be incorrectly
    calculated. This comes from the fact that the queue size is
    incremented once the transaction is queued into the relay log, but
    it is only decremented when executing if the member is considered
    ONLINE. If the member is on RECOVERING status, the queue size is
    not decremented.
    To fix the above issue, the applier queue counters are only
    incremented and decremented when member status is ONLINE.
    The certifier queue counter it is always sent, to avoid the
    throttling to reach to small values when one or more members are on
    RECOVERING, we cap the throttling to 5% of the queues threshold
    specified by DBA on
    group_replication_flow_control_certifier_threshold and
    group_replication_flow_control_applier_threshold options.
    
    A second issue was observed on flow control disable, which was not
    enforcing its immediate disable. Now when the low control is disable,
    it does reset its used quota which ensures immediate throttling
    disable.
    
    (cherry picked from commit d78bb00532032355fc29af70012422d6ede9e992)

commit 317bbc795dadc3ca65431c3536c919edddd20e82
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Nov 7 16:03:10 2016 +0000

    BUG#24957262: MEMORY LEAKS ON MYSQL-TRUNK-WL9053
    
    Memory leaks have been detected on pb2 branch on mysql-trunk-wl9053.
    
    A test made a group replication stop after a transaction event. No one
    was releasing  the memory.
    
    Added delete on destructor of certification handler.
    
    (cherry picked from commit 5b2691658185d954377a44774281f6f5d9e71f2d)

commit 81624af359db4038609e94b19f85baa11f1b596d
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Nov 4 12:22:54 2016 +0100

    Bug#25048546	PACKAGE UPGRADE FROM 5.7.16-COMMUNITY TO 5.7.17-COMMUNITY FAILING
    
    When some files were moved from mysql-common to client package, a breaks/replaces
    statement was added on mysql-common older than 5.7.16, but since the commit didn't
    make it in until 5.7.17, the breaks/replaces needs updating.
    
    (cherry picked from commit 7fda51cb1777cf0943d1283496600cb107b48629)

commit e7b7beed7878d020f2a7a2ea2e36db5433150641
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Nov 4 01:27:42 2016 +0100

    BUG#25045302: GROUP REPLICATION FAIL TO DETECT THAT PLUGIN IS NOT BUILT
    
    Make all Group Replication tests know that do need to skip when the
    plugin is not build, like when cmake -DWITH_RAPID=0 option is used.
    
    (cherry picked from commit 0d842c1cd4d4093caf2787c93a4ff0466c482c6f)

commit 617b53b89d98f081587235dab0bf9fa5839df535
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Nov 11 14:51:17 2016 +0000

    BUG#24971129 - MACRO REDEFINITION IN XCOM: Adapt changes to mysql-trunk

commit 91fec9a0147d44e67716bd812d9cd1c8a3eaed83
Merge: c30ef59 1b16141
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Nov 11 14:50:56 2016 +0000

    Merge branch 'mysql-5.7' into mysql-trunk

commit c30ef592a55e42aec32f900459e7012e96e6ed2e
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri Nov 11 20:06:41 2016 +0530

    BUG#24365145 : "COLLECTING TESTS" PART OF MTR IS SLOW AND RUNS ON A SINGLE THREAD
    
    Post Push Fix: Disabled perl threads on platforms not supoorting it.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>

commit 1b16141549b83d9d2254865aa0cc99c03a79151f
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Wed Nov 2 16:02:52 2016 +0000

    BUG#24971129 - MACRO REDEFINITION IN XCOM
    
    From problems that GR encoutered when entering the server main trees,
    one decided to make a full revamp of the CMake files in order to use
    the most one can from the Server build infrastructure.
    
    For that, one redesigned the CMake from Group Replication in order
    to build all its code in one single file

commit dd9decb7f151f3c1455b7a2f52dc625026c61a1d
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 11 13:46:31 2016 +0100

    Bug #25042101 SPLIT BINLOG INJECTOR_MUTEX IN TWO, DO REQUIRED CLEANUP
    
    Part 4 of 4
    
    Replace the usage of ndb_schema_share_mutex with the new injector_data_mutex.
    ndb_schema_share_mutex was once introduced as the (only) place where we
    need a mutex not being as contended as the old injector_mutex.
    
    As we now have the more general injector_data_mutex for such usage,
    it only clutters the code having this special ndb_schema_share_mutex.

commit f011e9236446ef40a2b6cb0ea5bd3d68f19baba0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 11 13:44:27 2016 +0100

     Bug #25042101 SPLIT BINLOG INJECTOR_MUTEX IN TWO, DO REQUIRED CLEANUP
    
        Remove thread_yield() in binlog injector code previously put there
        as a temp stopgap in the commit below. This used to be required
        as the injector thread held the injector_mutex > 99% of the time when
        waiting for pollEvents(). That blocked client threads either wanting to
        access the data shared from the injector thread, or needing the injector_mutex
        while waiting for injector_cond to be signaled
    
        This should not be required anymore, as:
    
        1) injector_mutex has been splitt in two separate mutexes.
        2) We changed init of the injector_event_mutex from a 'FAST' to a 'SLOW'
           mutex which has better 'farness' properties in the scheduler
    
        This also reverts the patch:
    
        commit 000394fbe3a8d7a2945fb6b483024b77e16ab20a
        Author: Ole John Aske <ole.john.aske@oracle.com>
        Date:   Fri Jan 15 09:55:05 2016 +0100
    
            Follow up patch for performance regression introduced by patch for bug#20957068
    
            Introduce some sched_yield() in the binlog-thread loops where
            the injector_mutex is held >99% if the elapsed time. The yields
            let other threads waiting to be scheduled a chance to run,
            and grab the injector_mutex when not held by the binlog-thread.

commit fa7f4ffd648ac234d8caf440351b66f6e0fe9036
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 11 13:42:18 2016 +0100

    Bug #25042101 SPLIT BINLOG INJECTOR_MUTEX IN TWO, DO REQUIRED CLEANUP
    
    Patch 2 of 4:
    
        Split the injector_mutex into the two mutexes injector_event_mutex and injector_data_mutex
    
           - injector_data_mutex protects global data maintained
             by the injector thread and accessed by any client thread.
           - injector_event_mutex, protects injector thread pollEvents()
             and concurrent create and drop of events from client threads.
             It also protects injector_ndb and schema_ndb which are the Ndb
             objects used for the above create/drop/pollEvents()
          Rational for splitting these into two separate mutexes, is that
          the injector_event_mutex is held for 10ms across pollEvents().
          That could (almost) block access to the shared binlog injector data,
          like ndb_binlog_is_read_only().

commit d9493b64ddb177306ded25994f4cad7ca9883de1
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 11 13:36:56 2016 +0100

    Bug#25042101 SPLIT BINLOG INJECTOR_MUTEX IN TWO, DO REQUIRED CLEANUP
    
    injector mutex simplify
    
     Remove protection of init of local thread variables never exposed
     to other threads, and injector_cond signaling of state changes
     being either local, or never waited for by any thread.

commit 5460dee53354d36dfb24fe5e28c64295f98010b5
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Nov 7 17:28:38 2016 +0100

    Bug#25054104: DATA DICTIONARY INITIALIZATION FAILS WHEN USING BINARY CHARSETS
    
    Problem: The collation specified using --collation_server=binary is also used
    in the COLLATE clause when creating the DD schema. The name binary must, unlike
    other collation names, be quoted when used this way.
    
    Solution: Make sure the query string generated to create the DD schema quotes
    the collation name used in the COLLATE clause.

commit 3392acc801f7535a3deb4106ec8b577547b7a762
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Nov 11 12:01:18 2016 +0100

    WL#8413: Follw-up: fixed doxygen error and clang warning

commit dd8c85510e954aa78610614db52f495cd9c6e1c1
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Fri Nov 11 12:42:23 2016 +0100

    Removing main.mysql_client_test from disabled.def. Only disabling failed subtest test_bug10760 in the test

commit 2610a5a340f32a7fc726f0c2a2bebd40f970a88b
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Nov 11 11:16:34 2016 +0100

    Bug#24749248 - Native methods introduced for i_s should not be used by a user directly.
    
    Many native methods are introduced for the implementation
    of INFORMATION_SCHEMA as system views. All these native methods
    are for the internal use only. But, currently these native methods
    can be invoked from a user directly as below,
    
    SELECT INTERNAL_GET_VIEW_WARNING_OR_ERROR("test", "v1", 1, 0);
    
     +--------------------------------------------------------+
     | INTERNAL_GET_VIEW_WARNING_OR_ERROR("test", "v1", 1, 0) |
     +--------------------------------------------------------+
     |                                                      1 |
     +--------------------------------------------------------+
        1 row in set (0.00 sec)
    
    There are native methods as can_access_table() and
    can_access_database(), invoking these directly by a user might
    disclose hidden information.
    
    Since these native methods are introduced for internal purpose
    only and invoking them by user directly might disclose hidden
    information, as part of this patch restricting user from invoking
    them.
    
    A bool type flag THD::parsing_system_view is set to indicate that
    the view being parsed(while creating or opening a view) is a
    system view.
    
    Now native methods introduced for INFORMATION_SCHEMA implementation
    are allowed to be invoked from the INFORMATION_SCHEMA queries
    only. Following error is reported if user invokes these native
    methods directly,
    
      ER_NO_ACCESS_TO_NATIVE_FCT
        eng "Access to native function '%.64s' is rejected."

commit 6ea4e95a74ce31355a23ef3ce330b6c71631424c
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Fri Nov 11 10:32:09 2016 +0100

    Disabled main.mysql_client_test due to Bug25082552

commit be89803e7fd9f6514d849641b340adddf40b1a8b
Merge: 473d6ab 9134c0d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 11 14:04:04 2016 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-trunk-cluster

commit ec6d670ca71bb5ec45595bcb92fcca5cf7db095d
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Tue Nov 8 10:11:11 2016 +0100

    Bug#24947953: TEMPLATIZE ITEM_CREATE FOR THREE ARGUMENT
    FUNCTIONS
    
    This patch extends the use of the template introduced in
    bugs no  24916689, no 24940128, and no 24947913 where it was
    used for zero, one and two argument functions,
    respectively. This patch templatizes the three argument
    functions.

commit a2dd93d82a18048615255222d13d5b2f8021c145
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 11 08:35:40 2016 +0100

    Record new result for ndb.ndbinfo.
    
    Post push fix for Bug#23305078 NDBINFO : TABLE + VIEW DDL GENERATION AUTOMATION CLEANUP

commit d84ac70c591f46028b9f358abe46f8890588b42b
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Fri Nov 11 12:05:54 2016 +0530

    wl#9489 :
    
    problem: Some testcases (listed below), under main suite, running with MyISAM as a default storage engine,
    these testcases should be run with InnoDB only.
    
    1 ddl_i18n_koi8r.test
    2 func_regexp.test
    3 func_default.test
    4 func_concat.test
    5 group_by.test
    6 func_compress.test
    7 func_like.test
    8 func_test.test
    9 type_datetime.test
    10 windows.test
    11 null_key_none.test
    12 create-big.test
    13 ctype_latin1_de.test
    14 error_simulation.test
    15 ddl_i18n_utf8.test
    
    Solution: Run the testcase with InnoDB as a default storage engine and check the failure testcase if exist,
    take any one of the following option.Modify the result file based on the analysis.Fix the testcases if problem exist in the testcase and record the result file look at the wl#5656 for steps how to fix
    
    Reviewed-by: Anitha Gopi (anitha.gopi@oracle.com)
                 Chaithra (chaithra.gopalareddy@oracle.com)
                 Amit (amit.bhattacharya@oracle.com)
    
    RB: 14226

commit 473d6abde0b79558aa039fe5ce6484a79eb67a00
Merge: a43482e a22783d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 11 12:03:01 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit a22783d1964adb3354f4b22539e7b5f29c06b30d
Merge: 136b168 467262e
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu Nov 10 23:46:20 2016 +0100

    Bug#24969065: MEMBER IS NOT MOVING TO ERROR STATE UPON SQL_THREAD FAILURE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 467262e1d44762aee866a1420c3ba48422febd38
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu Nov 10 23:43:55 2016 +0100

    Bug#24969065: MEMBER IS NOT MOVING TO ERROR STATE UPON SQL_THREAD FAILURE
    
    After user executed restarts on the group replication applier SQL thread the plugin
    could no longer detect when that thread stops due to an error.
    This was due to the old detection mechanism that relied on cached thread ids.
    
    To solve this issue, the new detection mechanism simply checks the
    channel name to check if it was the group replication applier thread
    that failed.

commit 136b1688bd3ecdfaef462b8a04b4560998e6db02
Merge: ba3bbfa a0a12af
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Thu Nov 10 19:30:26 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit a0a12afb1a11a597e99413540e448a74ffa9e95e
Merge: 56b214a 997725f
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Thu Nov 10 19:29:16 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	tests/mysql_client_test.c

commit 997725f2e926d0bd7634107dc42fdb2675ee953f
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Thu Nov 10 19:21:10 2016 +0100

    Bug #24712909 : Removing innodb check

commit ba3bbfa5fb709dc69b5e31bacc3426b2891b5c15
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Tue Sep 27 15:53:21 2016 +0200

    WL#8413: expose COM STMT EXECUTE to plugins
    
    Moved the packet parsing and creation of commands(COM_STMT_EXECUTE,
    COM_STMT_FETCH, COM_STMT_SEND_LONG_DATA, COM_STMT_PREPARE,
    COM_STMT_CLOSE, COM_STMT_RESET) to the Protocol classes as this is
    protocol-dependent, this way enabling PROTOCOL_PLUGINs to execute
    prepared statements.
    
    - added stack-like mechanism for switching between protocols
    - added store_ps_status to the protocol interface for sending the
    statement id and the metadata related to the newly created prepared
    statement
    - added send_parameters to the protocol interface for sending the out
    parameters to the client
    - added the flush method to the protocol interface to send the current
    stream to the clients (used by the classic protocols).
    - added mysql_stmt_precheck to validate the PS
    - added a send_statement method to sql_prepare

commit 1f9feae74cafd72e43372f788918b8c03cf3cd03
Merge: 2b29bbc 56b214a
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 10 18:17:51 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 56b214a8206d9319b790745f2c27721249c498d3
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 10 12:51:21 2016 +0100

    BUG#25075929: GROUP_REPLICATION.GR_EXECUTED_SETS_COMPATIBILITY FAILS ON DAILY-TRUNK
    
    Test group_replication.gr_executed_sets_compatibility was
    sporadically failing on PB2 with:
    Test assertion failed: The second member to join has 4 transactions
    Dumping debug info:
    Assertion text: 'The second member to join has 4 transactions'
    Assertion condition: '"[SELECT @@GLOBAL.GTID_EXECUTED]" =
    "b2b6cdc0-eb94-11e5-a837-0800200c9a66:1-4";'
    Assertion condition, interpolated:
    '"b2b6cdc0-eb94-11e5-a837-0800200c9a66:1-3" =
    "b2b6cdc0-eb94-11e5-a837-0800200c9a66:1-4";'
    Assertion result: '0'
    
    This is due to the fact that the test was not waiting for
    transaction UUID:4 to be logged on the binary log, that is, UUID:4
    is the id of the View_change_log_event of server 2 join attempt, the
    test was immediately stopping server 1 which could happen before
    that transaction reach binary log.
    
    To avoid that, the test now does wait until UUID:4 is logged on the
    binary log.

commit 2b29bbcdee87b8c931658994c231131e590d979c
Merge: 9d7cf10 3b5550b
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu Nov 10 17:04:59 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3b5550b7aecc4e41c50a47cba5d87e8882ea40a9
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Nov 9 15:41:46 2016 +0000

    BUG#25050514: IF MEMBER IS IN ERROR STATE DUE TO ER3092 IT DOESN'T GO OFFLINE ON STOP G.R. CMD
    
    If member is in ERROR state due to ER3092, it doesn't go to OFFLINE
    state.
    
    Missing the set of OFFLINE state when failing on plugin start.

commit a43482e24a39a3fbf045907a16327215759bc016
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 10 19:33:21 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix more compilation failures that crept in the latest merge
      by replacing the usage of ER(X) with ER_THD(X)

commit 9d7cf10b2d413d6b1c5aaa2a4c32008e9423bb68
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Nov 10 09:02:33 2016 +0100

    Remove a .opt file that seems to have been committed by mistake
    
      mysql-test/t/main.lowercase_table_qcache-master.opt
    
    Approved by Mohit Joshi <mohit.joshi@oracle.com> over IM.

commit 12de7d8c930d05efc04362f12a6e4c51d217db88
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Nov 10 14:50:07 2016 +0200

    Bug#25047032 DECLARE OVERRIDDEN ITEM MEMBER FUNCTIONS AND FINAL ITEM SUBCLASSES
    
    Post-push fix: Replace < and > in a Doxygen comment.

commit 99326275c306f16f9b34001bdeaebe3660257e12
Merge: 409fcf8 d45841e
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Thu Nov 10 18:05:48 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4b9783ef9e0d9cd81e7d8ce4516ed94dd0d4a4f7
Merge: 90c187f 57d230e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 10 17:52:48 2016 +0530

    Merge commit '57d230e6de70226c753b4a5952a675d987509d7e' into mysql-trunk-cluster

commit 9134c0da89dd0cfc64fc8db0ff6dd9f54c42b153
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 10 13:18:25 2016 +0100

    Post push fix for Bug#23305078 NDBINFO : TABLE + VIEW DDL GENERATION AUTOMATION CLEANUP

commit 409fcf8bc31ce25a85e31a1cf2a27a7999252fe3
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Nov 10 12:29:24 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix to unbreak the unit test on non-GCC compilers.
    
    Change-Id: I63adabbd3f943f39be1a7cda8b2d4bc111f7bb72

commit 90c187fbddf0ffe87aa93186a2225814813e225e
Merge: 15d71c5 64dec3c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 10 17:32:38 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 15d71c50e7936c7290845458548842d390bfd10a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 10 17:22:51 2016 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix compilation failure by replacing the usage of ER(X) with
      ER_THD(X)

commit d45841ef7d8ca04779a113e1c4c5766c035f8a64
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Thu Nov 10 16:58:00 2016 +0530

    Bug#21482542: SOME TESTS FAIL ON WIN WHEN RUN WITH
                  INNODB_UNDO_TABLESPACES 2
    
    Issue:
    ------
    A couple of tests: main.secure_file_priv_win and
    i_main.bug11761752 were failing on Windows with a result
    content mismatch because '\'s were being replaced with '/'s.
    
    Fix:
    ----
    The reason for this replacement of slashes was because of
    the name of the vardir in the run: innodb-undo-2-debug.
    There is a function in MTR, called during --replace_result,
    which replaces slashes if it finds a special pattern in the path.
    The list of special patterns defined, also contained "undo".
    Now, the name of the vardir has been changed.
    
    Reviewed-by: Anitha Gopi <anitha.gopi@oracle.com>
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>
    RB: 14355

commit 64dec3c8ca781f50bfaa619a620ca6a3db014469
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Nov 10 12:20:59 2016 +0100

    Bug#25047032 DECLARE OVERRIDDEN ITEM MEMBER FUNCTIONS AND FINAL ITEM SUBCLASSES
    
    Post-push fix: remove some 1550 warnings from Visual Studio:
    
    sql\item.h(3283): warning C4244: 'return':
    conversion from 'longlong' to 'double', possible loss of data
    
    Change-Id: I763e5dd46a62685e8b46d842641916cae3ff8a79

commit fac3d7556f091067f6f910baa512526c0f76a61f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Nov 7 17:00:32 2016 +0100

    Bug#25056933 SPLIT LIBSQL.A TO SAVE SOME BUILD TIME ON WINDOWS
    
    Put boost geometry code in a separate library,
    and don't export those symbols to plugins.
    
    This shaves off about two minutes of the build time.
    
    Change-Id: Idb89fffb97d4729bcec4d75dc27e51ff3186ff85

commit b6bedaa4edd999a70a1cb19e4a5eae837271d181
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Thu Nov 10 16:21:37 2016 +0530

    Problem: auth_sec.mysql_no_login.test skips on Linux gcov
    
    Fix: It was noticed that the plugin binary path was incorrectly set in
    plugin.defs and the same is fixed now.
    
    Reviewed by:
    Georgi Kodinov <georgi.kodinov@oracle.com>

commit a0d3399773326cffeea3692b2cf482d518dac79f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Nov 10 11:36:35 2016 +0200

    Bug#25075308 CONSISTENTLY DECLARE OVERRIDDEN VIRTUAL FUNCTIONS IN GEOMETRY SUBCLASSES
    
    Clang reports warnings if some but not all overridden virtual member
    functions in a derived class are tagged with the C++11 override keyword.
    
    WL#9432 Axis order in ST_AsBinary/ST_AsWKB
    introduced some virtual member functions that were declared with
    the override keyword, such as Geometry::reverse_coordinates().
    
    Declare all overridden member functions in the affected classes
    in order to address the clang warnings.
    
    Reviewed-by: Norvald Ryeng <norvald.ryeng@oracle.com>

commit 698bb9970ee237cd1a8f462ed2a7f00a2ce15510
Merge: 63a3e5b f5f678a
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Nov 10 15:16:36 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f5f678aafdf4033f82b356e10abd508b31c010e3
Merge: a00434c d43f6e9
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Nov 10 15:15:08 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d43f6e95d3be0f6acd906f0cf7bea5654c80985a
Merge: f7bd942 8d5c02c
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Nov 10 15:13:48 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8d5c02c624a01042bad0355adc1b4f9459b1aa81
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Nov 10 15:11:57 2016 +0530

    BUG#24437124: POSSIBLE BUFFER OVERFLOW ON CREATE TABLE
    
    ANALYSIS:
    =========
    'CREATE TABLE' query with a large value for 'CONNECTION'
    string reports an incorrect error.
    
    The length of connection string is stored in .frm in two
    bytes (max value= 65535). When the string length exceeds
    the max value, the length is truncated to fit the two
    bytes limit. Further processing leads to reading only a
    part of the string as the length stored is incorrect. The
    remaining part of the string is treated as engine type and
    hence results in an error.
    
    FIX:
    ====
    We are now restricting the connection string length to 1024.
    An appropriate error is reported if the length crosses this
    limit.
    
    NOTE:
    =====
    The 'PASSWORD' table option is documented as unused and
    processed within a dead code. Hence it will not cause
    similar issue with large strings.

commit 63a3e5b6f1d2d4e2a6d601403c003c2293ff7447
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Oct 12 16:00:59 2016 +0300

    Bug#25047032 DECLARE OVERRIDDEN ITEM MEMBER FUNCTIONS AND FINAL ITEM SUBCLASSES
    
    When virtual member functions are being renamed or replaced, it would
    be extremely useful if the compiler were able to warn about member
    functions that were intended to be overriding a member function in a
    base class, but are not actually overriding anything.
    
    The C++11 override keyword would allow this.
    
    Furthermore, the C++11 final keyword would enable some additional
    optimizations, and it would make the code more readable by documenting
    that there cannot be any classes derived from a final class.
    
    This is a logical follow-up of
    Bug#24787984 DECLARE DERIVED METHODS IN THE OPTIMIZER WITH THE C++11
    OVERRIDE KEYWORD
    applied to all Item classes.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit 9e6bc4c56e0eaad2d9a1467a3d1d7ac257ea8766
Merge: 460bbf2 d9cbf42
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 10 09:13:31 2016 +0100

    Bug#23305078 NDBINFO : TABLE + VIEW DDL GENERATION AUTOMATION CLEANUP

commit d9cbf42dfe3e6b7079c87b78317d165188b332ba
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 18:28:22 2016 +0100

    Sync output from ndbinfo_sql with mysql_system_tables.sql.

commit 04c510894d8582506b4e88aced1e811039fa51fd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 18:26:13 2016 +0100

    Add comment to view ndbinfo.operations_per_fragment in ndbinfo_sql.
    
    Earlier added to mysql_system_table.sql.

commit 538f989db7a9fd690e707b83c1a07160b4434a88
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 18:21:13 2016 +0100

    Add row for Long message buffer in view ndbinfo.memoryusage in ndbinfo_sql.
    
    Added earlier in mysql_system_tables.sql

commit fc9e4e54def750201357bb02c21e05de60a67007
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 18:06:51 2016 +0100

    Add comment for ndbinfo.memory_per_fragment view to ndbinfo_sql.cpp.
    
    Earlier added to mysql_system_tables.sql.
    
    Also change column order to match what is used in mysql_system_tables.sql
    and documented in manual.

commit 2b54b1c9a7104a34f90eb1fccd435f254ff1184b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 17:44:01 2016 +0100

    Add missing view ndbinfo.disk_write_speed_aggregate_node in ndbinfo_sql.
    
    View was added to mysql_system_tables.sql with
    WL#7509: Introduced more configurability of disk write speeds and added a number of new ndbinfo tables to track this new more adaptive behaviour

commit fc640f7d7d72cabbca00597c886388be54ed6c1c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 17:32:38 2016 +0100

    Always use big FROM in view definitions

commit 7fd3a22e311626a64e2da01aa85253890aabff0a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 17:26:03 2016 +0100

    changes to ndb$tc_time_track_stats

commit 384f7ae132d78e9e7c6193376c15754121783902
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 17:13:29 2016 +0100

    Add missing changes to ndbinfo.ndb$disk_write_speed_*.
    
    Changes were pushed to mysql_system_tables.sql with
    BUG#19795072: Fix problems related to ndbinfo tables for disk write speed

commit 72b85023f340c3af5c1b520b113d0fd5df86f1cf
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 17:00:02 2016 +0100

    Add missing ndbinfo.threads view in ndbinfo_sql.
    
    ndbinfo.threads was added with
    WL#8968 Send thread redesign, introduced CPU measurements in thrman.cpp with similar capabilities to top, introduced 5 new ndbinfo tables: threads, cpustat, cpustat_50ms, cpustat_1sec, cpustat_20sec

commit 4a3606e1e1e7553f5783de7352c9a7c6ea7d1747
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 16:52:42 2016 +0100

    Add missing ndbinfo.tc_time_track_stats view to ndbinfo_sql.
    
    tc_time_track_stats was added with
    BUG#21889652: Introduce new tc_time_track_stats table tracking latency of user transactions/operations/scans

commit a3b69679a9bdcf3aa9282e1d4547182a86aa9353
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 16:43:02 2016 +0100

    Add missing view ndbinfo.restart_info to ndbinfo_sql.
    
    restart_info was introduced with
    BUG#19795152: Wait for LCP start at node restart, add node recovery status table as well

commit e75da7d00ff124204d517b730d487fd827555e57
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Nov 3 16:25:27 2016 +0100

    Sort ndbinfo part of mysql_system_tables.sql and output from ndbinfo_sql
    to make it easier to see how they diverged.

commit e91ab8f9b4512b2b4bc09eeadf0eff0f7323b3ee
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Nov 10 08:26:21 2016 +0200

    Post-fix for Bug#25040390: Remove a @param comment.

commit 59ba0aa7e897ca7c768564702ee3be421271fa88
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Thu Nov 10 06:55:06 2016 +0100

    WL#7895 - Add systemd support to server.
    
    Post-push fix.

commit 6c2a0756c88eebc1f03420f0d1f65adc803415f8
Merge: b600a51 a00434c
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Wed Nov 9 19:37:24 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit a00434c98a1e5e1460bd3eb33932ea7f840aad5a
Merge: 265257f f7bd942
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Wed Nov 9 19:34:36 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit f7bd942849bcf19286cadae1681a1d8790f73455
Merge: f6967fe 6b23c38
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Wed Nov 9 19:31:15 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6b23c389b2e71dbc9582140e1e50a84769d9cb49
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Wed Nov 9 19:27:35 2016 +0100

    Bug#22874167 : fix for MAIN.LOG_TABLES-BIG UNSTABLE ON LOADED HOSTS

commit b600a514eb2899a38a6b637bd1aa0ae435360834
Author: Hans H Melby <hans.h.melby@oracle.com>
Date:   Wed Nov 9 15:14:27 2016 +0100

    WL#9432 Axis order in ST_AsBinary/ST_AsWKB
    
    This worklog extends the ST_ASWKB/ST_ASBINARY functions to be able
    to have an optional string to specifies the axis order of the
    coordinates. If no options string is entered, the axis order will
    be the default srid ordering.
    
    - Changes to item_create.cc:
    
    Change create_func_as_wkb to a native function in order to
    be able to accept one and two parameters
    
    - Changes to item_geofunc.cc:
    
    A series of checks are done to determine the coordinate ordering from
    the options string, the srid, and the srs type (geographic or projected)
    
    - Changes to spatial.h/.cc:
    
    A new function, bool reverse_coordinates() is added to each of the
    seven main geometries types
    
    - options_parser.h/.cc in sql/ directory:
    
    Added two new files to properly parse the options string used in ST_ASWKB,
    based on criteria such as delimiter values, key-value separators, etc...
    
    - wkb_geometry_representation.t/.r in gis suite
    
    Test file for the new ST_ASWKB functionality.
    
    - Changes to sql/gis/srs/srs.h:
    
    Added functions to retrieve axis directions from an srs
    
    - Changes to sql/dd/types/spatial_reference_system.h
    
    Added function declarations virtual bool is_geographic() const and virtual bool is_lat_long() const
    
    - Changes to sql/dd/impl/types/spatial_reference_system_impl.h
    
    Added ovverride declaration for bool is_lat_long() const and override definition for
    bool is_geographic() const
    
    - Changes to sql/dd/impl/types/spatial_reference_system_impl.cc
    
    Added implementation of function bool is_lat_long() const
    
    - Changes errmsg_utf8.txt:
    
    Added error messages ER_INVALID_OPTION_KEY, ER_INVALID_OPTION_VALUE,
    ER_INVALID_OPTION_KEY_VALUE_PAIR, ER_INVALID_OPTION_START_CHARACTER,
    ER_INVALID_OPTION_END_CHARACTER, ER_INVALID_OPTION_CHARACTERS,
    ER_DUPLICATE_OPTION_KEY.
    Added warning message ER_WARN_SRS_NOT_FOUND_AXIS_ORDER.
    
    - Changes to sql/CMakeLists.txt:
    
    Added options_parser.cc to list of source files

commit a7ed07c3d4e6eb230d1476a32720f2407966091c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Nov 9 15:43:32 2016 +0100

    Bug#25040390 REMOVE UNUSED PARAMETER NAMES IN ITEM MEMBER FUNCTIONS
    
    Some virtual member functions of class Item are not using their
    parameters, preventing us from enabling compile-time warnings for
    unused parameters. C++ allows the names of unused parameter names
    to be omitted in function definitions.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit fd6c02bdb0f37b9b4ea822354afd2e3322ac6611
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 1 11:02:35 2016 +0100

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Post-push fix to fix a segfault for json.json_functions_innodb in
    32-bit mode in some cases.
    
    Change-Id: I455211221299559660fd97f04d8a9dc262e86d77

commit 7761dc62c18e53f86576c74a1c2060a80f425191
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Oct 26 14:48:05 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    In UCA 9.0.0 collations, move SPACE to the lowest possible weight (previously,
    a select few code points, such as FORM FEED, would sort lower than it). This
    allows us to strip spaces from the right instead of actually adding spaces,
    which is much faster, and also makes for variable-length sort keys when filesort
    gets to that.
    
    There's some subtlety in that we still want to keep equality as before;
    in particular, code points such as NON-BREAKING SPACE should still keep
    equality with SPACE on primary and secondary level, but sort later on
    the tertiary level.
    
    Microbenchmarks (Skylake 3.4 GHz, opt, GCC 6.2):
    
      BM_SimpleUTF8MB4         396 ->  368 ns/iter  [ +7.6%]
      BM_MixedUTF8MB4          374 ->  312 ns/iter  [+19.9%]
      BM_MixedUTF8MB4_AS_CS   1105 -> 1017 ns/iter  [ +8.7%]
    
    Note that the microbenchmarks hardly stress padding at all.
    sysbench goes from 9078 -> 10825 tps (+19.2%).
    
    Change-Id: Iff12c8c885a810c9c7c68add1196fbf61c4269c5

commit 8ac085371d79eceea1968840f8a69a9f948927b5
Merge: 4893aa1 8550964
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Nov 9 18:12:05 2016 +0530

    Merge commit '8550964ef26320d24c295d3be89ec6ae21b50276' into mysql-trunk-cluster

commit eb0b465730cf5aaa38f2d57d7c1ad0f7f1da5bc4
Merge: 1619940 265257f
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Nov 9 16:58:29 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 265257feb4543da4fa7954ca657f7de2d9b2d32c
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Nov 9 16:53:46 2016 +0530

    Bug#24384561 - 5.7.14 COMPLAINS ABOUT WRONG
                   SLAVE_MASTER_INFO AFTER UPGRADE FROM 5.7.13
    
    Post push fix to fix the test script issue.

commit 4893aa1fd5cea66c0ec4524b0813d82656908e23
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Nov 8 09:21:16 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
      - remove new include file which was unnecessarily
        added in the "global" mysql-test/include/ directory.
      - the new file was only used from suite/ndb_binlog/ and could thus
        be local to that dir only.
      - rewrite the check to avoid using .require file(which is
        a deprecated way of checking things) and avoid using .inc file
        since it was only used from one place.
      - also rewrite the check to fail test on error and not just skip
    
    (cherry picked from commit 460bbf21da20449b08fd67e8a3658fa8941957f1)

commit 1619940f571ca4a325eab4e020821517e9825c47
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Mon Nov 7 19:53:39 2016 +0100

    Bug#24947913: TEMPLATIZE ITEM_CREATE FOR TWO ARGUMENT
    FUNCTIONS
    
    This patch extends the use of the template introduced in bug
    no 24916689, where it was used only for zero argument
    functions, and bug no 24940128, where it was used for one
    argument functions.

commit 28e442d43c4429d3d69d75511f3336d15b1ade67
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 9 12:01:33 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove some more remnants of the "ha_ndbcluster::btree_keys"
       member variable which were removed as part of
       "Bug24364448 (Part 3): Remove additional un-used code/data"

commit 3a323eba0c849b580a526ebc53a51d6d465ea32e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 9 11:10:27 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - fix too many arguments to strnncollsp() which have had its
       last argument "diff_if_only_endspace_difference" removed
       due to WL#9125: Add utf8mb4_800_ci_ai

commit 270250f15af08829c0ae7eff773ba1ba7c671259
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 9 11:01:52 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - implement adapter function in Ndb_table_map for
      returning number of stored fields in a TABLE(ie. thos
      that are not virtual).
    - this number used to be stored in TABLE_SHARE::stored_fields
      but was mainly unused and has been removed
    - use new adapter function throughout

commit 00e8003b69958842ecbfaaec670c8882d5a5097d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 9 10:21:58 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - implement adapter function in Ndb_table_map for checking
       if TABLE* has virtual generated columns. Such function
       existed in 5.7 as table->has_virtual_gcol() but has since
       been removed. The Ndb_table_map class is intended as a wrapper
       for TABLE*.
     - Use the new Ndb_table_map::has_virtual_gcol() instead of the removed
       TABLE->has_virtual_gcol()

commit 00c4da0ed68c0ff1f5a51cd432749bb0abf4de77
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Nov 9 09:33:47 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - fix missing includes which have been removed from my_global.h or
       provide a different interface now.

commit 396f230a3a7759d2cb78f6a41600a81882258357
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Nov 9 15:51:20 2016 +0530

    BUG#24365145 : "COLLECTING TESTS" PART OF MTR IS SLOW AND RUNS ON A SINGLE THREAD
    
    Issue :
    =======
    It seems "Collecting tests" part of MTR runs for quite some time with
    multiple suites. MTR uses the single thread to collect the tests from
    all the suites. Maybe it's worth investing some time in making it run
    in parallel.
    
    Fix :
    =====
    Spawn multiple threads to collect the tests from different test suites.
    Number of threads running/active at any time shouldn't exceed the number
    of CPUs in the machine.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    RB: 13788

commit bfb654fbd23410d0e4a1f87d2ed4aa1b7761b48c
Merge: c6aa029 d78bb00
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Nov 9 10:52:44 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit d78bb00532032355fc29af70012422d6ede9e992
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Nov 9 10:47:06 2016 +0100

    BUG#25055190: FLOW-CONTROL APPLIER QUEUE SIZE INCORRECT IN JOINS ON BUSY GROUPS
    
    When a new member joins a group that is busy, one of the statistics
    used by the flow-control - applier queue size - may be incorrectly
    calculated. This comes from the fact that the queue size is
    incremented once the transaction is queued into the relay log, but
    it is only decremented when executing if the member is considered
    ONLINE. If the member is on RECOVERING status, the queue size is
    not decremented.
    To fix the above issue, the applier queue counters are only
    incremented and decremented when member status is ONLINE.
    The certifier queue counter it is always sent, to avoid the
    throttling to reach to small values when one or more members are on
    RECOVERING, we cap the throttling to 5% of the queues threshold
    specified by DBA on
    group_replication_flow_control_certifier_threshold and
    group_replication_flow_control_applier_threshold options.
    
    A second issue was observed on flow control disable, which was not
    enforcing its immediate disable. Now when the low control is disable,
    it does reset its used quota which ensures immediate throttling
    disable.

commit 6ba3bfbccc35aa171f057ad0fec66c58dfbcfb17
Merge: 49bd62a 0a1f9cf
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Nov 9 14:26:10 2016 +0530

    Merge commit '0a1f9cf9dda87fbbfe3142a5e98b898358b89796' into mysql-trunk-cluster

commit 49bd62a0bd3f7347e0ebedded9fdd5f98d5eb40c
Merge: 849dfb3 e621132
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Nov 9 14:20:31 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit c6aa029714da1a30db4c78ee1c8aeb912f95672c
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Mon Nov 7 19:36:14 2016 +0100

    Bug#24940128: TEMPLATIZE ITEM_CREATE FOR ONE ARGUMENT
    FUNCTIONS
    
    This patch extends the use of the template introduced in bug
    no 24916689, where it was used only for zero argument
    functions.

commit f3587994a4024a836d05fa30bb2272930f99e625
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Tue Sep 29 16:48:48 2015 +0600

    BUG#20488921 - error propagation does not fully work in xa
    
    This bug related to incomplete cleaning up of a transaction state in
    case an error happen on calling either ha_commit_low() or TC_LOG::commit().
    In this case the data member thd->m_transaction_psi wasn't set to NULL
    that led to an assertion fired while handling any next statement.
    That means this bug related only debug built of the server.
    
    To fix the bug the data member thd->m_transaction_psi is set to NULL
    in case error returned from either ha_commit_low() or TC_LOG::commit().
    
    (cherry picked from commit 314f1a5697fcc9f73062433143f75905b54c4867)

commit e621132c31c0d129a99acffeaf2b61edd16c483d
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Nov 9 00:46:26 2016 -0600

    Post-Fix for Bug#24916359 - Test Case table_encrypt_kill.test fails sporadically
    The code must prevent recovery when a different innodb-undo-directory is set.
    Move the fil_flush, fil_close & fil_free of undo tablespaces that were opened
    during redo discovery to the most appropriate place, fil_space_undo_check_if_opened().

commit e7c84d808f9de0bddd8545947436f88a4507a0ac
Merge: f406fbc f358799
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Wed Nov 9 13:18:18 2016 +0600

    Null-merge branch 'mysql-5.7' into mysql-trunk

commit f406fbc5b4421d53fa6ff033ecfabd4703c73ec7
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Nov 9 10:53:20 2016 +0530

    BUG##25055982 : MTR --REPORT-TIMES GIVES TOO HIGH VALUE FOR 'COLLECT' AND 'INIT'
    
    Description :
    =============
    The --report-times option is meant to give an overview of time
    spent on different tasks. Those tasks executed by "workers" like
    basic test execution will be summed over all.
    
    But the "Collecting test cases" and "Initialization/cleanup" are
    reported with an inflated value if running with --parallel even
    though these phases are *not* done by the test workers.
    
    When the workers are started they get their copy of the %time_used
    hash where the 'collect' and 'init' already have non-zero values.
    When they report this back to the master thread, they will be added
    to the total. The end result is that they get multiplied by N + 1
    where N is the parallel value.
    
    Fix :
    =====
    Initialize the '%time_used' hash to value 0 for each worker thread.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    RB: 14532

commit 849dfb3582f57712c84096a8eb8166e99bce36af
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Nov 9 10:51:19 2016 +0530

    Post Merge Fix
    
    Update result file of the gcol_ins_upd_innodb test

commit c7bc47fb89f7183b54f3de42e81db60165cbccf5
Merge: e48a0cb e789e05
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Nov 9 07:25:41 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e789e05c32e379f2e114262f78e71462e336e603
Merge: 5b26916 f6967fe
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Nov 9 07:23:39 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f6967fe2afa1b4063f9f64f5e3d5a13a490da942
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Nov 9 07:22:02 2016 +0530

    Bug #21749123: SELECT DISTINCT, WRONG RESULTS COMBINED WITH
                   USE_INDEX_EXTENSIONS=OFF
    
    Issue:
    ------
    CREATE TABLE testtable (
     fielda INTEGER NOT NULL,
     fieldb INTEGER NOT NULL,
     fieldc INTEGER NOT NULL,
     PRIMARY KEY (fielda,fieldb),
     KEY fieldb_idx (fieldb)
    ) ENGINE=Innodb;
    
    SELECT DISTINCT fieldb
    FROM testtable
    WHERE fielda IN (...) AND fieldb IN (...);
    
    With index extensions turned off, fielda shouldn't be used
    as part of fieldb_idx. So when the query tries to use loose
    index scan on fieldb_idx, the corresponding range tree for
    the lookup doesn't contain fielda. Since this approach
    involves a lookup of the index fieldb_idx, we get a wrong
    result.
    
    Solution:
    ---------
    Loose index scan is the wrong choice for this query given
    that fielda is not covered by fieldb_idx when
    index_extensions is turned off.
    
    Each field has a flag, part_of_key_not_clustered which
    tracks the indexes that cover the field. When index
    extensions is turned off, this flag can be used to track
    whether a particular field is part of the secondary index
    or is part of the primary key that has been appended by the
    storage engine..

commit e48a0cbacc8e5f91cb5b2bf944b9e4edcb3b1478
Merge: 11f9e27 5b26916
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Nov 8 18:28:43 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5b2691658185d954377a44774281f6f5d9e71f2d
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Nov 7 16:03:10 2016 +0000

    BUG#24957262: MEMORY LEAKS ON MYSQL-TRUNK-WL9053
    
    Memory leaks have been detected on pb2 branch on mysql-trunk-wl9053.
    
    A test made a group replication stop after a transaction event. No one
    was releasing  the memory.
    
    Added delete on destructor of certification handler.

commit 9f565aea7c498f1cc1f20db43ee8ad62ce73d85c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Nov 8 18:25:17 2016 +0530

    Post Merge Fix
    
    Fix some of the changes that slipped under git's radar and did
    not show up as conflicts during the merge

commit b9212066fa02ab27d86f6c27a40c53b40972d995
Merge: 20cc9507 70456f2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Nov 8 18:04:10 2016 +0530

    Merge commit '70456f22dfb8336ec214a47b4fbf0f12549dfac7' into mysql-trunk-cluster

commit 11f9e274d2388443302ef0e6c16bf34d280defcd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Nov 8 11:36:16 2016 +0100

    Bug#25027185: TSAN: DATA RACE IN MY_TIMER_MICROSECONDS
    
    Fix data race in my_timer_microseconds() - use std::atomic
    for static variable modified by multiple threads.
    
    Also add more suppressions needed to run main.alter_table.

commit 1d54f6eb62f85a68d573d3246d7826f2857b2c0d
Merge: 8bd8900 199ec75
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Nov 8 15:55:18 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 199ec75d7c9eb25b8d10f108c5eda6fdf94936a9
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Tue Nov 8 15:52:59 2016 +0530

    Post fix submission to fix a test script issue.

commit 8bd890036741ea00fd44b989b4fdd2e6b2904c8e
Merge: e2a8539 893cc84
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Nov 8 15:39:57 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 893cc840112252d6110759b9f43f6d7b80c4ee33
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Oct 21 15:35:29 2016 +0530

    Bug#24432199 MTR'S INTERNAL CHECK OF THE TEST CASE 'MAIN.MYSQL_UPGRADE' FAILED
    
    When a sys schema entity is re-created, the entry in mysql.user and
    mysql.tables_priv tables is done again and this changes the timestamps
    in these tables. The test 'main.mysql_upgrade' does the above operation
    and hence, the checksum of the two tables differ and MTR's check of the
    testcase fails. A backup of the tables mysql.user and mysql.tables_priv
    is taken and restored after the above scenario to resolve the issue.
    
    Reviewed-by: Mark Leith <mark.leith@oracle.com>
    RB: 14348

commit 81dde7ce218138694132344d6c04a4d93885938d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Nov 7 21:44:42 2016 +0530

    Bug#24923474 MTR: --SKIP-RPL SHOULD SKIP ALL REPLICATION TESTS AND NONE FROM OTHER SUITES
    
    Problem:
    --------
    Not all group replication tests are skipped when the --skip-rpl
    option is given to MTR. Also, if the absolute path to the MTR
    test suite contains the string 'rpl', all tests executed are
    identified as replication tests.
    
    Fix:
    ----
    Identify all tests in 'rpl*' and 'group_replication' suites as
    rpl_test's and grp_rpl_test's respectively by matching their
    suite names. Skip tests which are marked as rpl_test's or
    grp_rpl_test's when the --skip-rpl option is given to MTR.
    
    Reviewed-by: Pavan Naik    <pavan.naik@oracle.com>
    Reviewed-by: Nuno Carvalho <nuno.carvalho@oracle.com>
    RB: 14330

commit e2a8539fa5d0623f91a1a1bb7f50c5854ef59c36
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Nov 4 16:11:57 2016 +0100

    Bug#25049473: Remove test main.bug46080 since it no longer serves its purpose
    
    MTR test main.bug46080 does not fail if the code fix for Bug#46080 is
    reverted.  However, i_main.error_simulation fails in that case, so
    test scenario is still covered.  This patch removes the test files.

commit c86f1c25682c8f4ffec3df5e4a94aa0b9f117b47
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Nov 4 15:26:41 2016 +0100

    Bug#24364448 (Part 3): Remove additional un-used code/data
    
    Also remove code and data that is no longer used after the removal of
    keys_to_use_for_scanning()

commit b3c03f97557cd458c0821233d5b992eb2a7e7ebf
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Oct 28 13:41:56 2016 +0200

    Bug#24364448 (Part 2): Remove handler::keys_to_use_for_scanning()
    
    handler::keys_to_use_for_scanning() is no longer used by the server.
    The information provided is available for each index through the
    HA_READ_ORDER index flag.  Hence, we will remove the function from the
    handler API and all the overriding implementations of it.

commit d2053cbc8880fdc73b115ef3c803e7edb63c7676
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Oct 28 10:28:27 2016 +0200

    Bug#24364448: assert m_opr_handle != null in ha_innobase_inmem::keys_to_use_for_scanning
    
    It turns out calling this function from test_if_cheaper_ordering() is
    both unnecessary and does not give the desired behavior. Hence, this
    bug can be avoided by removing this call.
    
    handler::keys_to_use_for_scanning() returns the set of indexes that
    can be used to provide order.  In other words, it returns the set of
    B-tree indexes, while hash indexes is not included.  This should not
    be necessary to check since the indexes considered by
    test_if_cheaper_ordering() is based on Field::part_of_sortkey.  Hence,
    hash indexes have already been excluded at this point.
    
    Also, the code in test_if_cheaper_ordering() does not achieve what is
    intended.  The comment says: "If not used with LIMIT, only use keys if
    the whole query can be resolved with a key; This is because filesort()
    is usually faster than retrieving all rows through an index."  In
    other words, one only wants to switch to full index scan if the index
    is covering.  However, the set of indexes considered is the union of
    covering indexes and the indexes returned by keys_to_use_for_scanning(),
    which in InnoDB's case will be all indexes.   (While MyISAM's use the
    default implementation and returns no indexes.)
    
    Other comments in test_if_cheaper_ordering() are in conflict with the
    comment cited above.  For example: "Don't use an index scan with ORDER
    BY without limit.  For GROUP BY without limit always use index scan if
    there is a suitable index."  Due to the effect of the code discussed
    above, this has been the effect for InnoDB while for MyISAM full index
    scan for GROUP BY has only been used when the index has been covering.
    
    The fix is to remove the discussed code.  This will not make any
    difference for InnoDB tables since all indexes were already
    considered.  For MyISAM tables, full index scan may now be used
    instead of full table scan + filesort even when index is not covering.
    
    Details:
    
      sql/sql_select.cc
        Remove the code that limits the indexes that may be considered by
        test_if_cheaper_ordering()
        Remove local variable keys since parameter usable_keys may be used
    
      mysql-test/t/derived.test
      mysql-test/r/derived.result
        Reduced test case from bug report
        Note that this test case does not fail on trunk; only in WL#8117 branch
    
      mysql-test/t/heap_btree.test
      mysql-test/r/heap_btree.result
        Added a test case that verifies that btree index in heap engine may
        be used for ordering
    
      mysql-test/t/heap_hash.test
      mysql-test/r/heap_hash.result
        Added a test case that verifies that hash index is not used for ordering
    
      mysql-test/r/group_by.result
        Result of a query with not full group by changes since rows is
        accessed in different order when full index scan is used.
    
      mysql-test/r/group_min_max.result
        Switch from table scan with sorting to full index scan that avoids
        sorting
    
      mysql-test/r/key.result
        Switch from table scan with sorting to full index scan that avoids
        sorting
    
      mysql-test/r/select_found.result
        Switch from table scan with sorting to full index scan that avoids
        sorting
        Distinct query with limit gives different result since rows is
        accessed in different order when full index scan is used.
    
      mysql-test/r/subquery_mat.result
      mysql-test/r/subquery_mat_all.result
      mysql-test/r/subquery_mat_none.result
        Switch from table scan with sorting to full index scan that avoids
        sorting
    
      mysql-test/suite/gcol/r/gcol_keys_myisam.result
      mysql-test/suite/gcol/r/gcol_select_myisam.result
        Switch from table scan with sorting to full index scan that avoids
        sorting

commit 3a5736d0286cced21b873ecebd173b3bd065d733
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Nov 8 15:08:28 2016 +0530

    WL#9502 : Post fix. Renamed result files

commit 460bbf21da20449b08fd67e8a3658fa8941957f1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Nov 8 09:21:16 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
      - remove new include file which was unnecessarily
        added in the "global" mysql-test/include/ directory.
      - the new file was only used from suite/ndb_binlog/ and could thus
        be local to that dir only.
      - rewrite the check to avoid using .require file(which is
        a deprecated way of checking things) and avoid using .inc file
        since it was only used from one place.
      - also rewrite the check to fail test on error and not just skip

commit de2a6b1c208e8edf4eaa02b37b840b50b42c3104
Merge: f795655 8440708
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Nov 8 08:56:42 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 84407083481e8d98751252fa87501ec27f87ec48
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Nov 4 13:44:36 2016 +0100

    Bug#25048573: STD::MAP INSTANTIATIONS CAUSE STATIC ASSERT FAILURES ON FREEBSD 11
    
    Problem: Some instantiations of std::map have discrepancies between
    the value_type of the map and the value_type of the map's allocator.
    On FreeBSD 11 this is detected by Clang, and an error is raised at
    compilation time.
    
    Fix: Specify the correct value_type for the allocators.
    
    Also fix an unused variable warning in storage/innobase/os/os0file.cc.

commit 20cc9507f1a02a95d9aeadc7ca2bdfab927bd694
Merge: 163e5c5 f795655
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Nov 8 11:42:53 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit f7956556235c2a4e9b4064eb320965969b3d7748
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Nov 8 11:35:39 2016 +0530

    Bug#24924006: REMOVE COPY_DIR.INC OR COPYTREE() IN TESTS,
                  USE FORCE-CPDIR COMMAND INSTEAD
    
    Issue:
    ------
    A new MTR command "force-cpdir" has been introduced to copy
    the source directory content to destination directory
    recursively. "copy_dir.inc" had been added as a workaround
    for this purpose, but now it can be removed.
    
    Fix:
    ----
    Replace "copy_dir.inc" and copytree() with "force-cpdir" in
    all the tests.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14514

commit eefb9932bea3e0755d63fc5a9bcfa7242a4f5479
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Nov 8 10:43:37 2016 +0530

    WL#9502 - Post fix for main.partition_hash

commit 83044418d1e2ca1ada6e1764a702f3db7ccbaff0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Nov 7 20:13:11 2016 +0100

    Test cleanup

commit 097a46cef6d680c99949f42d315c7df73351e3b4
Merge: 7a9f854 3541112
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Mon Nov 7 20:01:06 2016 +0100

    Bug#24961512 NEW COMPILATION WARNINGS WITH GROUP REPLICATION PLUGIN
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 35411127083e4bd1dcb112bd9f9cd05393531c00
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Mon Nov 7 19:52:15 2016 +0100

    Bug#24961512 NEW COMPILATION WARNINGS WITH GROUP REPLICATION PLUGIN
    
    With Clang compilation, there were some warnings in group replication
    code that are now fixed.

commit 7a9f854a15a18c72c031d55e5f7a5ff323b96aa2
Merge: 94daf28 249c591
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Nov 7 14:19:33 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 249c59163a797ede2d77e9e3c3e05940e1f55087
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 4 12:05:29 2016 +0100

    Bug#25048128: MAP_NORESERVE NO LONGER DEFINED IN FREEBSD 11
    
    MAP_NORESERVE is no longer defined on FreeBSD 11
    which breaks the build.
    
    Fix: Reintroduce code from 5.6 that defines MAP_NORESERVE to 0
    if it doesn't exist.
    
    Change-Id: I22daeeca0584ed1d21c12135e9a1a166ce31cc07

commit 94daf2816c5dab3aca910e64645caa9bf2f95408
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Sat Oct 29 17:39:10 2016 +0200

    Bug#24976885: SDI FILENAMES ARE INCORRECT FOR TABLE NAMES CONTAINING MULTIBYTE
    CHARACTERS
    
    The sdi filename uses at most 16 characters of the tablename + the object id.
    It uses my_mbcharlen(CHARSET_INFO*, uint) to count the number of characters.
    The table name is stored in a dd::String_type which means that dereferencing an
    iterator yields a (signed) char value.
    
    When the iterator points to the leading byte of a multibyte utf-8 character the
    resulting char value is negative. When this value is passed to my_mbcharlen it
    is promoted to an unsigned int, which is outside the legal range for unsigned
    char (0-255) expected by my_mbcharlen(). my_mbcharlen treats this as an illegal
    leading utf8 byte and returns 0.
    
    For sdi file names this meant that the first multibyte character and anything
    following it was stripped.
    
    Fix: Make sure inputs to my_mbcharlen are cast to unsigned char.

commit d9711d911467d8b1ece9c9fafcbbf1dc271e00ef
Merge: fbc2a6d 7cf9da9
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 7 17:01:06 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7cf9da90eb4f30c953e4feaf72f211a5d87b55cc
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Nov 7 16:47:54 2016 +0530

    Bug#24437009 : DEBUG ASSERTION WITH AUDIT LOG + BINARY
                   LOGGING ENABLED.
    
    Description: Server with binary log enabled crashes when the
    audit_log function, "audit_log_filter_set_filter" is
    executed.
    
    Analysis: Assertion failure occurs due to the missing
    transaction commit before calling "close_thread_tables()".
    
    Fix: Back ported BUG#24431547's fix from 8.0 to 5.7 without
    SE related changes.

commit fbc2a6d36c364d9ca526f764ee57928b0d127f9b
Merge: e3ab297 290d263
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Nov 7 11:30:01 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 290d263c09fab15b25a3b04c39c4e217e71cf5b0
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Nov 7 11:26:25 2016 +0100

    Revert "BUG#24431547 FIREWALL PLUGIN SHOULD BE CONFIGURABLE WITH INNODB ENGINE"

commit e3ab2975975fae8936a370f33a2b8502baf74b2c
Merge: 1f97942 7fda51c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Nov 7 09:31:47 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7fda51cb1777cf0943d1283496600cb107b48629
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Nov 4 12:22:54 2016 +0100

    Bug#25048546	PACKAGE UPGRADE FROM 5.7.16-COMMUNITY TO 5.7.17-COMMUNITY FAILING
    
    When some files were moved from mysql-common to client package, a breaks/replaces
    statement was added on mysql-common older than 5.7.16, but since the commit didn't
    make it in until 5.7.17, the breaks/replaces needs updating.

commit 1f979421eabdc10b3680e0297ad81a9fd5ff8b8c
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Mon Nov 7 12:36:51 2016 +0530

    WL#9502 : Migrate few "engine/funcs" tests to suite "parts"
    
    Description: It is noticed that there are few tests in the engines/funcs
    suite which are intended to test Native partitioning which is supported by
    InnoDB but not MyISAM.
    Currently the test runs with Innodb and skips with MyISAM. engines/funcs
    suite should ideally have MTR tests which are storage engine independent.
    
    Fix: Identified tests are moved to "parts" suite.
    
    Reviewed by:
    Horst Hunger <horst.hunger@oracle.com>
    Anitha Gopi <anitha.gopi@oracle.com>

commit 5453805118e4eb252b70d6c31e204e488b4b859a
Merge: 188bac8 b5d2962
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Sun Nov 6 23:18:45 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit b5d296221520bf94b62234a8f7efdfffcbb9e4a2
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Sun Nov 6 23:04:21 2016 +0100

    BUG#24431547 FIREWALL PLUGIN SHOULD BE CONFIGURABLE WITH INNODB ENGINE
    
    Problem:
    ========
    
    Some server configurations require MyISAM storage engine disabled. Audit log
    and firewall plugins support MyISAM engine availability for storing persistent
    data in tables. Unavailability of MyISAM engine prevents from using audit log
    and firewall plugins.
    
    Fix:
    ====
    
    Audit log and firewall plugins use InnoDB engine tables for storing persistent
    data. MySQL upgrade transforms audit log and firewall tables, if present,
    to use InnoDB.
    
    Reviewed-by:
    ============
    Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Georgi Kodinov <georgi.kodinov@oracle.com>

commit 188bac886548331efcaf66b18bf95e52bb732b4b
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Fri Nov 4 09:10:46 2016 +0100

    Bug 24972796: ABANDON SUPPORT FOR STICKY DD CACHE OBJECTS.
    
    Post push fix.
    
    Print an error message and abort when detecting corruptions
    (real or simulated by a test) that make a DD table inaccessible
    while restarting a server.

commit 147d0b01f7e7336b620110d093f8dc5cda1affed
Merge: 0382b99 7e19cb4
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Sat Nov 5 17:09:49 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7e19cb419cbd43ec17050e8f007c22c459cf22a7
Merge: 0d842c1 d01b79f
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Sat Nov 5 17:07:53 2016 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit d01b79f27b2966ee740296e10da8a362e9c8a239
Merge: 33d986e7 b7bd2fc
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Sat Nov 5 17:00:53 2016 +0100

    Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	mysql-test/t/disabled.def

commit b7bd2fc1be6fe51f72db5167a1780c8364d32b0b
Author: Shipra Jain <shipra.x.jain@oracle.com>
Date:   Sat Nov 5 16:52:05 2016 +0100

    Bug#24918325: backport bug11756699 in this patch

commit 0382b99a2236e319eefb2155db13ae58691c67c4
Merge: 1027cbf 0d842c1
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Sat Nov 5 10:06:01 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0d842c1cd4d4093caf2787c93a4ff0466c482c6f
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Nov 4 01:27:42 2016 +0100

    BUG#25045302: GROUP REPLICATION FAIL TO DETECT THAT PLUGIN IS NOT BUILT
    
    Make all Group Replication tests know that do need to skip when the
    plugin is not build, like when cmake -DWITH_RAPID=0 option is used.

commit 9364f7bfd99a7965aecf968764c57a5628f8728e
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri Nov 4 17:24:16 2016 -0700

    Update DataMemory for clusterj tests to avoid "out of data memory"

commit 1027cbf11b168a16a9fb4f97363e61ee4d7579a0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 4 16:42:02 2016 +0100

    BUG#24964522: BUILDING GROUP_REPLICATION PLUGIN ON WINDOWS FAILS
    
    Post-push fix: the keyring_file needs to link with ssl libraries explicitly.
    We no longer link in transitively from the sql library.
    
    Change-Id: I57847ee35e70f4f6655a1a59821763d55497dd4c

commit fd37b58f6804ab29a3f4513ad48c6c47dba80504
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Nov 4 15:22:10 2016 +0100

    Bug#24464763 MOST PERFSCHEMA.*_IO TESTS FAIL IF GIS.SRS RUNS BEFORE THEM ON
    THE WORKER
    
    This is a test script fix only, to improve test robustness.
    
    Before this fix, some tests failed with spurious diff related to
      Performance_schema_rwlock_instances_lost
    in the result file.
    
    This is due to the MTR suite default configuration,
    default_mysqld.cnf, which uses a fixed number of instrumented objects:
    for some combinations of tests, the number of items actually instrumented
    during the test payload can exceed artificial limits set in the test cnf.
    
    The fix is to relax limits on the number of instrumented objects,
    and rely on performance schema buffers scaling automatically
    based on the load.
    
    Adjusted the test results accordingly.

commit 5d30165706ed8bf784fca1c200457f267fc1efcc
Merge: c2a04d4 52e4a07
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 4 16:13:03 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit c2a04d436fd811e8b61f80b8f9600f7524b0bebf
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Oct 31 22:00:32 2016 -0500

    Bug#24916359 - Test Case table_encrypt_kill.test fails sporadically
    
    The failure would occur after a crash, after redo log recovery.
    Redo recovery would open an undo tablespace from the MLOG_FILE_NAME
    log entry.  Later in srv_undo_tablespace_init(), srv_undo_tablespace_open()
    will skip this file since it has already been opened. Instead, it used the
    previous fil_space_t object. But for some reason the node->size would
    sporadically be zero. This zero size causes the reported error during a
    later call to fil_io().
    
    The fil_space_t object created by redo log recovery has other problems.
    It uses the file name as the tablespace name, which includes the path.
    And it does not know that this is an undo tablesapce so it puts the
    object onto the LRU, which it should not be.  There may be other issues
    with this object as well.
    
    The solution is to not only flush and close that fil_space_t object but
    to also free it. This allows srv_undo_tablespaces_open() to create a new
    one correctly. It is reopened from scratch with a new fil_space_t object
    as if it was not part of redo log recovery, which is already completed by
    this time during startup.
    
    In addition, testing has shown that it is possible for the header page
    of this undo tabelspace to be in the buffer cache when the fil_space_t
    object is freed.  The presence of this page in cache can cause the file
    not to be opened upon the first page read and then an assert in fil_io()
    can be hit when the file is not yet opened.  So fil_undo_tablespace_open()
    will now call fil_space_open() after it has successfully created the
    fil_space_t and fil_node_t objects and incremented srv_undo_tablespaces_open.

commit 52e4a074b78ba072915ef8450be324b11d05007a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Nov 4 14:32:53 2016 +0100

    WL#9053: Group Replication
    
    Post-push fix:
    Avoid copying rpcgen generated files back to the
    source directory. This again makes it possible to
    use the same source directory on multiple platforms.

commit f14e5b39dbed8d893883a1a85da5e29e879d5d53
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Nov 1 10:23:59 2016 +0100

    Bug#24956365: ADD REGISTRY OF UNCOMMITTED OBJECTS TO DICTIONARY_CLIENT
    
    Follow-up patch: Remove unnecessary template arguments.

commit 74809f24f1d569cd07f6e7856bddf5fe2b59fb89
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 4 13:28:42 2016 +0100

    BUG#24964522: BUILDING GROUP_REPLICATION PLUGIN ON WINDOWS FAILS
    
    Reverting parts of
        Bug#24481181: RAISE MINIMUM CMAKE VERSION TO 2.8.12
    fixes it
    
    Change-Id: I93c8dc132478c98f215cc63abdc7ba812f1b27e7

commit c4dec26b2bb8f864d44050678582eb06ed7c0231
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 4 12:41:28 2016 +0100

    Revert "BUG#24964522: BUILDING GROUP_REPLICATION PLUGIN ON WINDOWS FAILS"
    
    This reverts commit bb2f604efa1059930546c8a9f1fc1a27924b299c
    which temporarily disabled building the plugin with yaSSL.

commit 8b68b2883da8330f6b10acbc9a20cc649702495b
Merge: 71b46ab 41f206b
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Nov 4 18:55:18 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 41f206b7b13914001dc4e27910c2d517e2514340
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Nov 4 18:51:41 2016 +0530

    Bug#24384561 - 5.7.14 COMPLAINS ABOUT WRONG
                   SLAVE_MASTER_INFO AFTER UPGRADE FROM 5.7.13
    
    Description:
    Post push submission to fix the test script failure.

commit 71b46ab6cd721b8a678c951c82b0b5e5cdf0daf1
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Nov 4 14:33:01 2016 +0530

    WL#9540 : New data-dictionary: refactor .FRM to New DD code
    
    This is a refactor only work to avoid code duplication in upgrade
    code path. There is no changes of behavior in the scope of the worklog.
    Refactoring is done for:
    - Filling HA_CREATE_INFO structure.
      Both ALTER command and upgrade to dictionary from mysql-5.7 fills
      this structure to be used by dictionary framework.
    - Preparing Create_fields and index information to be used by
      dictionary for data population.
    - Unpacking partition information.
      Partition information is parsed to extract information about
      partition expression. It is used by both, open_table_from_share()
      and upgrade code path.
    
    Opening of table in SE is moved to a separate function in upgrade
    code.

commit 74ac1e93cf785da1e7b2dd2e81b38d9f39adcd80
Merge: 09ee930 6235076
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Nov 4 11:18:37 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6235076bd81ebea84179ed021ac952cd947ce63d
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Oct 28 13:37:57 2016 +0200

    Bug #25042426: CHANGING WAY OF UNIT TESTS EXECUTION FOR XPLUGIN BY CTEST
    
    The goal of this task is an execution of all xplugin unit test at one
    step. At this moment this execution is split into several steps.
    In each step, only small groups of tests are being executed.
    All unit test are linked in one binary file and it means that this
    binary is executed several times with different configuration.
    The goal is simplifying of unit tests execution and removing a step of
    generation unnecessary configuration files.
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14489

commit 3511122ac05c40051a2994bd114e34ecd045fe1a
Merge: 467fd53 7f820dd
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 4 10:11:11 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7f820dd00c14c0ca29f9dc1fb5f1555c7c7db0c8
Merge: 3b71d10 1e9e382
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 4 09:49:21 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 09ee9304f7d341f5a787bf0be311612366555fab
Merge: 2ee5b4d e05658c
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Nov 4 09:46:25 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1e9e3821b4d89f5200c88b17b0f689d6150d5ee2
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Nov 4 09:45:47 2016 +0100

    Bug#24926009 'WAITING MAX 119 SEC FOR DISTRIBUTING' ON PARALLEL MYSQLD ACTIONS
    
    Follow up patch adding missing *.result file ++

commit e05658c1789c3240d484f206ba0ff8933e233aaa
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Nov 3 12:28:36 2016 +0100

    Bug#25039800: COMPILE WARNINGS IN JSON CODE WHEN USING CLANG 3.9
    
    Problem: Clang 3.9 emits the following warning: "destructor called on
    non-final 'Json_path' that has virtual functions but non-virtual
    destructor"
    
    Fix: Add a virtual destructor to Json_path's base class.
    
    This fix is for mysql-5.7 only. The destructor is already virtual in
    mysql-trunk.

commit 163e5c57abc3ece687d34eeac80b6ee5ae5e7702
Merge: 83bae41 6408a3b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 4 12:09:22 2016 +0530

    Merge commit '6408a3b6da34470f927f00c4d7459566c95f6542' into mysql-trunk-cluster

commit 2ee5b4da1f3c77dc7869ebc4d35181efa88cf44e
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Nov 4 12:07:31 2016 +0530

    Bug#24805140 : UPGRADE TO 8.0.1 FROM 5.7 FAILS IN SP PARSING
    
    Post push fix:
    main.dd_upgrade_test.test fails when mtr passes --log-bin option
    to the server. Failure is in executing 'show session status' command.
    At server startup, when checking structure of performance schema tables,
    server tries to decide the format for binary logging in lock_tables().
    At this point, if there is an existing error in DA, successive P_S tables
    are marked invalid. This causes error in executing 'show session status'
    command which internally uses 'performance_schema'.'session_status' table.
    
    Fix:
    Add --loose-skip-log-bin option in the test case when starting the
    server for upgrade.

commit 83bae41d692fdb9cc01c022bfd30a06ddf50389b
Merge: c69ed27 29aa0e9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Nov 4 11:09:44 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 29aa0e97eac27f567a118b0afc9a20582821bd9c
Merge: 0856b10 2755fda
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 4 10:56:31 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2755fdadf81e1ea101d18ed41af06cc10d0bffce
Merge: 87159d8 33d986e7
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 4 10:55:12 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 33d986e719c7116d6300d893384ec74b7b1c0b9c
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 4 10:52:13 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix: fix for doxygen comments.

commit 467fd536ef721052f7cdc893fa8204b89c013e5e
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Nov 3 17:42:37 2016 -0700

    Implement Projections for Clusterj
    
    AbstractDomainTypeHandlerImpl.java
      define tableKey which is tableName plus column indicators,
        one for each projected column
    
    DomainFieldHandlerImpl.java
      allow column name to be specified either via @Column or @Persistent annotation
        but not both
    
    DomainTypeHandlerImpl.java
      handle @Projection by tracking columns used in the domain object
      set projected columns into the store Table for the domain type
    
    Table.java
      allow projected columns to be stored for use by NdbRecordImpl
    
    BitTypesTest.java
      test queries using bit types
      test bit columns mapped to boolean, byte, short, int, and long domain types
    
    schema.sql
      add table hope to test projections
    
    ClusterConnectionImpl.java
      use tableKey instead of tableName for caching projected store Table objects
    
    NdbRecordImpl.java
      when constructing NdbRecord for a projected table, only allocate space
        for columns in the projection
      mask results from queries of bit types
    
    ScanFilterImpl.java
      allocate 4 bytes for boolean, byte, and short scan filters
        to accommodate filters on Bit type columns
    
    TableImpl.java
      implement storage of projected column names
    
    annotation/Projection.java
      new annotation to allow Projections of tables
    
    ProjectionTest.java
      new test for projections

commit 0856b10cde50069a22dba9e149ffa9eed17a0561
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Nov 3 12:15:55 2016 +0100

    BUG#24977725: STATIC BUILD BROKEN DUE TO GROUP REPLICATION
    
    Make all Group Replication tests know that do need to skip when the
    plugin is not build, like when cmake -DDISABLE_SHARED=1 option is
    used.

commit 89c146da5cd7012c0e86707f18f6c0d4f1489f26
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 3 11:50:37 2016 +0530

    Bug #24822203: NDB CLUSTER DOESN'T COMPILE WITH GCC6 (DEBUG BUILD)
    
    Problem:
    --------
    
    GCC 6 introduces two new types of warnings - misleading indentation
    and placement new. These warnings are upgraded to errors in debug
    builds.
    
    Fix:
    ----
    
    The misleading indentation error is fixed while the placement new
    one is downgraded to a warning even in debug builds.
    Fix of datatype for the offset's in SimpleProperties
    list of  instructions for hos to pack/unpack serialized properties
    Also one fix in mysqlx_restulset.c which is not yet fixed in 5.7 so
    can't be backported

commit d0a61ddc8742484b416ef2d88112613870d9e9ef
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed May 4 09:31:26 2016 +0200

    Bug#24459890: BACKPORT FIX FOR #23195845 TO 5.7
    
    Backport (with some extra nonnull fixes) from trunk to 5.7 of:
    
      Bug#23195845: FIX COMPILE WARNINGS REPORTED BY GCC 6.1
    
      Fix compile warnings reported by recently released GCC 6.1:
    
      -Werror=misleading-indentation
      libbinlogevents/src/uuid.cpp
      rapid/plugin/x/mysqlxtest_src/mysqlx.cc
      sql/sql_update.cc
      This error had to be disabled for files using Boost.
    
      -Werror=nonnull-compare
      storage/innobase/include/dict0dict.ic
    
      -Werror=logical-op
      mysys/mf_dirname.cc
      sql/item_timefunc.cc
      sql/mysqld.cc
      vio/viosocket.cc
    
      Also fix problem in mysys/my_sync.cc where we were using
      __linux rather than the correct __linux__ symbol.
    
      (cherry picked from commit 43a1c9dca6104a35455721eddeabcc748e349bbb)
    
    Change-Id: I9580f680a4bceceb649bf61e82eac552938690b6
    (cherry picked from commit 1ae7152689c86cf53354d328d6c5fd1ad48fa9c6)

commit 2fc35f759b2d1ef1797a1bb6d86046ee5db30de9
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jun 29 10:51:20 2016 +0200

    Bug#24437737: MYSQL 5.7.1{3,4} DOES NOT COMPILE OB GCC 6.1.1
    
    Backport from trunk to 5.7 of:
    
    Bug#23708395: GLIBC 2.24 DEPRECATES READDIR_R() BREAKING
                  DEBUG BUILD OF MYSQL SERVER
    
    As of glibc 2.24, readdir_r() has been deprecated. This breaks
    our debug builds since the deprecation warning is upgraded to
    an error during compilation.
    
    This patch fixes the problem by removing use of readdir_r() and
    using readdir() instead. This is thread safe as long as readdir()
    is only used concurrently on different DIR* - which it is in
    our case.
    
    POSIX quote: "The pointer returned by readdir() points to data
    which may be overwritten by another call to readdir() on the same
    directory stream. This data is not overwritten by another call
    to readdir() on a different directory stream."
    
    Change-Id: I85a6f5da2d48c8d5a9804cd6281411d9e757f46c
    (cherry picked from commit ba5245e9fef2257d60213076598268f544ca7109)
    (cherry picked from commit 865c124d1bdfd4eeee5eb42ea9faa9c8b45bfbb0)

commit c69ed27aa7c0a7b8aec73aee96dece77fe70598e
Merge: c8e836c 37457ba
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 3 16:17:36 2016 +0530

    Merge commit '37457ba2f317d72e976591fe9d901dd7eac67b86' into mysql-trunk-cluster

commit c8e836c4f16dd5b775b59b8adb392e21788f4465
Merge: 4644cec 4146558
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Nov 3 16:10:22 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 414655802e63013ea3e57808cacd51ba38e87e6d
Author: Dhruthi K V <dhruthi.k.v@oracle.com>
Date:   Thu Nov 3 15:37:02 2016 +0530

    Bug#25039567 GROUP_REPLICATION.GR_PARALLEL_INSERT IS UNSTABLE ON PB2
    
    Moving following tests to experimental:
    group_replication.gr_autoincrement_parallel_insert
    group_replication.gr_parallel_insert

commit 98e3377ff26ae6cee2452c283c45ba1689ddba59
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Nov 3 10:16:34 2016 +0100

    Bug#24926009 'WAITING MAX 119 SEC FOR DISTRIBUTING' ON PARALLEL MYSQLD ACTIONS
    
    Merge addaption to 7.5

commit 6eb3c6da03de24dcf164be8d2af71e02d678fef9
Merge: e214513 3b71d10
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Nov 3 10:09:33 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 3b71d10636ad0ca0b9ee05e3e518c713352c07be
Merge: c0e450d 63ac7df
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Nov 3 10:05:47 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    x#

commit 63ac7dff54dde1cff631b52e61999ba58484789e
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Nov 3 09:51:05 2016 +0100

    Bug#24926009 'WAITING MAX 119 SEC FOR DISTRIBUTING' ON PARALLEL MYSQLD ACTIONS
    
    'rand()' was used to produce an unique table_id / table_version needed to uniquely
    idenify a schema operation being distributed among mysqlds.
    
    This relied on the assumption that rand() would never produced the same numbers
    on two different mysqlds.
    
    However, it turns that the random 'seed' is never set when mysqld is init'ed.
    According to rand() / srand() documentation this is equivalent of always
    setting the seed to '1' - Thus it is *very likely* that the same random numbers
    will be produced on all mysqld.
    
    Furthermore, even if seed is set, rand() can produce duplicated. (Not very
    likely though)
    
    This patch removes the usage of rand() for producing unique table_id / _version,
    and instead use a sequence counter in combination with the node_id of the
    coordinator. This guarantees uniquennes until the sequence counter wraps, which
    should be sufficient.

commit ad470185a14fbea1419e1c449b752e21eefac225
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Nov 3 09:08:57 2016 +0100

    Bug#24579061 UPGRADE TO BOOST 1.62.0
    
    Post push fix to turn on /bigobj on Windows builds.

commit ca59d565e344fdae0555eb809b6aa12faf801d99
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Nov 3 09:41:13 2016 +0100

    Bug#24926009 'WAITING MAX 119 SEC FOR DISTRIBUTING' ON PARALLEL MYSQLD ACTIONS
    
    MTR Testcase for reproducing the bug.

commit e214513aa43cf19a2323c6ec3ef009becaab899f
Merge: 9cc0996 c0e450d
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Nov 2 21:55:59 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    Ignore negative test that takes many seconds

commit c0e450d345fd606e0b47e9aa6a56e1c0c522f3d9
Merge: 46c4e04 f20d9da
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Nov 2 21:55:24 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    Ignore negative test that takes many seconds

commit f20d9da92a54e06c4181f7098b92e10a7a0a9842
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Nov 2 21:53:58 2016 -0700

    Ignore negative test that takes many seconds

commit 677512e3898516aace9faf599dfcaf857b68e48b
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Nov 3 00:54:56 2016 +0100

    Bug#24579973    MYSQLD--DEFAULTS-FILE TEST FAILS WHEN TEST SUITE IS RUN FROM NON-CANON PA
    
    Disabled the test on Mac OS

commit b1c701d1cb6f78dde109817807ef30c3373e8dfb
Merge: c2fe861 87159d8
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 2 18:38:57 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 87159d846e0b7362306e19b8cc58e5318f9aec8e
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Nov 2 16:37:24 2016 +0100

    BUG#24638038 - XPLUGIN PROCESS ID REALTED STATS NOT SHOWN IN PERFORMANCE SCHEMA.THREADS TABLE
    
    Post push fix
    
    RB: 14466
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit c2fe8610751049b752e8a1914ad829545c10fbb1
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Oct 27 13:51:11 2016 +0300

    Bug#24963065 ADD MISSING CONST QUALIFIERS
    
    String::charpos(), String::strstr(), String::strrstr(),
    Json_wrapper::clone_dom(), Item::clone_item(),
    Item_row::illegal_method_call(), Item_cache_row::illegal_method_call(),
    Item::is_result_field(), Item::is_bool_func(), Item::is_splocal(),
    Item::compare_collation(), Item::charset_for_protocol(),
    Item::cols(), Item_func_inet_bool_base::calc_value(): Add const qualifier.
    
    check_if_only_end_space(), double_from_string_with_check(),
    longlong_from_string_with_check(): Make all parameters pointers to const.
    
    Item_int::Item_int(const Item_int *),
    ErrConvString::ErrConvString(const String *): Take a pointer to const.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit 6c534244023411757b2f29a5875d4f2315910c91
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Nov 2 20:13:32 2016 +0530

    Bug#24805140 : UPGRADE TO 8.0.1 FROM 5.7 FAILS IN SP PARSING
    
    During in-place upgrade, stored routines are migrated from the
    mysql.proc to the new DD table mysql.routines. The stored routine
    definition is parsed while migrating. If parsing of routine body
    fails because of non-existing information schema tables, etc., then
    upgrade aborts.
    
    Fix:
    -----
    To continue routine migration in case of routine body parse error,
    warning message is reported and routine is created without parsing
    routine body.
    
    The fix also adds warning message when dependency resolution for a view
    fails during view(s) migration.

commit d72ddfd56e1e024427853a3733f72386af315795
Merge: aa039b7 422c7d9
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Nov 2 09:25:14 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 422c7d9ec7c48fa5ab09c9ad502e052711e1d7cb
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Nov 2 09:24:14 2016 +0100

    Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
                FILE IS NOT AVAILABLE - fix for 5.7 based on file's stat
            fix for test gr_key_rotation part 2

commit 4644cec2a0953171e767518d64e42941f359b618
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Nov 1 15:46:03 2016 +0530

    Post Merge Fix
    
    Fix whitespace issue in the json_group_concat_innodb test
    which was causing Result Length Mismatch

commit aa039b73223afdb2e2171679ae1ee422d035e2c4
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Nov 2 01:34:59 2016 +0100

    Bug #24972796: ABANDON SUPPORT FOR STICKY DD CACHE OBJECTS.
    
    Post push fix. Build error with werror due to local variable
    used in debug builds only.

commit 2aa1a295c1b9a7650f2daf3878e783b1779e6869
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Nov 1 23:15:41 2016 +0100

    Bug #24972796: ABANDON SUPPORT FOR STICKY DD CACHE OBJECTS.
    
    Post push fix. Build error with werror due to local variable
    used in debug builds only.

commit b7c7734d62f260e52cdc5c2c2145660508e61417
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Oct 24 13:37:45 2016 +0200

    Bug #24972796: ABANDON SUPPORT FOR STICKY DD CACHE OBJECTS.
    
    The DD cache used to support sticky objects, i.e., objects
    that could not be evicted from the cache. This was needed
    to keep the objects representing the core DD tables readily
    available. These objects are needed to handle a cache miss
    for a table object. However, the concept of sticky objects
    was problematic in the context of atomic DDL (WL#7743).
    
    This patch abandons the support for sticky objects in the
    cache. Instead, we introduce a dedicated data structure in
    the storage layer to keep hold of the DD objects representing
    the core DD tables. Then, within the shared DD cache, these
    core objects are not treated differently from other objects,
    i.e., they can be evicted in the same way. However, there is
    a difference when handling a cache miss for a core DD object:
    The storage layer will now lookup the object in the dedicated
    data structure rather than fetching it from disk.
    
    This patch has six logical parts.
    
    1. Remove support for sticky DD cache objects:
    
       - Remove the 'sticky' property of the DD cache elements
         and all DD API methods supporting or mkaing use of it.
    
       - Remove methods from the dictionary client API that are
         needed only by DD initialization.
    
       - Remove code from the server layer outside of the DD
         that makes use of the 'sticky' property.
    
    2. System registry extensions:
    
       - Classify dictionary tables according to WL#6391. Needed
         to minimize amount of DD objects to be stored in memory
         in the dedicated data structure in the storage adapter.
         Also needed to simplify ALTER TABLE of the innodb
         index- and table-stat tables. This is done during upgrade
         from 5.7.
    
       - Add meta data for predefined tablespaces to the system
         tablespace registry to allow re-creation of dd::Tablespace
         objects after resetting the shared DD cache.
    
       The order of the tables in the system table registry is
       changed to allow grouping the classifications. The changed
       ordering is reflected in InnoDB where the order of the table
       creation is predefined.
    
    3. Resetting the shared cache:
    
       Change the way the shared dictionary cache is reset. The
       entire cache will be reset, not just the schema- and table
       partitions. It will also erase all objects in the storage
       adapter's registry of the core DD objects depending on the
       argument to the reset function.
    
       This makes the semantics of the reset function more clear.
       A precondition for this is to store the meta data of the
       predefined tablespaces separately (in the system tablespace
       registry) to allow recreating the corresponding
       dd::Tablespace objects after resetting the shared cache.
    
    4. Extend object registry and maps:
    
       - Introduce a function to erase (remove and delete)
         all objects and cache elements in all object registry
         partitions.
    
       - Introduce a function to get the number of elements
         in a specific object registry partition.
    
       Both extensions are needed by the storage adapter to
       enable maintaining a local register of the core DD
       objects.
    
    5. Extend the storage adapter:
    
       - Use an object registry for storing the core DD objects.
         This allows the DD cache to evict these objects in the
         usual way, thereby removing the need for supporting sticky
         objects in the cache.
    
       - All cache misses will now peek into the object
         registry to see if the object is present there, before
         trying to read it from persistent storage.
    
       - Care must be taken during server bootstrap to make
         sure that the registry in the storage adapter is
         initialized correctly.
    
       - This change means that arbitrary ALTER TABLE for DD
         tables is not supported. However, such support does not
         make sense anyway, since a change in a DD table must be
         coordinated with a change in the server behavior,
         e.g. in the way DD objects are read from and written
         to the DD tables.
    
       - This  also fixes Bug#22274639 by deleting the contents
         of the registry when the storage adapter is deleted.
    
    6. Modify the DD bootstrapper:
    
       - Tablespace metadata from the DDSE is now stored in the
         system tablespace registry. This allows us to recreate
         the DD tablespace objects, and allows us to reset the
         shared cache properly.
    
       - Core objects are now synchronized between the core
         registry in the storage adapter and persistent storage
         after all core tables are created. During synchronization,
         the shared cache keeps the objects that are used for
         opening the DD tables. This allows us to update the core
         registry in the storage adapter.
    
       - We now keep only the core objects in main memory. Other
         objects are read from persistent storage on demand. We
         verify that the core register in the storage adapter
         has the expected contents.
    
    Various minor test changes were required due to differences
    in the behavior of the DD cache.

commit 77c1dd3bcaf2ce8cad46562a5e8e8e7e58eb404d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Nov 1 15:14:14 2016 +0100

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Post-push fix to fix an issue where occasionally, the last primary weight would
    be re-added at the end of an as_cs string in tailored collations. In particular,
    this would disturb the sort order of Z in Estonian.
    
    Change-Id: I75158b5b1c463e13e3d7f57082e259788ca220bb

commit 7e33984ac7df852d9323f96dd17f89435c384429
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Oct 13 16:17:03 2016 +0300

    Bug#24962768 DO NOT IGNORE THD PARAMETER IN RESOLVE_TYPE()
    
    Item_func_get_system_var::resolve_type(): Use thd, not current_thd.
    
    Item_func_internal_update_time::resolve_type(): Use thd, not current_thd.
    
    Item_func_internal_check_time::resolve_type(): Use thd, not current_thd.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit 327aa87fac93d5b18a5e8f95c3c93f08fcbb3a44
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Oct 27 12:46:06 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Increase max_length_for_sort_data from 1024 to 4096.
    
    This parameter controls the threshold for when we stop sorting full rows,
    and instead just sort the sort key plus a row ID, and then go back to the
    table to pick up those rows afterwards.
    
    Since this parameter was introduced and got its current value in 2003,
    several important things have happened:
    
     - Computers have gotten more RAM, so that sort buffers can be larger.
     - We have switched from MyISAM to InnoDB, where picking out a row by ID
       is much more expensive.
     - Unicode collations, for which we grossly overestimate row size in the
       typical case (we assume the string is completely filled with maximum-length
       UTF-8 characters, whereas the typical is more like a 10–20% fill grade
       with ASCII), have become commonplace.
    
    Thus, increase this value; the actual value chosen is a bit arbitrary and would
    benefit from actual benchmarks across a wide variety of real loads, but it's
    obviously a step in the right direction.
    
    sysbench result goes from 7080 -> 9078 tps (+28.2%).
    
    Change-Id: I031ded33e5a18ca903b4549b5692563137672408

commit 9cc0996199101e7e5422076d28862f488c950477
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Nov 1 14:41:31 2016 +0100

    Bug#24978155 NDB REFACTOR: CONST CORRECTNESS FOR NDB_SCHEMA_OP OBJECT
    
    const declare Ndb_schema_op object create by the binlog injector

commit bb2f604efa1059930546c8a9f1fc1a27924b299c
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Tue Nov 1 12:05:31 2016 +0100

    BUG#24964522: BUILDING GROUP_REPLICATION PLUGIN ON WINDOWS FAILS
    
    Disable community builds on Windows.

commit aad1a0c02be0b977f25b58f740509a2fa94c26e2
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Oct 31 16:31:00 2016 +0100

    BUG#24977725: STATIC BUILD BROKEN DUE TO GROUP REPLICATION
    
    Unsure that Group Replication unit tests are not built on static
    builds.

commit cd44e2465c3071800d4a0206e6d09c8ebc6f32bb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 26 16:53:16 2016 +0200

    Bug#24942245 BUILD NDB WITH DEVELOPER STUDION 12.5 WITH STD=C++11
    
    ndb_logevent.cpp
    Narrowing conversion of 'ndb_mgm_event_category' value to 'unsigned' is not allowed here.
    
    Packer.cpp
    Narrowing conversion of 'TransporterError' value to 'unsigned' is not allowed here.
    
    DictTabInfo.hpp
    Narrowing conversion of 'unsigned long' value to 'unsigned' is not allowed here.
    
    ================
    Also add support for UBSAN with gcc 6.2.1
    
    storage/ndb/src/kernel/vm/test_context.cpp
    [ 34%] Linking CXX executable ../../../../../unittest/ndb/CountingPool-t
    libndbsched.a(SimulatedBlock_nonmt.cpp.o)(.data.rel+0x2198): error: undefined reference to 'typeinfo for Dbdih'
    
    Fixed by adding a dummy Dbdih::~Dbdih() to test_context.cpp
    
    Change-Id: Icde476d4d278c55738b6714a76b25b414826fc0d

commit 62e24610e6fc7bf42ea6bbb108ee4bd206dabeb8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Nov 1 10:48:25 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - fix compilation failure in sql/ha_ndbcluster.cc to use the
       new ER_THD() macro

commit 996922a0e01d78d36f4b9531b49e94f170253775
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Nov 1 10:37:01 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - fix compilation failure in ha_ndbcluster.cc caused
       by multiple include of parse_mask.hpp after recent reorg
       of include file order
     - add include guards to parse_mask.hpp
     - remove include of files from implementation which were already
       included in the interface file.

commit 3e825ffabbd549787bd4586fab388ec549c5a57f
Merge: 0e4df25 ffb886b
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Nov 1 10:31:00 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0d9dc69595d840562c769ca1c2701e7678463790
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Nov 1 10:22:21 2016 +0100

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - fix compilation failure for new usage of ALIGN_SIZE() in
      NdbEventOperationImpl.hpp which is now in
      my_pointer_arithmetic.h instead of my_global.h due to recent
      include file cleanups

commit ffb886bca7eb2a372c8b4f06311725d09afae017
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Nov 1 09:06:38 2016 +0100

    Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
                   FILE IS NOT AVAILABLE fix for failing tests

commit 0e4df25e560ab1bca43dc44b804cbc83d01de5f6
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 31 20:13:11 2016 +0100

    Bug#24956365: ADD REGISTRY OF UNCOMMITTED OBJECTS TO DICTIONARY_CLIENT
    
    Change Dictionary_client so that it also handles dictionary
    objects that are currently being modified by DDL statements.
    
    The point of this patch is to allow a given Dictionary_client
    to see results of uncommitted changes done by the same session,
    while keeping the shared cache unaffected until commit.
    
    Newly created dictionary objects (from e.g. CREATE TABLE)
    should be registered using Dictionary_client::register_uncommitted_object().
    Objects to be modified (from e.g. ALTER TABLE) should be
    acquired using Dictionary_client::acquire_for_modification().
    Such objects can later be retrieved using normal acquire().
    
    Dictionary_cache::update() no longer updates the shared cache.
    Instead such updates are postponed until
    Dictionary_client::remove_uncommitted_objects() has been called.

commit 7c18e477dd7d07c0d4961adec47c49741001af34
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Oct 11 15:42:31 2016 +0200

    Bug#24826541 TABLE PERFORMANCE_SCHEMA.DATA_LOCKS IS MISSING RECORDS
    
    Tests involving performance_schema.lock_data have been found
    to be unstable.
    After analysis, several issues, both in the server code and the test
    scripts, have been identified, fixed by this patch.
    
    ISSUE #1
    ========
    
    When SELECT * from performance_schema.data_locks
    is executed, the code in table_data_locks::rnd_next()
    extracts rows from innodb, using a restartable scan,
    using an iterator:
      PSI_engine_data_lock_iterator *it= ...
    
    Assume that for example the first call to
      it->scan();
    returns 10 rows, and a subsequent call returns 5 more rows.
    
    Before this fix,
    - the data container after first call contains rows [0] .. [9]
    - the ::rnd_next loop with m_index_2 at positions [0] .. [9]
    - all the rows for the first scan are returned properly
    - the data container after second call contains rows [0] .. [5]
    - the ::rnd_next loop with m_index_2 at positions [10] .. [14]
    - rows for the second scan are missed
    
    The root cause is the discrepancy in "index":
    - the data container uses relative positions in each scan
    - the m_index_2 loop in rnd_next uses absolute positions
    
    With this fix, restartable scans keep rows numbered in absolute,
    with PFS_data_lock_container::m_logical_row_index.
    The container is not cleared, but only truncated with ::shrink(),
    during the scan, to preserve row numbering.
    
    ISSUE #2
    ========
    
    Because of restartable scans, locks are not returned always in the same
    order from a select, as two transactions can be returned
    in the same or in different scans.
    
    As a result, tests scripts need to use an ORDER BY clause
    on SELECT, to have a stable output.
    
    This fix corrected the test scripts.
    
    ISSUE #3
    ========
    
    Using SELECT ... ORDER BY cause the optimizer to use
    table_data_locks::rnd_pos(), after a filesort.
    
    This code path is longer from a plain table scan,
    and exposed further bugs:
    
    ISSUE #3-1
    ----------
    
    Lock rows exported by a scan can not be fetched back,
    because of incorrect filtering on the lock heap_no.
    
    A given LOCK_REC structure is not associated with a
    single heap_no, but with a -- set of -- heap_no.
    
    When performing a table scan,
    Innodb_data_lock_iterator::scan_trx()
    is called with filter = false,
    and iterate properly on heap_no,
    using:
      heap_no = lock_rec_find_set_bit(lock);
      heap_no = lock_rec_find_next_set_bit(lock, heap_no);
    
    When called for a fetch however, with filter = true,
    the code failed to look for the entire set of heap_no,
    and only considered the first in the set.
    
    This fix now iterate properly on all heap_no
    when using a filter with filter_heap_id.
    
    ISSUE #3-2
    ----------
    
    Transactions exported by a scan can not be fetched back,
    because of incorrect iteration on the trx list in innodb.
    
    The "transaction list" in innodb is a complex structure,
    made of two lists (trx_list, mysql_trx_list).
    
    To iterate properly, the code must use the get_next_trx()
    helper, instead of using UT_LIST_GET_NEXT().
    
    The code in fetch_trx_in_trx_list() has been fixed to iterate
    on the proper transaction list.
    
    ISSUE #3-3
    ----------
    
    Transactions exported by a scan can not be fetched back,
    because of incorrect values for the transaction id.
    
    The problem is that trx->id may, or may not,
    be a valid transaction id.
    
    In particular, some transactions in read only mode
    can have a trx->id of 0.
    
    See comments in trx_get_id_for_print() for details.
    
    The code exported a lock with a value for engine_lock_id,
    that contained a (fabricated) transaction id value.
    
    On a subsequent fetch, after parsing the value of engine_transaction_id
    to find a trx id, fetch_trx_in_trx_list() failed to locate the transaction,
    because the code was comparing the fabricated value with a zero trx->id
    
    The fix is to always use trx_get_id_for_print(trx), and never use trx->id
    directly, when exporting data in a scan, or fetching a particular row from
    rnd_pos().
    
    ISSUE #4
    --------
    
    In the test scripts, replying on column LOCK_DATA
    in table performance_schema.data_locks may cause spurious failures.
    This column can be NULL, in case the innodb storage engine
    purged data from the server memory to disk: this is a documented limitation.
    
    Relaxed the use of LOCK_DATA in test cases.

commit 5979e3fc55b0a934f7a78bb8c252d054b4665ce2
Merge: 3d67f71 ef50da7
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 17:39:19 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ef50da774f426a584c5ab7dc46071a204199d6eb
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 17:36:19 2016 +0100

    Bug #24976417: Updated result files.

commit 3d67f710ee69bb3b879d42ba485299642e9b61ac
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 24 12:57:16 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Add a fastpath for simple (non-tailored) UCA 9.0.0 collations,
    where as long as the string is pure ASCII, we can skip a lot of
    the checks and lookups normally required. Once we hit a non-ASCII
    character, we fall back to the regular path, but return if we
    see ASCII characters again. (This ensures a single non-ASCII
    character, such as an emoji, won't make us fall off the fast path
    entirely.)
    
    This is based on an idea and initial implementation from Xing,
    but adjusted so that it is somewhat more generic.
    
    Microbenchmark results (64-bit, Skylake 3.4 GHz, GCC 6.1):
    
      BM_SimpleUTF8MB4          1329 -> 363 ns/iter  [+266.1%]
      BM_MixedUTF8MB4            603 -> 321 ns/iter  [ +87.9%]
      BM_MixedUTF8MB4_AS_CS     2037 -> 982 ns/iter  [+107.4%]
    
    sysbench goes from 5429 -> 7431 tps (+36.9%).
    
    Change-Id: I4cc22e7141ba7b3ddd99da97bf32ef30156fb28b

commit be1955684caacd51423be7852db7a1c15c80433a
Merge: 7b23578 f0ddf52
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 15:46:00 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit f0ddf526ee751e242e3e05e1d56d61ae07977bfd
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 15:42:50 2016 +0100

    Bug #24976417: Updated result files.

commit 7b23578fb9734cf51301c6ea203a8a1e992a72a7
Merge: eb3cf3f 56da901
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 15:37:44 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 56da901849487beff0424b770bfd6a708b2ca293
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Oct 31 11:06:15 2016 +0100

    Bug #24976417: Updated result files of mtr tests.

commit eb3cf3f3e56cb727881069c203fa947b7f4244d4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Oct 28 16:22:25 2016 +0200

    Bug#24970905: ADD THREAD SANITIZER BLACKLIST
    
    In order to support incrementally fixing issues identified by
    Thread Sanitizer (-DWITH_TSAN=1), add support for a blacklist
    which can be used to suppress issues yet to be fixed.
    
    The initial version of the blacklist contains suppressions
    required to get through main.1st.
    
    Also the patch extends the --sanitize MTR option so that
    error logs are scanned for Thread Sanitizer warnings.

commit cdef8b21cac1064666e9b53215da5b479176d634
Merge: 5297935 9268af1
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 15:10:55 2016 +0100

    Empty version change upmerge

commit 9268af14d58006e9a7ae708f99b233461a9defce
Merge: 1efa1e8b 3240e07
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 15:09:15 2016 +0100

    Raise version number after cloning 5.7.17

commit 3240e07a26ac94ae76b760050fcd65c8dfc39840
Merge: 797def9 6ded664
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 15:04:31 2016 +0100

    Raise version number after cloning 5.6.35

commit 6ded66479f0d091e9b7cc5fa13cb0ba908cec46e
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 15:01:19 2016 +0100

    Raise version number after cloning 5.5.54

commit 5297935c9d8f038f479a2e3bb3200138987373fe
Merge: 81ab25c 1efa1e8b
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Oct 31 14:15:14 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1efa1e8b8287a166bcea789df9e9edbd071f53f2
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Oct 31 10:26:21 2016 +0100

    Bug #24976897: UNINITIALIZED MEMBER M_CURRENT_STAGE_KEY IN THD.
    
    Seen after WL#9457 when running tests making use of the query cache.

commit 81ab25c968539b38c17753063df495520750a7d9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 31 13:44:36 2016 +0100

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix to unbreak NDB build.
    
    Change-Id: Iae0b18b4987e63ef3c096a1b670d8fa312728547

commit 8e87fe9acf425891bbb36c43f418c38f55cabaf3
Merge: b60774c 477ea5c
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 13:19:29 2016 +0100

    Null upmerge of 5.6 packaging fix

commit 477ea5c767e8557666ca5f870bef8c68d22a0bf6
Merge: 3f48198 797def9
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 13:11:27 2016 +0100

    Null upmerge of 5.6 packaging fix

commit b60774cefdb106ed318f0eb7a27b490300361daa
Merge: 113566b b8e32fb
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Oct 31 17:38:57 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b8e32fb767edfe97f09ed570bd218882060a5706
Merge: 3f48198 533dc00
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Oct 31 17:37:05 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 797def9523e60db92b95bf590af0b1c5bc0e217c
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 13:06:30 2016 +0100

    Adding connection_control-plugin to deb packaging

commit c3fa1a3e17bae59691bd13cd86506c4e5edf0779
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 17:35:37 2016 +0530

    Post Merge Fix
    
    Update the result file (again) of test json_group_concat_innodb
    which was accidentally changed in the merge

commit 533dc00ab50b2fdfda1847ab6e75f717af820e44
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Oct 31 17:32:42 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Description: Fix for debian/ubuntu packaging issues for 5.6.

commit 6079b9033b5e1eb1e39e1b210f5cbd6f1e20d4c0
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Oct 31 12:58:32 2016 +0100

    Clean up merge conflicts in RPM spec file changelogs

commit 029d3a8422427f9c81a70570088fb3d7f3c59b40
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 17:26:53 2016 +0530

    Post Merge Fix
    
    Update the result file of test json_group_concat_innodb
    which was accidentally changed in the merge

commit 113566b52be055ada4389f82585ab55ab5b93d6b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Oct 18 16:39:48 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding <stdio.h> (to files already including
    my_global.h) and then re-sorting the #includes (and nothing else); then remove
    <stdio.h> from my_global.h.
    
    Change-Id: Ic7189b262d8b5b4fa742c98426389479a7492106

commit 5e5edf3551ae1ec7ab1478e7587907affde720f0
Merge: a6b053e 46c4e04
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 13:16:35 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'mysql-5.5.53' into mysql-5.5-cluster-7.2)

commit 46c4e04738b8878c7c9ba90ad422fc00593972c1
Merge: a94eed2 7adefe6
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 13:15:06 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'mysql-5.5.53' into mysql-5.5-cluster-7.2)

commit 7adefe6c74d4f6575a1757149e3035a6bb8c0518
Merge: 3969a53 582d6df
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 13:10:15 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    (Merge tag 'mysql-5.5.53' into mysql-5.5-cluster-7.2)

commit 582d6dfbda3b7dd6d7d081bd77efb650b7a960f5
Merge: 01a0490 94723a5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 13:01:51 2016 +0530

    Merge tag 'mysql-5.5.53' into mysql-5.5-cluster-7.2

commit a6b053e561754125bea335cdcdef0c2ca6e54b73
Merge: a267d13 a94eed2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 12:21:37 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'mysql-5.6.34' into mysql-5.6-cluster-7.3)

commit a94eed280aa1b9af3f64ba75a63a9734576c3025
Merge: 9644fdd 3969a53
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 12:17:14 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'mysql-5.6.34' into mysql-5.6-cluster-7.3)

commit 3969a53d1c622f63055aa1b172a96f5b33466f6f
Merge: e9a2601 5b49064
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 12:13:43 2016 +0530

    Merge tag 'mysql-5.6.34' into mysql-5.6-cluster-7.3

commit a267d137871a3bee708e10bd035c33d7fe2c29f2
Merge: b525ace 901c8cb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 31 10:43:00 2016 +0530

    Merge tag 'mysql-5.7.16' into mysql-5.7-cluster-7.5

commit d60bac61645d95ce33be7a7b21658aab5b51c165
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Sat Oct 29 15:44:21 2016 +0200

    Bug#24807594: Post-push fix.
    
    Table name prefixes shorter than 16 characters must not compare equal.
    New testcase in rename.test

commit c54e07f0248d4a640965bcfaf80230c6e1548bdb
Merge: 08f6e94 3f48198
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 21:18:56 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3f48198ea04dd71855eb803a4db91df91da0360d
Merge: cb8f621 6ffe3b9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 21:14:04 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6ffe3b91c1a1caea3e175c83d6803eab46747abd
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 21:13:03 2016 +0530

    Bug #22312771: VALGRIND(UNINITIALISED BYTE) ERRORS AT
                   WRITE_KEYS IN FILESORT.CC
    
    
    Signature for the function find_all_keys has changed.
    Replacing it with a wild-card in valgrind.supp.
    
    This is similar to Bug#22214867 (fixed on mysql-5.5).

commit 08f6e94cb5bc25ea46147c158633c7be2f0d7d34
Merge: e4847ff cb8f621
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Oct 28 17:33:49 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit cb8f62147f6fe93a9ac37e3a2985cce09f26b097
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Oct 28 17:32:46 2016 +0200

        Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
            FILE IS NOT AVAILABLE - fix for 5.7 based on file's stat
        fix for test gr_key_rotation

commit e4847ff525a0c0707ce41abb37e5dc6d2d8dd40f
Merge: 590c445 c84687d
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 20:51:36 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c84687d7f21d2f95384414c4adb7202c2bfc28aa
Merge: 41868ad 2bef8fa
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 20:50:47 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2bef8fa1735094a572e20470150beafc88a35d07
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 20:48:27 2016 +0530

    Bug #22312771: VALGRIND(UNINITIALISED BYTE) ERRORS AT
                   WRITE_KEYS IN FILESORT.CC
    
    
    Signature for the function find_all_keys has changed.
    Replacing it with a wild-card in valgrind.supp.
    
    This is similar to Bug#22214867 (fixed on mysql-5.5).

commit 590c445c99c9885e48b9faf7a8475d9ba8870a78
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 28 20:43:13 2016 +0530

    Bug #16583910 : DATETIME ROUNDING PROBLEM.
    
    Post-push fix.
    Fixing result file for OSX and Windows.

commit 5b88cf661fda23b8fab0d888ed0d05e725dfada7
Merge: b210d66 41868ad
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Oct 28 14:51:12 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 41868adfbe4be4a211395763480e3596c5d814bb
Merge: 740a1f1 15ab1ee
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Oct 28 14:47:32 2016 +0200

    null Merge branch 'mysql-5.6' into mysql-5.7

commit 15ab1ee1ad195ea0ac8e16736d3bd55aa4e003a5
Merge: 6d8d31a c49f9a1
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Oct 28 14:45:51 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit c49f9a1263df92a5fc7cf2f67c3f52129e202d37
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Oct 28 14:45:03 2016 +0200

    BUG#24487120 - SLAVE'S SLAVE_SQL_RUNNING IS STOPPED DURING
     LOAD DATA AT MASTER.
    
    Revert "BUG#23080148 - BACKPORT BUG 14653594 AND BUG 20683959 TO"
    
    This reverts commit 1d31f5b3090d129382b50b95512f2f79305715a1.
    The commit causes replication incompatibility between minor revisions
    and based on discussion with Srinivasarao, the patch is reverted.

commit b210d66dc1940a35ed0475ae4627ba6bb3ab7aca
Merge: a2ea626 740a1f1
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Oct 28 14:21:56 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 740a1f123810020007e4def38e62a654bfed7a63
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Oct 28 14:19:25 2016 +0200

    Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
        FILE IS NOT AVAILABLE - fix for 5.7 based on file's stat
    post push fix

commit a2ea626680edc56f2cefb0d56b24c68ea3c94322
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Oct 28 13:33:27 2016 +0200

    Bug#16583910: DATETIME ROUNDING PROBLEM
    
    Post-push fix: Fix broken doxygen

commit c6c141fca82b71823c9f6a9c3ece79f70b11ec23
Merge: 8071855 d30510c
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Oct 28 16:39:20 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d30510c2a9d3f4c236c18df72782b03270277494
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Oct 28 16:34:38 2016 +0530

    Bug#24384561 - 5.7.14 COMPLAINS ABOUT WRONG
                   SLAVE_MASTER_INFO AFTER UPGRADE FROM 5.7.13
    
    DESCRIPTION
    ===========
    After upgrading from 5.6.21 to 5.7.13 and then to 5.7.14,
    the mysql.slave_master_info table reports an error that
    the fields 'Channel_name' and 'Tls_version' are not in the
    expected order.
    
    ANALYSIS
    ========
    It is expected that the column Tls_version comes after
    column Channel_name in the slave_master_info table.
    When upgrade happens from 5.6.21  directly to the 5.7.13+
    release, these fields which were not present earlier are
    added in a correct order.
    
    The columns Channel_name and Tls_version are present in an
    incorrect order in 5.7.13. So, when the upgrade happens
    from 5.7.13 to 5.7.13+, the upgrade tool does not
    correct its order resulting in reporting an error in
    5.7.13+ release.
    
    FIX
    ===
    The upgrade script should correct the order of the columns
    Channel_name and Tls_version in the slave_master_info table
    if the order was incorrect.

commit 80718556cb4ee7af0e533665346776c4b1ab072e
Merge: 1c692da 76aa2b3
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 16:10:52 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 76aa2b36d870a0fa5c58e8607a966552940730fe
Merge: d30db27 6d8d31a
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 16:09:55 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6d8d31a09f6eb04b32d736388eadc4b4c339872b
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 16:05:05 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix : Fixing copyright issue

commit 1c692da3b6edccb4ebf13889c5638a8a1ea3839a
Merge: f9cf50c d30db27
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Oct 28 12:32:11 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit d30db27b6fb53b41e153a35ee46fac3d6789ecbb
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Oct 28 12:17:54 2016 +0200

    Bug#23541550 AUDIT API PROVIDE CONNECTION_TYPE FOR MYSQL_AUDIT_CONNECTION_CONNECT EVENT ONLY
    
    Problem:
    ========
    
    Connection type field is available for the connect event only of the connection class.
    Due to lack of filtering mechanism, all 3 events were always available in the audit log
    file, so anyone could track connection_type by checking connect event only. By that time
    audit log filtering mechanism was introduced and one can create a filter that will log
    disconnect or chage user events. In this case, connection_type information is not available.
    Additionally, a filter that filters connection_type of the disconnect or change user events
    could not be created.
    
    Fix:
    
    Connection type field is available in connect/disconnect/change_user events of the connection class.
    
    Reviewed-by:
    ============
    Arun Kuruvila <arun.kuruvila@oracle.com>
    Kristofer Pettersson <kristofer.pettersson@oracle.com>

commit f9cf50c5443ea97ebddeafb58855e63f93553520
Merge: 061c4a4 5f7ab55
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Oct 28 15:49:04 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5f7ab5517584f60b6a6f7f896d145bc89b5ddf5f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Oct 28 11:11:36 2016 +0530

    Bug#23581389: SEMI-SYNC CAN'T RUN NORMALLY WHEN MANY CONNECTIONS
    
    Problem & Analysis:
    Semisync Ack thread uses select() call to check if sockets are
    available for read. But select() uses FD_SET which is limited
    by FD_SETSIZE(1024 by default).
    
    Select() man page says:
    #######################
    "An fd_set is a fixed size buffer.  Executing FD_CLR() or FD_SET() with a
    value of fd that is negative or is equal to or  larger  than
     FD_SETSIZE will result in undefined behavior."
    ########################
    
    Fix: Semisync ack thread is changed to use poll() instead of select().
    On some systems, poll may not be available, hence the code is wrapped
    around HAVE_POLL define.
    On the systems that still use select(), Ack receive thread will generate
    an error and semi sync will be switched off. Windows systems is exception
    case because on windows this limitation does not exists.

commit 061c4a489bdd1461d94b0e0fa950791d3cd1d600
Merge: 6adbeea 95d277b
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Oct 28 11:48:04 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 95d277b0dadc785efdf6324e3e8e838950644d0f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Oct 28 10:24:40 2016 +0200

    Bug#24968735 - MODIFYVIEW `STMT` FIELD SHOULDNT BE MARKED AS REQUIRED
    
    Description
    ===========
    `stmts` field defined in `Mysqlx.Crud.ModifyView` message was marked as
    required which limits future modification/features. This field must be
    marked as optional.
    
    Fix
    ===
    The definition of "protobuf" field was changed to "optional". When
    X Plugin detects that the field is missing it going to generate an
    error.
    
    RB: 14436
    Reviewed-by Andrzej Religa <andrzej.religa@oracle.com>

commit 6adbeea82812aed1e2dce787cc1989b943ed2fc8
Merge: 79f0127 cf075fd
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Fri Oct 28 10:41:03 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit cf075fd9bb13998ec0e6842dc475d21c8adb1910
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Thu Oct 27 23:05:17 2016 +0100

    BUG#24961893 - GROUP REPLICATION BREAKS BUILD ON SPARC32
    
    Description:
    -----------
    Building current MySQL 5.7 and trunk on sparc 32 breaks:
    
    In file included from /usr/include/procfs.h:23:0,
                     from
    .../mysql/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xc
    om/xcom/task.c:58:
    /usr/include/sys/procfs.h:42:2: error: #error "Cannot use procfs in the large
    file compilation environment"
     #error "Cannot use procfs in the large file compilation environment"
    
      ^
    *** Error code 1
    
    How To Repeat:
    -------------
    Use a solaris machines.
    
    Set up environment:
    export PATH=/opt/gcc/bin:/opt/csw/bin:$PATH
    
    git clone git@myrepo:mysql
    cd mysql
    git checkout mysql-5.7
    
    export CC=/opt/gcc/bin/gcc
    export CXX=CXX=/opt/gcc/bin/g++
    
    export WITH_BOOST=/usr/local/share
    
    mkdir build && cd build
    
    /opt/csw/bin/cmake .. -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_C_FLAGS="-m32"
    -DCMAKE_CXX_FLAGS="-m32"
    
    gmake -j80
    
    Fix:
    -------------
    Removed unused header in XCom code in GR.

commit 79f0127a47437609388da359d4e3d8c0612bdc82
Merge: 3fd300f a05bf67
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Oct 28 11:21:27 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit a05bf674ee7d4dc64dc1488be62f02a1ff424721
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Oct 28 11:15:36 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Add missing suppressions to gr_recovery_conflicting_data_failover test.

commit ec7af3044541df86e804c5c878f899f5db417bee
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 13:59:58 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Use LINK_LIBRARIES and DEPENDENCIES arguments of MYSQL_ADD_PLUGIN
    instead of explicitly use TARGET_LINK_LIBRARIES macro.

commit 3fd300f0729a3f787eac5a88a5719f0aa47fc14c
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Oct 26 11:53:32 2016 +0200

    Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
    FILE IS NOT AVAILABLE - fix for trunk - based on file's HASH

commit fce61c6025a232f6130f4730e95d343185725e36
Merge: 1ee4dd7 ce04da3
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Oct 28 10:05:35 2016 +0200

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit ce04da3b1ec664c27ce4c406dc7cee76524110ec
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 13 11:57:03 2016 +0200

    Bug #23498254: KEYRING_FILE SHOULD NOT DUMP ITS CONTENT WHEN KEYRING
    FILE IS NOT AVAILABLE - fix for 5.7 based on file's stat

commit 1ee4dd766da43ee4d9534044aa7b5dd57d62890e
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Oct 26 15:16:23 2016 +0200

    Bug#24807594: Post-push fix.
    
    Check for sdi file name equality must also compare schemas (databases).
    Filter output from --list-files to make output stable also in embedded mode.

commit 65a79c36fec9758131164718e7c628fb635f0642
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Oct 28 11:10:17 2016 +0400

    Bug#24572048: REMOVE THE UNUSED AND NON-STANDARD "WITH CUBE" SYNTAX CLAUSE
    
    The parser accepts the syntax element WITH CUBE within a GROUP BY clause.
    We remove this syntax support since it is neither standard nor implemented
    in the executor in any version of MySQL.

commit 9c210405366f5938eed519afbb4025c032d6a579
Merge: 4b023b8 b012d7b
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 12:24:06 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b012d7b100b93fb68c2a8250dbf506f3c1273dfd
Merge: a65bf3f 9b0ea01
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 12:23:00 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9b0ea01379f72c3fef40f61110f5e014410b7914
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 28 12:20:33 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix : fixing valgrind issue.

commit 4b023b821f17487f4d1ff59388e90815d045874b
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Oct 26 16:20:27 2016 +0200

    Bug#24949179: Handle simultaneous DD cache misses with object eviction.
    
    In the shared DD cache, when several threads tried to acquire the same
    non-present DD object simultaneously, only the first would handle the cache
    miss by fetching the object from disk. When the first thread was putting the
    object into the shared cache, the other threads (waiting for a condition
    variable) were broadcasted, and one of them would proceed with the assumption
    that the object was indeed in the shared cache. However, this might not be
    the case if the cache is under sufficient stress that the object is evicted
    from the cache after the first thread has put it there, but before the second
    thread tries to get and return it.
    
    The fix is to let a thread being awakened after waiting for a cache miss
    being processed continue and try to fetch the object from disk if it was not
    present in the shared cache, i.e., treat a missing object as a cache miss in
    the normal way.

commit 094713165ef564ba8e89382a6f389734ca827aa9
Merge: c946832 a65bf3f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Oct 27 21:32:12 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit a65bf3f3c0574b69d8a15bfb957b5f8726147195
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Oct 26 11:43:17 2016 +0200

    BUG#24562707 MYSQL X PLUGIN VERSIONS - WHICH VERSION SHOULD WE USE TO DO CHECKS?
    
    Description
    ===========
    X Plugin gives out its version to any connected user (not
    authenticated). MySQL Server already holds the version in I_S
    to which the access can be controlled by the administrator,
    The duplicated version suggests that the user could detect
    the supported features by checking it (which isn't true).
    
    Fix
    ===
    X Protocol capability holding the plugins version was removed.
    Still user can get it by executing following a query on I_S:
    
      SELECT `PLUGIN_VERSION` FROM `information_schema`.`plugins`
        WHERE PLUGIN_NAME='mysqlx';
    
    User is going to see only the "MAJOR" and "MINOR" part of
    semantic version. The "PATCH" part is going to be hidden.
    
    RB: 14397
    Reviewed-by Andrzej Religa <andrzej.religa@oracle.com>
    Reviewed-by Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit c946832a1764505de73c3fa52eee5bcb133dfc3a
Merge: aec1d6f 7ab994e
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Oct 27 19:07:40 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7ab994e8116c8215022c4f92703a3ba770b49420
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Sep 28 15:27:28 2016 +0200

    WL#9395: X Protocol - View DDL
    
    Any Find CRUD request that can be expressed in an application
    can be turned into a View object, which can in turn be queried
    themselves through Find requests.
    
    Approved-by: Vinay Fisrekar <vinay.fisrekar@oracle.com>

commit aec1d6f8e159947c38c434c26022437941458fc3
Merge: fd45283 fa3ac1d
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Oct 27 18:07:30 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit fa3ac1dd4faac6ac9d1e3a41ee89b6b3625b83ef
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Oct 27 15:46:08 2016 +0200

    Bug #24963952: XPLUGIN: LIST_OBJECTS RETURN WRONG INFORMATION FOR SOME TABLES
    
    Description:
    For a table created according to 'CREATE TABLE foo (doc JSON)'.
    The command 'list_objects' is reporting the table as a collection.
    It is wrong because this table does not meet the requirements of a
    collection.
    
    Solution:
    The assessment of said table has been improved.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14427

commit d66e1e2a0923a71d8af18d8db369428e2ca2f79a
Merge: f2f0654 86f2a19
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 19:32:14 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 86f2a191a7094fb6e34d923194a6727ae1e3cb4a
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 19:26:19 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Post push fix : Fixing build issues.

commit fd4528358e86d26ef055269ad9fbb1acf735b11c
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 20 11:51:41 2016 +0200

    Bug#23274244 INDEXING JSON COLUMN SHOULD SUGGEST GENERATED COLUMNS
    
    Change confusing error message.
    
    Change-Id: Ib0001f7af862b1a3dcf6f8fa74bdce8a46e7ca14

commit c4d25e83056de4e8ebdc3b67028a6103fca6c729
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Oct 21 12:42:36 2016 +0200

    Bug#24930038 BITWISE SHIFT: ASSERTION FAILED: NULL_VALUE OR LOST CONNECTION TO SERVER ERROR
    
    Problem:
    Item_func_repeat returns nullptr when maybe_null is false
    Solution:
    Return error_str() which checks for maybe null and returns a suitable
    result.
    
    - removed checks in Item_func_concat_ws as error_str already takes care
    of those cases.
    - reverted change in filesort.cc as the assumption was wrong
    
    Change-Id: I84ce76647f0a23e9b3ef72f47c2eba8920e0ac11

commit 3838d40823d6d758d89763b889ee4c4a9d29702e
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Oct 12 13:02:27 2016 +0300

    Bug#24962700 REMOVE UNNECESSARY ITEM MEMBER FUNCTIONS
    
    Item_bool::func_name(): Remove the unused non-overridden member function.
    (Item_bool inherits Item_int, not Item_int_func and Item_func.
    Item_func::func_name() is being called, but not Item_bool::func_name().)
    
    Item::cleanup_processor(), Item::propagate_derived_used():
    Define as non-virtual inline member function.
    
    Item_udf_sum::may_have_named_parameters(): Remove.
    (Item_udf_sum does not inherit Item_func, where the virtual
    member function is defined, but its ancestor Item_result_field.
    The only caller of may_have_named_parameters() is Item_func::itemize(),
    invoking it as Item_func::may_have_named_parameters().)
    
    Remove the unused member functions fix_length_and_dec().
    
    Remove the unused member functions size_of().
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit 9044a3d3237a79e0cda17692ce2fd04746aa2b9a
Merge: 37ffb04 d66e1e2
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 19:34:28 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 37ffb043200b0ca4f8a347f95b325d9bb77e58b8
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 27 16:23:22 2016 +0530

    Bug #16583910 : DATETIME ROUNDING PROBLEM.
    
    
     Issue:
     ------
     Inserting a TIME, DATE, or TIMESTAMP value with a fractional
     seconds part into a column of the same type but having fewer
     fractional digits results in rounding. This is change in
     behavior from 5.5 where mysql used to truncate the
     fractional second part.
    
     Solution:
     ---------
     Introduced a new sql_mode TIME_TRUNCATE_FRACTIONAL. If this
     mode is set to ON, fractional seconds which cannot fit in
     given fsp will be truncated.
    
     Upgrade:
     --------
     For 5.7. addition of TIME_TRUNCATE_FRACTIONAL requires
     changes in system tables proc and event. Because of this
     upgrade has to be done when replacing the old versions.

commit f30043590273562b29e70bb12bfd9c1225f567d1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 26 08:44:58 2016 +0200

    Bug#24953896: REMOVE DD #INCLUDES FROM GIS HEADERS
    
    Avoid #including data dictionary headers in GIS headers
    to reduce the amount of code that needs to be recompiled
    when dictionary code changes.
    
    Refactoring - no change of behavior.

commit 065dfacc7b7083a6989529c6266f800419cf0a86
Merge: 11a8fdf f2f0654
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 15:42:36 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f2f06544914f78cc9aa25e43a60dad7d81069b79
Merge: 63339c6 219420f
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 15:39:44 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 219420ff76222ccaf7a2fe02bc7c384ab424a65d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Oct 27 15:33:52 2016 +0530

    WL#8885: Introduce a delay in authentication process
             based on successive failed login attempts
    
    Description: This patch introduces a new audit plugin named
                 connection_control. Using this plugin, it is
                 possible to introduce an incremental delay in
                 server response if consecutive failed login
                 attempts for a given user account crosses user
                 defined threshold value.
    
                 It is possible to configure threshold value
                 to trigger delay, minimum/maximum amount of
                 delay through system variables introduced by
                 connection_control plugin.
    
                 This patch also introduces a new information
                 schema view through an information schema plugin,
                 connection_control_failed_attempts_view. This view
                 provides information about consecutive failed
                 attempts for various user account.

commit 11a8fdf978d6bea7f39e58fdc0e7f73143ce8662
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Oct 27 12:04:08 2016 +0300

    Bug#23854015 post-fix: Try to make the test deterministic.

commit f7c54ca31f19edbb959e6c3014a7af6f9e6d15b7
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Oct 27 16:29:38 2016 +0800

    Bug #24930682: NEED A PROGRAM TO AUTO-GENERATE WEIGHT TABLES FOR UCA9.0.0
    
    Add uca9-dump.cc which is used to auto-generate weight tables we
    use in utf8mb4 collations. This file will be used for further
    optimization by customizing these tables.

commit d1184a8062526d46fc1ecdac073174d1ed74016f
Merge: 25944ad 63339c6
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 10:24:28 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 63339c647bdd8910f96947fde859c45670db0de6
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 10:17:32 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Remove combinations from default.release to avoid platform
    linux-x86-64bit-devbld on trunk to take too much time to run.

commit 3a0ae5d67171afa5621981fece98fb9b947f5a95
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 09:44:37 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Added empty disabled.def file.

commit 805af3480f9af520f1e16371caddc81801df3c80
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 09:40:45 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Remove nondeterministic assert from gr_variables_default_values test.

commit 25944ade4589ec1b96460c86effbcc8a3cc48cdf
Merge: ebb5566 fc90df0
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Oct 27 10:12:38 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit fc90df0ff12dac73c37e6504a404feccb3c9bd64
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Oct 27 10:11:37 2016 +0530

    BUG#24923840 INCORRECT ARGUMENT IS PASSED BY INNODB TO SYSCALL(SYS_FUTEX)
    
    Issue
    =====
    According to futex manual (http://man7.org/linux/man-pages/man2/futex.2.html)
    third argument of FUTEX_WAKE_PRIVATE is number of waiters to wake up.
    However, InnoDB passes MUTEX_STATE_LOCKED, which is mutex state, in it's
    code.
    
    Fix
    ===
    Replace MUTEX_STATE_LOCKED with 1.
    
    RB: 14405
    Reviewed-by: Sunny Bains <Sunny.Bains@oracle.com>

commit ebb556612db284329887549f660c5635cd613862
Merge: a7fbd2b 1f3b29a
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 01:47:11 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1f3b29a26c77fbbaa1c14d9b9e469b5fc90e63b9
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Oct 27 01:05:20 2016 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    MySQL Group Replication is a MySQL plugin that brings multi-master
    update everywhere to MySQL. This plugin ties together concepts and
    technologies from distributed systems, such as group communication,
    with traditional database replication. The ultimate result is a
    seamlessly distributed and replicated database over a set of MySQL
    servers cooperating together to keep the replicated state strongly
    consistent.

commit b525ace38d71a8860b7a773491b5c5e903068a81
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Oct 25 12:43:26 2016 +0200

    Bug#24947597 SHIFT-OR COMPILER BUG WITH GCC -FEXPENSIVE-OPTIMIZATIONS
    
    GNU C/C++ 5.2.0/5.3.0 compiler has a bug for big-endian systems
    optimizing a some shift-or to a faulty load if -fexpensive-optimizations
    is used.
    
    Expensive optimizations is turned off if that compiler bug is detected.
    
    Reference bug for GNU C/C++ is:
    Bug 67781 - [5 Regression] wrong code generated on big-endian with -O1
    -fexpensive-optimizations
    
    (cherry picked from commit 9072e9014dde0cdbdce0bd631df36461474eb7e1)

commit f4a1b83aa6ccb7f3983e8534ae86e3dd121d64db
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Oct 20 15:11:22 2016 +0200

    Bug #24571672 DO NOT USE -FNO-EXPENSIVE-OPTIMIZATIONS JUST TO AVOID
    FUSED MADD INSTRUCTIONS
    
    Post push fix to use -fno-expensive-optimizations if the compiler
    doesn't support -ffp-contract=off.
    
    (cherry picked from commit d90ffbb4e2309993e2f94c10992c37f3ce5fe5dd)

commit 730d4ebfad27301395d740d4448f30b97b2d9c87
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Oct 10 12:54:05 2016 +0200

    Bug #24571672 DO NOT USE -FNO-EXPENSIVE-OPTIMIZATIONS JUST TO AVOID
    FUSED MADD INSTRUCTIONS
    
    The fix for bug #23046775 introduced the -fno-expensive-optimizations
    compiler flag on some platforms. This patch lifts that restriction and
    instead explicitly turns off fused multiply-add instructions by
    setting -ffp-contract=off.
    
    This patch is a contribution from Alexey Kopytov.
    
    (cherry picked from commit a3ebd157e71347d5f654510d752aa699d6808fc7)

commit a7fbd2b79ef4f1e20960bf2185cc4c64c0ae8f1d
Merge: aa754f2 9072e90
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 26 22:31:46 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9072e9014dde0cdbdce0bd631df36461474eb7e1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Oct 25 12:43:26 2016 +0200

    Bug#24947597 SHIFT-OR COMPILER BUG WITH GCC -FEXPENSIVE-OPTIMIZATIONS
    
    GNU C/C++ 5.2.0/5.3.0 compiler has a bug for big-endian systems
    optimizing a some shift-or to a faulty load if -fexpensive-optimizations
    is used.
    
    Expensive optimizations is turned off if that compiler bug is detected.
    
    Reference bug for GNU C/C++ is:
    Bug 67781 - [5 Regression] wrong code generated on big-endian with -O1
    -fexpensive-optimizations

commit aa754f24f2f7732d1b44f7a12f78ba79c5960ebb
Merge: fecb4c0 62fd648
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Oct 26 19:37:03 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 62fd64882aaf684f233e3aa3413b4ca4c1d050d3
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Oct 26 08:55:33 2016 +0200

    Bug #24953949: FIX ORDER OF P_S QUERY RESULTS IN MAIN.MDL_TABLESPACE
    
    Add explicit ORDER BY clause to the SELECT statement in order
    to get repeatable ordering.

commit fecb4c0e7aaa570929e8e5edd87e6162331a63b1
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Oct 26 18:02:59 2016 +0200

    Bug#24847537 - AUTH SUCCEEDS AGAINST ANY MATCHING ACCOUNT
    
    Post push "doxygen" fix

commit 666b0775af76c8ba368fd8d1131618b1bdc9fa16
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 26 15:35:51 2016 +0200

    Bug#24911874 FIX COMPILE WARNINGS ON WINDOWS
    
    Disable some conversion warnings for visual studio when building item_geofunc.
    This patch silences some 1000 warnings.
    
    Change-Id: Ib051ddec7a100371a22619184d2a5ad762927f40

commit b6120833d678efc3975ead716bcc79834f063f6b
Merge: 76ddb65 c6a2ee8
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Oct 26 14:24:28 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit c6a2ee883550194b3c0ea89be19f9699a9c8777f
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Oct 24 19:16:04 2016 +0200

    Bug#24847537 - AUTH SUCCEEDS AGAINST ANY MATCHING ACCOUNT
    
    Description
    ===========
    X Plugin implements is own MySQL Server account lookup, which
    goes through all accounts and tries to match the user.
    This process should stop at best match of columns `USER` and `HOST`
    from `mysql`.`user` table.
    
    Fix
    ===
    The lookup process is already implemented by server API, which
    must be used for choosing the user. X Plugin is going to query data
    that are required for authentication and are not available through
    server API.
    
    RB: 14373
    Reviewed-by Andrzej Religa <andrzej.religa@oracle.com>
    Reviewed-by Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit 76ddb6555a3aef2a7226acb1f59381e093e35805
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Sep 29 10:13:01 2016 +0200

    Bug#24807594: SDI FILE LOSTS AFTER ALTERING DATABASE
    
    Problem: When updating DD entries it is necessary to write a new SDI file,
    and remove the old one iff the filename has changed. For ALTER TABLE the
    use of intermediate tables ensures that the name always changes, making it
    safe to always remove the old SDI file. For ALTER SCHEMA|DATABASE the
    opposite is true; since rename of schemas is not permitted, the SDI file
    name will never change.
    
    Solution: Trigger SDI operations from Storage_adapter member functions.  As
    the number of places that trigger changes to the DD increases, it becomes
    harder to make sure SDIs are stored and removed with correct transactional
    semantics everywhere.
    
    Instead SDIs now gets stored from Storage_adapter::store() and removed from
    Storage_adapter::drop(). This covers most cases, but in addition there
    needs to be a drop SDI hook in Dictionary_client::update() to make sure
    intermediate SDI files get cleaned up properly. Correct execution of this
    hook fixes the problem with lost SDI files after ALTER SCHEMA|DATABASE.
    
    Since sdi.h now is only needed inside the dd/impl hierarchy it has been
    moved there. The api for storing and removing SDIs has been placed in a
    separate namespace and renamed to better match the naming conventions at
    the new callsites.

commit 485f67bb38314849a50abb191a3ba5cf8c33d185
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Oct 26 11:48:23 2016 +0200

    Doxygen cleanup

commit 47f8cc302241d39e4d9eba117dc127a14e056493
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 26 10:01:51 2016 +0200

    BUG#24943305: X Plugin: removing dependencies to the boost library classes
    
    Post-push fix: Fix broken Windows build - add missing #include

commit d9c70fbb3f862d2a90eded469364a5dbc64fd4e6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 26 09:55:48 2016 +0200

    Bug#24911874 FIX COMPILE WARNINGS ON WINDOWS
    
    The template array_elements returns a size_t.
    Use size_t in typelib, to avoid conversion warnings.
    
    Post-push fix for
    comparison between signed and unsigned integer expressions [-Werror=sign-compare]
    if (tmp < 0 || tmp >= slave_conflict_role_typelib.count)
    
    Change-Id: I9474ecbf14d093186d2dd0ea3cd28643a1a9cdb0

commit 6602ba7099a30864051733310bedc67583100862
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 26 09:32:31 2016 +0200

    Fix recently introduced Clang build warning:
    rapid/plugin/x/mysqlxtest_src/mysqlxtest.cc:59:22: error:
          unused variable 'MYSQLX_PORT' [-Werror,-Wunused-const-variable]
    const unsigned short MYSQLX_PORT = 33060;
                         ^

commit 97ce584bcb7a2a645f3ad774fe0d6b31c1515595
Merge: ec7e075 0b96a64
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Oct 25 21:19:50 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0b96a644b985dd0885d3a1b59f08d899d0f33b7e
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Oct 25 18:47:15 2016 +0200

    WL#9457: Deprecate support for non-native partitioning.
    
    This WL inplements the following changes:
    
    1. The bootstrap implementation in the server is extended with
       support for executing a single query.
    2. While restarting the server, an I_S query is executed to
       trigger a scan of all .FRM files in the server.
    3. The query in 2. is skipped if the command line option
       '--disable-partition-engine-check' is submitted.
    4. When opening an .FRM file, a deprecation warning is issued
       if the table in question is using the non-native partition
       engine. Before the server is open to external connections,
       the warning is printed to the error log. Afterwards, the
       warning is returned to the client.
    5. The warning in 3. is suppressed for I_S queries, CHECK
       TABLE, etc. Instead, to ensure repeatable results, the
       warning is issued in the processing of the meta data.
    6. Add test wrappers for tests being run with different default
       storage engines to keep results separate for engines not
       supporting native partitioning.
    7. Test changes due to deprecation warnings. Record new result
       file and slight test changes to make results predictable and
       repeatable.
    
    Item 4 above means that for the I_S query executed during
    server restart, there will be a warning in the error log for
    each non-natively partitioned table.
    
    For DDL and DML statements accessing a non-natively partitioned
    table, a warning will be issued if the statement execution
    makes an .FRM file be opened. This is done to keep the amount
    of warnings down for DML statements. For CREATE and ALTER table,
    a warning will always be issued.

commit ec7e075b109e71cd488ff28fbed7334a24e049ce
Merge: 695ffc1 3b19ebd
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Oct 25 20:06:41 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3b19ebd97839bff35e379dfdc8e0ccb965dc4a3d
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Oct 12 17:19:31 2016 +0200

    BUG#24943305: X Plugin: removing dependencies to the boost library classes
    
    Description:
    This is the second step of removing dependencies to boost lib in
    branch 5.8. Everywhere where it is possible boost functionality has
    been replaced by function from the standard library or the x-plugin own implementation.
    
    Solution:
    All dependencies to boost lib have been removed from branch 5.8.
    For branch 5.7, usages of boost lib have been minimalised to the
    lowest level.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>
    RB: 14358

commit 695ffc1f28c428ff986699398b5268a259e40867
Merge: 7d0504b 4ca3f42
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Oct 25 18:47:06 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7d0504b2764ff5957099df74f178972975db1bd4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Oct 24 10:57:02 2016 +0200

    Bug#24911874 FIX COMPILE WARNINGS ON WINDOWS
    
    The template array_elements returns a size_t.
    Use size_t in typelib, to avoid conversion warnings.
    Static-cast array_elements to <int> in other contexts.
    
    Change-Id: I8727d8a3e3cfc950272e4f99c2d9115834154baf

commit 4ca3f42565b0c63b3efd559f02b6150271ccdc62
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Oct 11 12:21:44 2016 +0300

    Bug #23616760: GR VARS ARE ABLE TO SET TO 'DEFAULT' INSTEAD OF ERROR ER3093
      WHEN GR IS RUNNING
    
    Added a new plugin variable flag PLUGIN_VAR_NODEFAULT that, when set,
    will install a check handler disabling SET DEFAULT for the plugin
    variable it is set. The flag is off by default.
    Added a test case too. And bumped the plugin API's minor.
    Made the x plugin test less unstable.

commit ad910e8f8187364122ff180af4c4355fe5cb5f7c
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Oct 25 16:07:52 2016 +0200

    Code formating.
    
    Applied clang-format 4.0.0 (git)

commit 0f4eac8bf65cd197809a7d8f6da9422ce42af3b5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 21 13:35:28 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Make sure always_inline functions are inlined also for MSVC.
    
    Change-Id: I6294a58e5fcb44b24e939996208e68665a0591c3

commit 44a30aff74774284e987fd93adfb8084178eaefc
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Oct 25 14:46:10 2016 +0200

    Bug#24579061 UPGRADE TO BOOST 1.62.0
    
    Post push fix to comment out 3 queries that fail on FreeBSD and
    OS X. The new issue is filed as bug #24947868.

commit 28421cefdb5d47d416f38719649b4abe84f10e4b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Sep 29 09:49:45 2016 +0200

    Misc cleanup

commit 70837cb2503a1a11950eb6fa38b02cab69f25300
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Oct 25 10:51:28 2016 +0200

    Bug #24947217: MTR DOES NOT WORK WITH PERL 5.24.0
    
    Add . to @INC to keep on working with newer Perl.
    
    Change-Id: I2027f939a23ea4e0b5dc8078b66bfcfe012d8c8d

commit f6cf298ce3d3069663d8270c25dea2197fa4ec1f
Merge: 44b3aa5 b143d06
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 25 11:08:07 2016 +0200

    NULL merge branch 'mysql-5.7' into mysql-trunk

commit b143d0627192e2d01989f52c261901fc5c46f6cc
Merge: 67dbb56 b0715f1
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 25 11:07:03 2016 +0200

    NULL merge branch 'mysql-5.6' into mysql-5.7

commit b0715f192f80c56f025a81135dbcc7471d95ee03
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 20 18:13:13 2016 +0200

    Bug#24926839 ENABLE DEVELOPERSTUDIO12.5 FOR MYSQL 5.6
    
    configuring unit tests fails, we do not recognize developer studio 12.5
    build with -DCMAKE_CXX_FLAGS='-std=c++03 -m64' -DCMAKE_C_FLAGS='-m64'
    
    Fix: backport compiler version check in cmake/os/SunOS.cmake from 5.7

commit 356146a6228189b663824042f1bca1ee223f8644
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 25 09:32:43 2016 +0200

    24941880 SPARC COMPILER BUG ......
    
    Bug is probably a combination of a compiler bug, and slopy
    type declaration of MgmdSrvr::_blockNumber.
    
    By changing the type to 'BlockNumber' (Uint16), which
    is actually is, we aid the compiler to generate the correct
    assembly code when producing a 'BlockReference' based
    on _blockNumber.

commit 44b3aa5fa5251d88180a6dbc49cdd56869e8c586
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Oct 25 08:36:13 2016 +0200

    Bug#24655803 INFORMATION_SCHEMA FOREIGN KEY META DATA DIFFERS IN 8.0.0
    
    Post push fix, recording proper osx/windows result for
    funcs_1.is_key_column_usage_embedded_ci test.

commit 75f05cba7539386bdee397f04e42871de1c30354
Merge: ecf44ae 67dbb56
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 24 14:05:38 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 67dbb560c80c45295f0d7cd9fc15c853cced6f0b
Merge: 2b63f7e a9066d6
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 24 14:05:19 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit a9066d6184d35e8ee979eb137ba75946856abf7d
Merge: 77c0480 db5f61a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 24 13:15:48 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit db5f61ad9f0e22473664f30f60e5e8a1872819cb
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 24 13:11:34 2016 +0200

    Bug#24925181 INCORRECT ISA DETECTION CODE IN OEL RPM SPEC
    
    Wrapper for mysql_config used in multilib installs modified to work as
    intended, added more archs (aarch64, ppc64le, s390x, s390, sparc and
    sparc64) to lists in fallback mode and use same script for EL and
    Fedora.
    
    Thanks to Alexey Kopytov for report and fix.

commit ecf44ae5587036b23809ac839b6817f9c2035679
Merge: 4516846 2b63f7e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Oct 24 13:01:47 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2b63f7e357f6c83bf1ce39a984bff58608f8cc72
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Oct 24 12:39:02 2016 +0200

    Bug #22843444: INSERTING LARGE JSON DATA TAKES AN
                   INORDINATE AMOUNT OF TIME
    
    Record result for ndb.

commit 23b83cdfbf9e232f56665526ce187b1cefd33c6f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Oct 21 13:11:53 2016 +0200

    Bug#24931655 RACE CONDITION BUILDING LEX_HASH.H
    
    Mysql cluster is experiencing race conditions generating lex_hash.h
    
    Fix:
    Generate lex_hash.h locally for the embedded server,
    rather than picking it up from the sql/ build directory.

commit 451684611e916c2685f93c98149ac6e108778a39
Merge: 0fd77bd e47f8f2
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Sun Oct 23 11:35:22 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e47f8f2907c503f92071c34b3c7b3ac546ca2573
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Oct 20 12:12:47 2016 +0530

    BUG#16888677: OUT OF RANGE VALUE ACCEPTED FOR DATETIME
                  COLUMN IN ALTER TABLE...ADD COLUMN
    
    Analysis:
    ========
    
    ISSUE1:
    ALTER TABLE, INPLACE operation to add a DATE/DATETIME column fails
    to report an error  when:
    a) Field is NOT NULL and DEFAULT value is not supplied.
    b) Strict and 'NO_ZERO_DATE' sql modes are enabled.
    c) Table is not empty.
    
    ISSUE2:
    ALTER TABLE, INPLACE/COPY to add a DATE/DATETIME column fails with
    an error:
    a) Field is NOT NULL and DEFAULT value is not supplied.
    b) Only strict mode is enabled.
    c) Table is not empty.
    
    The 'mysql_inplace_alter_table()' function did not handle the
    condition mentioned in issue1 in order to report an error. A flag
    'error_if_not_empty' is set  when the conditions mentioned in
    issue1 occurs. This flag was not checked in
    'mysql_inplace_alter_table()' to raise an error.
    
    When only strict mode is enabled, the operation mentioned in
    ISSUE2 is supposed to succeed. But 'mysql_prepare_alter_table',
    checked for strict mode rather than 'NO_ZERO_DATE' when setting
    the flag 'error_if_not_empty'. Thus the operation failed reporting
    an error.
    
    Fix:
    ===
    ISSUE1: The 'mysql_inplace_alter_table()' is modified to check for the
            flag 'error_if_not_empty' and raise an error if the conditions
            mentioned in ISSUE1 occurs.
    ISSUE2: 'mysql_prepare_alter_table()', has been modified to remove the
            check for strict mode while setting the 'error_if_not_empty'
            to report warning/error as appropriate.

commit cce9dd3c4fc03c2738d26052ad9a57948a0239fd
Merge: edd3c26 14c125e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Oct 21 13:31:13 2016 +0100

    Merge commit '14c125ec9be22cbb2046779db86b0409b76a9ba6' into mysql-trunk-cluster

commit 0fd77bd05b90cc4e6ca04dc651af7d46e0a5b3a2
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Oct 21 13:01:33 2016 +0200

    Bug#24910958 follow-up
    
    - removed test-case in func_bitwise_ops as it is not needed
    
    Change-Id: Ib7fc903f4814e40a8a8fc6e96ac8dbbbd84993db

commit 787eb0d9ceecf760783579b88e27e7a01c8110bc
Merge: 79f673f b0fa8dc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Oct 21 13:08:41 2016 +0200

    NULL merge branch 'mysql-5.7' into mysql-trunk

commit b0fa8dc23ef2bb8a8e97b898fc7ef567f575fc95
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Oct 21 13:05:25 2016 +0200

    Bug #24764800       REPLICATION FAILING ON SLAVE WITH XAER_RMFAIL ERROR
    
    Post-push fix: broken UBSAN build.
    Linking CXX executable mysqltest_embedded
    ../libmysqld.a(sql_class.cc.o)(.data.rel+0x2dd8):
    error: undefined reference to 'typeinfo for Relay_log_info'
    
    Fix: hide Relay_log_info code in embedded mode.

commit 79f673fbd7279f76a00bde7e1dbf1481eca4dcda
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Oct 21 11:17:01 2016 +0200

    Bug#24918521 REMOVE TYPELIB FROM MYSQL.H
    
    Additional patch: run include-what-you-use on typelib.h
    Also: remove my_alloc.h and typelib.h from installation package.
    
    Change-Id: Ice6681e02559f1bbc9b0420fb1e7a0c8fab27464

commit ef5583d305cc40f0c5b035dd91c7a990cc9f8a59
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Oct 21 11:14:32 2016 +0200

    Bug#24918521 REMOVE TYPELIB FROM MYSQL.H
    
    Remove typelib from mysql.h, it is not part of the client API.
    
    Change-Id: I2db455de51314112ec267304e467f4de4f7256d7

commit 53949552798aabb3a600092089a8ec64b450dc51
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Oct 21 14:57:03 2016 +0530

    BUG#24924607 - DEPENDENCY ERROR - MYSQL CLUSTER 7.5.4 PACKAGES ON EL PLATFORMS

commit 967cb6446f758f409cfe8a9a8e82ca413d1ac835
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Fri Oct 21 14:52:50 2016 +0530

    Bug#24658707 ASSERT: BUF0BUF.CC:2469:BUF_BLOCK_GET_STATE(BLOCK)
    == BUF_BLOCK_FILE_PAGE
    
    Issue
    =====
    The issue is that during commit_inplace_alter_table we wake up the purge
    thread and we take a btr search latch and try to disable the adaptive hash
    search system and empty the index. The purge operation happening in the
    background, when flushing the pages, tries to remove possible adaptive hash
    index on the page and it sets the the block state as BUF_BLOCK_REMOVE_HASH
    and waits on the btr search latch taken by the alter command. And in the
    alter command when we're trying to empty the hash index of the same block
    we hit the assertion ut_ad(buf_block_get_state(block) ==
    BUF_BLOCK_FILE_PAGE) as the block state was changed by the purge operation.
    Both the threads would be working on the same block at the time of
    assertion.
    
    Fix
    ===
    The workaround solution for now is to remove the debug assert.
    
    RB: 14344
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>

commit 2d5de88c58204272d8c836c54c3cef79e85ac40f
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Oct 11 12:33:23 2016 +0200

    Bug#24579061 UPGRADE TO BOOST 1.62.0
    
    Upgrade dependency to 1.62.0 and remove those patches for Boost 1.60.0
    that are already included in 1.62.0. Add patches to fix bugs in Boost
    1.62.0.
    
    Also add patch to boost/exception/info.hpp to fix error C4099 (type
    first declared struct, then class) in Visual Studio. Add
    BOOST_PATCHES_DIR to the include path in X plugin.
    
    Remove test case for bug #20357097 since it no longer returns an
    error, but instead takes a long time to complete.

commit 9f88b2064ea50b3b9cb813811489e7ba67327624
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Thu Oct 20 17:52:19 2016 +0200

    Bug#24655803 INFORMATION_SCHEMA FOREIGN KEY META DATA DIFFERS IN 8.0.0
    
    Post push fix, recording proper osx/windows result for
    funcs_1.is_key_column_usage_ci test.

commit 5256fe0ccd2e45cedc7ab58751715ba987c71f9a
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Oct 19 11:39:00 2016 +0200

    Bug#24916689: TEMPLATIZE ITEM_CREATE
    
    This function removes Create_func_arg0 and its
    descendents. Instead, we add a template Function_factory and
    a macro DECLARE_UNARY_FUNCTION_FACTORY, that automatically
    creates classes and singleton instances using the
    template. We save roughly 20 LOC for every use if the macro.

commit 5edbd72c1fd0f1cfafa3fbac0ee3bfa6f8acbc26
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Oct 20 20:17:41 2016 +0530

    Revert "BUG#24365145 : "COLLECTING TESTS" PART OF MTR IS SLOW AND RUNS ON A SINGLE THREAD"
    
    This reverts commit e3843d3ea627d80c886ad69c02c30b810b81b51e.

commit e35354fd50eb2041605cd77a142e6ca84075291a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 20 14:21:49 2016 +0200

    Bug#24911874 FIX COMPILE WARNINGS ON WINDOWS
    
    Silence this warning in gis wkt_parser
      boost::spirit::terminal<boost::spirit::tag::lit>::result_helper':
           redefinition of default parameter
    This removes 488 warnings
    
    Change-Id: Iac17c1081a69a3d0c7bd4e1613735337ddb6a6c4
    Also: remove some obsolete checks for 32bit build.

commit d65044fa1b18b931309b988727e0caba749a272a
Merge: 8846728 d90ffbb
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Oct 20 15:34:02 2016 +0200

    Null merge branch 'mysql-5.7' into mysql-trunk

commit d90ffbb4e2309993e2f94c10992c37f3ce5fe5dd
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Oct 20 15:11:22 2016 +0200

    Bug #24571672 DO NOT USE -FNO-EXPENSIVE-OPTIMIZATIONS JUST TO AVOID
    FUSED MADD INSTRUCTIONS
    
    Post push fix to use -fno-expensive-optimizations if the compiler
    doesn't support -ffp-contract=off.

commit 8846728ba9f43ee0da6ffa95d75497ccadf12406
Merge: e2f2df5 521d438
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Oct 20 17:11:05 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 521d4382466f6bbee8fb789e71e5e793eac349d0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Oct 20 13:51:02 2016 +0530

    Bug#24923134 GR KEY GENERATION FOR FOREIGN KEY SHOULD BE IGNORED IF PARENT IS NOT YET CREATED
    
    Problem: When foreign key checks are disabled, user can create
             a foreign key in child table by referring a parent table
             that does not exists. Inserting a tuple into such child
             table is bringing GR server down.
    
    Analysis: In 1.0.0 GR plugin version, the format of hash keys
              (which are used to detect the conflicts) is changed.
              In the new format, server is prefixing the hash keys
              with the index names instead of prefixing P and U letters.
              The assumption is that the index name will always be Non-NULL
              value. Even when users did not specify the key name,
              the name will be generated by the server. The same rule
              applies for referencing index as well. But there is a
              corner case when this is not true i.e., a foreign key
              in the child table can be created by referring a non-existing
              parent table. Such a foreign key can be created when
              foreign_key_checks is disabled. In such cash referencing key
              name will not be generated by Server and it will be NULL.
              This case is not considered in the code causing the reported issue.
    
    Fix: If the query (executed on local machine) or the RBR event
         (executed on remote machine) is executed in a session that
         disabled foreign key checks, hash key generation in that
         case should be ignored. thd->variables.option_bits is set
         with OPTION_NO_FOREIGN_KEY_CHECKS in both the above cases.
         Hence ignore generating foreign key information if
         OPTION_NO_FOREIGN_KEY_CHECKS bit is set in options_bits value.

commit e2f2df5d9da36529c9ed3ba742cf400599e4a14f
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Wed Oct 19 16:04:06 2016 +0200

    Bug#24910958 BITWISE OPERATORS: CRASH IN ITEM_FUNC_BIT_COUNT::VAL_INT()
    
    Problem:
    - eval_str_op sets null_value to maybe_null and returns null when an
    error occurs even if maybe_null is false and null_value is false.
    Solution:
    - Return empy string back as val_int does(returns 0), since at a certain
    point the thd->is_error() will be checked.
    
    Change-Id: Ibad5bcd718dc854d564c947d7d186eeafaa9448d

commit 6ba93f98dcb76a9052e525f2c68a8a5e2963313c
Merge: 2e750ad a3ebd15
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Oct 20 10:49:19 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2e750ad044b740e80b9a5aad9b983ca64131d305
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Oct 14 10:04:19 2016 +0200

    Bug#24655803 INFORMATION_SCHEMA FOREIGN KEY META DATA DIFFERS IN 8.0.0
    
    The problem was that INFORMATION_SCHEMA.KEY_COLUMN_USAGE rarely
    do not show some foreign keys.
    
    The root cause of the issue is that the implementation of
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE system view JOINs with
    mysql.index_column_usage to get POSITION_IN_UNIQUE_CONSTRAINT of
    the foreign key column in use. It uses the data dictionary column
    mysql.foreign_keys.unique_constraints_id to find the
    corresponding index. It seems like unique_constraints_id member
    points to wrong entry. And this is done to duplicate the existing
    InnoDB behavior. Due to which the JOIN fails to get us proper
    row.
    
    Even though the above reason is the root cause for missing some
    foreign key information, after some more analysis we see that
    MySQL 5.7 behavior is that both ORDINAL_POSITION and
    POSITION_IN_UNIQUE_CONSTRAINT are always the same. Hence this
    patch changes implementation of KEY_COLUMN_USAGE to do the same.
    This avoids the need to JOIN with mysql.indexes/index_column_usage
    to calculate POSITION_IN_UNIQUE_CONSTRAINT and fixes the problem.
    
    The patch also makes a change to set
    Foreign_key_element->ordinal_position starting from '1', instead
    of '0'. As the dd::Collection framework does set the ordinal
    position starting from '1' by default, this patch just avoids
    additional call to set_ordinal_position() from dd_table.cc.
    
    Also, the patch records the result of
    main.information_schema_inno. The result recorded by WL#6599 push
    was wrong and that is fixed now with this patch.

commit a3ebd157e71347d5f654510d752aa699d6808fc7
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Oct 10 12:54:05 2016 +0200

    Bug #24571672 DO NOT USE -FNO-EXPENSIVE-OPTIMIZATIONS JUST TO AVOID
    FUSED MADD INSTRUCTIONS
    
    The fix for bug #23046775 introduced the -fno-expensive-optimizations
    compiler flag on some platforms. This patch lifts that restriction and
    instead explicitly turns off fused multiply-add instructions by
    setting -ffp-contract=off.
    
    This patch is a contribution from Alexey Kopytov.

commit ba7402404fc2050b62f9e259e7d967a5dcfd4985
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 27 12:47:31 2016 +0300

    Bug#23854015 OPTIMIZER FAILS TO LOOK UP RAND()
    IN SEMI-JOIN-TRANSFORMED SUBQUERY
    
    SELECT_LEX::resolve_subquery(): Disable the semi-join transformation
    if the left-hand-side of the IN predicate is nondeterministic.
    
    The reason this problem occurs is that we try to create a ref access
    on the subquery table using the result of a random function as
    the lookup value. However, create_ref_for_key() is not designed to
    process random values unless the ref access is created for
    the last table in the join.
    
    If there are nondeterministic components in the IN (subquery),
    the subquery would not be subjected to semi-join transformation
    at all. Instead, the left-hand-side of the IN (subquery) would be
    transformed into a WHERE condition of the subquery.
    
    Reviewed-by: Roy Lyseng <roy.lyseng@oracle.com>

commit 9ac3269488f5ff59229e51eb5fcf55d052cdeef9
Merge: e3843d3 d4c4264
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Thu Oct 20 12:37:44 2016 +0600

    Null-merge branch 'mysql-5.7' into mysql-trunk

commit d4c42648ea9cda2362474bc0befb34ebae065779
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Wed Sep 7 12:00:42 2016 +0600

    Bug#23264552 -- XA: ASSERT `M_STATUS == DA_ERROR' IN MYSQL_ERRNO:SQL_ERROR.H:385
    
    In case a storage engine failed to prepare a branch of an XA transaction
    the method handlerton::prepare() returns nonzero value in the function ha_prepare().
    To handle error condition the function ha_rollback_trans() is called to rollback
    current transaction. While doing rollback the following sequence of functions is called
      ha_rollback_trans --> TC_LOG::rollback --> ha_rollback_low -->
        XID_STATE::set_error --> Diagnostics_area::mysql_errno.
    It results in firing of the assert DBUG_ASSERT(m_status == DA_ERROR) since
    no error has been set in Diagnostics_area. That leads to abnormal server
    termination for the server built in DEBUG mode.
    
    To fix it extra condition added in the function ha_rollback_low() to call
    XID_STATE::set_error() only in case an error is set in Diagnostics_area.
    
    (cherry picked from commit f28c4b9a41ec6929e15f174ef162a667c888f611)

commit e3843d3ea627d80c886ad69c02c30b810b81b51e
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Oct 20 10:41:01 2016 +0530

    BUG#24365145 : "COLLECTING TESTS" PART OF MTR IS SLOW AND RUNS ON A SINGLE THREAD
    
    Issue :
    =======
    It seems "Collecting tests" part of MTR runs for quite some time with
    multiple suites. MTR uses the single thread to collect the tests from
    all the suites. Maybe it's worth investing some time in making it run
    in parallel.
    
    Fix :
    =====
    Spawn multiple threads to collect the tests from different test suites.
    Number of threads running/active at any time shouldn't exceed the number
    of CPUs in the machine.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    RB: 13788

commit 20d82b5b6b139241957a74e847518a2654f95eef
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Oct 19 18:10:28 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Changed sql_mode during binlog purge operation to ignore backslash as escape character.
    On Windows the file path contains backslash which the parser removes causing the
    delete from where ... operation to fail.

commit edd3c263ba1eb9cabe8806e4b2648a0fe6ace6ea
Merge: 679b671 2469249
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Oct 19 16:08:23 2016 +0100

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 2469249551d1fd880628e26429887a283c59af6f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 18 18:18:29 2016 +0200

    Bug#24905714 MOVE FILESORT-INTERNAL STUFF OUT OF SQL_SORT.H
    
    Followup patch: inline some simple getters/setters.
    
    Change-Id: I1443ceaefe6f48edaaa0c7bd93dac4ab47091110

commit 1e0ff126e561200389690dc836bab91cf75e09cd
Merge: 9de24ad fe450e2
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 14:30:27 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit fe450e2267695d6d0f0774be40abd6936dcc4f0c
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 14:26:45 2016 +0200

    Bug#24916428 RPM .SPEC BROKEN FOR "NON-MULTIARCH" ARCHITECTURES
    
    Post push fix: remove removed file from CMakeLists.

commit 9de24ad674de85f9d32c5e34b58e1b5533371c2f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Oct 19 07:40:37 2016 +0200

    Bug#24911350 LOCATE('HE','HELLO',NULL) SHOULD RETURN NULL INSTEAD OF 0
    
    Item_func_locate::val_int(): Copy the null_value flag from args[2].
    
    Reviewed-by: Øystein Grovlen <oystein.grovlen@oracle.com>
    Reviewed-by: Tor Didriksen <tor.didriksen@oracle.com>

commit 3ffa1c43d7b8aad8cede6d0feb61952b73607e76
Merge: 43a65a1 640f3b6
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 13:54:00 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 640f3b6e1a4a66500c01e4b41263254655e67525
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 13:08:58 2016 +0200

    Bug#24916428 RPM .SPEC BROKEN FOR "NON-MULTIARCH" ARCHITECTURES
    
    Building of RPM packages failed on platforms without multiarch
    support, for example aarch64.
    
    Solved by introducing new multilib helpers on Fedora and skip extra
    file on EL platforms. Some clean up in Fedora spec also done.

commit 43a65a1e473448395d9fbeb69357e20994930d65
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Wed Oct 19 15:12:52 2016 +0530

    Bug#24904659 MTR: REDIRECTING ERR TO /DEV/NULL AT SOME PLACES
                 IN SYSINFO.PM FAILS ON WINDOWS
    
    The message "The system cannot find the path specified" is seen
    on MTR console when getting system information on windows as it
    redirects stderr to '/dev/null' in some places. Using 'nul' to
    redirect to the null device on windows.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14312

commit cca944e51d424f7f8bb849eb70a1c93f31dc2798
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 19 11:08:14 2016 +0200

    Bug #24764800       REPLICATION FAILING ON SLAVE WITH XAER_RMFAIL ERROR
    
    Post-push fix: broken UBSAN build.
    Linking CXX executable mysqltest_embedded
    ../libmysqld.a(sql_class.cc.o)(.data.rel+0x2dd8):
    error: undefined reference to 'typeinfo for Relay_log_info'
    
    Change-Id: I7ffd73587132ef3d96cfaf5fa4a971cfd517f08a
    Fix: hide Relay_log_info code in embedded mode.

commit b2eb2f1cf34df5082aca5bb0366ad66678989110
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Oct 13 14:31:38 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Specialize the UCA scanners on number of levels to compare.
    In particular, this allows us to make the scanner significantly
    simpler for the special case of only one level (ie., accent-
    and case-insensitive collations), making for a significant
    speed boost.
    
    Also add a new accent- and case-_sensitive_ benchmark, so that
    we can track the difference in speedup between the two.
    
    Microbenchmarks (Skylake, 3.4 GHz, 64-bit, GCC 6.1.1):
    
      BM_SimpleUTF8MB4       1374 -> 1138 ns/iter  (+20.7%)
      BM_MixedUTF8MB4         597 ->  527 ns/iter  (+13.3%)
      BM_MixedUTF8MB4_AS_CS  1839 -> 1760 ns/iter  ( +4.5%)
    
    sysbench results are pretty much in the noise (+3–4% for a
    single-threaded test).
    
    Change-Id: I942d178962b053e2f65dbb7de1f4ffc61a98ea81

commit 4dce3c6f66007f3069d1186bbb6a8dbca4b123a5
Merge: 5066b45 c5e5d6b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 10:32:24 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit c5e5d6b2621ddf54443780fd3323ddb40e646c61
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Oct 19 10:15:01 2016 +0200

    Bug#24908345 SIMPLIFY 5.6 BUILD IN 5.7+ SPEC FILE
    
    MySQL 5.6 build in 5.7+ spec is only used for mysqlclient and libmysqld,
    none of these need InnoDB memcached plugin, disable.

commit 5066b45282b7be4fa29bf2d80b35bbc82bdc199f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Oct 18 14:14:28 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding my_double2ulonglong.h and then
    re-sorting the #includes (and nothing else); then remove my_double2ulonglong.h
    from my_global.h.
    
    Change-Id: I38f4533ac9593e0fb9fcadf157118c7483629fed

commit 7ddfebf1dfd637247ca3d7660e1fe46581436b94
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Oct 19 11:48:12 2016 +0530

    BUG#24806681 : MTR: INTRODUCE COMMAND TO COPY DIRECTORIES RECURSIVELY
    
    Post-push fix: Fix doxygen errors

commit 820c93b827a70120bc420db5b7d00013dace7839
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Oct 19 10:26:17 2016 +0530

    BUG#24806681 : MTR: INTRODUCE COMMAND TO COPY DIRECTORIES RECURSIVELY
    
    Issue :
    =======
    In MTR, there is no command to "recursively" copy source directory
    to destination directory.
    
    Fix :
    =====
    Added a new MTR command "force-cpdir" which copies the contents of
    source directory to destination directory recursively.
    
    The new command added has the following behaviors :
    
    1. If source directory doesn't exist, an error is thrown.
    
    2. If destination directory doesn't exist, it is created
       and source directory contents are recursively copied to it.
    
    3. If destination directory exists, source directory contents
       are recursively copied to it.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 14276

commit 3569716caa3c7d3400ed191da9d744160874ceb2
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Oct 19 04:33:30 2016 +0200

    Removed "big" from comment for runs which do not have --big-test

commit c97e6625a58e3b927a53fc9a408cccafcb75bd54
Merge: c54fd34 2c5bbf0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Oct 19 07:18:45 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2c5bbf08ff37b82b6c2c91eb207b6caede34b1c8
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Oct 19 07:16:20 2016 +0530

    Bug #23762382: INSERT VALUES QUERY WITH JOIN IN A SELECT
                   CAUSES INCORRECT BEHAVIOR
    
    Issue:
    ------
    Optimizer is unable to handle table/column permissions when
    the INSERT statement has the following features:
    1) The VALUES-list of the INSERT statement contains a
       SELECT statement with a join.
    2) And it is not in the first row of the VALUES list.
    
    Currently, the steps to prepare an INSERT statement are:
    1) The first row in the VALUES-list goes for fix_fields
       from Sql_cmd_insert_base::mysql_prepare_insert.
      a) This calls the setup_fields which initializes
         privileges using the Column_privilege_tracker.
      b) When resolving a column, optimizer checks the
         privileges.
    2) Local transforms are applied for the whole INSERT
       statement.
      a) Tries to simplify_joins and ultimately does fix_fields
         if necessary.
    3) The rest of the rows in the VALUES-list go for
       fix_fields from Sql_cmd_insert::mysql_insert.
      a) This calls the setup_fields which initializes
         privileges using the Column_privilege_tracker.
      b) When resolving a column, optimizer checks the
         privileges.
    
    The current problem occurs in Step 2a. Since the
    setup_fields hasn't been called, the privileges for the
    column haven't been set. And during resolution of the
    columns there is a problem.
    
    Solution:
    ---------
    Ideally, local transforms should be applied only after
    fix_fields have been completed through setup_fields.
    
    With this patch, all the rows in the VALUES-list are
    resolved from Sql_cmd_insert_base::mysql_prepare_insert.
    
    The problem has been addressed in mysql-trunk by WL#5094.
    But this is not a backport, since a significant part of the
    code has been re-factored in the WL.

commit 01b2d47b7eae66899c2d2af11a95477ee86553e2
Merge: 853a3b6 9644fdd
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Oct 18 18:36:44 2016 +0200

    Upmerge of the  build

commit c54fd349820128daf265bfc0db6a01ea2ac5640f
Merge: 9e927a3 679b671
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Oct 18 18:28:06 2016 +0200

    Merge branch 'mysql-trunk-cluster' into mysql-trunk

commit 9644fdd159a977b8f87a1cd6a75fe25ee3d8724f
Merge: 0813745 589f9f6
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Oct 18 18:22:49 2016 +0200

    Merge from mysql-cluster-7.4.13-release

commit 9e927a39452ee98b058d161402ae4bcddd9f615a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Oct 18 17:44:21 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
        This is a post-fix patch to make the ndbcluster.information_schema
        more robust and avoid that it has to be changed everytime a new ndbinfo
        table is added. The purpose of the test is only to show that some
        ndbinfo tables show up when ndbcluster handler is enabled without specifying
        the entire list of tables in the result file.

commit 5363f910dc89b49ce594243029c0cf291e44c164
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Oct 18 17:34:51 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-fix patch to move the new testcase away from
    ndbcluster.basic which is supposed to only contain the basic test.

commit 8b3b563e4f52db348f2f4049dbea809cc8297ad1
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Oct 17 18:36:54 2016 +0200

    Bug#24905714 MOVE FILESORT-INTERNAL STUFF OUT OF SQL_SORT.H
    
    Currently, if you touch anything in sql_sort.h
    (e.g. change something in Sort_param), the entire server will be re-built.
    
    Fix:
    Move Sort_param and some other declarations into a separate file sort_param.h
    
    Change-Id: I867dc2c0f172e42c8572c91fcb6914b19774d4b0

commit 581458793e5a29556baec230b6b9b881cfdc9884
Merge: e0bdc2a 45de44f
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Tue Oct 18 16:17:58 2016 +0300

    Merge bug24764800 from 5.7.

commit 853a3b61fbf7933817a0fb88c84838973c6fc39d
Merge: f077ba9 0813745
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 18 14:34:04 2016 +0200

    Upmerge of the 7.3.15 build

commit 081374526dc389eb527caf42ea8d4bc2a74cc166
Merge: 0027a21 e9a2601
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 18 14:32:16 2016 +0200

    Upmerge of the 7.3.15 build

commit e9a26014f32defa1e49e2a8416e83ae62b559c39
Merge: 29d285b 870127d
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 18 14:27:54 2016 +0200

    Merge from mysql-cluster-7.3.15-release

commit 45de44fad545bd631646ac5d3ec98bedc8831526
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Mon Oct 17 19:33:57 2016 +0300

    Bug #24764800 	REPLICATION FAILING ON SLAVE WITH XAER_RMFAIL ERROR
    
    **Background**
    
    XA transaction processing may face a temporary error and the transaction
    could be retried according to @@global.slave_transaction_retries settings.
    
    At retry the replicated XA is rolled back and additionally a specific
    replication applier cleanup, refined for prepared XA replication by
    WL#6860, is performed.
    
    According to the WL, XA START of replicated XA transaction detaches a
    piece of engine data in THD::ha_data from THD, and re-attaches it back
    to THD at
    
      1. the end of XA PREPARE (to cover 2 Phase commit,rollback)
      2. Inside *ha_commit_low()* to cover 1 Phase commit
    
    Effectively execution of replicated XA transaction THD is bound
    to a dynamically generated engine ha_data from the transaction start until
    it has prepared (or committed in one phase), unless rolled back.
    
    **Problems and solutions**
    
    As the bug case describes the actual retrying may fail at the very
    beginning with the error message indicating the XA status was not
    properly cleaned:
    
       Slave SQL for channel '': Error
      'XAER_RMFAIL: The command cannot be executed when global transaction is in
       the  ACTIVE state' on query
    
    which turns out after analysis as
    
    **P1.** missed xa transaction rollback and re-attachment, thereby the dynamic
            engine ha_data are not replaced by backup.
    
    This is **resolved** into two steps.
    In the first step rollback actions are placed into Relay_log_info::cleanup_context.
    And in the 2nd, *ha_rollback_low()* receives a piece of logics to re-attach
    the engine ha_data which finally implements the rollback case of
    
      3. Inside ha_rollback_low() (to cover "1 phase"**^1** rollback)
    
    Notice, that the re-attachment is mandatory for both the binlog and the slave applier
    which has motivated small refactoring, see the section P3.
    
    **P2.** The second issue is in that ONE PHASE committing XA by slave
        applier actually missed to execute the *ha_commit_low()* re-attachment.
        The pattern worked only for the binlog applier whereas either type of
        the replication applier matters.
    
    This issue is **fixed** with generalization of a check of whether the engine
    ha_data needs to be re-attached, pretty much following
    the pattern of *ha_commit_low()* in P1. That is the check applies now to both
    types of the replication applier.
    
    More specifically,
    two former methods of
    
       *THD::binlog_applier_has_detached,binlog_applier_need_detach_trx*
    
    are turned into
    
       *THD::rpl_detach_engine_ha_data,rpl_unflag_detached_engine_ha_data
    
    where the latter pair carries out the original logics while making sure
    of the correct context (*Relay_log_info*).
    
    **P3.** Generalization of the binlog_applier into the replication
            applier has made evident redundancy through the original
            WL#6860's coding. Specifically this relates to the engine
            ha_data detachment and re-attachment invocations which were
            done in different places depending on the applier type.
    
    This has been optimized now to call the routines (*hton->replace_native_transaction_in_thd*)
    by common invokers.
    Now the detachment is handled by *Sql_cmd_xa_start::execute()*, and re-attachment at three
    points:
    
    1. the end of XA PREPARE (to cover 2 Phase commit,rollback)
    2. Inside ha_commit_low() to cover 1 Phase commit
    3. Inside ha_rollback_low() (to cover "1 phase"**^1** rollback)
    
    **^FOOTNOTES^**
    
    **^1** think of XA ROLLBACK while the XA is not prepared as rollback
           in one phase, and this is what the slave applier experiences
           when it retries

commit f077ba9a73ce04f3bc30c9dc35eb70fa68a276e4
Merge: 08bbe35 27968b6
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Oct 18 16:10:00 2016 +0530

    Merge from mysql-cluster-7.5.4-release

commit e0bdc2a8f00fe4f5b0be6edaadaa933285ff5eea
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 18 12:17:20 2016 +0200

    WL#9266 Mysqlx IP version 6 conectivity
    
    Broken build for "Visual Studio 14 2015 Win64"
    Post-push fix: do not use NULL for function pointers, use nullptr.
    
    Change-Id: I4af6eaac11902d05b934eaa2eba2fcf91015e6c4

commit 5f28447c0b566471528f1b25b02167340048f969
Merge: ac925fc 8386eaa
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Oct 18 11:20:43 2016 +0530

    Bug #24822144   INNODB_UNDO.TRUNCATE_RECOVERY TEST CASE FAILING DUE TO TIMEOUT
    
    - Merge from mysql-5.7
    
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>

commit 8386eaad83987bba025e21f536a3ced37bfbcc8e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Oct 18 11:19:03 2016 +0530

    Bug #24822144	INNODB_UNDO.TRUNCATE_RECOVERY TEST CASE FAILING DUE TO TIMEOUT
    
    The test originally expected to finish within certain time. When the load on
    the server is high, the background purge can take longer
    So removing the timelimit and doing slow shutdown.
    
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>

commit ac925fc91f68436c714b9365c6e9a3a584dd4a28
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Oct 12 09:05:47 2016 +0200

    Bug#22924183 GROUP BY ON DERIVED TABLE, EXPRESSION OF AGGREGATE AND GROUP COLUMN: ERROR
    
    When a query was doing GROUP BY on a column of a derived column,
    and the SELECT list contained an expression mixing an aggregate function
    and the group column, an error was raised if only_full_group_by
    was enabled.
    
    Cause:
    consider:
    1) SELECT (je+1)+count(*) FROM (SELECT doc+1 AS je FROM coll) AS dt GROUP BY je;
    2) SELECT je+(1+count(*)) FROM (SELECT doc+1 AS je FROM coll) AS dt GROUP BY je;
    
    an Item_direct_view_ref is produced for 'je' in the select list.
    Then in Item::split_sum_func2() an Item_aggregate_ref is produced for
    items involved with count(*);
    when it's for (je+1) (first query), this Item_aggregate_ref wraps '+' which
    itself has one argument pointing to Item_direct_view_ref.
    only_full_group_by logic looks at the selected expression;
    it considers Item_aggregate_ref to be a "transparent"
    item so it looks through it and finds Item_direct_view_ref, which is equal
    to the group column so the query is accepted.
    When it's for je+() (second query), Item_aggregate_ref _replaces_
    Item_direct_view_ref, due to this:
        evgen@moonbone.local <>  2005-09-07 20:38:36
        Fix bug # 12922 if(sum(),...) with group from view returns wrong results
    So Item_aggregate_ref wraps the expression defining derived column (doc+1),
    which isn't the group column ('je'), hence the error.
    
    Fix:
    do not replace Item_direct_view_ref, do not wrap the real_item() inside Item_aggregate_ref;
    instead, wrap Item_direct_view_ref inside Item_aggregate_ref; it's more logical as
    code already works this way in the case where Item_direct_view_ref is deeper
    nested (example: when Item_direct_view_ref is argument of an additional function;
    indeed a workaround to this bug was to replace je+(1+count(*)) with
    coalesce(je)+(1+count(*)), which, by adding an extra layer, prevented the
    removal of Item_direct_view_ref, making Item_aggregate_ref simply wrap coalesce()).

commit ce605a96141bf8f8489702d78c4ef66fd02b7b1e
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Jan 7 10:07:35 2016 +0100

    Bug#13915291 NOT IN (SUBQUERY) GIVES WRONG RESULT WHEN PREFIX INDEX OF INNER TABLE IS USED
    
    When we switch to index_subquery strategy, remove_additional_cond()
    removes equalities injected by in-to-exists, saying that they are
    already implemented by the index ref access. Without realizing that
    this is wrong reasoning when the index is only on a prefix of the
    column.
    In the bug's testcase remove_additional_cond() should leave the
    conditions in place, instead of removing them and giving a wrong
    result (the prefix index gives false positives, causing NOT IN to give
    false negatives).
    
    index_subquery (and unique_subquery) is for two types of subqueries:
    - subqueries which have to deal with inner NULLs
    - subqueries which don't.
    The former have more complex injected conditions, use ref_or_null, and
    are submitted to remove_additional_cond(). The latter are simpler, use
    [eq_]ref, and are submitted to remove_subq_pushed_predicates().
    remove_subq_pushed_predicates() properly detects the index prefix
    problem, using test_if_ref().
    Adding the same logic to remove_additional_cond() proved to be
    difficult:
    - one has to scan the WHERE, analyze AND-ed parts, a part can be a
    triggered condition, itself wrapping two OR-ed conditions
    ("outer=inner OR inner IS NULL")
    - after locating the "outer=inner" equality, we need to see if this
    equality is handled by the index; but test_if_ref() will say no for
    two reasons: ref_or_null is used and the key has guarded conditions
    (see part_of_refkey()). So a modification of test_if_ref() would be
    needed; but this function is sensitive (see its comments), and a
    modification of part_of_refkey() would be needed too.
    - And we cannot just skip test_if_ref() because it handles: prefix
    index detection, and truncation detection (example: lookup "aa" in a
    CHAR(1) indexed column: "a" will be a match; test_if_ref() notices
    that). Those two detections are needed to decide if we can skip the
    condition.
    
    For simplification, in this patch remove_additional_cond() is simply
    deleted. The drawback is that we have more "using WHERE" for
    complete-index (non-prefix) index_subquery using ref_or_null. I think
    that it isn't a real problem; indeed, in this equivalent join query:
    explain format=json select * from t1 force index (xx) where a1='b' or a1 is null;
    shows:
    |  1 | SIMPLE      | t1    | NULL       | ref_or_null | xx            | xx   | 9       | const |    2 |   100.00 | Using index condition |
    the conditions are still tested, they are not removed.
    The HAVING clause isn't affected by this patch.
    
    in_additional_cond is thus unnecessary.
    Removed a useless comment from sql_optimizer and a wrong one from
    item_subselect.
    
    After removing in_additional_cond, we also remove in_having_cond.
    The logic is: in_having_cond is only tested in sql_optimizer.cc,
    to see if HAVING is equal to the one created by IN->EXISTS (which may
    be false, HAVING can be <other cond> AND <the one created by IN->EXISTS>).
    Instead of testing that, we can test if HAVING was created by
    IN->EXISTS. That can be done with created_by_in2exists().
    A few calls to set_created_by_in2exists() were missing, they're added.
    Because this function belongs to Item_bool_func, and objects
    like having_item are Item*, their type is change to Item_bool_func*;
    it's not a problem as in fact they are Item_bool_func* by the way
    they are constructed (AND chains of equalities, triggered conditions and
    IS NULL tests). They are constructed by and_items(), so an overload
    of and_items() is added, taking Item_bool_func and returning
    Item_bool_func.

commit c619abc246ccbc41d7a60883bba3f6ea54f546db
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 14 14:43:26 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding my_loglevel.h and then re-sorting
    the #includes (and nothing else); then remove my_loglevel.h from my_global.h.
    
    Change-Id: I64f29306d5d19e97c3ba5215994d867163522c67

commit 8dbe25dddaad33ff7989f6394f67aa0a33b5282c
Merge: 0a507dd da832e0
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Oct 17 16:32:15 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit da832e0710443392d8dcb19a3209495271273019
Merge: 041e882 77c0480
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Oct 17 15:35:03 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0a507dd12b9fe4881913640e39bd1e4bc84c832b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 17 10:28:13 2016 +0200

    Fix recently introduced Clang build warnings:
    rapid/plugin/x/mysqlxtest_src/mysqlxtest.cc:62:22: error:
          unused variable 'MYSQLX_PORT' [-Werror,-Wunused-const-variable]
    rapid/unittest/gunit/xplugin/listener_unix_socket_t.cc:37:11: error:
          unused variable 'BIND_ERR' [-Werror,-Wunused-const-variable]
    rapid/unittest/gunit/xplugin/listener_unix_socket_t.cc:42:11: error:
          unused variable 'OPEN_OK' [-Werror,-Wunused-const-variable]

commit 77c0480a2f16b12630f5b92cac1ea0c64de280c2
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Oct 4 16:30:18 2016 +0530

    BUG#24595992: NULL POINTER DEREFERENCE IN CHECK_DUPLICATE_KEY()
    
    Analysis:
    ========
    CREATE TABLE using SELECT can cause a null pointer dereference
    while printing the warning message.
    
    During the processing of SELECT in CREATE TABLE, the first
    element of the global query table_list is pruned. Later
    while trying to print a warning message, it tries to access
    the global query table list to get the schema name and
    table name which is set to NULL.
    
    Fix:
    ===
    Passed the schema name and table name from the upper layer
    so that it is accessible in check_duplicate_key().

commit 20ae77809afebc2f7503334cce50c0fd233deab5
Merge: 5c12679 041e882
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Sun Oct 16 17:59:08 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 041e8826b34b56f0652bc5aea7b341710ec4aeee
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Sun Oct 16 17:56:36 2016 +0530

    Bug#21032418: PERFORMANCE REGRESSION IN 5.6: UPDATE DOES NOT USE INDEX
    
    Problem:
    When invalid string data is present in a where clause of an update statement,
    range scan is not used. Instead index scan is picked. This can be seen
    as a performance regression because scanning the entire index for non
    existent value can take very long time.
    
    Analysis:
    W.r.t the query presented in the bugpage, while trying to store the
    predicate value in range optimizer to create a key, it truncates
    the entire string as it is invalid. Earlier, for such a case,
    range optimizer used to create the key with an empty string.
    This changed in 5.6 with the fix for Bug#11752201. With the current
    implementation (both in 5.6 and 5.7), range optimizer bails
    out seeing the invalid data allowing index scan to do the job.
    
    Solution:
    We detect an invalid string and if the condition has an equality operator
    we return an impossible WHERE condition from range optimizer since an
    invalid string can never be equal to a valid string.

commit 5c12679cf07cd7d10d520c3561ec5d3847da67e8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 14 15:56:17 2016 +0200

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Post-push fix to unbreak non-x86 platforms.
    
    Change-Id: I5b3ce7de8988d536a1c1ec2ba2e0b0055a18cfb1

commit a68ccd475b0644626d690a5cf2fc0c089af44ee4
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 14 10:32:14 2016 +0200

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Post-push fix to fix an UBSAN warning that surfaced in the push.
    (The issue was there all along, but only for 32-bit, where we
    don't run UBSAN. The commit pushed it to 64-bit as well, and thus
    made it visible.)
    
    Change-Id: I7c7fb3adb89724687c9f8f20b4f3ec26994e07fa

commit d6783103e7dbda6e79021a9ed00ab71651d5a7b3
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Fri Oct 14 18:39:28 2016 +0600

    Bug#24420809: ASSERT SELECT_LEX::PREPARE(THD*): ASSERTION `!THD->IS_ERROR()' FOR SHOW TRIGGER
    
    In case the error ER_LOCK_WAIT_TIMEOUT happens during handling of the statement
    SHOW CREATE TRIGGER FOR while acquiring MDL locks on  data dictionary objects AND
    there is a view in the schema then mysql server built in debug mode hits assertion
    DBUG_ASSERT(!thd->is_error()) in the method SELECT_LEX::prepare().
    
    The reason for firing of the assertion is that the function get_all_tables() ignores
    an error returned from calling of the function fill_schema_table_from_frm(). In case the
    fill_schema_table_from_frm() returns an error the function get_all_tables() continues
    its execution and calls the function fill_schema_table_by_open(). The latter one calls
    the following sequence of functions
    TABLE_LIST::resolve_derived() --> SELECT_LEX_UNIT::prepare() --> SELECT_LEX::prepare()
    that leads to assertion failure because an error is set in the Diagnostics_area.
    
    To fix the bug the function get_all_tables() must return an error immediately
    to calling side when fill_schema_table_from_frm() returns error.

commit 4002281176059db45232beeede208ae6936bbf4b
Merge: 508bb8e 3f56e42
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Oct 14 13:20:05 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3f56e4239b17a79390e5afe5210d5fd34e527913
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Oct 14 12:15:21 2016 +0200

    WL#9266 Mysqlx IP version 6 conectivity
    
    Support for binding X Plugin listen socket to IPv6 addresses,
    to allow X Protocol over IPv6 connections.
    
    Approved by Horst Hunger <horst.hunger@oracle.com>

commit 508bb8e80a45be5aa8c2d8a1a9ef1c8756755ace
Merge: 61d4fa0 3cd0f99
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Oct 14 16:23:34 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3cd0f99d58e06a545959559daf59256b2917770d
Merge: ffc3dcd 6efc620
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Oct 14 16:19:47 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6efc620be265cde12d35b7cb8c376fbc304d7f67
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Oct 14 13:07:15 2016 +0530

    Bug#24715790: BUG#23509275 FIX MERGE TO 5.6 BROKEN
    
    Problem:
    While merging BUG#23509275 upwards from mysql-5.5 to mysql-5.6
    some part of the fix was missed and as a result it was missed in
    all the upper versions as well.
    
    Fix:
    Implement the changes which were missed while merging from mysql-5.5 to
    mysql-5.6.

commit 08bbe353e26aab46008d3a77c1bb2599daf30d64
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 12 14:28:09 2016 +0200

    Post push fix for bug#24584690.  Record new result for rpl_ndb.rpl_ndb_extra_col_slave.
    
    Only test case change.

commit 61d4fa04cd6451e693e9c1cb556c04309f1fd6c9
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Oct 14 10:34:44 2016 +0200

    Bug#24571427 MYSQLDUMP & MYSQLPUMP MAY FAIL WHEN DDL STATEMENTS ARE RUNNING
    
    Post-push fix.
    
    The test main.alter_sync contains a test that run MYSQL_DUMP/PUMP tool
    which does not run on embedded server. The two test cases in
    mysql.alter_sync need not be executed on embedded server. So this patch
    avoids the test to be executed on embedded server.

commit ae23a0ab49b5690b8c7ff87701025a76d3f68c58
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Oct 12 14:02:00 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Refactor the scanners so that we can inline mb_wc in the UCA collation,
    like we do in the UTF-8 binary collations.
    
    First and foremost, the split between “scanner” and “scanner handler”
    is now gone; the data belongs squarely in the scanner, which is a full class
    with its own private member functions and most of the state kept private.
    This allows us to more easily templatize them on mb_wc.
    
    Second, the scanner classes are now templatized on mb_wc, so that we can
    specialize them for the important case of utf8mb4, instead of calling it
    through a function pointer.
    
    Note that since the private member functions are no longer “static”,
    we need to convince GCC a bit harder (ie., using the “always_inline”
    attribute) for the bigger ones to actually be inlined, which matters
    for overall performance.
    
    Microbenchmarks (Skylake 3.4 GHz, 64-bit, optimized) are significantly
    improved in terms of throughput:
    
      Microbenchmarks.BM_SimpleUTF8MB4   1737 -> 1404 ns/iter  (+23.7%)
      Microbenchmarks.BM_MixedUTF8MB4     722 ->  609 ns/iter  (+18.6%)
    
    sysbench variability is rather high, but longer runs indicate we've gone
    from 5527 -> 6117 tps (+10.7%).
    
    Change-Id: Id9125af181db1b6976c288e38009b73e2bce6980

commit c30da1308f07501677515473f7acd344671b4450
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Oct 12 10:53:54 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Prefactoring: Clean up the mb_wc functions for UTF-8 a bit.
    
    my_utf8_uni is renamed to my_mb_wc_utf8 to be consistent with my_mb_wc_utf8mb4.
    They are both made into inline functions in a header file, so that they can be
    used inline in ctype-uca.cc (this will be important in a future patch in the series).
    The mb4 variant is given a functor like the we already had with the mb3 variant
    (again, this will be important in a future patch), and gets its thunks.
    
    Finally, the mb4 variant now drops its unused cs header.
    
    Performance for functions like my_hash_sort_utf8mb4 probably goes up a bit
    due to the inlining, but I haven't tried measuring (it's probably too small
    to be seen on sysbench, and we have no microbenchmaks for them).
    
    Change-Id: Iedf2b4cf894a2badcc4d832215e5a72654df3c26

commit 8df6f4bd1979a774f4620a66e0156257905e5457
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Oct 11 13:11:58 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Make the heap storage engine check the hash value before doing a full compare
    (if the hash is different, compare cannot possibly be equal). This takes away
    essentially all compares from duplicate checking in the heap storage engine.
    
    sysbench result goes from 3903 to 5527 tps (+41.6%).
    
    Change-Id: I8d72aa521f41f98b25ef6be4aa469f1a90214389

commit 561cfe3a067d5b8438c368ddaa0c2d9a2894aea0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 12 16:56:09 2016 +0200

    Bug#24835620: STOP COMPUTING MD5 FOR VIEWS
    
    Before 8.0, we used to store MD5 checksums for view definitions.
    These were checked when CHECK TABLE was executed for views.
    (This feature was not documented).
    
    With the transactional data dictionary in 8.0, we no longer
    store MD5 checksums for views. View consistency is handled
    by the transactional storage (InnoDB), same as for other types
    of dictionary objects.
    
    This patch removes the now dead MD5/view-handling code.
    It also removes TABLE_SHARE::file_version which is similarly
    unused now.

commit a1eafa7a5334b962647bc0a69163e35f71c6dfc3
Merge: 8f502bb 0027a21
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 19:13:28 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 76d559e85c934181fd8bddd6a36bc82eeaa327b0
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Oct 12 13:49:54 2016 +0200

    Bug#24489037 ASSERTION `!\"SHOULD NOT HIT HERE\"\' IN DD_GET_OLD_FIELD_TYPE
    
    The issue here is that, some of UDF's introduced by WL#6599
    crashes because the UDF is invoked with wrong argument i.e.,
    NULL. These UDF's are invoked with data dictionary table
    columns as arguments. And the UDF's mostly expected valid
    arguments and did not check for NULL. The crash is due to a
    assert when we got a invalid column type. This can happen if
    a user has a query which does a LEFT JOIN and I_S table.
    Then there is possiblity that these UDF's getting called
    with NULL as their arguments.
    
    Note that these UDF's are used by INFORMATION_SCHEMA system
    views and are not exposed to users.
    
    The patch also does following changes:-
    
    - Makes sure all the UDF's do proper evaluation of
      arguments.
    
    - Removed Item_*::fix_length_and_dec() methods which are no
      more used by optimizer. Replaced it with adding
      resolve_type() method as requested by Optimizer team.
    
    - Pass only table 'options' to UDF INTERNAL_KEYS_DISABLED,
      as schema and table name are not really used.
    
    - Few UDF's are marked as nullable, and others are retained
      as non-nullable to match the old behavior expected.
    
    - A test case invoking all UDF's with NULL arguments is
      added to main.dd_is_gcov.

commit 0027a21f6f3a99adf9811b0146dcfc38888146fb
Merge: 810a793 29d285b
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 19:10:57 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 29d285b53daab8987df8c0e8a8d4e93590492f18
Merge: 1a9ac92 01a0490
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 19:01:33 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 4bae43e547a26e62c62934f1dc72d3683564cb1d
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Oct 13 15:21:08 2016 +0200

    Bug#24800048 - SHOW TABLES FROM DATABASE HANGS ON WINDOWS PLATFORM
    
    On the windows platform, if the database name used in
    SHOW TABLES FROM DATABASE statement is not in the lower case
    then the next execution of the same statement hangs forever.
    
    To check existence of the database for SHOW TABLES FROM ...
    statement, name key is formed to search database object in
    the DD cache or to load it from the DD table. On the windows
    platform with lower_case_table_name value as 1, the name key
    is formed for the database in the case provided at the
    command line (which is in capitals in this case).
    For the first execution, the database object is not found in
    the cache. So it is loaded from the DD. But before loading
    it from DD, the key is listed in the cache missed objects
    list. So that if the concurrent operations fails to find
    the same object in the cache then it will wait till the
    object is loaded from the DD and read it from the cache.
    
    Database names are case insensitive on the Windows. So with
    the key formed(in whatever case), object is loaded from the
    DD. After loading, entry from cache missed objects list is
    removed using the name key obtained from the object(which is
    in lowercase on case insensitive file system).
    Because of the case mismatch, entry for database object from
    the list is not removed for the SHOW TABLES FROM .. statement.
    Next execution of the statement finds entry in the cache
    missed object lists and assumes that object load from DD table
    is still in progress and waits for it. This results in the
    hang observed.
    
    To handle such issue, database name is converted to lower
    case on case insensitive file systems. So that comparison
    works correctly. But this conversion was missing for the
    SHOW TABLES FROM DATABASE operation in pre-check stage.
    Hence the issue is observed. To fix this issue, converting
    db name to lower case before checking for the existence of
    db in SHOW TABLES FROM DATABASE operation.

commit 84f452611d02e976df44b5bc717a560e65998081
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Oct 13 15:16:57 2016 +0200

    Bug#22700385 - MDL ON STORED ROUTINES IS CASE SENSITIVE EVEN IF ROUTINE NAMES ARE INSENSITIVE
    
    Issue here is, stored routine names are not case sensitive on
    any platform. However metadata locks acquired on the routines
    are case sensitive. This means there is a possibility to bypass
    metadata lock by referring to the same stored routine using
    different case. Bypassing metadata lock can lead to e.g. broken
    replication.
    
    For DDL and SHOW CREATE operations on a routine, routine name
    is converted to lower case for proper MDL key comparison while
    preparing MDL_key for MDL. But for SELECT operation using routine,
    metadata lock acquired on the routines are case sensitive. Which
    creates a window to bypass metadata lock by referring to the
    same stored routine using different case.
    
    To fix this issue, even for SELECT operation now routine name is
    converted to lower case for proper MDL key comparison while
    preparing MDL_key for MDL.

commit 01a0490d9828652084bfafc31c428b3ef44dd1b6
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 17:15:20 2016 +0530

    A call to system function malloc is not checked for null in function
    MgmApiSession::list_session.In this function, malloc is used to create a
    temp buffer, which we use to create a message and write to the socket in
    single shot.
    
    So, when we encounter malloc failure, instead of writing to socket, now
    we will close the socket as the write also usesmalloc and will eventually
    fails.

commit 8f502bbdbf3bfe65df149c5795b337618a09a4cf
Merge: d3a9224 810a793
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Oct 13 17:46:25 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server
    installations, as the packages provide their own config files,
    but it's used by cluster, which has GA released based on 5.6,
    so the value should not be changed here.)

commit 810a793f252f0145958a263bc25274c0b6317c67
Merge: b2b59be 1a9ac92
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Oct 13 17:43:17 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server
    installations, as the packages provide their own config files,
    but it's used by cluster, which has GA released based on 5.6,
    so the value should not be changed here.)

commit 1a9ac922bd23fd61514f6d840798adbb993cf079
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Oct 7 15:02:01 2016 +0200

    Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server
    installations, as the packages provide their own config files,
    but it's used by cluster, which has GA released based on 5.6,
    so the value should not be changed here.
    
    (cherry picked from commit f1a56982f8d90990894983ced755112ab6cdb6d9)

commit d3a9224907196977d45e78c2352331d8994ff095
Merge: cf62be8 b2b59be
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 17:22:22 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit b2b59bedca8d2713e4bb58f7b709849d074bf17c
Merge: 3187b38 42199c5
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 17:19:17 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 42199c546eb0ca83c34017ef69cf7b2bb1ac9137
Merge: 421e94c f57daa3
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 17:18:00 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit f57daa3a2c4b747cbec8e4a880d44456dc22b800
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Oct 13 17:15:20 2016 +0530

    A call to system function malloc is not checked for null in function
    MgmApiSession::list_session.In this function, malloc is used to create a
    temp buffer, which we use to create a message and write to the socket in
    single shot.
    
    So, when we encounter malloc failure, instead of writing to socket, now
    we will close the socket as the write also usesmalloc and will eventually
    fails.

commit 27968b62cfb12fa89e8651a531befe9ddf3187f6
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Aug 24 15:21:26 2016 +0200

    Bug #24512715 AUTH_SEC.MYSQL_SSL_RSA_SETUP FAILS CONSISTENTLY ON HUDSON
    Fix provided by YASSL. Upgrading YASSL to version 2.4.0.
    
    (cherry picked from commit 840ca33cf4f61677c125a86b0b09aef6db3578bc)
    (cherry picked from commit cf62be88efed6cc68eb9817665ac3563e83485e3)

commit 0b521c81a85d7eb374b0e554d2191ece59f2b890
Merge: 89eec23 ffc3dcd
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Oct 13 14:55:04 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ffc3dcd2a743269097a34a391fcc8df28c710920
Merge: 08f59a2 de32c11
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Oct 13 14:53:40 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit de32c11540fe57f6b58cbffc85b11d826dde71ca
Merge: f1a5698 53fc6bf
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Oct 13 14:52:19 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 53fc6bf3ff24652dae844b60c066e8eb343a49da
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Oct 13 14:48:45 2016 +0530

    BUG#23499695: MYSQL SERVER NORMAL SHUTDOWN WITH TIME STAMP
                  700101
    
    ANALYSIS:
    =========
    To set the time 'start_time' of query in THD, current time
    is obtained by calling 'gettimeofday()'. On Solaris
    platform, due to some system level issues, time obtained is
    invalid i.e. its either greater than 2038 (max signed value
    to hold microseconds since 1970) or 1970 (0 microseconds
    since 1970). In these cases, validation checks infer that
    the 'start_time' is invalid and mysql server initiates the
    shutdown process. But the reason for shutdown is not logged.
    
    FIX:
    ====
    We are now logging appropriate message when shutdown is
    triggered in the above mentioned scenarios. Now, even if
    the initial validation checks infer that the 'start_time'
    is invalid, server shutdown is not initiated immediately.
    Before initiating the server shutdown, the process of
    setting 'start_time' and validating it is reiterated (for
    max 5 times). If correct time is obtained in these 5
    iterations then server continues to run.

commit 679b671771d4f8906e8064378b32e24f81be1e8f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Oct 13 09:57:52 2016 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - fix windows compile failure for some test and tools
     - replace usage of strcasecmp() with native_strcasecmp()
       which is the new way in 8.0

commit 89eec235aa157fb77f6601c01a2401cb470b2f92
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Oct 13 09:53:48 2016 +0200

    Bug#24808970 CREATED_TMP_TABLES STATISTIC IS WRONG
    
    fix for failure in --embedded ('sys' doesn't exist)

commit 589f9f67ded77ed82ddf94038d36815b500f2cfa
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Oct 7 15:02:01 2016 +0200

    Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server installations, as the packages provide
    their own config files, but it's used by cluster, which has GA released based on 5.6, so the value
    should not be changed here.

commit 870127dd53d2d2db8130fd806f796ec69454c53c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Oct 7 15:02:01 2016 +0200

    Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server installations, as the packages provide
    their own config files, but it's used by cluster, which has GA released based on 5.6, so the value
    should not be changed here.
    
    (cherry picked from commit f1a56982f8d90990894983ced755112ab6cdb6d9)

commit 9eebe8e728a24927a2a443f4fcfe208e02324204
Merge: 1c1c342 08f59a2
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Oct 13 08:52:50 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 08f59a2fbb08652b3619ff72abf27b2af34593bb
Merge: fd24a2e f1a5698
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Oct 13 08:52:14 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit f1a56982f8d90990894983ced755112ab6cdb6d9
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Oct 7 15:02:01 2016 +0200

    Default datadir should not be changed for existing GA
    
    The DATADIR_DEB setting isn't directly used by most server installations, as the packages provide
    their own config files, but it's used by cluster, which has GA released based on 5.6, so the value
    should not be changed here.

commit 042dd36ea8505176ea2d33deb3cdd97e39dab6ae
Merge: 8ea3a90 e5c89ef
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Oct 13 12:12:52 2016 +0530

    Merge commit 'e5c89efe4548405937c4956e8d3f9db0c6f15d3f' into mysql-trunk-cluster

commit 8ea3a90b755243d2de1c9fb05f3614c0de3bbaf0
Merge: 1139a47 1c1c342
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Oct 13 11:39:03 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 1c1c34204a86670dbee938de403727f56ad0407b
Merge: ac1370d fd24a2e
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Oct 12 23:16:28 2016 +0200

    Upmerge of the  build

commit fd24a2ec888a458bdc71eb8cea270cca3345814a
Merge: 012e920 901c8cb
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Oct 12 23:12:16 2016 +0200

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

commit ac1370d12ceae535f1068fdee3bf0b78b7d2fd58
Merge: 981c09d 012e920
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Oct 12 22:24:51 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Null merge
    
    Conflicts:
      storage/perfschema/table_helper.cc
      storage/perfschema/table_helper.h

commit 012e920ec2f159c16f5c05fbc994df40fc2bb788
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Oct 12 21:53:24 2016 +0200

    Bug#22313205 PERFORMANCE_SCHEMA STATUS AND VARIABLES TABLES DO NOT HANDLE
    CHARSET PROPERLY
    
    Fix for 5.7, backport of:
      commit 13f323af9b0cd4a9a214414fce476117935dc659
      Author: Marc Alff <marc.alff@oracle.com>
      Date:   Wed Oct 12 18:50:47 2016 +0200
    
          Bug#22313205 PERFORMANCE_SCHEMA STATUS AND VARIABLES TABLES DO NOT HANDLE
          CHARSET PROPERLY
    
    Tables like performance_schema.session_variables can print string values.
    
    Before this fix, string values expressed in a character set different
    than UTf8 would be truncated or incorrect.
    
    This affects for example system variables expressed using
    the file system character set, like character_sets_dir.
    
    With the following options:
    --character-set-filesystem=latin1
    --character-sets-dir=<value in latin1 here>
    the value for character-sets-dir is printed incorrectly,
    because the latin1 value is printed as UTF8.
    
    The root cause is that string values for system variables are
    represented as a binary buffer internally, but the associated
    CHARSET_INFO is lost, later assumed to be UTF8.
    
    The fix is to preserve (CHARSET_INFO, string value, string value length)
    together when representing a system variable in the performance schema,
    and use the proper character set when populating the performance_schema
    table.

commit 981c09d9b3ae8331c2d08724b6a96f9be2b04895
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Oct 12 13:06:38 2016 -0500

    Bug#24519021 FEW XA TESTS FAIL IN WAIT_COND'N.INC AS VIEW ON P_S.THREADS DOESNT RETURN RESULT
    
    This is a regression from WL#6616 Performance Schema, Indexes. Under high
    stress conditions, performance_schema.threads may attempt to materialize a
    row representing a thread that is being disconnected, resulting in an error
    similar to "At line 41: Query 'SELECT count(*) = 0 FROM v_processlist WHERE
    PROCESSLIST_ID = 17' didn't return a result set
    
    The fix is for table_threads::make_row() to return a row only if the state of
    the thread has not changed.

commit 13f323af9b0cd4a9a214414fce476117935dc659
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Oct 12 18:50:47 2016 +0200

    Bug#22313205 PERFORMANCE_SCHEMA STATUS AND VARIABLES TABLES DO NOT HANDLE
    CHARSET PROPERLY
    
    Tables like performance_schema.session_variables can print string values.
    
    Before this fix, string values expressed in a character set different
    than UTf8 would be truncated or incorrect.
    
    This affects for example system variables expressed using
    the file system character set, like character_sets_dir.
    
    With the following options:
    --character-set-filesystem=latin1
    --character-sets-dir=<value in latin1 here>
    the value for character-sets-dir is printed incorrectly,
    because the latin1 value is printed as UTF8.
    
    The root cause is that string values for system variables are
    represented as a binary buffer internally, but the associated
    CHARSET_INFO is lost, later assumed to be UTF8.
    
    The fix is to preserve (CHARSET_INFO, string value, string value length)
    together when representing a system variable in the performance schema,
    and use the proper character set when populating the performance_schema
    table.

commit 616cebf8d3b0b33328fe7dd2120f4f56ab886bf3
Merge: b43a9c8 457e21e
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Oct 12 18:33:11 2016 +0200

    Upmerge of the 5.6.34 build

commit 457e21e572db56071bc94a8ee3dce800de80538d
Merge: 48926ae 5ab91b2
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Oct 12 18:29:31 2016 +0200

    Upmerge of the 5.6.34 build

commit 5ab91b2064965d47416c049313513f823bf7c382
Merge: 9eedc2a 5b49064
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Oct 12 18:17:02 2016 +0200

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

commit b43a9c816b713361e5fa186c65dedd92adac325d
Merge: 0504d22 48926ae
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Oct 12 21:26:58 2016 +0530

    Upmerge of the 5.5.53 build

commit 48926ae8f00fac38a087779a9925c4bec4733b9e
Merge: 12209e0 9eedc2a
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Oct 12 21:25:13 2016 +0530

    Upmerge of the 5.5.53 build

commit 9eedc2a9256104387680145d75a339c8035a8a28
Merge: 7217e1a c95aa85
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Oct 12 21:24:03 2016 +0530

    Upmerge of the 5.5.53 build

commit c95aa85ae7bba2272cf4045522b4c659e0175c93
Merge: 9f5a91f 94723a5
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Wed Oct 12 21:10:29 2016 +0530

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

commit 0504d222f226c57460bcd26bc5b8fb4128ecd622
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 11 12:47:14 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    In heap engine: do not scan for character position unless we have
    a partial key (the optimizer uses full key to eliminate duplicates)
    
    Change-Id: If6e2b8ed63db8949a9171adefdf4ff2d09a0fb79

commit cf62be88efed6cc68eb9817665ac3563e83485e3
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Aug 24 15:21:26 2016 +0200

    Bug #24512715 AUTH_SEC.MYSQL_SSL_RSA_SETUP FAILS CONSISTENTLY ON HUDSON
    Fix provided by YASSL. Upgrading YASSL to version 2.4.0.
    
    (cherry picked from commit 840ca33cf4f61677c125a86b0b09aef6db3578bc)

commit 67e71051b7d24be282821b8a2eb3ee5de3689476
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Oct 12 08:58:09 2016 +0200

    Bug#24808970 CREATED_TMP_TABLES STATISTIC IS WRONG
    
    Increment the count only when creating the table in any engine;
    this used to be the case, but then we introduced:
    - late materialization of derived tables
    - UNION ALL without tmp table,
    which features made creation-in-engine optional, so the counter's
    incrementation must be moved to creation-in-engine, i.e. to
    instantiate_tmp_table() which gets a THD arg (and thus doesn't need
    the trace argument anymore).

commit a1ee5d5ae92c3f3f9774a1b632217a45d7f0b61b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Oct 10 12:54:05 2016 +0200

    Bug #24571672 DO NOT USE -FNO-EXPENSIVE-OPTIMIZATIONS JUST TO AVOID
    FUSED MADD INSTRUCTIONS
    
    The fix for bug #23046775 introduced the -fno-expensive-optimizations
    compiler flag on some platforms. This patch lifts that restriction and
    instead explicitly turns off fused multiply-add instructions by
    setting -ffp-contract=off.
    
    This patch is a contribution from Alexey Kopytov.

commit 33096d0b42c1c9cdf20c82a68a36519b518ac727
Merge: af2d69e 12209e0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Oct 12 11:05:25 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 12209e03daecd0722aa941f0b91cd099553218f4
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Oct 12 11:02:15 2016 +0100

    BUG#24763579: BINLOG SENDER IS GENERATING UNWANTED FSEEKS ON BINARY
                  LOG FILE
    
    Post-push fix.
    
    Fixed an test case issue with rpl.rpl_binlog_sender_fseek.
    
    Fixed also an issue affecting Group Replication.

commit af2d69ed22038d215d6941e03760d109e944341d
Merge: 33e1913 9398277
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Oct 12 10:11:04 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 939827737415fbfc1622d276a01368fb5905c09a
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Oct 10 14:53:40 2016 +0200

    BUG#24823913: AFTER_SERVER_SHUTDOWN HOOK IS TOO LATE
    
    after_server_shutdown hook was too late on the server shutdown
    pipeline, after slave info objects were deleted, what would make
    observers to hit invalid pointers when triggered.
    
    To solve the above issue the hook was moves to after client
    connections close, point on which all internal objects pointers are
    still valid.

commit 33e19135a133ccf76b5b245ed4f6bd2e0b411a6b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 10 16:34:19 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Optimize strnxfrm for the UCA collations, by means of simple inlining.
    
    sysbench result goes from 1696 to 1760 tps (+3.8%).
    
    Change-Id: Ib64089c47cc1f94c7f093c83d2f0dd6539c058f8

commit c5e92a829bca1b61408196b7c34260ff4a5d7248
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Oct 12 09:01:59 2016 +0200

    Bug#24571427 mysqldump & mysqlpump may fail when ddl statements are running Bug#24580599 show tables with concurrent ddl may cause temporary tables to be left in dd
    
    The problem was that the I_S query and SHOW command started
    showing tables with name '#sql...' which are created as part of
    ALTER TABLE processing.  MySQL 5.7 does not work the same. This
    behavior is because of the WL#6599, which picks the metadata from
    DD tables, and the metadata of temporary tables created for ALTER
    TABLE is stored in DD tables. This is not the same as temporary
    tables created by CREATE TEMPORARY command, where the metadata is
    stored only in Server process head and not in DD.
    
    The effect of above is that, some of the client tools like
    mysqldump/mysqlpump executing I_S query or SHOW TABLE STATUS
    would start seeing '#sql...' tables. Clients would mostly fail to
    acquire lock on these tables as server take lock on these
    '#sql...' tables when processing ALTER TABLE.
    
    The patch marks the '#sql...' tables are hidden, and hence I_S
    query and SHOW commands do not show these hidden tables. This
    make the behavior of 8.0 same as MySQL 5.7 and hence the above
    issues are avoided.
    
    After the fix, there would be no way for users to find if some
    '#sql...' tables are left in DD tables due to some error/bug in
    ALTER TABLE processing. This problem would be handled as part of
    Bug#24786075.

commit 6b75a9108e2ab021ee1de5a24ccdaab6fa1f5f99
Merge: 671279f 58b3588
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Oct 12 08:53:23 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 58b35886538da7b99649269af2ab05889173dd1a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Apr 1 12:56:23 2016 +0200

    Bug#23031146: INSERTING 64K SIZE RECORDS TAKE TOO MUCH TIME
    
    If a JSON value consists of a large sub-document which is wrapped in
    many levels of JSON arrays or objects, serialization of the JSON value
    may take a very long time to complete.
    
    This is caused by how the serialization switches between the small
    storage format (used by documents that need less than 64KB) and the
    large storage format. When it detects that the large storage format
    has to be used, it redoes the serialization of the current
    sub-document using the large format. But this re-serialization has to
    be redone again when the parent of the sub-document is switched from
    small format to large format. For deeply nested documents, the inner
    parts end up getting re-serializing again and again.
    
    This patch changes how the switch between the formats is done. Instead
    of starting with re-serializing the inner parts, it now starts with
    the outer parts. If a sub-document exceeds the maximum size for the
    small format, we know that the parent document will exceed it and need
    to be re-serialized too. Re-serializing an inner document is therefore
    a waste of time if we haven't already expanded its parent. By starting
    with expanding the outer parts of the JSON document, we avoid the
    wasted work and speed up the serialization.

commit 1139a479c8f7904f12cfd69109c18c0214e49582
Merge: 9fec53a b6d6d91
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Oct 12 12:18:41 2016 +0530

    Merge commit 'b6d6d913978416f56ffab806d87ea0cb5eab8ed1' into mysql-trunk-cluster

commit 9fec53aeda7667043af847ad294b312e292e52d7
Merge: 2f41fbb 671279f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Oct 12 12:13:18 2016 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 671279fe493d0b65be2640af3263842dba874120
Merge: a78bf6f 02d664a
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Oct 11 16:33:02 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 02d664a4c67ea1d66ac79831887c4c5e2ed55b41
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Oct 10 23:10:53 2016 +0200

    Bug#23717558 [WARNING] EVENT 'MYSQL_AUDIT_CONNECTION_DISCONNECT' CANNOT BE ABORTED.
    
    Problem:
    ========
    
    Plugin can signal error. A problem ocurr, when a plugin signal error, when already
    handling an error. This causes infinite recursion. There has been workaround,
    but it did not prevent infinite recursion. Infinite recursion just did not crash
    the server.
    
    Additionaly, stack overrun routine works on a THD, which stack info has been
    registered for a particular thread. If it's signalled from a differend thread
    (thread pool), THD's stack info must be changed. This causes numerous problems.
    
    If we do not set start of a stack frame, stack overrun routine signals error,
    but it is discarded due to prevention of the CONNECTION_DISCONNECT abort.
    This is why we see 'CANNOT BE ABORTED' warning, but the root cause is in stack
    overrun routine, which signals stack overrun.
    
    Fix:
    ====
    
    Infinite recursion has been prevented by modification of the error handling routine.
    
    Reviewed-by:
    ============
    Ramil Kalimullin <ramil.kalimullin@oracle.com>
    Georgi 'Joro' Kodinov <georgi.kodinov@oracle.com>

commit a78bf6f5e9922241c384b8935f9cc6976d6bed6b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 16 09:56:29 2016 +0200

    WL#8741 Varlen keys for sorting JSON values
    
    WL#8539 allowed to sort JSON values. However, in order to limit scope and reduce
    various risks it was done in suboptimal way. This WL aims to provide better
    performance for sorting/grouping JSON values by using variable length sort keys
    for them.

commit bcef17082fe3601fa426c72b0225cf365b704477
Merge: d71ddfe 029f6e7
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Oct 11 14:39:28 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 029f6e72c00c46f178ab1c471a259b440b2a8d65
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Oct 11 14:23:56 2016 +0100

    BUG#24763579: BINLOG SENDER IS GENERATING UNWANTED FSEEKS ON BINARY
                  LOG FILE
    
    Post-push fix.
    
    Fixed an issue causing rpl.rpl_corruption and rpl.rpl_checksum_cache to
    fail.

commit d71ddfe34d0cbf0ac89bad25ef3a1d5374b6f435
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 7 14:18:09 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding my_rapidjson_size_t.h and then re-sorting
    the #includes (and nothing else); then remove my_rapidjson_size_t.h from my_global.h.
    
    Change-Id: Ic4c240cd7e359fcddcb9e4fc42ad0e9a12d9130c

commit 6d50ee3dd7e3ae6ce8f2ebf8d763c454f2c0bae1
Merge: 8228075 5715f6b
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Oct 11 14:34:44 2016 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-trunk

commit 5715f6b607655297b983758d197a19e949e5ef80
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Oct 11 14:20:25 2016 +0200

    BUG#24638038 - XPLUGIN PROCESS ID REALTED STATS NOT SHOWN IN PERFORMANCE SCHEMA.THREADS TABLE
    
    Post push fix, toggling performance_schema_threads.test, performance_schema_unixsocket.test
    
    RB: 14267
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>

commit 822807508a73b3118123339b5ae3e2f1ff466913
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 10 16:16:00 2016 +0200

    Bug #24823885: PERFORMANCE REGRESSION WHEN CHANGING CHARACTER SET TO UTF8MB4
    
    Optimize my_charpos for utf8mb4 charsets, by a simple inlining
    instead of going through a function pointer.
    
    sysbench result goes from 1132 to 1696 tps (+49.8%).
    
    Change-Id: I05544a76b003803683820546289bcc7f188b0e51

commit 1657c19ef74f839cf3fd542b2189ff5c725567da
Merge: 68233fd 3068c2b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Oct 11 09:52:57 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3068c2b6d970211f28a58a79192947e79a0a1693
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Sep 30 13:49:24 2016 +0100

    BUG#24763579: BINLOG SENDER IS GENERATING UNWANTED FSEEKS ON BINARY
                  LOG FILE
    
    Problem
    =======
    
    The Binlog_sender is, some times, generating unwanted fseeks into the
    binary log file being replicated to a salve.
    
    Analysis
    ========
    
    The Binlog_sender does the following "per event" to be sent to a slave:
    
    1) Peek the event size;
    2) Adjust the packet buffer to fit the whole event, based on its size;
    3) Read the (full) event into the buffer;
    4) Send the event to the slave.
    
    Detailing (1) a little bit, it:
    1.1) Saves current IO_CACHE position;
    1.2) Read the event reader (currently 19 bytes) into a temporary buffer;
    1.3) Get the event size from the temporary buffer;
    1.4) Change back the IO_CACHE position to the beginning of the event;
    
    Detailing (3):
    3.1) Read the event reader (currently 19 bytes) from the IO_CACHE into a
         temporary buffer;
    3.2) Get the event size from the temporary buffer;
    3.3) Append the temporary buffer (with the event header) to the packet
         buffer;
    3.4) Calculate the remaining event data to be read (event size - header
         size);
    3.5) Append the remaining event data from the IO_CACHE directly to the
         packet buffer.
    
    The binary log file IO_CACHE uses an internal 8K buffer for caching the
    real file access. It reads 8K blocks from the real file when the read
    request is less than 8K in size.
    
    When the event header is fully stored within an 8K block of the file,
    the IO_CACHE guarantees that the read(of 19 bytes) and the fseek(to
    current position minus 19) will not require additional reads from the
    real file.
    
    When the event header is crossing the boundary of an 8K block, the
    IO_CACHE copies the part that is in the current 8K block, reads the next
    8K block from the file and copies the rest of the event header. The
    "problem" is that, in this case, the repositioning to the beginning of
    the event will require to read the previous 8K block again from the real
    file. This will lead to a hit at "COUNT_MISC" counter at
    "performance_schema.file_summary_by_event_name" for the event_name
    'wait/io/file/sql/binlog'.
    
    Fix
    ===
    
    Reused the header loaded when "peeking" the event size (suppressing the
    fseek) when reading the full event into the packet buffer.

commit 68233fd9b72c8e61d5193c65b1baaedc089b80af
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 11 09:57:26 2016 +0200

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Post-push fix: misc charset tests broken on big-endian platforms
    
    Change-Id: I4a65d4dd9a054df2c474e3bda94b8c4ae665531a

commit 8e204b12535b1e748ec5d5cb5498a39881caf46f
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Jun 7 13:36:57 2016 +0200

    Bug#22992666: NULL VALUE IN JSON COLUMN CORRUPTS GROUP_CONCAT
                  WITH ORDER BY CLAUSE
    
    When GROUP_CONCAT with an ORDER BY clause is used on a JSON column,
    and one of the rows has a NULL value in the JSON column, the query
    could return wrong results.
    
    Analysis:
    
    GROUP_CONCAT(j ORDER BY j) collects all non-NULL values of the column
    "j" in a temporary table and sorts them. Then, to build the result
    string, it takes the Field object that represents the "j" column, and
    for each row changes Field::ptr to point into the row in the sorted
    temporary table instead of the base table, so that it can call
    Field::val_str() on each of the sorted values.
    
    If the last row read from the base table had NULL in the "j" column,
    the Field's m_null_ptr member will still say that there is a NULL
    value in the Field, even after Field::ptr has been changed to point to
    a non-NULL value in the temporary table.
    
    Field_json::val_str() calls Field::is_null() to check for NULL, and
    returns an empty string if it thinks the value is NULL. Since
    is_null() incorrectly says that the value is NULL, val_str() returns
    an incorrect value, which again makes GROUP_CONCAT return a wrong
    result.
    
    Field_json is the only Field that checks is_null() in its val_xxx
    functions. All the other Field classes assume that the caller has
    already checked that the value cannot be NULL before val_xxx is
    called, and they don't check what is_null() returns. This bug
    therefore affects the JSON data type only.
    
    Fix:
    
    Make Field_json make the same assumption as the other Field classes in
    its val_xxx functions, that the value is non-NULL when val_xxx is
    called. And stop asking is_null(), which is unreliable if the Field
    object doesn't point into the original table.

commit ed64e4a7bbf3ba078c90c961eb83c945676ba4ed
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Mar 22 22:55:15 2016 +0100

    Bug#22900110: SIMPLIFY RAPID_JSON_HANDLER
    
    Rapid_json_handler has its own internal data structures to represent
    the partially built DOM for the JSON document that is being parsed.
    These data structures need to be converted to a Json_dom graph before
    the result can be returned to caller.
    
    This patch changes Rapid_json_handler so that it instead builds the
    Json_dom graph directly. This lets us get rid of most of the internal
    data structures that keep track of the parser's state, and reduces the
    amount of work required to build the resulting Json_dom graph.
    
    The patch also refactors the constructor of Json_string to avoid
    unnecessary copying of std::string objects in some cases.

commit 478ef09994b2c4555b735c0a9b3f84b8317d888a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 11 07:55:28 2016 +0200

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    Post-push fix for broken build on some platforms:
    Also: fix wrong printf format specifier in unit test.
    
    Change-Id: I2f79be74f0803cd924d6f950518b929a79db8cab

commit c37077d82a419163aa045f910d9df1d6286d4dce
Merge: 7f33c85 cafba90
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Tue Oct 11 06:51:37 2016 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-trunk

commit cafba90d9f1c4061a12e033c0cf153e3f7495ab1
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Oct 7 11:50:24 2016 +0200

    BUG#24595459 - XPLUGIN: SERVER DOES NOT SEEM TO RESPOND TO "0-SIZED" MESSAGES CORRECTLY
    
    Description
    ===========
    When client sends zero length message, X Plugin doesn't respond to that. After next following
    messages client receives an error E_X_BAD_MESSAGE and gets disconnected (it depends on next
    message header content).
    
    Analyzis
    ========
    The X Protocol message consist from header and payload. The header contains only the
    payload lenght (4 bytes). First byte in payload is message type, after which comes the protobuf
    binary content. X Plugin always reads 5 bytes, thus sending message with "0-payload" transmits
    only the 4 bytes what causes out-of-sync on X Protocol packet layer.
    
    Fix
    ===
    
    * X Plugin is going to read first 4 bytes, in case of zero lenght it is going to send back
      `Mysqlx.Error` message with error ER_X_BAD_MESSAGE (5000) and text
       "Messages without payload are not supported", in case of valid lenght it is going to read
       whole payload and take the message type from the first byte.
    
    * renamed status variable 'Mysqlx_unknown_message_type' to 'Mysqlx_errors_unknown_message_type'
      which was introduced in BUG#24611754
    
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed by: Alfredo Kojima <alfredo.kengi.kojima@oracle.com>
    RB: 14231

commit 7f33c850fd6e8a5af884afe21273aa4f85ab0cbc
Merge: 248c400 2d90e1d
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Oct 10 17:07:57 2016 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-trunk

commit 2d90e1d00efd2a58f80b9548ce3f881bbec811cd
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Oct 10 17:00:59 2016 +0200

    BUG#24638038 - XPLUGIN PROCESS ID REALTED STATS NOT SHOWN IN PERFORMANCE SCHEMA.THREADS TABLE
    
    Description
    ===========
    Most fields used in performance_schema.threads table are set to NULL or derived from parent thread,
    X Plugin sets directly only `CONNECTION_TYPE` field. Most threads after disconnecting user are
    returned to the list of idle threads. Those threads are still present in `threads` table still
    they point to old connection properties in `CONNECTION_TYPE`, `PROCESSLIST_USER`.
    
    Fix
    ===
    X Plugins sets account information into the PFS_thread (`threads` table) directly after
    authentication. The account information are reseted after creating new IDLE thread, it
    is because the account informations are derived from parent thread.
    After closing a session the PFS_thread is deleted and X Plugin creates a new one for
    the physical thread (PFS api doesn't allow to reset CONNECTION_TYPE).
    
    RB: 14217
    Reviewed by Grzegorz Szwarc <grzegorz.szwarc@oracle.com>

commit 248c4007a2526f752816195d7df33f833de9e254
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Oct 4 14:43:01 2016 +0200

    Bug #24788778: SEVERE REGRESSION IN MY_STRNXFRM() FROM MYSQL-5.5 -> 5.6
    
    MySQL 5.6 changed utf8 binary collation strxfrm() from just comparing the UTF-8
    string to converting it to UCS-2 (big-endian) and padding before compare.
    (Similarly for utf8mb4, just with UCS-3 instead, which isn't correct for
    all Unicode code points.)
    
    Both are correct (although changing it also changed the hash function, which
    might on-disk binary compatibility wrt. partitioning), but the latter makes for
    fixed-length keys, which was seemingly important for the (now discontinued)
    Falcon storage engine at the time. However, it also introduces a bottleneck
    when hashing. We add a very simple benchmark (based on the benchmark in the
    bug) and then optimize the string transformation:
    
     - Add an SSE2 version of the padding as long as we're sufficiently far away
       from the end of the string; this will be used automatically for all 64-bit
       Intel compiles (as well as 32-bit Intel compiles with -march=native or
       similar).
     - Inline the mbwc() function for the special case of my_utf8_uni.
     - Some general microoptimization.
    
    All in all, we're at about 7x the speed of before. Old version
    (trunk, 64-bit, optimized mode, GCC 6.1.1, Skylake 3.4 GHz):
    
      Done, used 1.696 seconds (1.696 us/iteration)
    
    This version:
    
      Done, used 0.242 seconds (0.242 us/iteration)
    
    The code is written to be C++98 compatible (even though a lambda would be
    much more elegant than a functor class), as it will probably want a 5.6 and 5.7
    backport. The benchmark isn't, though, as it uses std::chrono.
    
    Change-Id: I9da8c8af448bdacd6028a65c10ce232f841cdc94

commit 38a700b4b1bc3b9847bd5526c5ce518a38d5b622
Merge: 1a86d4e 70b64c8
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Oct 10 11:45:48 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 70b64c8162cbe4500fda770ed0a7ed60826495c3
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Oct 10 11:39:44 2016 +0200

    Revert "Bug#23717558 [WARNING] EVENT 'MYSQL_AUDIT_CONNECTION_DISCONNECT' CANNOT BE ABORTED."

commit 1a86d4efdfeab8ec698d08b62dae6b6134be6fd3
Merge: a7fa471 138e9dd
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 10 11:31:14 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 138e9ddb5c7dc8a9728cfeae3f2e94fe86d6d04a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon Oct 10 09:41:31 2016 +0200

    Bug#24735762 ADD LINKS TO DOCS IN SYSTEMD SERVICE FILE

commit a7fa47135787e2504bc93c72b5d7761c3586e143
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 10 08:31:44 2016 +0200

    Bug#24813358: AUTO_RELEASER SHOULD OWN OBJECTS ACQUIRED BY ACQUIRED_UNCACHED
    
    Post-pusg fix: Update .result files for 4 big tests.

commit 79c5cec477d86b295654bc3249681ad9ab6a188a
Merge: dae39b9 b8c4935
Author: Vikram G <vikram.gg@oracle.com>
Date:   Mon Oct 10 11:25:35 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b8c49356cf14c9f6d6a24887fcd7cb83b7422ab9
Author: Vikram G <vikram.gg@oracle.com>
Date:   Mon Oct 10 11:21:10 2016 +0530

    Bug #24801602ADD CHECK_PLUGIN_DIR.INC TO VERIFY PLUGINS LOCATION IN THE TEST.
    
    In mysql source, all the plugins might not be in the same location. Some mtr
    tests would require multiple plugins, so it is desirable that there is a
    check to see that, if all the plugins are in a directory, then the test
    should run, else it needs to be skipped.
    
    Steps involved in this inc file :
    1. Take a plugins list.
    2. check if all plugins are in same directory.
    3. If yes, continue with the test.
    4. If no, Skip the test.

commit dae39b98f71454158109067c330940e38c36fcb2
Merge: 2a9dccd 92edb05
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Oct 7 21:31:43 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 92edb05790710ea6fd841b4f45325212af1ccebd
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Oct 7 17:13:45 2016 +0200

    Bug#23717558 [WARNING] EVENT 'MYSQL_AUDIT_CONNECTION_DISCONNECT' CANNOT BE ABORTED.
    
    Problem:
    ========
    
    Plugin can signal error. A problem ocurr, when a plugin signal error, when already
    handling an error. This causes infinite recursion. There has been workaround,
    but it did not prevent infinite recursion. Infinite recursion just did not crash
    the server.
    
    Additionaly, stack overrun routine works on a THD, which stack info has been
    registered for a particular thread. If it's signalled from a differend thread
    (thread pool), THD's stack info must be changed. This causes numerous problems.
    
    If we do not set start of a stack frame, stack overrun routine signals error,
    but it is discarded due to prevention of the CONNECTION_DISCONNECT abort.
    This is why we see 'CANNOT BE ABORTED' warning, but the root cause is in stack
    overrun routine, which signals stack overrun.
    
    Fix:
    ====
    
    Infinite recursion has been prevented by modification of the error handling routine.
    
    Reviewed-by:
    ============
    Ramil Kalimullin <ramil.kalimullin@oracle.com>
    Georgi 'Joro' Kodinov <georgi.kodinov@oracle.com>

commit 2a9dccdd5ece6d06f8172372df8d6130a1a8fd2b
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Oct 7 17:40:10 2016 +0530

    WL#9492: Make --fail-check-testcases ON by default
    
    Post push fix to disable check-testcase for a test
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit 6a237ab304c5469a5e8e54b4ddf99afbbfcd4a76
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Oct 6 12:14:08 2016 +0200

    Bug#24813358: AUTO_RELEASER SHOULD OWN OBJECTS ACQUIRED BY ACQUIRED_UNCACHED
    
    After this refactoring, dictionary objects acquired by
    Dictionary_client::acquire_uncached() are owned by the current
    auto releaser and not by the caller. This means that deletion
    of such object will happen when the auto releaser goes out of
    scope instead of being up to the caller.
    
    This patch also changes acquisition of view objects in TABLE_SHARE
    from acquire_uncached() to acquire() + clone(). This is safe since
    we have a metadata lock on the view at this point. The advantage
    is that we now can use the dictionary cache and thus avoid
    accessing disk.
    
    Finally, the patch fixes a latent MTR bug. In check-testcase, the
    I_S query used to retrieve routine info did not have an ORDER BY
    clause, making the order of objects returned unstable.

commit 95952d9775ede95e4e8c111231a10ccba5635bd5
Merge: 4d1da55 9b8a242
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Oct 7 16:54:12 2016 +0530

    Bug #24814874	FAILING TEST IN PB2 DAILY-5.7 INNODB.INNODB-MULTIPLE-TABLESPACES
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 9b8a242d87058ed4ecdf5c2270d7e70c041db492
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Oct 7 16:49:01 2016 +0530

    Bug#24814874	FAILING TEST IN PB2 DAILY-5.7 INNODB.INNODB-MULTIPLE-TABLESPACES
    
    Problem
    -----------
    The test is testing the sceanrio where valid ibd files are present
    in different valid paths during crash recovery.In case a
    checkpoint happens just before we kill the server ,it will not go
    into crash recovery,because of which the test case was failing.
    
    Fix
    ---
    We have used helper functions to detect if checkpoint happened before the
    intended crash of the server.If yes we skip the test.
    
    [Approved by satya over IM ]

commit 4d1da55dbd3209b79d26e8e4133abbb41f6598b7
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Sep 27 13:34:52 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding my_psi_config.h and then re-sorting
    the #includes (and nothing else); then remove my_psi_config.h from my_global.h.
    
    This necessitated some #include cleanups in other parts of the code, as they
    were not include-what-you-used clean, but they were kept to a minimum.
    
    Change-Id: I2fd3760fd7a0b5004db5279ca07d34beece225e0

commit 2f41fbba91d8d21aafdc8fac13bd825ef1865f27
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Oct 7 14:53:56 2016 +0530

    Post Merge Fix
    
    Restore Copyright back to correct value after it was inadvertently
    changed in the previous merge

commit 8ec125cf83b53c38be20a647876e302bb8bf5dd7
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Oct 7 10:32:05 2016 +0200

    Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI
    
    Post-push fix to install missing mem_root_fwd.h header.
    
    Change-Id: Ie6db78ddac9c1575039ceebde1a4286a5b6cf8fd

commit a635f6506a2df4754a8feb6e70c77d645d60fd6b
Merge: 73b3491 512a996
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 7 11:08:47 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 512a9963b45ca06ffd8c94d6916dc07e2e07049c
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Oct 7 11:06:27 2016 +0530

    Bug#23592214: TIMEOUT ON WAIT FOR VIEW AFTER JOINING GROUP ON GR BUILD WITH WITH_SSL=BUNDLED
    
    Description: yaSSL uses vio_read/vio_write for
                 receiving/sending data from/to socket.
    
                 vio_read employs customized timeout
                 in case of EAGAIN/EWOULDBLOCK and returns
                 -1.
    
                 However, yaSSL function processReply
                 does not treat this as error in reading
                 data and simply returns.
    
                 This causes upper layer attempting to read
                 until socket becomes invalid. This patch
                 fixes this issue by raising an error when
                 vio_read reports timeout.

commit 73b34916f8aa7caaf516cb7815b73e2710a13b79
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Oct 6 14:03:33 2016 -0700

    Valgrind build break

commit cc2b3173997cfec9520659fcac0cb7b9e2044a51
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Oct 6 11:04:24 2016 -0700

    Post-Fix for Bug #24706739 INNODB: IMPROVE TABLESPACE TYPE FUNCTIONS
    
    Fix Valgrind failure in buf0buf.cc and an incorrect change in log0recv.cc

commit 8de30c5c9f92c9fd9a290f2168c3a6a7c9e8cfd5
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 6 15:18:13 2016 +0200

    Bug#23337984 STARTING GROUP REPLICATION WITH XSHELL OR MYSQLXTEST CLIENT CAUSES SERVER CRASH
    
    Problem:
    ========
    Session_backup_and_attach detaches sessions only if the session is going
    to be closed, this way leaving the current_thd in a wrong state when
    sessions within a session(within a session...) are attached.
    
    Solution:
    =========
    Always attach and detach the session.
    
    Change-Id: Ic93bb309bf148f6afca2d45734a2f6db2886df38

commit 64ab06f275c501fd82e4a2c3f687dc8d596a4cc1
Merge: bb8fc00 cc6e3be
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 6 15:06:41 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit cc6e3be6b6beb84f8c3886e77b1660c039d6fefe
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 6 14:55:55 2016 +0200

    Bug#23337984 STARTING GROUP REPLICATION WITH XSHELL OR MYSQLXTEST CLIENT CAUSES SERVER CRASH
    
    Problem:
    --------
    START GROUP REPLICATION uses stacked Srv_session(s) and does not return
    to the correct thread.
    
    Workaround:
    ---------
    Removed SQLCOM_START_GROUP_REPLICATION and SQLCOM_STOP_GROUP_REPLICATION
    commands from the allowed list of commands.

commit bb8fc00bb2d88cc45d81a62632730f0aab66fd25
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Oct 3 15:47:38 2016 +0200

    Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI
    
    Post-push fix to silence warnings in some versions of Clang;
    C code is not allowed to make typedefs twice, not even to the same
    type.
    
    Change-Id: Ic378ccb564c75476fdb6cf9b3cd1d171b89d7e3e

commit f2904bd6a52f16df11f9d25d017010fed9a8d127
Merge: a040407 b17c1e8
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Oct 6 13:46:16 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit b17c1e8c938b19b4b52947b846bf0d13942bef6d
Merge: ebbf014 7217e1a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Oct 6 13:31:54 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7217e1a9f064c68c74d1af09a40f21e199b10d04
Merge: f4634f4 9f5a91f
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Oct 6 13:27:40 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9f5a91f5b6d830d31a0a274580fa884d09ba15d9
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Oct 6 13:26:16 2016 +0200

    Bug#24483092 UNSAFE USE OF VARIOUS SHELL UTILITIES
    
     - Remove use of touch and chmod.
     - Restrict usage of chown to cases where target directory is /var/log.
     - Due to limited feature set in /bin/sh on Solaris, /bin/bash will be
       used on this platform.
     - Give error if directory for UNIX socket file is missing.
     - Privileged user should not log to files owned by different user
       (mysqld will log as before).

commit a0404076812c7267a07cc33a3b62182274081cb2
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Thu Oct 6 17:05:08 2016 +0600

    Bug #24482919 -- SHOW TRIGGER OUTPUT INCONSISTENCY ON WINDOWS / LINUX ON 8.0.0
    
    After WL#7896/WL#6383 an output of SHOW TRIGGERS could produce inconsistent
    result on Linux and Windows platform.
    
    The reason of the bug was the wrong compare condition that was used to sort
    trigger objects loaded from the Data Dictionary into the memory.
    
    To fix the bug the sorting criterion has been modified to make it in
    lexicographical order.

commit 9b21e511cea37e19845e39255497feaec6ccf34e
Merge: 44fdb74 13e9d32
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Oct 6 15:12:17 2016 +0530

    Merge commit '13e9d3287b252bea2af934532ce11280328790fd' into mysql-trunk-cluster

commit 8caccfa17abc2d73d31705abb61bd7b57167aedc
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 5 16:35:21 2016 +0200

    Bug#24802377: MISSING CMAKE DEPENDENCY GENBOOTSTRAPPRIV => MYSQL_UPGRADE
    
    The code for mysql_upgrade relies on sql_commands_system_tables_data_fix.h
    which is made by the GenBootstrapPriv CMake target.
    The problem was that this dependency was not made explicit, which
    could lead to build failure in rare cases as the file had
    not been generated when mysql_upgrade was compiled.
    
    This patch fixes the problem by adding the dependency.

commit a194399274abe2754c3a42abab3d13c952b2fc06
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Oct 4 18:43:30 2016 +0300

    Bug#24796251 ADD DEBUG CHECKS TO JOIN_CACHE
    
    In JOIN_CACHE::rem_space() there is a redundant std::max operation.
    We had better check that there is no overflow. Because code review
    suggests that overflow is not easily possible, we add DBUG_ASSERTs
    to catch any wrongdoing.
    
    Furthermore, assert that after JOIN_CACHE_BKA::init_mrr_buff()
    has been invoked, the join buffer is no longer be used by
    JOIN_CACHE::write_record_data() without prior
    JOIN_CACHE::reset_cache(for_writing=true).
    
    JOIN_CACHE_BKA::aux_buff_size: Moved from JOIN_CACHE.
    
    Also improve some comments and add static and const qualifiers.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>

commit edf8eb037e8ac3bb34696627a9c8132b70e86b1f
Merge: ef1f2fc ebbf014
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 6 12:37:16 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ebbf0145703bdba9fa9ae2dc6c459306ee6f85b0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 6 12:35:55 2016 +0530

    Bug #23227428: SQL PLAN IS NOT ACCORDING WITH
                   OPTIMIZER_TRACE
    
    Issue:
    ------
    While choosing an index for a query with ORDER BY and
    LIMIT, optimizer's switch to a different index is not
    recorded by the trace.
    
    Solution:
    ---------
    This is a side-effect of the fix for Bug#18035906. While
    tracking changes to the preferred index, no distinction is
    made between index scan and ref access. This results in
    misinterpretation of whether a new index has been chosen.

commit ef1f2fc7bc2a38985d434767799069ead9853f1d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Thu Oct 6 11:07:00 2016 +0530

    Abort the valgrind testsuite(all_default_valgrind) in daily/weekly
    runs if there are more than 100 failures.
    
    Approved by Erlend Dahl <erlend.dahl@oracle.com> over IM.

commit a2dee1aa0bb0dd0ce14c2915f2fae335660fa580
Merge: 47411cf 4694c3a
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Oct 6 03:38:06 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4694c3a9e89289b2911c218e702937d43ef3f959
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Oct 6 03:32:44 2016 +0200

    Bug#24555658 VALGRIND ISSUE IN GET_ONE_VARIABLE_EXT IN SQL/SQL_SHOW.CC:3075
    
    Acquire THD::LOCK_thd_data to block the Performance Schema from
    accessing THD::variables during thread disconnection.

commit 47411cf482524f2750e292beb8b590b39e748fe7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 5 14:24:27 2016 +0200

    Bug#24801242: REMOVE HANDLER::HA_CREATE_HANDLER_FILES
    
    Additional patch: Simplify quick_rm_table() by
    moving handling of NO_HA_TABLE out to callers.

commit 4c6190d82684a5da298b7a5a324f5121ba9a43d8
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Oct 5 13:26:57 2016 +0200

    Bug#24801242: REMOVE HANDLER::HA_CREATE_HANDLER_FILES
    
    Remove handler::create_handler_files() and
    handler::ha_create_handler_files(). With the partitioning SE
    gone, there are no remaining implementations that use this.

commit 5186a810725cb337ab58c05a01ffab2386fcd7e0
Merge: 7a3ebbd 3187b38
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Oct 5 15:54:49 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 108dadcc200f25798be4bbae1725873eb677751b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Oct 5 13:21:59 2016 +0200

    Bug#24397833 GIS_WKB_VECTOR<GIS_POINT> COPY CONSTRUCTOR IS MISSING
    
    Post push fix to avoid Doxygen warning.

commit 3187b38184cbfbe6cd08ecad230a222d243f70b6
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Oct 5 15:47:48 2016 +0200

    Patch for bug#24800098 NDB: OPTIMIZE NDBSQLUTIL::STRNXFRM_BUG7284()
    
    As the optional space padding of the transformed string is not
    required for a well behaved character collation (>99%), we
    should hardly never need to produce a space-pad string.
    
    This patch change ::strnxfrm_bug7284() such that this string
    is only produced when actually needed. In most other cases the
    result produced from the string library method strnxfrm(,,, PAD_)
    is returned 'as is'.

commit 4732eef9670dacc99e898f0fc636ad7a34aa1890
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 3 15:06:00 2016 +0200

    Bug#19062566: RESOLVE_CONST_ITEM() CALLS ITEM_DECIMAL() WITH ARGUMENTS IN WRONG ORDER
    
    Swap the order of two arguments in the call from resolve_const_item()
    to the Item_decimal constructor.

commit a9e9fbf797228467726a2ff78ce1c00f8f3b6ce1
Merge: 8cfc579 a349b51
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Oct 5 18:20:55 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit a349b51f94dc31d66299533f4005aad869ed2cae
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Oct 5 18:19:24 2016 +0530

    BUG#23739728 : UNABLE TO LOAD X PLUGIN ON MULTIPLE SERVERS ON MTR
    
    Post push fix.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>

commit 8cfc579a4e4a3c3e0fe4921821b817d247fed5db
Merge: daee89b 4898e78
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 5 14:43:30 2016 +0200

    NULL Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	rapid/unittest/gunit/xplugin/CMakeLists.txt

commit 4898e7864f5189b29545effcb9b9da6feef32d46
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 5 10:03:30 2016 +0200

    Bug#24795241 INTERNAL ERROR IN DEVELOPERSTUDIO IN RELEASE MODE
    
    Patch for 5.7
    When building with -xO3 we get:
    The following tests FAILED:
             30 - Callback_command_delegate_testsuite (SEGFAULT)
    Fix: use -xO2 for the affected file.

commit daee89b8963a687dfa1e2373e9b20fbf8917715a
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Wed Oct 5 14:58:07 2016 +0300

    Fix Bug#24666839 INNODB'S ESTIMATE FOR ROWS-IN-TABLE CAN RETURN ROWS=1 DUE TO A RACE CONDITION
    
    Previously, when copying stats around, we did:
    
    1. reset all stats of table T
    2. copy the stats from a dummy table object into T
    
    We only did 1. because during 2. we may skip some indexes which could
    then remain uninitialized in T. The problem is that between 1. and 2. the
    stats could be read without taking any locks (if ha_innobase::info() is
    called with HA_STATUS_NO_LOCK) which could lead to reading the zeroed
    stats which almost certainly do not describe the table well (too wrong).
    
    The solution is to avoid 1. and directly overwrite the existing stats in
    2. and in addition, if the index is to be skipped, then reset its stats,
    as what would have been done by 1.
    
    Still, this could cause an inconsistent stats read by
    ha_innobase::info(HA_STATUS_NO_LOCK) - it could read partially the old
    stats and partially the new stats. This is acceptable because:
    * The stats are an approximation and not exact/precise numbers,
      occasionally reading outdated stats should not cause problems
    * Doing any locking in ha_innobase::info(HA_STATUS_NO_LOCK) was
      tested and causes performance regressions.
    
    RB: 14204
    Reviewed by: Satya Bodapati <satya.bodapati@oracle.com>

commit 28692b2937078113826e157018eebfb45d43e0dd
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Tue Oct 4 23:52:27 2016 +0200

    Only create the NodeJS RPM package if 'ndb_nodejs_extras_path' is set

commit 44fdb746ef1441b9dd95a9b8b51988c175aba519
Merge: c4bfaed 5b75206
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue Oct 4 21:23:29 2016 +0200

    Bug#24717014 GR_APPLIER_THREAD_ERROR_DETECTION IS FAILLING WHIT DOUBLE SLAVE LOCK
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 5b7520680cb04dc57c929024e471f4a961109db9
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue Oct 4 21:18:25 2016 +0200

    Bug#24717014 GR_APPLIER_THREAD_ERROR_DETECTION IS FAILLING WHIT DOUBLE SLAVE LOCK
    
    On the channel interface stop method, if the threads were already
    stopped, the method would return without unlocking the slave locks it
    acquired.
    The locks are now unlocked in all cases.

commit c4bfaedac0ccfb876019790978f2139b29246161
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Oct 4 11:27:56 2016 -0700

    Bug #24706739 	INNODB: IMPROVE TABLESPACE TYPE FUNCTIONS
    
    This is a cleanup for the patch in Commit:
    c7cbe252cc1b774baaa4f158d2c81f1c904c55ac [c7cbe25]
    which contained most of the changes for this bug.
    One of the asserts had an inadvertent '!', reversing the assert.

commit c7cbe252cc1b774baaa4f158d2c81f1c904c55ac
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Thu Sep 15 13:24:17 2016 +0200

    Bug #24497803: TRIGGERS WITH CONCURRENT DDL CORRUPTS DD
    
    During ALTER TABLE, triggers are moved from the source table to the
    destination table, since copies cannot coexist due to key constraints on
    the data dictionary table storing the trigger definitions. Here, the
    following issues may occur:
    
    * There are two updates (one update of each table) of the dictionary in
      this context. If the first update succeeds, the from-table is stored
      with the triggers removed. This is also reflected in the in-memory
      meta data in the dictionary cache.
    
    * Now, if the second update (adding the triggers to the destination table)
      fails, the transaction is rolled back. This will undo the changes to the
      persistent meta data (i.e., the triggers that were removed by the first
      update will be put back), but the update of the in-memory meta data
      (where the triggers are not present) is not undone.
    
    * Thus, another acquisition (e.g. during another ALTER TABLE of the same
      table) will acquire the DD object in memory with the triggers missing.
      If this second ALTER TABLE gets to the stage where the destination table
      is renamed back to the original source table name, then the meta data of
      the old source table is dropped. This is done without foreign key checks,
      which allows the leftover trigger meta data in the triggers table to be
      left alone.
    
    * And finally, when we e.g. try to drop the schema which contains the
      tables (and the now orphaned triggers), the triggers will not be dropped,
      since they are not connected to a table which is being dropped, so when
      the schema meta data is deleted from the mysql.schemata table, we get a
      foreign key constraint violation.
    
    An additional issue here is that after a failure while moving triggers
    during ALTER TABLE, the meta data of the temporary destination table is not
    removed.
    
    This patch does a refactoring of the trigger handling similar to the
    handling of FKs, i.e., the triggers are temporarily stored in memory while
    preparing ALTER, then these copies are added to the destination table at
    the very end of the ALTER execution. This is simpler for triggers than for
    FKs since there are separate statements for adding or dropping triggers;
    thus, an ALTER statement will not add or drop triggers.
    
    This patch does not add a test case addressing the bug at hand, since
    implementing a reliable case would involve using a debug sync point while
    moving the triggers from the source to the destination table, which would
    again make the test obsolete given the other changes that are done.
    However, one test case is added to make sure we test ALTER TABLE ... COPY
    with tables having triggers.

commit 73c827216697d9f4cb6ab9e18e9a312143750b84
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 4 14:44:51 2016 +0200

    Bug#24795241 INTERNAL ERROR IN DEVELOPERSTUDIO IN RELEASE MODE
    
    When compiling rapid/plugin/x/ngs/src/client.cc, we get:
    assertion failed in function assert_with_dumps() @ ssa.c:621 when using -xO3
    
    Change-Id: Ie655df41a33ba036dd12b9685cb00f2f4c1be538
    Fix: use -xO2 for this source file.
    
    One unit test segfaulted with -xO3, lower optimization level fixed it.
    
    Also: remove remaining usage of BOOST_LIB_SOURCES, BOOST_SOURCES_DIR
    and BOOST_THREAD_SOURCES

commit f7c62fc3f252ba7aa4168964d19adb20d87f1792
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 15:01:13 2016 +0200

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Post-push fix: Unbreak doxygen

commit bca7824bef0badeaef3687ab4b34e4e735a69dff
Merge: 8bfffc9 f510a50
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Tue Oct 4 15:03:24 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit f510a50c777c53997cc24106ea910f5f31a1d7c9
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Sep 30 16:35:46 2016 +0200

    BUG#24764113: TRANSACTION_CONTEXT_EVENT::WRITE_SET_LEN HAS NOT ENOUGH INTEGER SIZE
    
    On Group Replication transactions are executed optimistically and
    then, at commit time, are checked for conflicts. If there are
    conflicts, in order to maintain consistency across the group, some
    transactions will be rolled back.
    In order to detect conflicts, at commit time, each transaction data
    and write sets are sent to all members. It was discovered that
    serialization of the write sets to the network format was limited by
    a 16 bits integer, which is not enough to hold the size of big
    transactions write sets. This was causing write sets to be trim and
    conflict detection unable to find conflicts.
    
    In order to fix the above issue, now we do use a 32 bit integer on
    Transaction_context_log_event write set length which can hold big
    transactions write sets.
    Since we are already changing Transaction_context_log_event, we did
    also fix the size of thread_id field from 64 to 32 bits.

commit 8bfffc983437230b133bb83fd5dc6af2f2c03f96
Merge: 7168a94 9bbc3d3
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Oct 4 14:32:26 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9bbc3d31644f2ac56b6ecdb71eec7ca605862b74
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Oct 4 13:59:51 2016 +0200

    Bug#24397833 GIS_WKB_VECTOR<GIS_POINT> COPY CONSTRUCTOR IS MISSING
    
    Problem: The Intel compiler complains that Gis_wkb_vector<Gis_point>'s
    copy constructor isn't explicitly instantiated.
    
    Fix: Explicitly instantiate the copy constructor.

commit 7168a947bdf1fc335b23cc651ebc62d2d548678c
Merge: cbcea61 e1de8a4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 14:12:55 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit e1de8a4bcf4aa982f1e869cce5c2d3d8b738dbfd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 14:03:52 2016 +0200

    Bug#24572381: UPDATE GMOCK DOWNLOAD LINK
    
    Post-push fix: Use EXPECT_FLOAT_EQ() rather than EXPECT_EQ()
    when comparing the results of floating point expressions.
    This fixes a unit test failure in opt_guessrecperkey-t on
    32 bit Linux, optimized build.
    
    Change-Id: Ifadf8e03b77a444df66f78cb62f0d8e7e295e6d0

commit 7a3ebbd6c52ac7a0fd007804ce56ac8e0c589aaa
Merge: 8b24f54 f5c4513
Author: MySQL Build Team <piotr.obrzut@oracle.com>
Date:   Tue Oct 4 13:51:46 2016 +0200

    Upmerge of the 7.2.26 build

commit f5c45134c0197938af49ac56ddf8c210f8ddda52
Merge: 4b24bf1 421e94c
Author: MySQL Build Team <piotr.obrzut@oracle.com>
Date:   Tue Oct 4 13:45:20 2016 +0200

    Upmerge of the 7.2.26 build

commit 421e94c2b07148e8c186ba493ba538e8bf88f606
Merge: fe0b4ff 58e1866
Author: MySQL Build Team <piotr.obrzut@oracle.com>
Date:   Tue Oct 4 13:31:02 2016 +0200

    Upmerge of the 7.2.26 build

commit cbcea61a27e2ebceb8e431a4496985bf09df0b2d
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Oct 3 14:32:08 2016 +0300

    Bug#24787984 DECLARE DERIVED METHODS IN THE OPTIMIZER WITH THE C++11 OVERRIDE KEYWORD
    
    In many derived classes in the optimizer, introduce the keywords
    override and final, and remove redundant use of the keyword virtual.
    
    Add and revise some Doxygen comments.
    
    Query_result_union_direct::begin_dataset(): Introduce the method
    only for EMBEDDED_LIBRARY, because that is the only case when
    Query_result::begin_dataset() is declared as virtual.
    
    JOIN_CACHE_BKA_UNIQUE::check_all_match_flags_for_key(): Remove the
    keyword virtual, because JOIN_CACHE_BKA_UNIQUE is a final class.
    
    Reviewed-by: Knut Hatlen <knut.hatlen@oracle.com>
    Reviewed-by: Tor Didriksen <tor.didriksen@oracle.com>

commit 8b24f5467f8c471c79d34a8ff5eaf6ec771edd33
Merge: 7919c1d 4b24bf1
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Oct 4 11:48:13 2016 +0200

    Upmerge of the 7.4.13 build

commit 4b24bf10d1e0f96a50cda2e0ec155957ebd9b996
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Oct 4 11:42:19 2016 +0200

    Raise version number after cloning 7.4.13

commit 58e1866e6b60991eb52638ecc12cc46c729951eb
Author: MySQL Build Team <piotr.obrzut@oracle.com>
Date:   Tue Oct 4 11:30:25 2016 +0200

    Raise version number after cloning 7.2.26

commit 7919c1de13813ed52c663b82fec2196c40dd1621
Merge: 1521238 00d950d
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 4 10:48:35 2016 +0200

    Upmerge of the 7.3.15 build

commit 00d950dc606b58ebccdb2e5d88ab9accb14e1837
Merge: 7d251fa fe0b4ff
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 4 10:46:02 2016 +0200

    Upmerge of the 7.3.15 build

commit fe0b4ff05f832cfbf41f47fbc48251f991287d58
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Oct 4 10:43:50 2016 +0200

    Raise version number after cloning 7.3.15

commit cc78b40092259187f7c9fde4e39bbc870cfa26f3
Merge: 6410a8e 53e3e8f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 10:38:48 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 53e3e8fabc20d961a758cee4c6083875cc407a4c
Merge: a6d53b1 f4634f4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 10:33:45 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit f4634f4a8c9da0d71b29c33bcc24004d155d62b8
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 3 14:30:18 2016 +0200

    Bug#24748505: RELWITHDEBINFO BUILD USING VS2015 FAILS FOR MYSQL-5.6 ON WINDOWS
    
    Remove 'inline' from function definitions in my_time.c in
    order to fix linking issues on VS2015.

commit 15212381e4e5f432e4a573708196c3a26127aece
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Oct 4 13:30:19 2016 +0530

    Raise version number after cloning 7.5.4

commit 6410a8e1d18b91989748efbb50fac2c2c57ca4fe
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 28 11:43:13 2016 +0200

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #4: Fix -Wunused-parameter warnings in Performance Schema

commit 9942427385338af8531a6d488dc6505c1bedcc79
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Oct 4 08:38:42 2016 +0200

    Bug#24732194: "USE DB_NAME" AND "SELECT SCHEMA()"
                  WORK FOR NON-EXISTING DATABASES
    
    Post-push fix: Fix memory leak in case dd::schema_exists() fails.

commit c326b5a9bc957ca72662ef54b84ac7ccf34921c5
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Oct 4 09:23:25 2016 +0530

    Removed show_compatibility_56=ON from default.weekly-ndbcluster
    
    Reviewed by:
    Erlend Dahl <erlend.dahl@oracle.com>

commit 57b11e4d18bbaba690934c471131020824c626c4
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Sep 21 18:47:37 2016 -0700

    Patch to make tablespace type functions consistent.
    They are spread out into multiple files with different names.
    Changes
    * is_system_tablespace() -> fsp_is_system_or_temp_tablespace()  This function was used in about 30 places and is confusing because it checks for both types of predefined system tablespaces.  Some of the places it was used is only concerned with ibdata, which is often specifically called the system tablespace.
    * srv_is_undo_tablespace() -> fsp_is_undo_tablespace()  moved this function to fsp0fsp.cc and fsp0types.h with all the others
    * Tablespace::is_undo_tablespace() -> fsp_is_undo_tablespace()
    * (space == srv_sys_space.space_id) -> (space_id == TRX_SYS_SPACE) simpler to understand and quicker inline, and srv_sys_space will never use any other space_id than 0
    * fil_is_user_tablespace_id() -> fsp_is_ibd_tablespace() and moved to fsp0fsp.cc.  The 'user' reference is vague since system and temp spaces can contain user data.
    * Used dict_table_is_file_per_table() where the same condition exists and where it is more appropriate.
    * Used fsp_is_file_per_table() where the same condition exists.
    * Deleted is_system_or_undo_tablespace() because it was unclear what the 'system' meant.  In this case it did not include the temp tablespace.  Replaced it with 	    (space == TRX_SYS_SPACE || fsp_is_undo_tablespace(space))
    * Calls to trx_rseg_mem_create(() will ALWAYS use univ_page_size.  undo, temp and system tablespaces that contain rollback segments are always univ_page_size. Deleted code that searched for the page size of system tablespaces. Asserted in trx0rseg.cc where the space->flags were readily available.
    * Used fsp_is_system_temporary() in about a dozen places where a space_id was compared directly to srv_tmp_space.space_id()
    
    Approved by Vasil in rb#14093.

commit 5d220bb820cf29b5c0b8b17e38bda6dbeb276d36
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Sep 30 12:59:35 2016 +0200

    Bug#24762086: REDUCE SCOPE OF JSON CLASSES AND FUNCTIONS
    
    Classes, functions and constants that are used in a single compilation
    unit, are moved to an anonymous namespace, or made static, or
    converted to a local lambda expression. This reduces the pollution of
    the global namespace.

commit 658e670c3158f8772c9311fbb421fa8b386263e6
Merge: a27fa15 a6d53b1
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Oct 3 14:46:42 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk
    
    * mysql-5.7:
      Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED

commit a6d53b1cd4d0a4a7b0e3982a66e9837ee88a86c4
Merge: e9ca1f5 e9a1d98
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Oct 3 14:45:56 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7
    
    * mysql-5.6:
      Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED

commit e9ca1f547bee66163af08042813abfbe9da3e609
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Mon Oct 3 18:10:54 2016 +0600

    This patch reverts commit 31d71d926d5e830cab1871396053e126d7bfa8a0

commit e9a1d98ff1e06fad540c0d2244e32e163f2a1230
Merge: e23c9bd d3509e4
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Oct 3 14:44:42 2016 +0300

    Merge branch 'mysql-5.5' into mysql-5.6
    
    * mysql-5.5:
      Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED

commit a27fa15f30ed3f40c926491e2cf0405026823988
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Oct 3 16:57:41 2016 +0530

        Post-fix for commit 1e5c793f3
    
        BUG#24756400 - MYSQL_SECURITY_COMMANDS.SQL IS NOT USED ANY MORE AND SHOULD BE REMOVED
    
        mysql_security_commands.sql was only used by mysql_install_db
        which is now removed.

commit 8144a64ff0252f5aa5374aa93839302bea237800
Merge: e366d8b e9ca1f5
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Mon Oct 3 18:34:19 2016 +0600

    Null-merge branch 'mysql-5.7' into mysql-trunk

commit d3509e4ffa62b8dc3133745138ceb9b4a0a7b761
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Tue Sep 27 14:09:54 2016 +0300

    Fix Bug#24707869 GCC 5 AND 6 MISCOMPILE MACH_PARSE_COMPRESSED
    
    Prevent GCC from moving a mach_read_from_4() before we have checked that
    we have 4 bytes to read. The pointer may only point to a 1, 2 or 3
    bytes in which case the code should not read 4 bytes. This is a
    workaround to a GCC bug:
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77673
    
    Patch submitted by: Laurynas Biveinis <laurynas.biveinis@gmail.com>
    RB: 14135
    Reviewed by: Pawel Olchawa <pawel.olchawa@oracle.com>

commit e366d8b8bd2ccf7b9070944c36762358e786e617
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Sep 21 16:57:07 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Run the IWYU tool, limited to mysys/.
    
    Change-Id: Icef959e224e23f9bd8a73df16ac3e89aac6bb591

commit 06f17f4bf36b2ba2d556814a7aeb8da5b8e5b8b2
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Mon Oct 3 10:37:50 2016 +0100

    Bug #24680899 WINDOWS MINIDUMP FILES CREATED BY MYSQLTEST ON SHUTDOWN FAILURE ARE EMPTY
    
    Description
    ===========
    The my_create_minidump function in the mysys library on Windows passes a
    pointer to an uninitialized MINIDUMP_EXCEPTION_INFORMATION structure to the
    Windows API function MiniDumpWriteDump when requesting a minidump for a
    different process. This results in the creation of an empty minidump file and
    an access violation in the caller.
    
    Fix
    ===
    Ensure that a null pointer is passed to the MiniDumpWriteDump API function
    when when requesting a minidump for a different process.
    
    Reviewed by: Dyre Tjeldvoll <dyre.tjeldvoll@oracle.com>
    RB: 14059

commit 85ab7d679f0449630433bf691605e2465c0841e6
Merge: 80f5d62 31d82ac
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Oct 3 12:34:44 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 31d82ac059084abf1b27d657b4194c1573f1af32
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Sep 22 16:43:41 2016 +0200

    Bug #24611754 XPROTOCOL: DON'T DROP THE CONNECTION IF YOU DON'T UNDERSTAND THE MESSAGE TYPE
    
    Description:
    A customer noticed that if he sends unknown message types to plugin
    the current behaviour is to send an ERROR message of type HY000,
    with text 'Invalid message' back to the client.
    The customer also expects that the connection couldn't be dropped
    but dedicated counter would be incremented.
    
    Solution:
    During the issue's investigation described dropping of connection
    hasn't be confirmed. A dedicated counter for unknown messages
    has been implemented as a status variable (Mysqlx_unknown_message_type).
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB:14112

commit 80f5d6274d98d4c81552f5e3cdd588d67cf98d02
Merge: 942a0f1 c8e3fff
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Oct 3 11:59:14 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4703ee81a079f3691a134b658a48808afbc433e2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:44:39 2016 +0530

    Raising the Server version after merging in 5.7.16

commit b4f88f4b2fb749a844ff4b7b39a42500c63b17e5
Merge: 9130985 7d251fa
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:43:52 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7d251fac1616767ae3d42376efd7b6f22e362219
Merge: 16633dc 59d0331
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:42:17 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Raising the Server version after merging in 5.6.34)

commit 59d0331f029a23520ba5ae1d1ad5ba05aa0838bf
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:41:07 2016 +0530

    Raising the Server version after merging in 5.6.34

commit 913098544e6e799341a4723958403d5d71181749
Merge: 4ecd6c2 16633dc
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:40:09 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit c8e3fff988beff9736e6cbdbe4fea6186d2a6011
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 6 13:18:21 2016 +0200

    Bug#22275357: ORDER BY DOES NOT WORK CORRECTLY WITH GROUPED AVG()
                  VALUES EXTRACTED FROM JSON
    
    Queries that are grouped on a column of a BLOB-based type, and that
    are ordered on the result of the AVG aggregate function, return
    results in the wrong order if InnoDB temporary tables are used.
    (InnoDB temporary tables are used by default after WL#6737.)
    
    The bug also affects the aggregate functions that calculate variance,
    such as VAR_POP and STDDEV_POP.
    
    The problem is that filesort fails to mark the AVG field in the
    table's read_set. This has the consequence that the rows are sorted on
    a different column than the one that holds the result from the AVG
    aggregate function.
    
    The fix is to make Item_sum_num_field (which is the parent class of
    Item_avg_field and Item_variance_field) override mark_field_in_map()
    and make it add the field to the read_set. This is a partial backport
    of WL#8699, which included a fix for this problem in mysql-trunk.

commit 942a0f138b84da11ff2f1a2189a830114a3afaee
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 28 14:22:14 2016 +0200

    Bug#24732194: "USE DB_NAME" AND "SELECT SCHEMA()"
                  WORK FOR NON-EXISTING DATABASES
    
    The problem was that USE checked for file directory existence,
    rather than asking the data dictionary if the schema exists.
    
    This mean that creating the schema manually (e.g. mkdir)
    would first appear to work when using USE, but would then
    later fail since the schema was not reflected in the dictionary.
    
    This patch fixes the problem by changing USE to ask the
    dictionary rather than the file system.
    
    Note that creating schemas by creating directories manually
    is not supported.

commit b52d210b7eb53417bc85a4f0f65908f1ad7b3d9a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Oct 3 10:12:08 2016 +0200

    Bug#24756780 SOME FILES HAVE WRONG PERMS
    
    Approved by Terje Rosten <terje.rosten@oracle.com> over IM.

commit 8517678114e8078e7b5bcf8acf6c98c2166e40b4
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Oct 3 10:05:55 2016 +0200

    Bug#24762998 README STILL SAYS MYSQL SERVER 5.7
    
    Approved by Terje Rosten <terje.rosten@oracle.com> over IM.

commit 4ecd6c2628a9072813da7d036dda1a89f6ecc3f1
Author: Ole John <ole.john.aske@oracle.com>
Date:   Mon Oct 3 10:52:20 2016 +0200

    Follow up of bug#24496910, intended to fix bug#24715897: Showstopper for 7.5 GA
    
    The patch for bug#24496910 also introduced locking of the injector_mutex
    when reading global variabled maintained by the binlog injector thread, and
    read by any client thread.
    
    As it turns out that the injector_mutex is held for intervals of 10ms,
    that could considderably slow down operations as open'ing of tables
    to a non acceptable level.
    
    This locking of this mutex is reverted ndb_binlog_is_read_only().
    A big comment is added explaining why, and suggesting TODO actions
    for a later propper fix.

commit 16633dcc73057b008cd02a8c071c44f62939645f
Merge: 680e3d2 7a3660f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:21:31 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 7a3660fd19e6c56aeff71e57a9d160ba4d3794f3
Merge: 36ec3a3 6b4cc90
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:20:14 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 6b4cc9044edfa520e5358aca179e9773ae5420bb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Oct 3 14:17:53 2016 +0530

    Raising the Server version after merging in 5.5.53

commit 1a6ab9c749f989464fae7c9fce75570e8f90c6ec
Merge: d38bd9e e796863
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Oct 3 14:16:35 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e796863e90798d3314cef4d27aa0ba09a4478179
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Oct 3 14:14:55 2016 +0530

    BUG#23739728 : UNABLE TO LOAD X PLUGIN ON MULTIPLE SERVERS ON MTR
    
    Post push fix.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>

commit d38bd9e15bc7dbf9b6f3634c5a7596b44c7c8f0a
Merge: c1207cb 31d71d9
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Mon Oct 3 13:51:48 2016 +0600

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Resolved conflicts in sql/sql_trigger.cc

commit 31d71d926d5e830cab1871396053e126d7bfa8a0
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Mon Oct 3 12:51:26 2016 +0600

    Bug#22512899 - DROP TRIGGER AFTER RENAME TABLE RESULTS IN ERROR CODE 1146: TABLE DOESN'T EXIST
    
    In case a table has an associated trigger and the table is renamed to a new name
    contained characters in both lowercase and uppercase then successive execution of
    DROP TRIGGER for the table’s trigger would result in issuing the error
    ER_NO_SUCH_TABLE for the table associated with the trigger.
    This bug happens only for Mac OS X platform.
    
    The reason for the bug was that case of a file name characters wasn’t ignored
    when searching a file entry in the file system.
    
    To fix the bug convert a table name to lowercase when resolve a trigger’s table
    during handling the statement DROP TRIGGER.

commit 341170dcdb2b4caef21dcc25540b8715fce09b0b
Merge: a4920d6 680e3d2
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Oct 1 15:21:53 2016 +0300

    Merge branch 'bug24736950-7.4' into bug24736950-7.5

commit 680e3d2a53c7a2c062594b1ccbd79b10549afbf0
Merge: 020503c 36ec3a3
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Oct 1 15:19:05 2016 +0300

    Merge branch 'bug24736950-7.3' into bug24736950-7.4

commit 36ec3a320f370e8bbd813a78e473cca8450c8dc3
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Oct 1 14:54:48 2016 +0300

    bug#24736950 - NDB RESTORE DOES NOT DISABLE FKS IN LOG PART
    
    ndb_restore: set_disable_fk() in LOG part too

commit c1207cbebd1ed13aa544340a02fd483bd5011717
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Sep 29 14:35:03 2016 +0200

    Bug#23853628 BITWISE OPERATORS: ASSERTION 0 IN SORT_PARAM::MAKE_SORTKEY
    
    Problem:
    ========
    The assumption in Sort_param::make_sortkey is that if the result
    is nullptr and maybe_null is false then null_value is certainly true and
    thus is inconsistent with maybe_null==false and thus the debug binary
    intentionally exits, however this is not always the case:
    if the item evaluation raised an error the null_value should be false
    (as maybe_null is false) so no assert needs to be triggered
    as this case is dealt with later when thd->is_error()
    is checked(in find_all_keys).
    
    Solution:
    ========
    changed the assert to trigger only if item->null_value is true and
    set the null_value to maybe_null inside the bit functions.
    
    Change-Id: I97e7e89af46fa85e288f02ebc69b7dbb9d4bc9d3

commit eceba67de5fcad3c4aeef6e9e61eafacabb887eb
Merge: 3a5fd14 60f54ba
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Sep 30 18:53:17 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 60f54badddb8413d585fb1915a47f88ae45eff31
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Sep 30 18:14:11 2016 +0530

    Bug#23713613: MTR DOES NOT ALLOW VALGRIND TO BE RUN WITH CUSTOM TOOL
    
    ISSUE
    -----
    - MTR can not be run with --valgrind-option=--tool=<custom_tool> like
    massif/helgrind as it always adds the options for memcheck which can
    be invalid for other tools.
    - The MTR --callgrind option does not work as it supplies an invalid
    callgrind argument '--base'.
    
    FIX
    ---
    The patch restructures MTR to allow usage of --valgrind-option=
    --tool=<custom_tool> and removes the invalid callgrind option '--base'.
    In addition, valgrind logs for tools like callgrind and massif are
    generated in the location <vardir>/log
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 13821

commit 3a5fd1406c48b2032606ed00f17606d4661476d9
Merge: 465e7e5 2e45a58
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri Sep 30 18:18:38 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2e45a58f30448b20a2a9502694021961457a7dcc
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri Sep 30 18:17:37 2016 +0530

    BUG#23739728 : UNABLE TO LOAD X PLUGIN ON MULTIPLE SERVERS ON MTR
    
    Description :
    =============
    When X Plugin is loaded on MTR, a port is chosen to it. The algorithm is
    "MTR worker port + 9". But we can have up to 9 server per MTR worker and
    this approach only allow us to load only one X Plugin on each worker i.e
    we can only load X Plugin on one server per worker.
    
    Currently it is impossible to test replication scenarios on which we have
    two or more servers and X Plugin loaded on all servers.
    
    Fix :
    =====
    Modified MTR to allocate 10 extra ports per worker thread for X plugin
    tests. Extra 10 ports reserved can be used load X plugin on multiple
    servers.
    
    MTR starts each server with "--loose-mysqlx-port=<port_value>" option.
    <port_value> is different for each server and is calculated by MTR.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14046

commit a4920d63c82a2b3969fc1ce3eead6bc99acd84b8
Merge: 2ab4736 020503c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 17:56:01 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    (Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                      RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.)
    
    (cherry picked from commit ec0bec6a5c2e50bb02f80295c00dfadf8a8d2e23)

commit 020503c243fdbfdd5a10a3d13754030ecb7f802e
Merge: 3aac201 7bff7f7
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 17:49:42 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                   RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.)

commit 7bff7f7958e2de0e7bbc12c7953ea65a219d2405
Merge: 6d23817 bdabdcb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 17:46:27 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                      RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.)
    
    (cherry picked from commit 1403ef65161f177fc6b680808f071ddb798f2fe5)

commit 2ab473679ed3f79da2baab3d82b7bbf85c5a1eda
Merge: 108b79d 3aac201
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 17:40:25 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    (Bug #24740291: YASSL UPDATE TO 2.4.2)
    
    (cherry picked from commit 710bafee9de1c11577242d694f74f5fa38df3a88)

commit 465e7e5200467f88f954dd66d625fa85514f9245
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Sep 30 12:48:37 2016 +0200

    Bug #23573720 ASSERTION FAILED: GEOMETRY::IS_VALID_GEOTYPE(GT)
    
    Problem: Queries using Item_func_spatial_collection may fail an
    assertion in debug builds.
    
    Item_func_spatial_collection::val_str() fails to check that geometry
    types read from WKB are valid before calling get_wkb_geotype(), which
    assumes that the geometry type is a valid one.
    
    Fix: Check that geometry types are valid and raise an error if they're
    not.

commit 5b49064e2f605240a13b7d7541ae6f50bcca09dd
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 30 12:58:19 2016 +0200

    Bug#24761774	PACKAGE UPGRADE FROM 5.6.33 TO 34 FAILING DUE TO SECURE-FILE-PRIV PROBLEMS
    
    Added creation of missing directory to server postinst
    
    (cherry picked from commit e23c9bd1a18e4914b0371be049a2af8ee01e6e02)

commit fa4d96d6182976f8616e48de4fb04b3eddffef6b
Merge: 1e5c793 9fe3f57
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 30 13:11:19 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9fe3f57dd811d9dee8a2e9d75ffa39c70049e5a4
Merge: 5203c91 e23c9bd
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 30 13:10:55 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit e23c9bd1a18e4914b0371be049a2af8ee01e6e02
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 30 12:58:19 2016 +0200

    Bug#24761774	PACKAGE UPGRADE FROM 5.6.33 TO 34 FAILING DUE TO SECURE-FILE-PRIV PROBLEMS
    
    Added creation of missing directory to server postinst

commit 108b79d985c3f50528dd522a0f54147b6bb52955
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Sep 30 12:57:47 2016 +0200

    BUG#24761073: Raise thread prio of NDB API receive thread to sustain high load even in presence of many user threads

commit 1e5c793f360202c6df895be531de163bed1e0013
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 30 15:04:26 2016 +0530

    BUG#24756400 - MYSQL_SECURITY_COMMANDS.SQL IS NOT USED ANY MORE AND SHOULD BE REMOVED
    
    mysql_security_commands.sql was only used by mysql_install_db
    which is now removed.

commit 571401476fa2ca4b7d39a8ed5e982df71c9b2d23
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 30 14:36:17 2016 +0530

    Bug#24756442 - REMOVE MYSQL.SERVER-SYS5.SH
    
    Removed support-files/mysql.server-sys5.sh from the source tree, as
    it is not used in packaging.

commit 57d230e6de70226c753b4a5952a675d987509d7e
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Sep 30 11:01:27 2016 +0200

    Bug #24716756   IMPROVE SCALABILITY OF API RECEIVER HANDLING
    
    In order for the NDB API to process incoming signal signals, the
    threads which wants to act as receiver has to acquire the 'poll-right'
    from the transporter layer. This poll right could either be
    requested and assigned to a separate receiver thread, or each client
    thread can take the receiver role when it anyway had to wait for
    its result.
    
    When the thread being the poll owner had received a sufficient amount
    of data, it will release locks on other clients which it has taken
    while delivering signals to them. This may make them runnable again,
    and the OS-scheduler might decide that it is time to wake them up.
    This might happen at the expense of the poll owner threads, which
    then is yielded from the CPU - while still holding the 'poll-right' !
    
    This patch will release the poll-right from a thread
    before unlocking and signaling other threads. Thus the poll right
    becomes available for other threads that are actively
    executing on the CPU.
    
    This increase the concurrency in polling data of the receiver
    and should also reduce latency for clients wating for being woken
    up.

commit 72e4a67ff19d627ab5e99d660ab579979ecbffd5
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Sep 30 12:23:02 2016 +0530

    WL#9492: Make --fail-check-testcase ON by default
    
    Description:
    ============
    The option fail-check-testcases was introduced in WL#7730
    and was set to OFF by default.
    When this option is enabled during a test run, it causes it to
    fail if the MTR check of the test case fails.
    This worklog sets this option to ON by default so that
    check-testcase failures do not go unnoticed.
    
    The following bugs were fixed in this worklog:
    
    1. Bug#24620131: MTR'S CHECK MAIN.PARTITION_INNODB_TABLESPACE
    2. Bug#24619710: MTR'S CHECK OF MAIN.POPULATE_COLLATIONS_READ_ONLY FAILS
    3. Bug#24700270: MTR'S CHECK OF MAIN.ROLES AND MAIN.ROLES-UPGRADE FAILS
    4. Bug#24701252: MTR'S CHECK OF INNODB.TRX_ID_FUTURE FAILS
    5. Bug#24619807: MTR'S CHECK OF MAIN.PERSISTED_VARIABLES FAILS
    6. Bug#24701392: MTR'S CHECK OF INNODB.VIRTUAL_FK_RESTART FAILS
    7. Bug#24671999: MTR'S CHECK OF BULK_LOAD_TOO_BIG_RECORD FAILS
    8. Bug#24700372: MTR'S CHECK OF SYS_VARS.INNODB_THREAD_CONCURRENCY_BASIC FAILS
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 14094

commit 4a73cd1e3bc6f5e7d9ffb401f915db917cfa761b
Merge: abbda4a 5203c91
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 30 11:54:35 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5203c914049a0a116b52891191df5023bbb166f8
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 30 11:53:44 2016 +0530

    Bug#24755717 FUNCTION TO FIND OUT WHETHER A GIVEN CHANNEL'S RELAYLOG
    HAS PARTIAL TRX OR NOT
    
    Adding a function (is_partial_transaction_on_channel_relay_log) in
    the server code to figure out whether a given channel's
    relaylog contains partial transaction or not. This function will
    be called only from Group replication plugin.

commit bdabdcbcc805cb3d5913634741e6a80b61e8980c
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 15:52:05 2016 +0530

    Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                  RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.
    
    (cherry picked from commit 61c548628fd199ccdb6b34a9599439964aecd269)

commit 3aac201431c367f4e622c5cb7b1cdca4080407bc
Merge: fe3e198 6d23817
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 10:03:10 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Bug #24740291: YASSL UPDATE TO 2.4.2)

commit 6d23817511edc99b93fcc61d86bfdedb1d9f9cd6
Merge: 5c493e2 6ff327e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 30 10:00:29 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (Bug #24740291: YASSL UPDATE TO 2.4.2)
    
    (cherry picked from commit 33b874c3b38c4a551f51ee3df33a9e9a3c8725b6)

commit cd2b3e97187c82eb7522a5033e85d92276a30165
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Sep 29 21:27:32 2016 -0700

    storage/ndb/nodejs: update ReadMe and try to future-proof JS code for 7.5 release.
     Just prior to 7.5.4 release, update JavaScript code in jones-ndb
     to be compatible with what we know is coming in jones 1.x
     At the same time, update ReadMe file to encourage users to use
     jones 1.2.3, which is known to be 100% compatible with the version here.
     This is a JavaScript-only check in; zero risk to compiled code.

commit abbda4a27467f8ef5cabea8c60406aed2102bc1c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Sep 28 11:19:01 2016 +0530

    Bug#24746530 PERFORMANCE_SCHEMA_MUTEX_INSTANCES_LOST=8 WHEN GROUP
    REPLICATION IS ENABLED.
    
    Problem: When the group replication plugin is enabled, we are unable
    to see few psi mutexes in the performance schema.setup_instruments
    table.
    
    Analysis: PFS_MAX_MUTEX_CLASS is declared as 200 and when the group
    replication plugin is enabled, the number of psi mutexes is more
    than this limit, hence we are loosing the mutexes. The same can be
    viewed from Performance_schema_mutex_instances_lost variable.
    
    Fix: Increase the limit to another safe limit , i.e., 220.

commit bbb89ecee26e54d2f4aa55103f9c3c69e1992926
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Sep 29 21:03:32 2016 +0300

    ndb_restore --print-sql-log
    
    m_print_sql_log was uninitialized

commit e635dfe28c033523e7cbd6844a5d30774a93c5bb
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 29 18:15:06 2016 +0300

    Addendum 3 to  Bug #24557925: fixed the trunk specific test failures

commit 4556bcacbf4e928e5656d0e673fb535444523144
Merge: 8d80544 4efb1c4
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 29 18:14:31 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4efb1c421c6bdb58ea610f9c5c1491da37caea63
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 29 18:11:23 2016 +0300

    Addendum 2 to Bug #24557925: fix the 5.7 and trunk specific tests

commit 8d8054488b3282f797f8c84ef555223bcd978ce9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Sep 29 12:40:16 2016 +0200

    Bug #24755694: REMOVE USAGE OF BOOST::MOVELIB
    
    Replace boost::movelib support with standard C++11 classes everywhere.
    
    Change-Id: I30142ad013e7b6117564ab01d382cbbc3d1757da

commit b6bb433b7ff044da7f92fd91d41d77a9815f48dc
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Sep 29 12:04:06 2016 +0200

    Fixed mistake in doxygen comment.
    Correct doxygen syntax is @param[in] name, not @param name[in].

commit 9afecd54b49f4b31213e67ccedfd4e8063503ca6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 29 10:00:45 2016 +0200

    Bug #24702180: MAKE ARRAY_ELEMENTS() TYPE-SAFE
    
    Post-push fix. The developer studio compiler says:
     >> Assertion:   (../lnk/tempspec.cc, line 891)
        while processing strings/ctype-uca.cc at line 4204.
    
    Solution:
    disable the C++11 constexpr version of array_elements for __SUNPRO_CC,
    use the C macro instead.
    
    Change-Id: Ife34acbc90e71c60295e1ed3da85a6fef5f3bca9

commit 6028cd6d74eb5cf8204f54641ab9900ec5837311
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Sep 29 10:51:33 2016 +0200

    Silence the memcached tests in ASAN on mysql-trunk-stage
    
    Approved by Bjorn Munch <bjorn.munch@oracle.com> over IM.

commit 8fa69231af04016079af96f8444e4997cb061adc
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 29 09:47:29 2016 +0200

    WL#9109: Add case and accent sensitive collations for utf8mb4
    
    Post-push fix: Fix Clang build warning - classes with
    virtual functions should have virtual destructors.

commit 757e64549a14a3ac89068ec87a06e1edd3870ed9
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 16:03:29 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 1403ef65161f177fc6b680808f071ddb798f2fe5)

commit 8a8cb3dee903131d54abfd4abe94d351ba0db4e9
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:18:14 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 33b874c3b38c4a551f51ee3df33a9e9a3c8725b6)

commit 6ff327e2a391b78fff6b8c6018f1332b773baa36
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:17:38 2016 +0200

    Bug #24740291: YASSL UPDATE TO 2.4.2
    
    (cherry picked from commit 14f8b268cd55d15b9d39b90a0af5bb375bbcf543)

commit cecbcf8e5505cbcdde812e91ba37a6eef5624f6d
Merge: 3937a9e 53dfcd7
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Sep 29 11:06:41 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 53dfcd7ebd055b4709180e1a9fd3a9099a144fe0
Merge: ec0bec6 90a38b3
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Sep 29 11:06:10 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 90a38b3065fe749ca7fbca464ccebc4253f57ac8
Merge: 1403ef6 e7621e1
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Sep 29 11:05:30 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e7621e188f4a3bd186a8ae5abe6fb4d63146e119
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Sep 29 11:02:05 2016 +0530

    Bug #23303391: HANDLE_FATAL_SIGNAL (SIG=11) IN ALLOC_QUERY
                   USING CHARACTER-SET-SERVER=UTF16
    
    Post push patch to fix test case failure.

commit 3937a9e2a8bbc2de03bf2529397ae64b56c194c2
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Sep 29 09:31:59 2016 +0800

    WL#9109: Add case and accent sensitive collations for utf8mb4
    
    Changed utf8mb4 collation algorithms to make use of secondary and
    tertiary weight data.
    Added general utf8mb4 case and accent sensitive collation:
    utf8mb4_0900_as_cs.
    Added language specific case and accent sensitive collation for German
      Phonebook, Icelandic, Latvian, Romanian, Slovenian, Polish, Estonian,
      Spanish, Swedish, Turkish, Czech, Danish, Lithuanian, Slovak,
      Traditionial Spanish, Classical Latin, Esperanto, Hungarian, Croatian,
      Vietnamese.
    For Danish, [caseFirst upper] implemented.
    For Croatian, [reorder] implemented.
    For Vietnamese, [normalization] implemented.

commit 901c8cbd555c2a94218e2fc64a966b58b39932f4
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:21:02 2016 +0200

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

commit f52c41910ac67cd28a52d6e9ffd0aad8fe0a2ff9
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Aug 24 15:21:26 2016 +0200

    Bug #24512715 AUTH_SEC.MYSQL_SSL_RSA_SETUP FAILS CONSISTENTLY ON HUDSON
    Fix provided by YASSL. Upgrading YASSL to version 2.4.0.
    
    (cherry picked from commit 840ca33cf4f61677c125a86b0b09aef6db3578bc)

commit 8e508bdd6f4e9a5b16bd060d2f8afc15878f7962
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 16:05:37 2016 +0530

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

commit 94723a51d41d7b89bc44b2b09935cb5c422ba380
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:17:38 2016 +0200

    Bug #24740291: YASSL UPDATE TO 2.4.2

commit 41d99c054bcb230a1cd614002b62ebf349510499
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 15:52:05 2016 +0530

    Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                  RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.

commit 59a96d85c076b02a882ccd70f5a74b2c181917f9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Sep 28 12:43:52 2016 +0200

    Bug #24748361: REMOVE USE OF BOOST::NONCOPYABLE
    
    Remove all use of boost::noncopyable, and replace it with C++11 deleted
    copy constructors and assignment operators instead.
    
    Change-Id: Ia2005e0643f60a327c096d9737db3313d3394a8a

commit 7b582da8590d841cf81ea29dc96660274b472622
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Sep 27 10:37:14 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Run include-what-you-use limited to adding my_pointer_arithmetic.h
    and then re-sorting the #includes (and nothing else); then remove
    my_pointer_arithmetic.h from my_global.h.
    
    Change-Id: Ib238bfe65a7c2f5e27ccf53569d176341711f3e1

commit 39708b085b6093d46257b66b68964a00c86b38f2
Merge: 8e2103c ec0bec6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 16:06:38 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ec0bec6a5c2e50bb02f80295c00dfadf8a8d2e23
Merge: 58bbedb 1403ef6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 16:05:37 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1403ef65161f177fc6b680808f071ddb798f2fe5
Merge: 34c82ee 61c5486
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 16:03:29 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 61c548628fd199ccdb6b34a9599439964aecd269
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Sep 28 15:52:05 2016 +0530

    Bug#24707666: DEFAULT SETTING FOR SECURE-FILE-PRIV SHOULD BE
                  RESTRICTED IN ALL GA RELEASES
    
    Back port of WL#6782 to 5.5 and 5.6. This also includes
    back port of Bug#20771331, Bug#20741572 and Bug#20770671.
    Bug#24695274 and Bug#24679907 are also handled along with
    this.

commit 8e2103c64984aa7a8a3387c65ea1f52887ed8c40
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Sep 20 13:11:15 2016 +0200

    Bug#24481181: RAISE MINIMUM CMAKE VERSION TO 2.8.12
    
    Post-push fix: Rewrite CMake version check for Solaris
    as CMAKE_SYSTEM_NAME is not set until after PROJECT()
    is called. Call 'uname' directly to get the system name.

commit 94d927c3d3a4e1ef80528b26398fb104ffca5437
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Sep 27 15:01:53 2016 -0700

    bug#24707521 Use a libndbclient.ver file to limit public symbols in libndbclient.so

commit ba454ad30fc0159e109b3f0f7afdbc42f946c779
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Sep 27 14:57:00 2016 -0700

    bug#24707521 Change libndbclient.so version from 6.0.0 to 6.1.0

commit cf519e5189faa62219b986e56ac05df35f85ab5e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 27 18:40:12 2016 +0200

    Post push fix for bug#23555834. Recording new result for ndb.ndb_read_balance.
    
    Also enable unique index and fully replicated tables testing.
    
    Disable test for big-endian systems, since distribution is different
    and whether a fragment replica is primary or backup may have changed.

commit 7bfcd6a88e8521381fdb879d7f5d8082d527b7eb
Merge: d2b8558 58bbedb
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Sep 27 18:05:40 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 58bbedba925f36baeaadba12f48de1828b2c93c1
Merge: aa6a4b2 34c82ee
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Sep 27 18:04:43 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 34c82ee6618599a2117e4d412179185cc5b94a4d
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Sep 27 17:48:32 2016 +0300

    Addendum to the fix for bug #24557925: fixed the test to be platform independent

commit d2b8558208c80cf19d98f67df51e10b1f3b3268d
Merge: 6241b88 aa6a4b2
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 16:22:07 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit aa6a4b26e4a10671ecd92a458df70bc10bebf008
Merge: 00656d2 a99a348
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 16:20:59 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Null merge

commit a99a348b756ff2cccb8d283e6b494ccbef2a8f6b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 16:14:06 2016 +0200

    Bug#22320066 EVENTS_STATEMENTS_SUMMARY_BY_DIGEST: NO UNIQUE ROWS BY
    DIGEST/SCHEMA_NAME
    
    Fix for 5.6 (backported from 5.7 and 8.0)
    
    Before this fix, table events_statements_summary_by_digest
    exposed many rows for the same statement digest and schema,
    breaking the expected uniqueness of digests.
    
    The root cause is in function find_or_create_digest(),
    which does not handle duplicate inserts in the LF_HASH properly.
    
    When two different sessions execute
    the same statement for the first time,
    each session creates an entry for the statement digest.
    
    In this case, the index is maintained properly with only one entry,
    but the table data itself still contained duplicated rows, orphan.
    
    The fix is to:
    - use a pfs_lock for a statement digest record
    - free the duplicate record when duplication is detected in the unique index
    - loop in the entire buffer to find an empty record,
      so that duplicate entries do not create holes and do not cause leaks
    - honor the pfs_lock when exposing the data.
    
    With this fix, the allocation pattern is similar to other instrumentations,
    like the mutex instances for example.
    
    Tested manually with debug code added to expose the race conditions.
    Not testable by MTR scripts.

commit 6241b88fb60236fa0fcd420324cf7dda1e51bcc6
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Sep 21 13:19:36 2016 +0200

    Bug #24702180: MAKE ARRAY_ELEMENTS() TYPE-SAFE
    
    array_elements() is a macro defined as
    
      #define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
    
    This was the best you could do in the C days, but now in C++11, it's possible
    to make it type-safe. Specifically, the current version contains some traps
    where you can inadvertently apply it to a pointer:
    
      int foo(int x[13])  // x decays from array to pointer in argument
      {
        return array_elements(x);  // No error, returns 2!
      }
    
    or an STL container:
    
      int bar(const std::vector<int> &x)
      {
        return array_elements(x);  // No error, returns 6!
      }
    
    This version comes straight out of Scott Meyers' “Effective Modern C++”.
    We retain the old one for C code that we can't be bothered to move into C++
    (in particular MyISAM).
    
    Change-Id: If19d811e63a681ad05f0e31f6a052ec9162c9eb7

commit 791b9b18028a018efd1b43855ef6f148e2112ec0
Merge: ffcaafe 00656d2
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Sep 27 16:40:59 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 00656d2c505293fe10e4b4fed98e1d010dbc9aa3
Merge: b19a9df e13b035
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Sep 27 16:37:53 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit e13b035f43422a64057ea36e1305437c19a50285
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Sep 2 17:04:55 2016 +0300

    Bug #24557925: MYSQL_CONFIG_EDITOR CAN MAKE SERVER UNBOOTABLE
    
    By default all mysys based programs are sourcing the login file.
    The server should not be doing this since it's not a client program.
    
    Thus added a new global to mysys, that, when set to FALSE disables
    the sourcing of the login path file.
    And then changed mysqld to set that variable to FALSE from its
    mysys default TRUE.
    
    Added a test case.

commit ffcaafe0338d6b2b868d876ec0ccf7eaa0d02572
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Sep 27 14:44:05 2016 +0200

    Improved comment for MYSQL_BIN_LOG::recover.
    
    This touches code comments and indentation only.

commit 07ea4ef46af1f3914bff33622c840c067937ea72
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Sep 27 13:32:08 2016 +0100

    Bug #24681305 	NDB : SERIAL TRANSACTION COMPLETE PATH LACKING RB/FR HANDLING
    
     - RB/FR cause a transaction to get a LATE_COMMIT flag in TC
     - This causes the normal COMMIT stage handling to *not* send a commit notification to the API/requestor
     - The notification is sent at the end of the COMPLETE stage to ensure read-your-writes for CommittedReads
     - Slow commit/complete can cause TC to switch to a serialised protocol
     - This serialised protocol does not have COMPLETE stage handling for LATE_COMMIT - it will not send a commit notification
     - Currently this results in an ndbrequire() fail as the ApiConnectRecord release code finds a non RNIL CommitAckMarker
    
    A testcase showing the problem is added, and a fix to add LATE_COMMIT handling to the serialised COMPLETE path is added.
    
    A lesser problem with TC takeover (node failure) + read_your_writes is left for a separate bug.

commit 49b7fbb0605b7eb8731307b23c58c81803e1674d
Merge: 0fc38d5 b19a9df
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 14:15:27 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit b19a9df8ee21a4a58c19b76290d65b9fdae9385f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 14:10:29 2016 +0200

    Bug#22320066 EVENTS_STATEMENTS_SUMMARY_BY_DIGEST: NO UNIQUE ROWS BY
    DIGEST/SCHEMA_NAME
    
    Fix for 5.7 (backport from 8.0)
    
    Before this fix, table events_statements_summary_by_digest
    exposed many rows for the same statement digest and schema,
    breaking the expected uniqueness of digests.
    
    The root cause is in function find_or_create_digest(),
    which does not handle duplicate inserts in the LF_HASH properly.
    
    When two different sessions execute
    the same statement for the first time,
    each session creates an entry for the statement digest.
    
    In this case, the index is maintained properly with only one entry,
    but the table data itself still contained duplicated rows, orphan.
    
    The fix is to:
    - use a pfs_lock for a statement digest record
    - free the duplicate record when duplication is detected in the unique index
    - loop in the entire buffer to find an empty record,
      so that duplicate entries do not create holes and do not cause leaks
    - honor the pfs_lock when exposing the data.
    
    With this fix, the allocation pattern is similar to other instrumentations,
    like the mutex instances for example.
    
    Tested manually with debug code added to expose the race conditions.
    Not testable by MTR scripts.

commit 7e6b5ef69d579de38d4304603353d224192448c2
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 27 14:13:16 2016 +0200

    Fixed cmake to make sure that lex_hash.h has been generated before we try
    to build any other targets neding it.

commit 0fc38d56e90d2ed057a44e54d8f95eecb59d9a03
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue Sep 27 13:41:25 2016 +0200

    BUG#24679962 - INVALID UTF-8 IN COMMENT OF AN EVENT DDL CAUSES ASSERT.
    
    An invalid utf-8 character in the comment of an CREATE EVENT or ALTER
    EVENT caused an assert in debug build.
    
    The fix is to validate the comment string for invalid character
    of the corresponding charset and return the error
    ERROR_INVALID_CHARACTER_STRING.

commit f66bcd0758bce1a5ebde215fbd185393da3f50f0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 27 13:09:25 2016 +0200

    Bug#24695026  7.5.4: CLUSTER SHUTDOWN WITH AN ASSERT "ASSERTION `T < (((UINT64)(~0ULL)) / ...
    
    Avoid overflow or precision loss in converting from internal 'ticks'
    format to micro- and nanoSeconds by doing the calculation in a
    seconds and fractions of seconds part.

commit 1cfa99d58228f9ba49585a6efcdc5bdf9d8ff7ce
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 26 14:51:53 2016 +0200

    Bug#24735374: SOCKLEN_T CMAKE CHECK IS BROKEN
    
    The socklen_t CMake check was broken since sys/socket.h was not
    included when doing the existence check. This patch fixes the
    problem.
    
    The check is only used for libevent. A failed check meant that
    we used unsigned int instead of native socklen_t.
    
    The patch also removes two InnoDB CMake checks - one was not
    used for anything and the other duplicated an already existing test.

commit b64482b8a4a5c086705bfb782e4ff5cb1deeea7e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Sep 27 12:39:49 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    Post-push fix to unbreak Doxygen build.
    
    Change-Id: I548ae270465572877647763db5aea31a7e2229bf

commit d6ba3a34363ea08b1147c69f648e689333091d8b
Merge: 17100d1 710bafe
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:21:34 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 710bafee9de1c11577242d694f74f5fa38df3a88
Merge: bfbeba0 33b874c
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:21:02 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 33b874c3b38c4a551f51ee3df33a9e9a3c8725b6
Merge: cdcd97c 14f8b26
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:18:14 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 14f8b268cd55d15b9d39b90a0af5bb375bbcf543
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Sep 27 11:17:38 2016 +0200

    Bug #24740291: YASSL UPDATE TO 2.4.2

commit 17100d107b127c0ce096944891045dc58f264e3f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 27 10:58:15 2016 +0200

    Bug#22320066 EVENTS_STATEMENTS_SUMMARY_BY_DIGEST: NO UNIQUE ROWS BY
    DIGEST/SCHEMA_NAME
    
    Fix for trunk (8.0)
    
    Before this fix, table events_statements_summary_by_digest
    exposed many rows for the same statement digest and schema,
    breaking the expected uniqueness of digests.
    
    The root cause is in function find_or_create_digest(),
    which does not handle duplicate inserts in the LF_HASH properly.
    
    When two different sessions execute
    the same statement for the first time,
    each session creates an entry for the statement digest.
    
    In this case, the index is maintained properly with only one entry,
    but the table data itself still contained duplicated rows, orphan.
    
    The fix is to:
    - use a pfs_lock for a statement digest record
    - free the duplicate record when duplication is detected in the unique index
    - loop in the entire buffer to find an empty record,
      so that duplicate entries do not create holes and do not cause leaks
    - honor the pfs_lock when exposing the data.
    
    With this fix, the allocation pattern is similar to other instrumentations,
    like the mutex instances for example.
    
    Tested manually with debug code added to expose the race conditions.
    Not testable by MTR scripts.

commit 72fc3151eb26dc41ee4db3d0abc4d047f49e025c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Sep 22 15:22:17 2016 +0200

    Bug #24710065: SPLIT MY_GLOBAL.H
    
    First step of splitting my_global.h; split it into its various
    constituent parts, while not changing any callers. (There's one
    exception; the obsolete pchar macro was replaced by char in the
    few users that still existed.)
    
    Change-Id: Ie318968bc352bf3724262f26be22c2007f07cda7

commit 710c5b3587791ecfc38950095d24fc34caf61138
Merge: c2060c5 bfbeba0
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Tue Sep 27 09:39:19 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 854254ccb35dc3724713c13ba8cc85f712e9d142
Merge: 4809c9b 259f2ca
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Sep 26 23:49:46 2016 +0530

    Merge branch 'mysql-5.6.33-release' into mysql-5.6.34-release

commit c2060c5e25dc2b582106bd61e549d0cfc8dddb7d
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Sep 26 22:51:36 2016 +0530

    Bug#24580586 : MYSQL 8.0 UPGRADE - ERROR POPULATING DD FOR TABLE
                   CREATED AS LATIN1
    
    Post push fix:
    
    innodb.log_corruption.test fails due to empty diagnostics area
    status after an error. The error is due to missing 'mysql' schema
    at the server restart. The general fix implemented in the bug
    to handle the errors occured in the bootstrap thread does not
    handle this case as my_error is not called.
    Fix : Change sql_print_error() call to my_printf_error().
    
    Server fails to restart if data directory is created with
    --innodb-page-size=4k and server is restarted with --innodb-page-size=4k
    as command line option. The reason for the failure is that innodb
    returns wrong value for max_key_length() function while executing
    CREATE statement to prepare dd::Table objects for dictionary tables.
    This results in an error and server restart fails.
    Fix: Push Key_length_error_handler while doing CREATE/ALTER on
         dictionary tables. The fix is a workaround for Bug#20629014
         and it should be removed when the bug is fixed properly.

commit cf80548b00dafbbc060db75925f5ba4d7fdef1e8
Merge: 5b0fd61 f105d1e
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Sep 26 21:28:41 2016 +0530

    Merge branch 'mysql-5.5.52-release' into mysql-5.5.53-release

commit 70ff5a8db4a3736765dd3aa2c85de52bb9960206
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 26 15:17:36 2016 +0200

    Post push fix for bug#23555834.  Removing signed/unsigned comparison warning.

commit bfbeba01bcfe1618b8b95ea57c9d3ec48506ba74
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Mon Sep 26 14:46:28 2016 +0200

    Bug#23057045: Follow-up
    
    - exclude Thd_backup_and_restore if server is build for embedded as it
    is not used(no thd switch).

commit 547f17134526907395147095934e8c31a0959ef6
Merge: abc9cbd 97e38bc
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 26 14:51:06 2016 +0200

    Empty version change upmerge

commit 97e38bcd6f2f1fe9a4d0adb268b8bd7e719182d9
Merge: 1ae7152 cdcd97c
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 26 14:49:12 2016 +0200

    Empty version change upmerge

commit cdcd97c3bcfb66d8a5459c71b39956e911015aa3
Merge: b9d76be 2bc08b2
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 26 14:46:13 2016 +0200

    Raise version number after cloning 5.6.34

commit 2bc08b2db4fc66e40200d9d0ab0059fbabc5cb1a
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 26 14:42:56 2016 +0200

    Raise version number after cloning 5.5.53

commit eedc12e462dc7eb65be24c4cf987f45305567dcf
Merge: 19dcf4f 97f03bb
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Mon Sep 26 13:20:56 2016 +0200

    Merge branch 'mysql-5.7.15-release' into mysql-5.7.16-release

commit abc9cbdd91e7435230ab96c150e01183004e5140
Merge: 1ce5b2f 1ae7152
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 26 13:11:59 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Change-Id: I3eb8d4eef3cac3e2a744c13714dc24596927fe05

commit 1ae7152689c86cf53354d328d6c5fd1ad48fa9c6
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed May 4 09:31:26 2016 +0200

    Bug#24459890: BACKPORT FIX FOR #23195845 TO 5.7
    
    Backport (with some extra nonnull fixes) from trunk to 5.7 of:
    
      Bug#23195845: FIX COMPILE WARNINGS REPORTED BY GCC 6.1
    
      Fix compile warnings reported by recently released GCC 6.1:
    
      -Werror=misleading-indentation
      libbinlogevents/src/uuid.cpp
      rapid/plugin/x/mysqlxtest_src/mysqlx.cc
      sql/sql_update.cc
      This error had to be disabled for files using Boost.
    
      -Werror=nonnull-compare
      storage/innobase/include/dict0dict.ic
    
      -Werror=logical-op
      mysys/mf_dirname.cc
      sql/item_timefunc.cc
      sql/mysqld.cc
      vio/viosocket.cc
    
      Also fix problem in mysys/my_sync.cc where we were using
      __linux rather than the correct __linux__ symbol.
    
      (cherry picked from commit 43a1c9dca6104a35455721eddeabcc748e349bbb)
    
    Change-Id: I9580f680a4bceceb649bf61e82eac552938690b6

commit 865c124d1bdfd4eeee5eb42ea9faa9c8b45bfbb0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jun 29 10:51:20 2016 +0200

    Bug#24437737: MYSQL 5.7.1{3,4} DOES NOT COMPILE OB GCC 6.1.1
    
    Backport from trunk to 5.7 of:
    
    Bug#23708395: GLIBC 2.24 DEPRECATES READDIR_R() BREAKING
                  DEBUG BUILD OF MYSQL SERVER
    
    As of glibc 2.24, readdir_r() has been deprecated. This breaks
    our debug builds since the deprecation warning is upgraded to
    an error during compilation.
    
    This patch fixes the problem by removing use of readdir_r() and
    using readdir() instead. This is thread safe as long as readdir()
    is only used concurrently on different DIR* - which it is in
    our case.
    
    POSIX quote: "The pointer returned by readdir() points to data
    which may be overwritten by another call to readdir() on the same
    directory stream. This data is not overwritten by another call
    to readdir() on a different directory stream."
    
    Change-Id: I85a6f5da2d48c8d5a9804cd6281411d9e757f46c
    (cherry picked from commit ba5245e9fef2257d60213076598268f544ca7109)

commit 1ce5b2f18253c2707b66d1171fea6588c459e375
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Sep 26 11:48:44 2016 +0200

    Bug#24666056: Post-push fix.
    
    Fix missing #includes of the new header in NDB code.
    Remove incorrect removal of a my_sys.h include.

commit c88548acf0e7899b3f77d814997f17c3d78f09c7
Merge: 4b62d27 fc99d9e
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Mon Sep 26 13:02:08 2016 +0200

    Empty version change upmerge

commit fc99d9e7509c7ddafeb500a5a3c969de6f4c1476
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Mon Sep 26 12:57:46 2016 +0200

    Raise version number after cloning 5.7.16

commit 4b62d272ff5b71f5a6d0f5eba947456abfda8553
Merge: fe8fb60 0ded963
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Mon Sep 26 10:12:43 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit fe8fb60b782fe1b7414a2a052040d1d5c1ea7bd1
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Sep 26 10:31:43 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Post-fix push to unbreak build with -DWITH_LZ4=system.
    
    Change-Id: I79720c8f97149cd91246367d0b689511273e289e

commit 0ded9639a350f067fe0455f53de35e580c2b1763
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Fri Sep 23 11:20:34 2016 +0100

    Bug #24711351 64 BIT WINDOWS MYSQLD BUILD REPORTS INNODB: OPERATING SYSTEM ERROR NUMBER 995
    
    Description
    ===========
    Under heavy load, the aysnchronous Windows file IO API can return a
    failure code that is handled in MySQL Server by retrying the file IO operation.
    
    A cast necessary for the correct operation of the retry path in a 64 bit
    build is missing, leading to the file IO retry result being misinterpreted
    and ultimately the report of the OS error number 995
    (ERROR_OPERATION_ABORTED) in the MySQL error log.
    
    Fix
    ===
    Supply the missing cast.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    RB: 14109

commit 3d8e6775500f485813ff4a5fde94462c49640d74
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Sep 21 12:20:52 2016 +0300

    Bug#24287772 SUBQUERY RETURNS EMPTY LIST WHILE IDENTICAL QUERY WITH JOIN RETURNS RESULT
    
    This bug affects subqueries converted to semijoins, and programmatically
    generated INFORMATION_SCHEMA tables. The affected subqueries would
    incorrectly pretend that the INFORMATION_SCHEMA table is empty.
    
    Workaround: SET optimizer_switch='semijoin=off';
    
    convert_subquery_to_semijoin(): Copy the OPTION_SCHEMA_TABLE flag from the
    options of the subquery, so that JOIN::prepare_result() will invoke
    get_schema_tables_result() to materialize the I_S table data.
    
    Reviewed-by: Roy Lyseng <roy.lyseng@oracle.com>

commit 6b043dadf1ce20d4cc41ae7a8ed0bf2421c2d7eb
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Sep 26 10:35:48 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Post push fix.  The ROW_FORMAT=compressed is supported only upto 16K
    page size.  Don't run this test for bigger page sizes.
    
    approved over IM by Deb.

commit 6720e56eefc87c949de063355f1f6e7b3195334f
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Sep 7 09:54:52 2016 +0200

    Bug#24666056: Remove use of global variables in wild_compare
    
    Problem: The function wild_compare relies on non-const global variables which
    makes its behavior hard to understand.
    
    Fix: Converts global variables to constants. Provides a different variant of the
    function which allows the caller to specify the wildcard characters as function
    arguments instead of modifying global variables. The default wildcard
    characters are kept as constants since they are used readonly elsewhere.
    
    Moves the declarations from my_sys.h into a new header, and changes linkage to
    C++ as they are only used is in C++ files. Adds Doxygen documentation which marks
    the functions as deprecated since they are not charset aware.
    wild_cmp(CHARSET_INFO*,...) is a charset-aware alternative.

commit 16b2638c7418c1258f33cfcda012741c06b080f7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 23 17:50:11 2016 +0200

    Post push fix for bug#23555834.
    
    Use a smaller range of hint counts.
    
    Since two nodes from different node groups could be used with very
    different frequence if a read backup enabled table are used.
    
    If then also a fully replicated is used, when it look at hint counts to
    determine which node been used less, the counts for different node groups
    can have diverged much.  The logic could end up with using one node until
    that count reaches the other, could in rare cases be 2^31 times.
    
    This patch reduces the range used for hint counts to 1024, so within 512
    transactions two possible nodes will be able to catch up with each other
    if their counts have diverged.

commit 4468ce54a850f6ac1e62436592c8c9969055b6ee
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 23 15:37:08 2016 +0200

    Post push fix for bug#23555834.
    
    Make select_node use optimized_node_selection setting.

commit e1c962306e4103082ca6eb5905d7792865e251ca
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 23 10:12:51 2016 +0200

    Bug#24713918: ASSERTION `MDL_CHECKER::IS_READ_LOCKED(M_THD, *OBJECT)'
                  FAILED.
    
    The problem was an assert during ALTER TABLE of a temporary
    table if a normal table with the same name existed in the
    same schema.
    
    The reason was that we tried to check if the table to be
    altered had any triggers. This meant accessing the data
    dictionary which then found the normal table as temporary
    tables are not part of the dictionary. We then asserted
    since we did not have an metadata locks on the table name.
    (Metadata locks are not taken for temporary tables).
    
    This patch fixes the problem by not checking for triggers
    when altering temporary tables as temporary tables cannot
    have triggers.

commit 6abb7d23967f81bde2a4f17f8ad0ccd15cbbc8d5
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Sep 23 18:13:29 2016 +0530

    Bug#24580586 : MYSQL 8.0 UPGRADE - ERROR POPULATING DD FOR TABLE
                   CREATED AS LATIN1
    
    There are two issues here:
    i>  The debug build hits an assert due to empty diagnostics area
        if there is an error in parsing the ALTER VIEW statement while
        fixing view dependencies.
    
    ii> While creating view definition, the character set of view is
        not considered. The view definition is created in default
        system character set. If the view was originally created with
        different character set, the table name used in the view might
        not be recognized. In this case, view is marked invalid.
    
    Fix:
    i>  When my_error() is called from bootstrap thread, error_handler_hook
        is set to my_message_stderr(). It does not set diagnostics area.
        The fix introduces my_message_bootstrap.
    
        It will print the error in the error log in standard format.
        It will set the diagnostics area in case of error.
    
    ii> Use the character set in which view was created to execute
         ALTER VIEW statement.
    
    This patch fixes two other bugs:
    - Bug#24600054 : MYSQL 8.0 UPGRADE - MESSAGES IN MYSQLD LOG WITHOUT
                     DATETIME [NOTE] INFO
    
      my_message_bootstrap calls sql_print_error which prints the error
      in standard format.
    
    - Bug#24606219 : DD_UPGRADE_TEST FAILS DUE TO MISSING
                     I_S.INNODB_TRX_LOCKS TABLE
    
      Test case is enabled as it passes with this fix.

commit edc58d270bc38d040eede6016dd8a5ef92af0422
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 15 13:28:24 2016 +0300

    Bug#24484060 INCORRECT EVALUATION OF MIN/MAX REFERRING TO AN OUTER QUERY BLOCK
    
    Bug#24657798 HANDLER::HA_INDEX_INIT() TRIES TO USE AN
    UNLOCKED CONST TABLE IN OPT_SUM_QUERY()
    
    Bug#24484060 was unreachable before WL#6369 EXPLAIN for other thread,
    which was introduced in MySQL 5.7.2.
    
    In WL#6369, some table access during query optimization was deferred.
    Before WL#6369, opt_sum_query() would be able to check table->file->inited
    to determine if the table belongs to an outer query block. After WL#6369,
    we must refer to the correct predicate instead.
    
    This bug results in wrong query results (too few rows) if MIN() or MAX()
    in a subquery refers to an indexed column. Curiously, the bug was not
    repeatable with ENGINE=MEMORY tables, but only with MyISAM and InnoDB.
    
    Bug#24657798 is older; it is affecting MyISAM tables in MySQL 5.6 already.
    The engines InnoDB, MEMORY, CSV, ARCHIVE are not affected.
    
    opt_sum_query(): Do not attempt to access a table handle that belongs to
    an outer query block.

commit 2df72a1820b942204073534cbf68bdc8e95b7985
Merge: 7924d25 02d62ce
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Sep 23 12:51:38 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 02d62ce9a3155498704ba6b9495f8c9e9654ea37
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Sep 23 12:49:15 2016 +0200

    Bug#23057045 Follow-up
    
    - replaced results of SHOW PROCESSLIST to get consistent results on all
    platforms
    - renamed test

commit 7924d2559175a8ab26070e674f8cd464d0908cb8
Merge: 77d0b3d 91c9a65
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Sep 23 12:10:28 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 91c9a65aa9378357de90f05b2c189447c2de1731
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Sep 23 11:19:49 2016 +0200

    Bug#22859462: follow-up
    
    - moved test to x.performance_schema
    - cleaned up the table before running the test

commit f25a98429cce2dc7b9e99506b70ef19bdd39daf8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 23 10:41:41 2016 +0200

    Post push fix for bug#23555834. Recording new result for ndb.ndb_read_balance.

commit 77d0b3db03b66e0f435344d499ecdb278fef72c5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Sep 21 16:09:20 2016 +0200

    Bug#24686658 BIN RETURN INCONSISTENT RESULTS WITH PARAMS OF DATETYPE BIT
    
    Problem: Item_func_conv::val_str has special handling of MYSQL_TYPE_BIT
    Fix: use the same special handling for VARBIN_ITEM

commit d6aa649c7ef910dd8d23ef6589df1564b036af19
Merge: fbee224 90b1f7d
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Sep 22 23:56:44 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 90b1f7df5c32eeaa53b9f3cbd33b81123609b348
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Sep 22 12:27:54 2016 +0200

    Bug#22859462 SQL STMT EXECUTED THROUGH PLUGIN SERVICE API DON'T APPEAR IN PERFORMANCE SCHEMA
    
    Problem:
    ========
    m_statement_psi is initialized in  net_after_header_psi which is called
    after reading from socket but service api does not get the commands this
    way so the statement is uninitialized.
    
    Solution:
    =======
    initialize m_statement_psi in Srv_session::execute_command before
    calling dispatch_command

commit fbee224feac9744278f0b9fe1ad97d1caaa41fee
Merge: 4b982cc 91b4156
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Sep 22 23:27:19 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Change-Id: Id1e068720f2d329bf6c4113a9ecfb77126636810

commit 91b4156c0e95f5d212289a9f2dfb904c49a6fc5d
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Mon Sep 19 16:21:19 2016 +0200

    Bug#23057045 CRASH WHEN RUNNING SHOW PROCESSLIST AFTER SYSBENCH RUN
    
    Problem:
    ========
    Srv_session only attaches/detaches to/from another session if the
    new/old session is either not attached or it is attached to the current
    thd. Since binlog attaches one by one to thd(s) by calling store_global,
    but never restores them to previous state(restore_global) the check that
    verifies if the owner of the physical thread is the same as the owner
    of the THD object fails.
    
    Solution:
    =========
    Made the destructor of Thd_backup_and_restore call restore_globals in
    the destructor and also restored the previous real_id.
    
    Change-Id: Icc14eb48a00b87dcef5b42cca633b8c6531011b7

commit d76c347db77cafd711fa9aaabc51e1dae43afa9c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Sep 22 16:45:04 2016 +0100

    Bug#24459817 7.5 LATECOMMITACK CAUSES APICON TO HAVE BAD STATE
    
    Late Commit ack requires that the CommitAckPtr (if any) is stored
    until the end of the Complete phase.
    
    This was stored on the user's ApiConnectRecord, but that causes problems
    for logic run when releasing it early due to API failure.
    
    So instead, it is moved to the CopyConnectRecord.
    
    The CommitAckPtr is not *needed* to e.g. release CommitAckRecords,
    from Commit onwards that is done by either the API sending a COMMIT_ACK
    or API node failure handling.
    
    New testcase added to testNdbApi + daily_devel_07.

commit 4b982ccc1d8b73d5ddbcdf58eb09ec19731db368
Merge: 47ba551 fb2693a
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Sep 22 20:33:58 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit cec30e2f415c02e08d4978af19c117088839e044
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 22 16:32:03 2016 +0200

    Post push fix for bug#23555834. Add INT32_MAX should fix windows build error.
    
    storage\ndb\src\ndbapi\ndb_cluster_connection_impl.hpp(91): error C2065: 'INT32_MIN' : undeclared

commit fb2693a57bc342235f9d3abc36fdcbc4c8ace9ba
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Sep 22 19:51:48 2016 +0530

    Bug#24577194 : LOAD DATA ERROR 1262 BEHAVIOUR DIFFERENT BETWEEN
                   5.6 AND 5.7 UNDER STRICT SQLMOD
    
    WL#6891 reimplements STRICT mode in mysql-5.7.
    In the scope of reimplementation, an error list is created which will
    be affected by STRICT mode. ER_WARN_TOO_MANY_RECORDS was not added in
    the list. This results in a regression from mysql-5.6.
    
    As the counterpart error message ER_WARN_TOO_FEW_RECORDS is in the list
    of the error to be affected by STRICT mode, the fix adds
    ER_WARN_TOO_MANY_RECORDS to the list as well. This warning message is
    only used by LOAD command.

commit bddb62052fb19e963d367ec0880836b9e5034312
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 22 15:23:22 2016 +0200

    Post push fix for bug#23555834. Add INT32_MAX should fix windows build error.
    
    storage\ndb\src\ndbapi\ndb_cluster_connection_impl.hpp(90): error C2065: 'INT32_MAX' : undeclared

commit 04471451aca4bb21bdf28ddb8baaea2c9b393c82
Merge: fa0dc9b 2794800
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 22 12:09:29 2016 +0200

    Bug#23555834 DATA_NODE_NEIGHBOUR BYPASSES OPTIMIZED_NODE_SELECTION
    
    This patch makes set_data_node_neighbour as a way to adjust the proximity
    groups of data nodes that the ndbapi node is connected to.  After that
    the proximity groups are adjusted no logic refers to data_node_neighbour.
    
    I call the groups constructed with the Group parameter in cluster
    configurations connection sections "proximity groups" to distinguish them
    from ordinary node groups.
    
    For hinted transactions, select_node is adjusted to for a given nodelist
    first reduce the list to the nearest nodes according to the proximity
    groups.  After that the node with least hint count is choosen and hint
    count is incremented.  Hint count is a new field per node.  If the given
    node list only had one node, that is choosen without incrementing the
    hint count.
    
    The only thread synchronization I have is when calling
    set_data_node_neighbour which may rearrange the node array.
    
    For read usage of the node array no synchronization is used, which can
    cause another node to be choosen one time per thread in conjunction with
    the call to set_data_node_neighbour.  A bit ugly, but
    set_data_node_neighbour should normally only be called at initialization
    of cluster connection, before any thread starts transactions.

commit 279480070ef2e3502681cb9db387935c0e5f544e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 19 23:32:20 2016 +0200

    Use hint count to choose between several possible nodes for hinted
    transactions within same proximity group.
    
    Least used is choosen.
    
    The count is exposed to data races between all threads starting
    transactions.  The effect that some increments of counter will
    be missed is ignored and assumed transient.  It is assumed that
    the counter (Uint32) is updated atomically.

commit 59ee72951730a8adc0a21ffe883f41898d439497
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 19 23:11:04 2016 +0200

    Make set_data_node_neighbour adjust proximity group for node.

commit 30fa718e8ecf977c77c0cb1b4c0c96faedede486
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 19 19:13:11 2016 +0200

    Refactoring. Renaming m_all_nodes to m_nodes_proximity, and add XXX_group
    to XXX_group_idx when it refers to an index and not a group value.

commit ab5f22ca2ccb6ccac840302d63279651df883fda
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 19 19:10:31 2016 +0200

    Use m_db_nodes instead of m_all_nodes when proximity is irrelavant.

commit 1fe22139d49d2ab7dae36fbb287f5a5bee18ad06
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 21 11:23:29 2016 +0200

    Initialize data node neighbour in Ndbapi.

commit fa0dc9bc28496c5331c113006f66863cd903e3b5
Merge: c809f97 fe3e198
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Sep 22 14:25:40 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit fe3e1982ca71b3be1dbfed5189189493f6a100b4
Merge: eede64b 5c493e2
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Sep 22 14:24:03 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 5c493e2697fe9d0de39b7551f486bab36caa7046
Merge: 14dcac2 c763d3f
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Sep 22 14:21:32 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit c763d3f11798180850dfff71a5198c7d310424f9
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Sep 22 13:51:00 2016 +0530

    Revert "Bug#21271194 MISSING SANITY CHECK FOR MALLOC() IN SERVICES.CPP"
    
    This reverts commit 6864e773983e0b4332799c7c5a0cd03c7690bd72.

commit 47ba5514e4e485ef74579d6efed09bbbe58f8427
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Sep 19 12:18:05 2016 +0200

    Bug #24688307: REMOVE I_CALLABLE
    
    Remove I_callable and replace it with std::function everywhere. Also remove
    Instance_callback and Instance_callback_now, which are similar.
    (Instance_callback_now has no direct std::function equivalent, as std::function
    must be copyable and thus cannot own an object, so we implement it using
    a separate cleanup callback.)
    
    Change-Id: I85d99de7a3b83be394c324cf578188bf4e9e8adc

commit df9739d6e5356f4f2a8bce994e9dfd3427c6e1df
Merge: 59af373 3689ea3
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Sep 22 09:20:53 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3689ea35ef838cbbbad5ba76ec809af6d814cb87
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Sep 21 20:34:10 2016 +0100

    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    
    Post push fix that fixes a missing braces issue.

commit 59af373321befec30c9464dc94b84f65881d0d48
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Sep 22 07:36:49 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Post push fix to resolve memory leak.  There were some stale member
    variables which has been cleaned.

commit 9a321f3673448715fceaacf251e0690a7958b674
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Sep 16 15:24:51 2016 +0200

    Bug#24660093: REMOVING AN INVISIBLE INDEX BREAKS EXPLAIN
    
    There was no error for index hints when an index was
    invisible, leading to an unpleasant surprise when the index
    is dropped. There should be no difference in external behavior
    between the index missing and being invisible.
    
    Fixed by emitting the same error as if there was no index.

commit c809f97b42fa2eb1126a28227ca98d8f395d01c6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Sep 21 10:30:36 2016 -0700

    Windows compiler fix for bug#24577931

commit 235d00075a10627d0a9cffce69e91b523bd10f9b
Merge: c6f1747 eede64b
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Sep 21 21:47:17 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit eede64b66de7fcd03e4b53fddbebcf273de152ac
Merge: 24a30ed 14dcac2
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Sep 21 21:38:27 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 14dcac2a7a00b4dea4a012ae152b021a14b51670
Merge: 39ddbf4 6864e77
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Sep 21 21:35:01 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 6864e773983e0b4332799c7c5a0cd03c7690bd72
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Sep 21 21:29:28 2016 +0530

    Bug#21271194 MISSING SANITY CHECK FOR MALLOC() IN SERVICES.CPP
    
    A call to system function malloc is not checked for null in function
    MgmApiSession::list_session. We cannot return error code for this failure
    because as per prototype this function returns void. So, by default the
    caller expects the function to be always success.
    
    In this function, malloc is used to create a temp buffer, which we use to
    create a message and write to the socket in single shot. If we
    write the message to the socket directly we can avoid the temp buffer.
    
    so, I fixed the bug by removing malloc and adding many write to the socket.

commit c6f1747e8d992b7a7a35ac09338164f9e89a5b7a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Sep 20 13:23:52 2016 -0700

    cluster nodejs: update RPM spec files so that ndb_adapter.node is built

commit 576b8a01671ecd00b61573950ff9dfe6b7d27a55
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Sep 20 11:10:06 2016 -0700

    Test case for bug#24577931

commit cdc46a61ca6b53fa1bf56cbc12d0da278ea3214d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Sep 19 12:40:23 2016 -0700

    bug#24577931 (7.5 only)
    bug#23526588 (other releases)
    processing of ndb table options in comment strings should be case-insensitive

commit 27fad1b3bb94fc7ecb49cf7bc2900e621ecaddf6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Sep 16 17:27:04 2016 -0700

    Bug#22722555  NDBAPI-EXAMPLES TEST FAILING
    Improve NDBAPI example programs
    This patch incorporates Mauritz' patches submitted earlier
    It adds refactoring so that main NDB and MySQL functions are in a separate function scope from main()
    This fixes the bug and improves readablity.

commit 30f2bf51570a105f21a80b44f4f15d42a653d669
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Sep 20 10:49:45 2016 +0200

    Bug#24694778: STOP LOOKING FOR AUTOTOOLS BINARIES
    
    Remove searching for autotools binaries from our CMake code.
    These binaries are not used for anything.
    
    Also remove an outdated comment and change building of
    udf_example to match other UDFs.

commit e90b6f9b92561c351ed10aec407faf182b1fbbab
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Sep 21 15:27:14 2016 +0200

    Bug #24696012: REPLACE COMPILE_TIME_ASSERT WITH STATIC_ASSERT
    
    Post-push fix to unbreak the NDB build of 'perror'
    
    Change-Id: I32363c7a856360110bb7ed3fbb5970fbfe196599

commit aaef7fc239029c7cfb8e957fe8c1991c176e4ce1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 21 10:50:54 2016 +0200

    Bug #24696012: REPLACE COMPILE_TIME_ASSERT WITH STATIC_ASSERT
    
    Post-push fix to unbreak NDB (two instances were not found in my grep).
    
    Change-Id: I6c9074c86a81e282322383cc2f04e4d7db017eb0

commit 62562770d2e1896a8476b3092022be3efcd2f34a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 21 10:50:54 2016 +0200

    Bug#24701175: BUILDING PROTOBUF GIVES DEPRECATION WARNINGS ON MACOS 10.12
    
    Building protobuf gave lots of deprecation warnings due to
    Apple atomics being deprecated in favor of std::atomic.
    
    This patch silences deprecation warnings when building protobuf.

commit 8c9951859b9907aecdfeaf256fd4feb02505e936
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Sep 20 15:39:41 2016 +0200

    Bug #24696012: REPLACE COMPILE_TIME_ASSERT WITH STATIC_ASSERT
    
    C++11's static_assert is standardized, and gives much better error messages
    than inducing a compile error on purpose.
    
    Also fixed a case where we asserted on sizeof(foo == bar) instead of
    sizeof(foo) == bar.
    
    Change-Id: Ic84d8fd2f20d1774bbdb28018f7f790bc233bb70

commit 8d6aa59b1a697403d022a22728234de219a64bd1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 21 13:44:57 2016 +0200

    Post push fix for bug#24675602.  Fixing test result.

commit de020a33dad110c8004ef1de356332edb0729da5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 21 10:37:45 2016 +0200

    Post push fix for bug#13714258.  Clean up test case.

commit 3fc362a672d47d25dded23de3eda49122205c15e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Sep 13 16:26:47 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Run the IWYU tool, limited to sql/.
    
    Change-Id: I73d71723432b01684fea749ee98126086e25f1cb

commit f1537b9066f619cbb578ae9c9a5f7c1c9daacac4
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Sep 21 11:19:29 2016 +0200

    Bug#24496910 REMOVE DEPENDENCIES BETWEEN BINLOG INJECTOR THREAD AND UTIL_THREAD
    
    Refactoring of how the binlog injector thread and util_thread interacts.
    Removes some less than obvious dependencies.
    As a side effect, some possible race conditions between these
    threads are removed. The cleaner code also enabled us
    to identify a couple af cases where there were missing mutex
    protection when accesing information maintained by the
    binlog injector thread.
    
    - Move setup of binlog injector structures from the util_thread to
      injector thread itself.
    - Remove 'external' sharing of some util- and injector-thread structure between
      these threads.
    - Remove some injector_mutex locking and injector_cond signaling which
      became obsolete.
    - Remove old hack-patch required due to prev. bad design
    - Move stopping of util_thread from injector-thread into common place
      where other such threads are stopped.
    - Add some missing mutex protection of shared binlog data.

commit c8a8b8ce5eb780963a0a0d66bff8314a78e575d7
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Sep 21 14:38:41 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Effectively reverting my fix for memory leak.  It is introducing
    other test case failures.  Will re-work the fix.

commit 7e68986ddaff8514061f9347f95c83e30a16ae7f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Sep 21 10:23:35 2016 +0200

    Doxygen integration with PB2
    
    Moved input filter with doxygen_resources

commit a30bb3a89c18b28ef3dfb9d25afc8719e70d873f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 20 10:23:03 2016 +0200

    Bug#24675602 LOCAL READ ON UNIQUE INDEX AND BLOB TABLES DO NOT WORK WITH TWO NODE GROUPS
    
    For dirty and simple reads in fully replicated tables Dbtc requests local
    fragment from Dbdih for a partition by calling DIGETNODESREQ with anyNode
    set.
    
    For reads in index and blob tables the dirty and simple flags are not
    used in both key requests and scans, instead a read committed base flag
    is used instead.
    
    In two places use of the read committed base flag were added.

commit 70857b05a6ced45c465d48fee21da3bfb4edbcaf
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Sep 21 09:36:04 2016 +0200

    Doxygen cleanup
    
    Integrated input filters with PB2

commit 10b1ed22af65d96f2feab2700c63be8ce489ffcb
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Sep 21 11:48:11 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Post push fix to resolve memory leak.
    
    approved in IM by Darshan.

commit 15555ae2165a3d9a854fa4c56dd48060e87eebd1
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Sep 21 08:08:28 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Post push fix to resolve test failure.  The test case lob-format.test
    uses kill_and_restart_mysqld.inc and hence it must not be run for
    embedded mode.
    
    approved in IM by Shaohua.

commit cbc1e1d32d7d16dff36dab7ec8edecf3d2dabedd
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Sep 21 00:32:33 2016 +0200

    Doxygen cleanup,
    populate version information in main page.

commit 5f5d638251a2306f3a04a6ab958e2d5e39c11c75
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 20 16:06:32 2016 +0200

    Upgrade doxygen to 1.8.12
    
    Simplified template instantiations in pfs_variable.cc,
    so resolve errors reported by doxygen 1.8.12,
    which is confused by the syntax.

commit 59ab03d9794a0301343ce0620fab81d480747df4
Merge: 19c8a83 5d459d7
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Sep 20 17:21:33 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5d459d7038b13e0ac218d3e1e811abafbf23b375
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Aug 19 14:35:13 2016 +0100

    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    
    Change the group flush assignment of new GTIDs to do it while holding
    sidno_lock for a set of transactions with the same sidno.

commit bca98bcb34a61227b80b238144553c536ae44d7f
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Aug 29 20:49:47 2016 +0100

    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    
    This patch introduces a small optimization on the automatic GNO
    assignment for automatic GTIDs.
    
    The previous approach was to get the first non-committed GNO as a
    starting point, and then to find the first GNO not owned by other
    transactions that reached the flush stage.
    
    The above described approach would result in the thread spending more
    time than needed while holding the sidno_lock for the server UUID.
    
    The optimization memorizes the last GNO assigned automatically and
    starts looking for available GNOs from that point.
    
    This patch also made Gtid_state::init to require global_sid_lock.wrlock
    instead of global_sid_lock.rdlock.

commit 91f132cb37fe95a5fcc4423881a97d23c76a4561
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Sep 6 10:53:52 2016 +0100

    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    
    The approach this patch is using is to do the commit stage update of the
    GTIDs in a single "batch" without releasing the sidno_lock.
    
    After the refactoring on the previous commit, this patch introduces the
    update_commit_group function that works similarly to update_on_commit and
    update_on_rollback functions, but doing the update on commit or rollback
    in a set of transactions that were grouped to commit together.
    
    This patch also introduced two new group commit versions of some functions
    that were introduced on the refactoring:
    - update_gtids_impl_lock_sidnos:
        Lock all the sidnos of all GTIDs to be updated in a given commit group;
    - update_gtids_impl_broadcast_and_unlock_sidnos:
        Unlock all previously locked sidnos after broadcasting their changes;

commit dbc241e6c1bce2106e85e56f653b1bd0076dced0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Aug 16 10:29:14 2016 +0100

    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    
    Function Gtid_state::update_gtids_impl was too large and splitting it
    into smaller parts would easy coding some performance improvements
    based on binary log group commit.
    
    The function was split into:
    - update_gtids_impl_begin and update_gtids_impl_end:
        Handle (if needed) the special case of transactions committing
        in the middle of a statement (because of the counter of
        transactions violating GTID consistency being committed);
    - update_gtids_impl_lock_sidno:
        Lock the sidno of the GTID to be updated;
    - update_gtids_impl_own_gtid_set:
        Handles the case of a transaction that owns a set of GTIDs;
    - update_gtids_impl_own_gtid:
        Handles the single GTID update case;
    - update_gtids_impl_own_anonymous:
        Handles the anonymous GTID update case;
    - update_gtids_impl_own_nothing:
        Handles the case of a transaction that owns nothing.
    - update_gtids_impl_broadcast_and_unlock_sidno:
        Unlock a given sidno after broadcasting its changes;
    
    It also created update_gtids_impl_check_skip_gtid_rollback function
    that was part of the Gtid_state::update_on_rollback function.
    
    Finally, the patch made Gtid_state::update_gtids_impl function private.
    
    No test case needed because there is no change in behavior.

commit 19c8a8346926ee63a926598dd430e128130481bf
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 20 20:44:01 2016 +0530

    WL#9263: Enable partial access of LOB using multiple zlib streams
    
    Post push fix to remove a compiler warning.  In this patch, the member
    variable lob::BtrContext::m_btr_page_no is initialized in the various
    constructors.
    
    approved in IM by Vasil and Darshan.

commit 5c9714c572b877f2bf2325ebe249511ced326a55
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 15 15:26:30 2016 +0200

    Bug#24652792 REPLACE GETS EXPONENTIALLY SLOWER ON LARGE STRINGS AND CANNOT BE KILLED
    
    Fix: use String::append, rather than String::replace

commit 6cb6e76e9c193371408afcf7d8a5d592894aef16
Merge: cc493ad 85968c3
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Tue Sep 20 19:13:49 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 85968c30811b91a8fb6372546b22292fb7758199
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Tue Sep 20 19:08:12 2016 +0530

    BUG#24672592 : MYSQLTEST `SOURCE` COMMAND CRASHES ON RELATIVE PATHS
    
    Description :
    =============
    mysqltest crashes when a file is sourced using relative path from
    another file which was also sourced from relative path.
    
    Fix :
    =====
    Avoid concatenating 'opt_basedir' value with 'name' when a call to
    access() succeeds('name' value is set to 'buff' in the previous
    check which later on causes infinite loop in 'strxmov()').
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 14068

commit cc493ad6cfbd5963d0e62cc6080f205d4beb6992
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 19 10:34:06 2016 +0200

    Fixed coding style

commit 12c2f50c86104826903a9b5ffd71b91ed4861540
Merge: 3afa443 6bf17e5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 20 16:31:41 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6bf17e5c3ace905696efcce01767678f64369953
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 20 16:17:03 2016 +0530

    Bug#24689078 - ADD -DWITH_NUMA=ON FOR RPMS WHERE POSSIBLE
    
    Added -DWITH_NUMA=ON to rpm spec files where numa are supported.

commit 3afa4432dd30716aca9db1816af4517a5b4cca23
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Sep 12 09:38:07 2016 +0530

    WL#9263: InnoDB: Enable partial access of LOB using multiple zlib streams
    
    Feature:
    
    Currently each compressed BLOB is stored as a single zlib stream
    spanning 1 or more LOB pages. The clustered index record will contain
    LOB references pointing to the externally stored LOB data.  The LOB
    pages are linked together as a singly linked list.  Since the LOB data
    is stored as a single stream, the data must be accessed from the
    beginning till the end.  This is fine if we need access to either the
    full LOB or a prefix of the LOB. But this kind of sequential access is
    a problem if we need a small portion of the LOB from somewhere in the
    middle.  If we want to access LOB data given the begin offset and the
    length, then the single zlib stream approach is inefficient.
    
    If we want to access LOB data given the begin offset and the length,
    then it is better to store the LOB data as multiple zlib streams.  The
    uncompressed input LOB is divided into 128KB chunks and each of that
    chunk is stored as a separate zlib stream.  So each LOB is stored as a
    series of zlib stream.
    
    This way, we can access any portion of the compressed LOB without
    decompressing data from the beginning.  This worklog provides this
    feature.
    
    File Format Change:
    
    Previously the compressed LOB data was stored in pages of type
    FIL_PAGE_TYPE_ZBLOB and FIL_PAGE_TYPE_ZBLOB2.  Now we introduce a new
    page type FIL_PAGE_TYPE_ZBLOB3. If the LOB page type is
    FIL_PAGE_TYPE_ZBLOB3, then we know that it is using the new LOB format
    and that the LOB data is stored as multiple zlib streams.
    
    rb#12705 approved by Kevin, Shaohua, Darshan.

commit b9690aa5236f6a3047b45d7b8ea6f71db25172ca
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 20 15:33:40 2016 +0530

    Bug#24689078 - ADD -DWITH_NUMA=ON FOR RPMS WHERE POSSIBLE
    
    Added -DWITH_NUMA=ON to rpm spec files where numa are supported.

commit 9dc82d371b2a5bd57bd753a53a001d1da0db9117
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Sep 15 12:18:15 2016 +0200

    Bug #24672442: REPLACE ATOMIC_CLASS.H WITH C++11 ATOMICS
    
    Replace our own Atomic_* classes with C++11's std::atomic, which is portable
    and lets us do away with compiler-specific intrinsics.
    
    Longer-term, we should probably replace all of my_atomic.h with std::atomic
    use, but that's a bit further ahead.
    
    Change-Id: I420e30426b6b59a0cbc90673762b9c6db7d64add

commit 17afd54171d5179fa2d7ec5cafa3a885cafebb2f
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Sep 20 10:18:24 2016 +0200

    Bug #11754493: MYSQLDUMP: INCREASE DEFAULT NET TIMEOUTS AND MAX
                   ALLOWED PACKET VARIABLES
    For tables with very large records whose size exceed max-allowed-packet,
    mysqldump reports connection lost error. Fix is to introduce a new option
    --network-timeout which will set max_allowed_packet, net_read_timeout and
    net_write_timeout to its maximum values.

commit d6f2cba01b022fc19d8b58ae7e0bd39b289dea6b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 19 11:46:11 2016 +0200

    Bug#24687701: BROKEN BUILD WITH DISABLE_SHARED=1
    
    Execute CONFIGURE_COMPONENTS() also if DISABLE_SHARED is
    set as some components can be STATIC. Non-static components
    will anyway be caught by the DISABLE_SHARED check in
    MYSQL_ADD_COMPONENT.

commit 55d3868cb64827f5566e8912bee5339677f72ae7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 20 08:36:33 2016 +0200

    Bug#24673238 MAKE "SMALL" UNIT TESTS INDEPENDENT OF PERFORMANCE SCHEMA
    
    All the "small" unit tests can be built/linked (mostly) standalone.
    Make them independent of performance schema as well, by
    adding misc DISABLE_PSI_ compile flags.
    
    Change-Id: I8418e24fd2ea1fb8628f7ee11c28b369bf8b0c8f

commit 013782643915a0c61d9ce77413b4dadcdf5335e3
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Sep 20 08:47:18 2016 +0200

    Fix the release build to correctly run the InnoDB undo testsuite
    
    Approved by Deepa Dixit <deepa.dixit@oracle.com>

commit 9e952c0d95555dc3eaf9e4db1b86b04a054843e6
Merge: f0896af 24a30ed
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 16:56:22 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Fix clusterj direct memory leaks
      clusterj would leak direct memory in several places:
      setting partition key
      setting bounds for scan
      setting scan filter

commit 24a30ed675bd0ec8785f64c44a33ad6bebecea0d
Merge: eaefeca 39ddbf4
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 16:48:55 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Fix clusterj direct memory leaks
      clusterj would leak direct memory in several places:
      setting partition key
      setting bounds for scan
      setting scan filter

commit 39ddbf4b699dbd221f0e10a170824144b760360b
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 16:48:08 2016 -0700

    Fix clusterj direct memory leaks
      clusterj would leak direct memory in several places:
      setting partition key
      setting bounds for scan
      setting scan filter
    
    SessionImpl.java
      avoid overwriting user-defined partition key
      release direct memory after setting partition key
    
    ValueHandler.java
      add release() method to value handler to allow release of direct memory
    
    ClusterConnectionImpl.java
      when initializing cluster connection, initialize ndbjtie method id cache
    
    DbImpl.java
      reimplement methods to get java wrapper objects for query helper objects
        IndexBound, NdbInterpretedCode, NdbScanFilter, ScanOptions
        optionally synchronize on an external object
        try to obtain helper object and if not successful, retry
        report an error if unsuccessful after 10 tries
    
    DbImplForNdbRecord.java
      add a method to initialize ndbjtie method id cache by
        getting an instance of each of the four types
        when initializing a cluster connection
    
    IndexScanOperationImpl.java
      reimplement setBound methods to borrow a direct buffer
        instead of allocating a new direct buffer which is leaked
    
    NdbRecordImpl.java
      optionally fill the NdbRecord with default values
      guard calls to logger.debug and logger.detail
    
    NdbRecordInsertOperationImpl.java
      acquire a new value buffer in constructor
    
    NdbRecordKeyOperationImpl.java
      acquire a new value buffer in constructor
    
    NdbRecordOperationImpl.java
      avoid acquiring a new value buffer for all operations
    
    NdbRecordScanOperationImpl.java
      use direct memory buffer pool for scan filter
      avoid allocating new value buffer if it is not going to be used
    
    NdbRecordScanResultDataImpl.java
      return borrowed value buffer if not used in scanOperation.nextResultCopyOut
    
    NdbRecordUniqueKeyOperationImpl.java
      acquire a new value buffer in constructor
    
    PartitionKeyImpl.java
      borrow direct buffers for partition key and return them after the operation
    
    ScanFilterImpl.java
      borrow direct buffers for scan filters and return them after the operation
    
    ScanOperationImpl.java
      constructor takes a buffer manager
    
    Utility.java
      implement convert functions taking a direct buffer as a parameter for
        byte, short, int, long, double, and float
    
    Bundle.properties
      add message for failure to acquire query helper class

commit f0896af41cfd2673daad2ff6a4ac06884c145ac8
Merge: 59e631e eaefeca
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:34:05 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Fix performance issue with clusterj logger

commit eaefeca226b43676beacad312d1c2430e8771a06
Merge: 801d216 eb88598
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:33:23 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Fix performance issue with clusterj logging

commit eb885989a53e3eb76fad500b6003da3d3f3acb56
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:29:48 2016 -0700

    Fix performance bug in clusterj logging
      creating new objects creates more log records than it needs to
    
    Constants.java
      add environment variable to choose LoggerFactory
    
    DomainFieldHandlerImpl.java
      add guard for logger.debug calls
    
    LoggerFactoryService.java
      allow loading user-defined class for LoggerFactory
    
    ColumnImpl.java
      add guard for logger.debug calls
    
    DeMinimisLoggerFactory.java
      minimalist logger factory
    
    DeMinimisLogger.java
      minimalist logger

commit 59e631eaefceca599b212bcff4cec9c26368572b
Merge: 7dc01cb 801d216
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:12:34 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Add missing test for clusterj exception getClassification()

commit 801d21636f685eda74bfb8e1c8016b86ba112ee9
Merge: 3261d28 c571a6b
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:11:45 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Add missing test for clusterj exception getClassification()

commit c571a6b9550ff2732aa39a9c3a13e226041f10fb
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Sep 19 15:11:36 2016 -0700

    Add missing test for clusterj exception getClassification()

commit 6a186c7c9ff804e2e5a6b96fd00a0adcc8495931
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 13 12:41:45 2016 +0200

    Bug#24492965 ERROR RESULTS FROM CALCULATION
    
    Problem: in certain contexts, the expression
       IF ( var_fld  > 5000, ( 1 / var_fld ) , 5000 )
    could get a type of DECIMAL(6,4) which would truncate results.
    
    Change-Id: Iac71a488925e61caa4df6c24a4e586fed1988896
    Fix: reuse code for CASE and COALESCE to compute precision of IF expressions.

commit 181576baaf11597f742e269ace37b68428ab7f3d
Merge: 96e2237 5a7f005
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Sep 19 17:27:08 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5a7f005b657d71a407a4ea7a05d7e1406eda9c80
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Sep 19 15:52:38 2016 +0200

    Bug #24680856: WRAPPER FOR STD AND BOOST FUNCTIONS
    
    post-push fix on some compilation discrepancies
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>

commit 96e223755b29241e64094f0f65685965d724d214
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 19 15:23:10 2016 +0200

    Bug#24688694 - SEVERAL UNSTABLE TESTS IN SUITE PERFSCHEMA
    
    Disabled unstable tests

commit e85c66d85a56603a0a0412dfbdbc375854da6bf2
Merge: 7863bcb 939819a
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Sep 19 14:18:41 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 939819ae0e646a92bba1f31a8a3fa0207f48c97d
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Sep 19 12:07:26 2016 +0200

    Bug#24688682	PREFER COREUTILS INSTALL OVER CHMOD/CHOWN

commit 7863bcb9e807ce470ef44c0e50974bf79cc96364
Merge: 7c898a5 83553f9
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Sep 19 16:23:28 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 83553f9a40798289809ca4b47f139ea5e99593b0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Sep 19 16:21:59 2016 +0530

    Followup patch for commit id  58dd066f
    
    Remove explicit addition in commercial packages to avoid rpm file listing twice
    warning during builds.

commit 7c898a54c912d79177cad1d9a184c2d6270b3ac4
Merge: b43bf88 ac27c2f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 19 10:19:46 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit ac27c2fb8c3e2ae10ec807e403d2c86c896477f0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 19 10:17:20 2016 +0200

    Bug#24651749 TEST PERFSCHEMA.TABLE_NAME DEPEND ON ORDERING ON UNORDERED RESULT
    
    Backport of this fix to 5.7:
      commit ae0fd2e7c48adf38f6ab102854a5328a789cf231
      Author: Marc Alff <marc.alff@oracle.com>
      Date:   Fri Sep 16 09:53:50 2016 +0200
    
        Bug#24651749 TEST PERFSCHEMA.TABLE_NAME DEPEND ON ORDERING ON UNORDERED RESULT
    
        Added an ORDER BY clause to the test script,
        to enforce stable test results.

commit b43bf88cf8091cac96f8a879747b2805250f1142
Merge: 77d2b4b dae8ab9
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Sep 19 10:20:52 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit dae8ab90a92b51ee683e1f46eec8db9f0f50e2f9
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Sep 19 10:16:41 2016 +0530

    Bug#24352667: RELAY_LOG_BASENAME NULL POINTER CAUSE SLAVE
    CRASH
    
    Problem:
    ========
    Uninitialized 'relay_log_basename' will cause slave server
    to exit abnormally.
    
    Analysis:
    =========
    'relay_log_basename' variable is set only when 'relay_log'
    option is specified in conf file. If the option is not
    specified the 'relay_log_basename' is internally constructed
    on the fly using 'hostname' but 'relay_log_basename'
    variable is not set. When slave tries to access this
    uninitialized variable it results in an abnormal exit of
    server.
    
    MySQL documentation states that the 'Default' value of
    'relay_log_basename' is
    "datadir + '/' + hostname + '-relay-bin'".
    This means that in the absence of user specified relaylog
    basename 'hostname' should be used to construct the basename
    and the variable should be initialized with this value.
    
    Fix:
    ===
    At present code checks for the existence of user specified
    option value to set 'relay_log_basename'. This check is not
    required, in the case user has not specified this option
    current hostname will be used to construct the
    relay_log_basename.

commit 7dc01cb3a06b70b6d0a78ef67ba3286209caea94
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Sep 17 19:36:44 2016 +0200

    BUG#24584690: Fix compiler warning

commit 8f3456a8e73376f35e1d8b4a4a9e1b0a66da7b44
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Sep 17 16:54:16 2016 +0200

    BUG#24584690 Fix test errors

commit 77d2b4b475ef296bc474bd2ad150bd0b67df5868
Merge: 723e2de 0f16cac
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Sat Sep 17 20:21:43 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0f16cac4e54031747d406e85b6589bd0227e5a43
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Sep 15 11:23:47 2016 +0530

    Bug#24670530	MTS WORKERS FAILS TO WAIT FOR COMPLETION OF DEPENDENT
    TRANSACTIONS
    
    Problem: Dependent transaction check and conflict detection algorithm
    is not working properly when the foreign key is referring to a unique key.
    
    Analysis: In the hash key generation algorithm, we are prefix with letter
    'P' for primary keys and we are prefix with 'U#' for unique keys.
    And for foreign keys, we are generating the same key that would have got
    generated for the referred key of the parent table. In the current code,
    there was an assumption that foreign key always refers a primary key of
    the parent table and hence it was prefixing 'P' while generating the key.
    Those test scenarios that break the assumption i.e., foreign key is
    referring unique key of the parent table, then the conflict detection
    algorithm and dependent transaction index generation algorithm is not
    working properly.
    
    Fix: Instead of P and U# prefixes for the keys, we will prefix the key
    names (index names). Same rule applies for the foreign key case as well.
    The hash key for the foreign key will be prefixed with referred index
    name.

commit beb7ebe20e63a255194609f895a86e906601bbc7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Sep 16 22:02:22 2016 +0200

    BUG#24584690: Ensure that comment is reflecting the READ_BACKUP and
    FULLY_REPLICATED properties in SHOW CREATE TABLE and also that it
    gets properly transferred into a new table created by ALTER TABLE
    algorithm=copy

commit 19bc8e82d9c483874924e8bd93812423d233b882
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Sep 16 09:12:29 2016 -0700

    cluster nodejs: remove placeholder copyright notices

commit 723e2deeb28cb03b7e896b21d588539541b59d3f
Merge: 39ce00f 3388754
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Sep 16 17:23:55 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 33887540c6ca94ac526969edac895d4aa99fa801
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Sep 5 17:15:05 2016 +0200

    Bug #24680856: WRAPPER FOR STD AND BOOST FUNCTIONS
    
    Description:
    This task is a first step in removing boost::*  classes in 5.8. ayway
    to maintain a easy bug back-porting (merging) to 5.7 we need to have
    a minimal amount of differences between those two branches.
    
    Solution:
    New header files with names substitution (differ for each branch)
    have been created.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB:13964

commit 39ce00fd449e44584ed26c5490bae8491da38222
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Sat Jun 18 18:06:47 2016 +0200

    Bug#22671573: SIG11 IN SEL_ARG::RB_INSERT |SQL/OPT_RANGE.CC
    
    Split out the concept of "a node in the SEL_ARG tree" from the concept
    of the tree itself (the latter is now called SEL_ROOT). This untangles
    the two concepts (although the split isn't complete; parts of the split
    are complicated enough to be future patch); in particular, SEL_ARG
    no longer needs to carry around fields which only makes sense at
    the root (such as use_count or type), and copy them around when the root moves.
    
    The motivating change, however, is that SEL_ARGs can now point to SEL_ROOTs
    instead of another SEL_ARG. Previously, the pointer was implicitly to the
    root node of the tree; however, a node that used to be the root can later be
    made non-root due to R-B tree rotations, which would then cause issues when
    it was attempted traversed. Now, SEL_ROOT is the sole place holding the
    SEL_ARG root, which is then easy to keep up to date during rotations.
    SEL_ROOT also now holds the "type" field, which uncovered several minor issues
    where our refcounting was either too conservative or aggressive.
    
    If we want to, this also opens up for more opportunities to reduce the size
    of SEL_ARG down the road; in particular, the "part" and "field" fields
    (and possibly "maybe_flag") can be probably moved into SEL_ROOT with a bit of
    effort, and the "parent" pointer is now only needed during insertions and
    deletions, so can also probably be held implicitly. Optionally, we can
    store all SEL_ARGs in a contiguous array in the SEL_ROOT, enabling use of
    smaller indexes instead of pointers, and possibly also other traversal
    optimizations. Or, if we just want cleanup, we can get rid of the R-B tree
    entirely and replace it with a std::map.
    
    Change-Id: Ia152b411d4d4dde98c9a3adb70aad958bccfba81

commit ca794f8995fb21430659b8a92c24ccdba183d078
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Aug 31 10:49:29 2016 +0200

    Bug#22991924 GCOLS: UTF16 STRING OPERATIONS GIVE DOUBLED
    \0\0 STRINGS ON EACH TABLE REBUILD
    
    When a table is being rebuilt, the generated column
    expressions are printed and re-parsed. The problem is, a
    character set conversion may occur every time. This leads to
    the string being converted over and over each time the table
    is recreated. For certain conversions, such as utf8 to
    utf16, this leads to an ever growing string. The behavior
    depends on character_set_client.
    
    The fix is to make the data dictionary always print an
    explicit character set introducer when printing out the
    generated column expression. This ensures that conversion
    only happens once.
    
    This obviously changes the results of generated columns wrt
    charset conversions after table rebuilds.
    
    Also, some regular expression in the X plugin are augmented
    to handle charset introducers.

commit 478145be58ef9fa1eda522bb2e2bf96465c04af8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Sep 16 13:17:33 2016 +0200

    BUG#13714258: Ensure that we can reorg also the unique indexes when reorg:ing a table with unique indexes

commit b4680347603667af2fc72b44c0af2b7dc6eacea7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Sep 16 12:31:35 2016 +0200

    Bug24569624: "SET PERSIST GENERAL_LOG=1" DOES NOT RESUME ON RESTART.
    
    When a boolean system variable is persisted with "ON" as value the variable
    is not pesisted with correct value. This is because in-correct Item_int class
    is intantiated for the value "ON" and later when fix_fields() is called value
    0 is saved, which results in wrong value.
    Fix is to instantiate Item_string object for value "ON" or "OFF".

commit ae0fd2e7c48adf38f6ab102854a5328a789cf231
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Sep 16 09:53:50 2016 +0200

    Bug#24651749 TEST PERFSCHEMA.TABLE_NAME DEPEND ON ORDERING ON UNORDERED RESULT
    
    Added an ORDER BY clause to the test script,
    to enforce stable test results.

commit b881c11a3d33d65d16dae263f5935cce401923a7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 15 17:03:18 2016 +0200

    Post push fix for bug#23544301, adding missing partition balance strings.

commit 1ef5d14ae61a68e3f4ac89b98bf46d2f9cbbbf49
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 15 16:40:59 2016 +0200

    Post push fix for bug#24565265.
    
    Should fix test failures for testBlob and testPartitioning.

commit f6a7a6b5ae338750c574f1a877d8e161b3b312f0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 15 21:30:23 2016 +0200

    Remove garbage test case ndb.Y

commit 2dbb6b732ce7c2fa6a118ece3d1e2df3b5ae5b86
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Sep 15 17:23:16 2016 +0200

    WL#6657 PERFORMANCE_SCHEMA DATA_LOCKS
    
    Post push fix, to resolve GCC 5.3.1 link issues.
    
    Before this fix, unit tests:
    - do link with GCC 4.8.5
    - do not link with GCC 5.3.1
    
    This in particular breaks the UBSAN build, which uses GCC 5.3.1
    
    With this fix,
    the dependency between pfs.cc and pfs_data_locks.cc
    is simplified, which avoids pulling unneeded symbols.
    
    Fix tested with:
    - GCC 4.8.5
    - GCC 5.3.1, without UBSAN
    - GCC 5.3.1, with UBSAN
    
    All the unit tests build and pass.

commit 987bbd92bdc8faf60585cb3d155a5ca42ee6c9d8
Merge: bc84b5d 2b5a20e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 15 14:18:35 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2b5a20e203ac35bb432ba31ee22add0452eb1fc5
Merge: 7572607 b9d76be
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 15 14:13:16 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit b9d76be8bb5453ed484c164b66ba8bdca6c30b7c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 15 14:09:39 2016 +0200

    Bug#24572381: UPDATE GMOCK DOWNLOAD LINK
    
    This patch updates the googletest download link to point to
    googletest's new home at:
    https://github.com/google/googletest/archive/
    
    The patch also upgrades to version 1.8 of googletest.
    Partly because versions 1.6 and 1.7 now consists of
    two separate .zip files (googletest + googlemock),
    while 1.8 still contains both in one.
    
    Since googletest 1.8 does not compile with
    SunStudio12u2, gunit tests are now disabled if compiled
    on Solaris with anything older than Solaris Studio 12.4.

commit 99c669ad99febb0f2e8693a48e4444c5a6479807
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Sep 15 13:35:08 2016 +0200

    BUG#24570439: Fixed such that inplace alter changing read backup property is durable

commit bc84b5d45c5672fa2118f387ab1066687b8370cb
Merge: 490aa3e 7572607
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Sep 15 13:21:43 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7572607c93b744665ba9bbbaee419c94674428fa
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Sep 15 08:04:40 2016 +0200

    Make packages work with native mysql-common if it has a higher version
    
    Debian unstable currently provides a mysql-common 5.8, which causes installation conflicts
    with our packages since apt will want to install it instead of repo.mysql.com packages with
    lower version numbers (while our packages want the one included with them).
    The mysql-common package only needs to contain basic config files, so the native one should
    work just as well.
    
    * Moved charset files from common to client package, adding appropriate breaks/replaces for upgrading
    * Changed packages to depend on mysql-common of equal or greater version, instead of just equal

commit 490aa3ed178cb1b52bffcaf258e703b8fc9db60f
Merge: 6085a37 5ee555a
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Sep 15 15:27:21 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5ee555a1d4e42144fe666946c9a3bc7f2c1d669e
Merge: 64bdc83 e284ccf
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Sep 15 15:26:31 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e284ccf2b149427f198bba736904918f9e632042
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Sep 15 15:24:42 2016 +0530

    BUG#24566529: BACKPORT BUG#23575445 TO 5.6
    
    Stack traces were not printed by our signal handler on FreeBSD
    since we didn't find backtrace(). However, since FreeBSD 10.0
    backtrace() is available, but it requires the execinfo library.
    
    This patch fixes the problem by adding -lexecinfo when
    doing CMake configure checks and when linking the server
    (if execinfo exists). Note that the number of stack frames
    returned by backtrace() seems very limited - at least on
    FreeBSD 10.2.
    
    Also, the PTR_SANE macro which tries to check if a pointer
    is invalid (used when printing pointer values in stack traces)
    gave false negatives on OSX/FreeBSD. On these platforms we
    now simply check if the pointer is non-null. This also removes
    a sbrk() deprecation warning when building on OS X. (It was
    before only disabled with building using XCode).

commit 6085a3739a60a73ff4384b7abb9f56ae525782ee
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 14 13:24:32 2016 +0200

    Bug#24661523: -DMYSQL_MAINTAINER_MODE=ON BUILD FAILURE ON MAC OS X,
                  8.0 XCODE TOOLCHAIN
    
    This patch fixes a build problem with OS X 10.11 + XCode 8.
    MacOS 10.12 adds support for the clock_gettime function
    and this function is present in headers supplied with XCode 8.
    Since we only tested if the function was declared, we got
    linking errors with OS X 10.11 + XCode 8 since 10.11 does
    not include the implementation of clock_gettime.
    
    The problem is fixed by replacing the check with
    CHECK_C_SOURCE_RUNS() CMake check which does linking as well.
    
    The problem originally reported in the bug report is already
    fixed in 8.0.1 by:
      Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
      Date:   Thu Aug 25 19:43:10 2016 +0530
    
        WL#6392 : Upgrade to Transactional Data Dictionary
    
        Post push fix:
    
        Compilation with clang fails with error:
        unused variable 'event_table_def'

commit b7c7609be73a28940365e4affc5c30396328249a
Merge: d49c25d 64bdc83
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Sep 15 09:13:55 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 64bdc83fcb677bf53390a8627c5ba09ac0e30a3f
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jul 12 07:12:54 2016 +0200

    Bug#22956473	REMOVE NAME OF VARIANTS IN SHIPPED CONFIG FILES
    
    The config file should list the packages, as it checks if they are installed to determine if it
    should complain about existing datadir/ask for root password, but the list wasn't consistent
    and was missing native 5.7 packages.

commit c0cb6088fd6fc0c9d14399bc52a9f570cf1e1a77
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 13 13:05:35 2016 +0200

    Bug#21807248	MY_PRINT_DEFAULTS , MYSQLD NOT FOUND ERRORS FOR COMMUNITY TO COMMERCIAL UPGRADE
    
    Upgrading from community to commercial works by removing community, then installing commercial.
    Removing community doesn't remove the service script, which will be run as part of commercial's
    pre-installation script to ensure no server is running. This resulted in error messages in the log
    since it was trying to use mysqld binaries that had been removed.
    
    Added checks to the usage of mysqld and my_print_defaults in the systemv service script.

commit 35997d80545da04be5293bd5338719222e71a5eb
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jul 12 07:23:29 2016 +0200

    Bug#23636836	PASSWORD DIALOG NOT ROBUST WITH SPECIAL CHARACTERS
    
    d/postinst doesn't escape special characters in the password string,
    which can lead to syntax errors when trying to set it. Using printf %q
    should escape all special characters to work correctly in MYSQL strings.

commit f06c5b9c5517b9eef3b4a3b83c32705f22e75825
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jul 12 08:07:24 2016 +0200

    Bug#21057295	UPGRADE FROM NATIVE TO *COMMUNITY* REPO DOESN'T PROMPT ROOT PWD DIALOG
    
    If existing server packages are detected, the root password dialog is skipped, even if
    there is no database. Change to ask for password if datadir has been removed.

commit d49c25d0a7f1b2e87360011d5c8a297091130cf8
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Sep 14 10:44:13 2016 +0530

    Bug#24571597 MISSING REGISTRATION OF SOME RWLOCK AND MUTEX KEYS WITH PFS
    
    Issue:
    ======
    Not all the mutex and rw-lock PFS keys in InnoDB are registered with PFS.
    There are some missing keys which needs to be registered so that
    Performance Schema can show information related to these locks and mutexes.
    
    Fix:
    ====
    Register the keys that have not been registered yet.
    
    RB: 13850
    Reviewed-by: Sunny Bains <Sunny.Bains@oracle.com>

commit d4e4d81be9ea79d739b59a7093c7cf16f450348b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Sep 14 13:51:41 2016 -0700

    cluster nodejs: do not attempt to build jones-ndb on Windows

commit 6bd8962d308c3a756090e4456852050d39cdccfc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Sep 14 13:48:40 2016 -0700

    cluster nodejs: import latest jones-ndb improvements from jones repo

commit a0bd9ae8f730b4bfcd1bdf85b8b209b20b99b9ff
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Sep 14 16:49:21 2016 +0200

    WL#6657 PERFORMANCE_SCHEMA DATA_LOCKS
    
    Post merge fixes,
    fixed memory leaks reported by valgrind / asan
    
    Destroy data lock iterators after use.

commit 656609511badfe80fa087f62ef0eab8aa652bd47
Merge: 16c9eaf cad62d0
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Sep 14 16:50:36 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit cad62d03d91220fde4c69cc41284499ed9fcb261
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Sep 5 19:38:29 2016 +0200

    BUG#24593771:REMOVE TESTS THAT NEED GROUP REPLICATION PLUGIN
    
    There are some tests in mysql-5.7 and mysql-trunk which can only run with
    group replication plugin. These are all skipped because group replication is
    not yet pushed to the main trees. These tests should be moved to GR
    development tree
    
    mysql-test/suite/rpl/t/rpl_group_replication_user.test
    mysql-test/suite/rpl/t/rpl_group_replication_wait_for_executed_gtid_set_no_tim
    eout.test
    mysql-test/suite/rpl/t/rpl_group_replication_wait_for_executed_gtid_set_with_s
    leep.test
    
    These tests were move to group_replication suite on BUG#24357947: MOVE TESTS
    THAT NEED GR PLUGIN TO GROUP REPLICATION TREE, on this bug we need to remove
    them from rpl suite.
    This is made in two steps because Group Replication is not on the main branch
    yet.

commit 16c9eaf02cfe2f3a52754866b17ee3b7d41d2fe8
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Aug 31 13:21:29 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Run the IWYU tool, limited to sql/dd/.
    
    Change-Id: I29e1242980584b8ce7c8568f3885a69bcd8b8f28

commit a992e120da746546aa91b6a3d79a1d4795883b26
Merge: e569f9d 3261d28
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Sep 14 14:06:47 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit e569f9dbd6e1630bde0262572e15b865ee7b7424
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Sep 9 11:24:42 2016 +0200

    Bug#24430209 MYSQL CLUSTER DISTRIBUTED PRIVILEGES VALIDATION FAILS
    
    The table mysql.proxies_priv can sometimes contain unsupported timestamps
    (0000-00-00 00:00:00) in Timestamp field. The causes altering the table
    to be stored in ndb to fail. By replacing such illegal timestamp values
     with the defined default then the table can be properly altered.

commit 3261d28dae78d3021988f0ac428bd26f4eae6a0f
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Sep 14 12:30:15 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    When a slave requests starting rollforward from the first operation
    the new master might already have completed that operation. It then
    has to be re-created from the gci that the slave returns so the transaction
    can be restarted from where all the slaves properly complete their operations.

commit 6d8463200961c97621c56eb489b6d65b6084ad85
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 14 13:37:47 2016 +0200

    Bug#24661626: -DWITH_ASAN=ON SEEMS TO BE BROKEN ON MAC OS X XCODE TOOLCHAIN
    
    The bug was that ASAN support was broken on OS X. The problem is
    that the same CMake symbol used to store the result of ASAN/UBSAN/TSAN
    checks, was also used by the check for the gold linker. Since OS X
    supports ASAN but does not support the gold linker, the symbol
    reuse gave build break.
    
    This bug was a regression introduced by the patch for:
    Bug #23759968: ENABLE THE GNU GOLD LINKER
    
    This patch fixes the problem by renaming the CMake symbol
    used to store the result of the gold linker check.

commit 4bca235dc5d4f8acc30fbc12bdad768cab0fc2a7
Merge: bec104e e50cdcf
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Sep 14 12:43:03 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit e50cdcf386892cb730f497d506dc3ffce471fb08
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Sep 14 12:26:47 2016 +0200

    Follow up patch for Bug#23048816:
    
    Yet another attempth of fixing the failing ATR testcase 'testSpj -n bug#23048816'.
    (Not able to reproduce in local sandbox)
    
    The tescase use ERROR_INSERT(17531) to set 'ErrorSignalReceive= DBSPJ'.
    That will cause future long memory section allocations to fail
    with an 'out of memm' type of error. The intention for this
    testcase was to trigger an 'out of long memory' error for the
    *next* SPJ request delivered, such that the error recovery
    in Dbspj::execSIGNAL_DROPPED_REP() should be tested.
    
    However, as ErrorSignalReceive was set already at the start of the
    preceeding REQuest, there could be other long memory allocations
    requested before the next SPJ REQuest arrived - which also
    would fail with an 'out of memory' error. That made the testcase
    unpredictable, and we got failures not expected by the testcase.
    
    This patch moves the ERROR_INSERT(17531) setting of
    'ErrorSignalReceive= DBSPJ' into the code where the preceding
    SPJ request has sent its final reply. No long memory allocations
    from the SPJ block should then be expected until the next SPJ
    REQuest arrives.

commit 8cc8cc616fee661addc6d7a9c540d339f176bbd7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 14 10:38:44 2016 +0200

    Bug#24506766: SIG 11 IN TRIGGER::ADD_TABLES_AND_ROUTINES
                  AT SQL/TRIGGER.CC:697
    
    The problem was that DML on tables with triggers in LOCK TABLES mode
    could cause the server to exit abnormally.
    
    The reason was that tables locked with LOCK TABLES are kept open
    but failing CREATE/DROP TRIGGER statements could have corrupted
    these table objects. This could again lead to various issues
    with later DML statements trying to access these triggers.
    
    The fix is to reopen tables locked by LOCK TABLES when
    CREATE/DROP TRIGGER fails (and not only when they succeed).
    This assures that the table objects are correct - and is similar
    to how we already do it for e.g. ALTER TABLE.
    
    The patch also fixes a separate issue where the metadata lock
    on the table taken by CREATE TRIGGER was not downgraded properly
    in case acquisition of metadata lock on the trigger failed in
    LOCK TABLES mode.

commit c6f9226d9ade301bffd6a7773fc00f0d22f0417e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Sep 14 10:54:44 2016 +0200

    Revert the push of WL#1074

commit bec104e01a0036361d40348fe7e90b3dc16d01d8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 14 08:57:26 2016 +0200

    Post push fix for bug#24610551 tests.

commit 2334368772233ea658493e7b0cccdb2d13514c16
Merge: 7d58423 adf9c1b
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Sep 14 11:21:20 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit adf9c1be6118bdf14b1fc6830a3333817e17089e
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Sep 14 10:24:42 2016 +0530

    BUG#24352324 : GROUP_REPLICATION_LOCAL_ADDRESS PORT COMPUTED BY MTR
    
    Description :
    =============
    Group Replication, more particularly XCom, requires a local port
    to be open on each MySQL server in order to receive messages from
    the group.
    
    That port is controlled by the option group_replication_local_address
    Example: group_replication_local_address= "192.168.0.1:10000"
    
    This means that to run a two members group we need four open ports:
      server1:
        classic protocol:  13000
        Group Replication: 10000
      server2:
        classic protocol:  13001
        Group Replication: 10001
    
    Currently group_replication_local_address is computed using the
    following algorithm:
    
    FOR X IN MTR_NUMBER_OF_SERVERS:
      SERVER_X_GR_PORT= MTR_SERVER_X_PORT - 3000
    
    meaning that we never collide with server ports, even when multiple
    MTR instances are run in parallel. Having multiple workers per MTR
    instance is also not a problem.
    
    Since our PB2 and lab machines are controlled machines, there are no
    issues with this approach, that is, the 10000:13000 port range is
    always available. Though running this outside of our lab, users that
    run GR on MTR may have that port range occupied and that will cause
    tests to fail due to unavailable ports. The best approach to compute
    group_replication_local_address port is make it part of MTR ports,
    that is, reserve two ports for each server and make the second one
    available on a MTR variable like: $SERVER_GR_PORT_X(X is the server
    number) then Group Replication initialization scripts will use that
    port value on Group Replication configuration.
    
    Fix :
    =====
    1. MTR port range for each MTR worker thread is extended from 10 to
       20 for a MTR run having group replication tests.
    2. For a MTR run with non GR tests, the SERVER_GR_PORT_X envionment
       variable is set to error value '-1'.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewer-by: Nuno Carvalho <nuno.carvalho@oracle.com>
    RB: 13651

commit 7d584234ac247d80413ab1bc11f951b0fb824a41
Merge: 0a9d19c 285cdc2
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Sep 14 10:32:02 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 285cdc2dd7e684c4759a1dc148d06b06f334b25a
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Sep 14 10:24:42 2016 +0530

    BUG#24352324 : GROUP_REPLICATION_LOCAL_ADDRESS PORT COMPUTED BY MTR
    
    Description :
    =============
    Group Replication, more particularly XCom, requires a local port
    to be open on each MySQL server in order to receive messages from
    the group.
    
    That port is controlled by the option group_replication_local_address
    Example: group_replication_local_address= "192.168.0.1:10000"
    
    This means that to run a two members group we need four open ports:
      server1:
        classic protocol:  13000
        Group Replication: 10000
      server2:
        classic protocol:  13001
        Group Replication: 10001
    
    Currently group_replication_local_address is computed using the
    following algorithm:
    
    FOR X IN MTR_NUMBER_OF_SERVERS:
      SERVER_X_GR_PORT= MTR_SERVER_X_PORT - 3000
    
    meaning that we never collide with server ports, even when multiple
    MTR instances are run in parallel. Having multiple workers per MTR
    instance is also not a problem.
    
    Since our PB2 and lab machines are controlled machines, there are no
    issues with this approach, that is, the 10000:13000 port range is
    always available. Though running this outside of our lab, users that
    run GR on MTR may have that port range occupied and that will cause
    tests to fail due to unavailable ports. The best approach to compute
    group_replication_local_address port is make it part of MTR ports,
    that is, reserve two ports for each server and make the second one
    available on a MTR variable like: $SERVER_GR_PORT_X(X is the server
    number) then Group Replication initialization scripts will use that
    port value on Group Replication configuration.
    
    Fix :
    =====
    1. MTR port range for each MTR worker thread is extended from 10 to
       20 for a MTR run having group replication tests.
    2. For a MTR run with non GR tests, the SERVER_GR_PORT_X envionment
       variable is set to error value '-1'.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    Reviewer-by: Nuno Carvalho <nuno.carvalho@oracle.com>
    RB: 13651

commit 0a9d19c61751703ae554059baa4aed114dc04c76
Merge: 95eefbf 4d12673
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Sep 14 09:49:15 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 95eefbff9cc865cfaec2cbc615f7c02be3dccf90
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Sep 13 06:58:52 2016 +0200

    Bug#24643152 INNODB.INNODB-WL6445-1: CHANGE BUFFER MUST BE EMPTY
    
    Approved by Satya Bodapati <satya.bodapati@oracle.com> over e-mail.

commit 4d12673d9c7e365c18c8b7f0a808c8fc034b5af0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Sep 13 11:08:14 2016 +0530

    Bug#24653242 GR UNABLE TO DETECT CONFLICTS WHEN INSERTING SAME VALUE INTO
    UNIQUE COLUMN
    
    Analysis: Group replication is skipping the nullable unique indexes while
    preparing the hash keys in add_pke() function. Due to this, Group replication
    is unable to catch conflicting transactions.
    
    Fix: Do not skip the nullable unique indexes.

commit a1af92a5e3ee1c68b9b8b039e9fc8cfd8866e625
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Sep 8 16:08:37 2016 -0700

    Bug#24571816 - FIX FOR BUG#23020280 IS NOT COMPLETE
    
    The list of module base names in the variable auto_event_names was either incomplete
    or new modules have been added or renamed since then.
    
    For BUG#23020280, I tried to list each module which might allocate memory
    with any form of "ut_malloc" or "ut_new".  Assuming I missed some, this time
    I included all unique module base names in the InnoDB codebase. This array
    increases to 183 names.

commit 3480219d3e0a0de7045210767eeb63ca4e5ec35f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 13 19:53:53 2016 +0200

    Post push fix bug#24610551 Add function verifying created or modified fragmentation.
    
    Build error:
    
    storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: In member function 'bool Dbdih::verify_fragmentation(Uint16*, Uint32, Uint32, Uint32) const':
    storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:13052:14: error: unused variable 'is_fully_replicated' [-Werror=unused-variable]
       bool const is_fully_replicated = (fragment_count > partition_count);
                  ^
    cc1plus: all warnings being treated as errors

commit e9ca24bc4a8d755cd1f6d49866a6305f2250159c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Aug 25 14:07:24 2016 +0200

    Bug#24565265 IMPLEMENT AND SET DEFAULT FOR FULLY REPLICATED TABLES TO ONE_PER_NODE_PER_LDM

commit 3a0b4773af462d61247705c1df6414809fbc0107
Merge: 93c4c62 9a852e6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 13 18:25:15 2016 +0200

    Merge into mysql-5.7-cluster-7.5 (Bug#24610551)

commit 9a852e661a0795f3f34d7214f40b8ce45cafaba0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 8 16:40:14 2016 +0200

    Add function verifying created or modified fragmentation.

commit 74d501f76d2c2a943c20b58b7d69eb0e95465ce8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 8 21:38:36 2016 +0200

    Problem:
    For fully replicated tables, adding two nodegroups followed by reorganize
    partition could create an invalid fragmentation having two copy fragments
    for same partition on same node.
    
    Solution:
    Use same node group while distributing fragments with same ratio of
    fragment id and partition count.

commit c665ff2648b9515909802ab7eff65b8d959ff215
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 8 16:36:53 2016 +0200

    Test case for Bug#24610551 7.5: CLUSTER CRASHED WITH AN ERROR "DBDIH (LINE: 13045) 0X00000002 CHECK FOUND_F

commit b5358689c253400a99515acf4bd891c32c0cebdc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 8 18:42:29 2016 +0200

    Bug#24610551 7.5: CLUSTER CRASHED WITH AN ERROR "DBDIH (LINE: 13045) 0X00000002 CHECK FOUND_F
    
    Problem:
    For fully replicated tables log part id was assumed to be the same as
    partition id.  That could work for PARTITION_BALANCE=FOR_RA_BY_LDM, but
    not in general for other partition balance types.
    
    Solution:
    Introduce and use Dbdih::Fragmentrec::partition_id instead.

commit f57a8b6132b913349b2c1e6f23714266e4b5a7f1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 13 16:04:54 2016 +0200

    WL#6657 PERFORMANCE_SCHEMA LOCK_DATA
    
    Implemented tables
    - performance_schema.data_locks
    - performance_schema.data_lock_waits

commit e60ef83d6264b9447dc3b4178fa6f4474c9857ad
Merge: e4e28ee 24d93a7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Sep 13 13:56:28 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 93c4c62d01e851af5cd13d055b044186fdcc6dd0
Merge: fa86e15 0132f17
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 13 14:14:59 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 0132f17b674fe9ee66656c184ed7a3a951ca7afb
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 13 14:09:55 2016 +0200

    Follow up patch for Bug#23048816:
    
    New ATR testcase added for that bug ran two 'STEPS' of the
    testcase doing error inserts. However, the error inserts are
    'global' within the datanodes. Thus running multiple error
    inserts in parallel will bring the tets client 'out of synch'
    wrt which error insert being active.
    
    Patch change to do the error insert in a single 'STEP'

commit e4e28ee0930fd35f9b15348b0509b48451437586
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Sep 9 15:31:26 2016 +0300

    Fix Bug#24619561 COMPILATION WARNINGS (ERRORS IN MAINTAINER MODE) WITH GCC 6 ON FREEBSD
    
    Avoid "e == ETIMEDOUT || e == ETIME" if ETIMEDOUT equals ETIME.
    
    Reviewed-by: Jon Olav Hauglid <jon.hauglid@oracle.com>
    RB: 13978

commit 9f39a57678bb818a08832c268a327650bdefc993
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue Sep 13 10:44:04 2016 +0200

    BUG#24344026 - SIG 11 IN MY_VALID_MBCHARLEN_UTF8 AT STRINGS/CTYPE-UTF8.CC:9437
    
    RQG_INFO_SCHEMA generates a signal 11 in the function MY_VALID_MBCHARLEN_UTF8.
    This happens due to a race between UNINSTALL PLUGIN and SHOW PLUGINS. When we
    fetch information relating to a dynamic (.so) plugin, a concurrent UNINSTALL
    PLUGIN on the other connection unmaps the memory of the dynamic plugin but
    the show plugin code refers to this unmapped memory thereby generating a
    segmentation fault.
    The fix is to hold LOCK_plugin when we copy information pertaining to
    the plugin in show plugins code.

commit 1afb3e178615f272d982fbeae30fac1ce906bc7d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Sep 2 13:04:58 2016 +0200

    Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI
    
    Remove MEM_ROOT and PSI, which are server-side concepts, from the
    visible client ABI. In particular, MEM_ROOT elements in the MYSQL struct
    are now changed to pointers and forward-declared, so that we can change
    its definition without breaking the size or layout of said struct.
    (Unfortunately, since it's a C struct, we can't make them a unique_ptr,
    which would be nice to avoid sharing, but you can't have it all,
    and we've already eliminated all by-value copies of MEM_ROOTs
    in the previous patch.)
    
    Also make sure we don't do ABI checks for plugins when building
    without the server, which unbreaks builds with -DWITHOUT_SERVER=1.
    
    Change-Id: Ia614e61518f036b4ad48d1d7ca609177d845be89

commit 24d93a7c85b5057d6b8c564e06fe08197c9e9df7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 5 10:23:28 2016 +0200

    Bug#22740093: ERROR 1071 (42000): SPECIFIED KEY WAS TOO LONG
                  ERROR WHILE DROPPING INDEX IN 5.7
    
    This bug concerns the check of index prefix lengths for TEXT
    type columns. These types of columns has a maximum length
    measured in bytes (e.g. 255 bytes for TINYTEXT). However the
    index prefix length specified in CREATE TABLE and ALTER TABLE
    statements is in characters.
    
    This gave separate buggy behavior for CREATE TABLE and ALTER TABLE:
    
    During CREATE TABLE, the index prefix length was only checked
    against storage engine maximum sizes, not the maximum size of
    the column (Create_field::key_length is still 0 when the
    check was attempted). This e.g. meant that you could create a
    prefix index of 768 utf8mb4 characters for TINYTEXT columns
    even if the real maximum is 63 characters (255/4).
    (768 * 4 = 3072 is the InnoDB max index length).
    
    During ALTER TABLE, the check was broken for multibyte character
    sets as we multiplied the maximum size of each column with
    bytes_per_character one time too many. This e.g meant that at you
    could add an index of 252 utf8mb4 characters for TINYTEXT
    columns (63 * 4 = 252).
    
    This patch fixes the problem by comparing the index prefix length
    in bytes against the max column length in bytes. So for TINYTEXT,
    the maximum prefix is now 63 regardless of whether CREATE TABLE or
    ALTER TABLE is used to create the index (assuming a 4 byte
    character set is used).

commit fa86e15a241582f789ae9e5bf37e7633049a2380
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Sep 12 15:03:43 2016 -0700

    Add early draft ReadMe file for storage/ndb/nodejs

commit b0cf96aff2db731c84024519c505c7d490247df3
Merge: 8cab522 2e6d377
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Tue Sep 13 01:58:38 2016 +0400

    Merge branch 'mysql-trunk-wl1074' into mysql-trunk

commit 88bdf1f26be97c006e1ff74397872fa53049f192
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Sep 1 10:27:43 2016 -0700

    Update storage/ndb/nodejs with current code from Database Jones

commit a10a9507b31615f7910c05afa6108eb13236b575
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Aug 31 13:17:33 2016 -0700

    Completely remove old mysql-js from storage/ndb/nodejs

commit 8cab5220b269be0af840890bf1b41d749876cabb
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jun 27 11:08:35 2016 +0200

    Add a function to print SEL_ARG trees.
    
    Only for debugging uses; it can be very hard to keep track of the
    trees otherwise.
    
    Change-Id: I3a631ffd996e0c531aef82a62955ad18e2cfd234

commit 635fbf6c47c8a8d3ab9fa80fb9d6f059eb90c4e2
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Sep 8 13:11:17 2016 +0200

    Revert "Revert "Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI""
    
    This failed on Windows since MSVC doesn't advertise C++11 support,
    even though it does have std::move et al. Work around it by just
    checking on _MSC_VER.
    
    This reverts commit e70a80a10c72d244bff3058a7423ede2d9928aaf.
    
    Change-Id: I46acb361ef89ca77fa18b4fd57684bfbc9f4f604

commit 1723e6911670a1a39e52b546f0dab08511e7f04c
Merge: 3b707f9 f6b5010
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 12 13:04:20 2016 +0200

    Merge branch 'mysql-8.0.0-dmr-release' into mysql-trunk

commit 6168988385d4a2d2bd912f18e91ae58d4eb4a002
Merge: 8071dca 8ab8ca2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Sep 12 14:49:39 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    (Null Merge tag 'mysql-5.5.52')

commit 8ab8ca2ac1eb89b0888e51cbabd4592ab94bb743
Merge: 1857456 e51701c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Sep 12 14:47:14 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    (Null Merge tag 'mysql-5.5.52')

commit e51701c68ac364335fc39eb7f20498b342e5a376
Merge: da3a27e 3d2737e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Sep 12 14:45:47 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    (Null Merge tag 'mysql-5.5.52')

commit 3b707f93c1c90b3f1555b23d48a172d5560e41a5
Merge: c9ab73e f8fe0bf
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Sep 12 11:03:28 2016 +0300

    Null merge branch 'mysql-5.7' into mysql-trunk
    
    Bug#24605956 does not exist in mysql-trunk.
    
    * mysql-5.7:
      Fix Bug#24605956 SERVER MAY CRASH DUE TO A GLIBC BUG IN HANDLING SHORT-LIVED DETACHED THREADS

commit f8fe0bf52fef135d0122267fa24007b06430e0b1
Merge: a6d06d1 1a08bd0
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Sep 12 10:58:32 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Fix Bug#24605956 SERVER MAY CRASH DUE TO A GLIBC BUG IN HANDLING SHORT-LIVED DETACHED THREADS
    
    Avoid detaching and exiting from threads that may finish before the
    caller has returned from pthread_create(). Only exit from such threads,
    without detach and join with them later.
    
    Patch submitted by: Laurynas Biveinis <laurynas.biveinis@gmail.com>
    RB: 13986
    Reviewed by: Sunny Bains <sunny.bains@oracle.com>
    
    * mysql-5.6:
      Fix Bug#24605956 SERVER MAY CRASH DUE TO A GLIBC BUG IN HANDLING SHORT-LIVED DETACHED THREADS

commit 1a08bd048aa9ff452a56ccde4bc586c81485ecb7
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Sep 12 10:54:45 2016 +0300

    Fix Bug#24605956 SERVER MAY CRASH DUE TO A GLIBC BUG IN HANDLING SHORT-LIVED DETACHED THREADS
    
    Avoid detaching and exiting from threads that may finish before the
    caller has returned from pthread_create(). Only exit from such threads,
    without detach and join with them later.
    
    Patch submitted by: Laurynas Biveinis <laurynas.biveinis@gmail.com>
    RB: 13983
    Reviewed by: Sunny Bains <sunny.bains@oracle.com>

commit 8071dca0ce3de7a54d668377ae55c93ddcab3e84
Merge: 7d95a6e 1857456
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Sep 12 11:57:41 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    (Null Merge tag 'mysql-5.6.33)

commit 1857456c4fe18c5332c83abc408b78cf88e5a3e0
Merge: 207a621 da3a27e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 9 16:25:09 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    (Merge tag 'mysql-5.6.33)

commit 7d95a6eafabf775d8dbae7039bf13f49b0b3f193
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Sep 12 11:23:21 2016 +0530

    Post Merge Fix
    
    Update the test and result files for ndb_error4012
    
    Alter query to add partition returns error 1296 in place of the
    'Unknown error 4008' returned earlier

commit c9ab73e115e262e98a510eaf60cfbed5fa7e214c
Merge: 75c7059 a6d06d1
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Sep 12 10:20:54 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit a6d06d13b1e635e2837faba52a7a5ec12ab90428
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Sep 12 10:18:05 2016 +0530

    Post-push fix for Bug#22364401

commit 75c7059117e06d14bdf0a041fd3c062def75faab
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Mon Sep 12 03:54:43 2016 +0200

    Revert "Bug#22991924 GCOLS: UTF16 STRING OPERATIONS GIVE DOUBLED"
    
    This reverts commit d464008d1b3631ee894f0585647dba9ec52d02fe.

commit d464008d1b3631ee894f0585647dba9ec52d02fe
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Aug 31 10:49:29 2016 +0200

    Bug#22991924 GCOLS: UTF16 STRING OPERATIONS GIVE DOUBLED
    \0\0 STRINGS ON EACH TABLE REBUILD
    
    When a table is being rebuilt, the generated column
    expressions are printed and re-parsed. The problem is, a
    character set conversion may occur every time. This leads to
    the string being converted over and over each time the table
    is recreated. For certain conversions, such as utf8 to
    utf16, this leads to an ever growing string. The behavior
    depends on character_set_client.
    
    The fix is to make the data dictionary always print an
    explicit character set introducer when printing out the
    generated column expression. This ensures that conversion
    only happens once.
    
    This obviously changes the results of generated columns wrt
    charset conversions after table rebuilds.

commit 27194becbdf9b8c5108e2aadea5d3ea6b0ca05c9
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Sep 7 08:47:41 2016 +0200

    Bug#23541244: INVISIBLE INDEXES NOT WORKING ON MYISAM
    
    Invisible indexes did not work on MyISAM because it
    overwrites the keys_in_use bitmap.
    
    Fixed by introducing a new bitmap visible_indexes, and a new
    interface TABLE_LIST::usable_indexes for the optimizer to
    use.
    
    We also update the version token from 5.8 to 8.0.

commit 2e6d377547cbea000c8ff0c4b6c3d58188621c21
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Sat Sep 10 16:16:29 2016 +0400

    WL#1074: Add descending indexes support
    
    Implementation of WL as single patch.

commit 6763d2f5e8e52164e0139f0325a525708853793b
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Sep 9 14:15:52 2016 +0530

    WL#6392 : Upgrade to Transactional Data Dictionary
    
    Post push fix:
    
    main.dd_bootstrap.test and main.dd_bootstrap_debug.test fail.
    The tests are written to test various failure scenarios in
    bootstrapping. These scenarios include editing mysql.version
    table and deleting mysql.version.
    
    If mysql.version table is dropped and server is restarted on same
    data directory, it is treated as mysql-5.7 data directory.
    Server tries to upgrade data directory by creating dictionary
    tables. This causes errors other dictionary tables are already
    created and present in the InnoDB dictionary. Error while executing
    statements in bootstrap thread does not set error status in
    Diagnostics Area. This causes an assert.
    
    Handle error in creation and deletion of dictionary tables to
    avoid debug asserts. Use dictionary table names from Dictionary
    system for checking their existence and dropping the tables instead
    of hardcoding them.

commit a150caebee61524fa1432deba21ef242bfdd4eb2
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Sep 9 16:17:11 2016 +0300

    Add a top-level clang-format config
    
    New MySQL code is to use the Google C++ Style and the existing code
    will probably be reformatted to that too. This is the clang-format
    config for that.

commit 6ac85c6cb270157cdf064e1dc838d5c02ed7e32f
Merge: 334c5ac 749a816
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Sep 9 18:06:00 2016 +0530

    Bug #24450908	UNDO LOG EXISTS AFTER SLOW SHUTDOWN
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 749a8167019c5e513b5a35fb3ca8d6f9ec237ca9
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Sep 9 18:01:27 2016 +0530

    Bug #24450908	UNDO LOG EXISTS AFTER SLOW SHUTDOWN
    
    Problem:
    ========
    
    1) cached undo segment is not removed from rollback segment history
    (RSEG_HISTORY) during slow shutdown. In other words, If the segment is
    not completely free, we are failing to remove an entry from the history
    list. While starting the server, we traverse all rollback segment slots
    history list and make it as list of undo logs to be purged in purge queue.
    In that case, purge queue will never be empty after slow shutdown.
    
    2) Freeing of undo log segment is linked with removing undo log header from history.
    
    Fix:
    ====
    1) Have separate logic of removing the undo log header from history list
    from rollback segment slots and remove it from rollback segment history
    even though it is not completely free.
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB:13672

commit 334c5ac80b4f5ac676dd7c0160018d1584178d12
Merge: 730619a e42842e
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Sep 9 13:28:09 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit e42842ea7c654179e4ded0f8d6bafa80e8eb6331
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Aug 10 17:58:49 2016 +0200

    BUG#24440344: X-PLUGIN DOES NOT STOP EXECUTION OF STORED PROCEDURE AFTER CONNECTION RESET
    
    Description:
    The mysqlx plugin trying send results to a client event though
    the client has killed the connection to plugin. Such behavior
    is unexpected especially for large result sets.
    
    Solution:
    The detection of state connection to a client has been improved.
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB:13764

commit 3d2737e18afa3cb8a4d42f4806f691e63a22698c
Merge: 9b42887 f105d1e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 9 16:34:09 2016 +0530

    Merge tag 'mysql-5.5.52' into mysql-5.5-cluster-7.2

commit 730619ab8975c1ec26361053c8a651335186e5f7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 9 10:53:54 2016 +0200

    Fix recently introduced Clang compile warning.

commit da3a27ea6a3f060710d849a05e58788f13e83794
Merge: 6017de4 259f2ca
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 9 16:19:58 2016 +0530

    Merge tag 'mysql-5.6.33' into mysql-5.6-cluster-7.3

commit 1e03079cb0139429d0c25aff45f4bb1613e3ee27
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Sep 9 09:34:51 2016 +0200

    Bug #24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Patch 5: Post-push fix. Fix percentage checks and adjust threshold to
    accommodate PB Windows.

commit dac6a89c1a3be4753081f267e3bd656008e857d6
Merge: 0842651 97f03bb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Sep 9 15:09:28 2016 +0530

    Merge tag 'mysql-5.7.15' into mysql-5.7-cluster-7.5

commit 58f8cadfc2236646fc1b72edb76c1240f165d707
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 9 11:12:57 2016 +0200

    Fix: include/mysql/components/services/registry.h:127:46
    warning: extra ';' outside of a function [Wextra-semi]
    
    Change-Id: I8f97e2bfa5398cbafa38b58ee65a9de65d318d68

commit 66ca78e67448d73f3fa5078772941735eb0b244f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 9 11:05:51 2016 +0200

    Fix: Warning: Last line in file "include/mysql/service_plugin_registry.h" is not terminated with a newline.
    
    Change-Id: I56595d43579d0536a8311a24147fd0b96d425d71

commit 0e48d5f00600147151825acb8a2c17e50a692dbc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 8 12:44:30 2016 +0200

    Bug#24612471 CONVERT LIBMYSQL FILES FROM .C TO .CC
    
    Convert from .c to .cc, to get better semantic checks,
    and to be able to use C++ features.
    
    also:
    remove unused file libmysql/conf_to_src.c
    rename sql/sql_state.c => sql/sql_state.cc
    
    Change-Id: Id1d2c03ca5e99c5a7566310cc560b63f94d41557

commit 0f55ab94f8d0bd7f69c43317b1036dcc75cf94d3
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 8 10:48:13 2016 +0300

    WL#4989: Allow plugins to access the component registry

commit 76f106e632b35e33c0a2e515256c68caa0563ca2
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Sep 9 12:33:49 2016 +0530

    Bug#24470876: MTR: SOME ERROR MESSAGES DO NOT MATCH FAILURE PATTERNS
                  CHECKED BY PB2
    
    Issue:
    ------
    Some errors thrown by MTR are not recognized on pushbuild and are
    not visible in the summary (eg: suite not found).
    
    Fix:
    ----
    The prefix of such MTR error messages have been changed from "** ERROR"
    to "mysql-test-run: *** ERROR" to be consistent with other errors and
    be recognized on pushbuild.
    
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    RB: 13838

commit 0842651aac73563472231f74d21630b19d5cc38e
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Sep 9 09:46:23 2016 +0200

    Bug#24444908   7.5: CLUSTER CRASHED DURING RESTART WITH AN ASSERTION `!CALLBACKOBJ->HAS_DATA_TO_SEND
    
    Temp patch which removes the assert in 'Subject'.
    
    Still believes that the asert is indicating an interesting situation
    which should be looked further into - Possibly some lack of concurrency
    protection of the transporters, which could potentially result
    in lost signals, or signals surviving node restarts.

commit 51c57930c319feeb9d2f46d346571854480d64c5
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Sep 9 12:32:48 2016 +0530

    Bug#24466969: MTR CONNECT() ACCEPTS CONNECTION OPTIONS WITH ADDITIONAL
                  TRAILING CHARACTERS
    
    Issue:
    ------
    The mysqltest connect() command accepts connection options when some
    trailing characters are present along with valid connection options.
    
    Fix:
    ----
    Any connection option given to connect() is compared entirely against
    valid connection options.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 13719

commit eede82bc393e0e1dfbd04a645f3ed161ea8c46bd
Merge: 37679cd de5f91e
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Sep 9 06:32:37 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit de5f91e9f9057b64bd4893b374499c08b0cb714a
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Fri Sep 9 05:56:11 2016 +0200

    WL#9264 - XPlugin sockets and memory monitoring in performance schema
    
    Approved by Tarique Saleem<tarique.saleem@oracle.com>

commit c26d9a32d3d12cb18a81016314ac9c9b77ac337f
Merge: ee9a70c 207a621
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 8 23:22:37 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 207a6218cd95750654b973d2815e5fbc7e2ae92d
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 8 23:18:27 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Changed rollforward when starting point is missing to reset to
    first operation. This fixes failures in testDict -n SchemaTrans
    (x4 y8 y9 z2).

commit 37679cdefa16e8dda88b0d7dfcb14d3f0beb241e
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Aug 30 12:04:28 2016 +0200

    Bug #23701289: CHECK ROW CONTENT DISTRIBUTION IN PARTITION TESTS
    
    This patch introduces two utilities to be included in mtr tests
    for checking content distribution for partitioned tables:
    
    1. mysql-test/include/show_partition_checksums.inc:
       Computes a checksum for each (sub)partition, and
       prints the (sub)partition name and checksum to the
       result log.
    
    2. mysql-test/include/show_partition_contents.inc:
       Selects the contents of the (sub)partition to the
       result log.
    
    Please see comments in the two include files for additional
    information.

commit 1cbae30a382788eec37239ec666ae6550eb3ae26
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Sep 6 15:47:16 2016 +0200

    WL#6391: Hide DD tables.
    
    Post-push fix: Include a table type description in the error
    message to distinguish between data dictionary tables
    (defined in wl#6379) and system tables (e.g. innodb_*_stats).

commit 0720edfe6611162d3a2549a0deb8c44c2a8e9786
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Sep 2 08:38:05 2016 +0200

    Bug #24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Patch 5: Change the dd::String_type and dd::Stringstream_type aliases to the
    new instantiations which will allocate memory with PFS instrumentation.
    
    Adds an mtr test which performs sanity checks on the instrumentation. The exact
    numbers will differ between platforms.
    
    This patch completes the planned work for this bugid.

commit 28d65035461c7cbaa18c0f56fa1c58d7d4cbeedf
Merge: df5eb65 0a4c2cd
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 8 18:16:35 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0a4c2cd77433ec55804a5f0d99ec2a148b5e7d93
Merge: bc78575 8f605aa
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 8 18:15:15 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8f605aa42e23a4e9804bed153a289c32fdbc42e9
Merge: 9b69e89 1fa6fe4
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 8 18:13:38 2016 +0300

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1fa6fe46557993b987f20cf7a381cdc61b40d81a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Sep 1 13:30:44 2016 +0300

    Bug #24496214:  MISLEADING ERROR EXECUTING MYSQLADMIN SHUTDOWN AGAINST A SERVER
    RUNNING FIREWALL
    
    mysqladmin shutdown will try to extract the server's pid file before executing
    the actual shutdown command.
    It will do that by executing a SHOW VARIABLES query and processing the result.
    However if that query fails it print a (somewhat confusing) error mesasage
    and will still continue to do the shutdown command.
    If that passes then the mysqladmin user will get an error but the shutdown will
    still be successful.
    This is confusing so the error message text is changed to say that this is a
    non-fatal error and execution continues.
    No test case added since it'd require a selective query failure device that's
    not available in 5.5.

commit df5eb65795dc07265ee4ae63141472b0496780f2
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Sep 8 16:17:11 2016 +0530

    Post push fix for Bug#22364401 (main.sp)
    
    First execution of the procedure:
    1. Server uses the table_name from Item_field to store in the orig_table_name
    of the ref object.
    
    Second execution
    1. TABLE::init re-initializes the table alias (calls realloc) which is
    pointing to the same memory as that of the "orig_table_name" of the ref
    object in the first execution.
    2. Same item_list that is part of the first execution is used while sending
    the metadata. But orig_table_name is no more valid.
    
    Problem is not seen without the fix because internal_table_name was used as
    orig_table_name previously. Also problem is not seen on 5.7 as realloc does
    not happen in case of 5.7.

commit ed5c5e90623eda364573e6e53e9a46c32ce7accb
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Sep 8 14:41:20 2016 +0530

    WL#9045: Make user management DDLs atomic
    
    Post push fix: Fixed doxygen issues.

commit a3b65e6f729c0fb3498fdad25e9904e913a3d6e8
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Mar 8 10:22:54 2016 +0100

    Bug#22887227: ASSERTION FAILED: THIS_TYPE != JSON_DOM::J_ERROR
    
    Problem:
    
    Item_func_case::val_json() did not always set the null_value flag when
    the CASE expression evaluated to NULL.
    
    Fix:
    
    Update Item_func_case's null_value flag after evaluating the THEN or
    ELSE clause of the CASE expression.

commit d25f38e38d3279ecefe241c85ff6abf79794eb79
Merge: 72cac08 bc78575
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Sep 7 20:01:31 2016 +0200

    null upmerge

commit bc7857512e1df3903fe128c1c82be18352971353
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Sep 7 19:59:21 2016 +0200

    Fixing merge conflict from 5.7.15

commit 72cac08726807a3712a9805328a57e2e0fbc755e
Merge: e70a80a 442ec3f
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Sep 7 19:45:09 2016 +0200

    null upmerge

commit 442ec3f065866e36ace98726255d5286fb5e7595
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Sep 7 19:39:19 2016 +0200

    Fixing merge conflict from 5.7.15

commit e70a80a10c72d244bff3058a7423ede2d9928aaf
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Sep 7 15:58:03 2016 +0200

    Revert "Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI"
    
    Supposedly causes crashes in main.sp and other SP-related tests on Windows.
    
    This reverts commit 4c53f2fba10249dae05a077b66cad507efa66b80.
    
    Change-Id: Id07c4539fa2706b62e206ee97632e0e1edde0339

commit 87474d61ec639a500c1508b50a50aa76b6c203a5
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Wed Sep 7 17:30:09 2016 +0530

    Bug #24579102 : Merging of testcases main.alter_table_myisam.test and innodb.alter_table.test
    
    problem: When the testcase split exercise happened due to the bug fix Bug#23541562,
    some part of the tests,related to the wl#5534 , got removed from these two files,
    innodb.alter_table.test and main.alter_table_myisam.test
    
    solution: merge back two testcases innodb.alter_table.test and main.alter_table_myisam.test and create
    as old one main.alter_table.testand without loosing any changes
    
    Reviewed by : jon.hauglid@oracle.com
                  gopal.shankar@oracle.com
    RB : 13861

commit 9b72447b80722135214d61ecf7ccbe585634c5bc
Merge: 4c53f2f e65e282
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 7 17:19:26 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e65e282e01b8a119df691a1ab49c721d03362f53
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 7 17:16:50 2016 +0530

    Bug#24605300 - TYPO IN SERVER %POST SCRIPT FOR SLES RPM
    
    Fixed the typo from merge commit 71f58d92

commit 4c53f2fba10249dae05a077b66cad507efa66b80
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Sep 5 10:59:32 2016 +0200

    Bug #24586713: MAKE CLIENT ABI INDEPENDENT OF MEM_ROOT AND PSI
    
    Prefactoring: Make MEM_ROOT movable but not copyable. Copying MEM_ROOT
    (using the default copy constructor, even) is a dangerous antipattern
    that we should get rid of; you will end up having two MEM_ROOTs where
    doing anything to one makes the other one essentially untouchable,
    since they share memory blocks. It also precludes adding a destructor
    in the future.
    
    QUICK_RANGE_DESC has a horrible hack where an adaptor is created through
    inheritance and the default copy constructor (sharing some elements and
    unsharing some); I tried to untangle it, but it's out of scope for this
    patch. I ended up making the alloc just explicitly shared instead.
    
    Change-Id: I5cff9359a3046f1b246f9305c50522d5a3439a89

commit 25ee1a20754e4d27946c12016b9351c83d9ca283
Merge: f28c4b9 5f47f2e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Sep 7 12:42:04 2016 +0530

    Bug #24488141   ACTIVE UNDO TABLESPACE NOT UPDATED
    		WHEN INNODB_UNDO_LOGS IS INCREASED
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 5f47f2eb905cf2eea7908fbea329cd07b19f25eb
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Sep 7 12:40:10 2016 +0530

    Bug #24488141	ACTIVE UNDO TABLESPACE NOT UPDATED WHEN INNODB_UNDO_LOGS IS INCREASED
    
    Problem:
    ========
     If we increase innodb_undo_logs value during startup. New rollback
    segment might get allocated during trx_sys_create_rseg(). Essentially, it
    would make these tablesapces active with transaction undo data and purge.
    But it doesn't come in active undo tablespaces. so these tablespace would
    never get truncated.
    
    Fix:
    ===
     Increase the number of active undo tablespace when we are assigning the
    undo tablespace to the newly assigned rollback segment.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 13746

commit f28c4b9a41ec6929e15f174ef162a667c888f611
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Wed Sep 7 12:00:42 2016 +0600

    Bug#23264552 -- XA: ASSERT `M_STATUS == DA_ERROR' IN MYSQL_ERRNO:SQL_ERROR.H:385
    
    In case a storage engine failed to prepare a branch of an XA transaction
    the method handlerton::prepare() returns nonzero value in the function ha_prepare().
    To handle error condition the function ha_rollback_trans() is called to rollback
    current transaction. While doing rollback the following sequence of functions is called
      ha_rollback_trans --> TC_LOG::rollback --> ha_rollback_low -->
        XID_STATE::set_error --> Diagnostics_area::mysql_errno.
    It results in firing of the assert DBUG_ASSERT(m_status == DA_ERROR) since
    no error has been set in Diagnostics_area. That leads to abnormal server
    termination for the server built in DEBUG mode.
    
    To fix it extra condition added in the function ha_rollback_low() to call
    XID_STATE::set_error() only in case an error is set in Diagnostics_area.

commit 8656618e95c8237768ba15b7f28b34c9fcf588f7
Merge: fd7c1ee 66fc431
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 6 15:04:22 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 66fc431f0797db6e141b4248aa5d47770f3cbcb2
Merge: 5873582 9b69e89
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 6 15:03:15 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9b69e8937e983f3c7742fb7bd56c7dfbada16225
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 6 09:09:09 2016 +0300

    Bug#22923426 LOG_FILE_SIZE_1 FAILS TO REPORT INNODB: CANNOT RESIZE LOG FILES IN READ-ONLY
    
    The InnoDB change buffer is deleted lazily in a background task.
    If a previously completed test has caused something to remain in
    the InnoDB change buffer on the server instance, restarting the
    server with --innodb-read-only would be refused with an unexpected
    error message:
    
    "Change buffer must be empty when --innodb-read-only is set."
    
    This WL#6494 test is expecting another error message, for InnoDB
    refusing to resize the InnoDB redo logs in read-only mode.
    
    The test failed to initiate a slow shutdown (forcing a change buffer merge)
    before restarting the server in --innodb-read-only mode.
    
    Reviewed-by: Vinay Fisrekar <vinay.fisrekar@oracle.com>

commit 5873582f1432b3caf24c3f3b04b0203487dda660
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 6 14:57:16 2016 +0300

    Follow-up to Bug#24346574 PAGE CLEANER THREAD, ASSERT BLOCK->N_POINTERS == 0
    
    Silence the Valgrind warnings on instrumented builds (-DWITH_VALGRIND).
    
    assert_block_ahi_empty_on_init(): A variant of
    assert_block_ahi_empty() that declares n_pointers initialized and then
    asserts that n_pointers==0.
    
    In Valgrind-instrumented builds, InnoDB declares allocated memory
    uninitialized.

commit fd7c1ee7283b0d68cb27b79b1cf7f792ac5b2027
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Sep 6 00:55:19 2016 +0200

    Bug#24594226 CREATE ROLE DOESN'T WORK WITH PASSWORD VALIDATION PLUGIN
    
    CREATE ROLE failed with password validation error when
    the password validation plugin was installed. The fix is to
    avoid validating passwords when CREATE ROLE is used.

commit 8fa1e49af1c31e4abede6691a4a419653ef41c88
Merge: b5ea269 df32c4b
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 6 16:06:28 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit df32c4bbf39fd6e48618baf30ed66c6494de2987
Merge: d43eeeb 86fe5e9
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 6 16:05:20 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 86fe5e94b01293f1eb4102b774386623b6254c12
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 6 16:03:47 2016 +0530

    Bug #23333990	PERSISTENT INDEX STATISTICS UPDATE BEFORE TRANSACTION IS COMMITTED
    
    Disabling the test for valgrind ,since inserts..selects were taking
    long time and giving false alarms.

commit b5ea269bdb222613e2c0ee081b690b5a028805ec
Merge: 9841803 d43eeeb
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Tue Sep 6 12:26:54 2016 +0200

    Upmerge of the 5.6.33 build

commit d43eeeb7c67ab68ad21d1183de30367451c0b860
Merge: 9c1771b 9881631
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Tue Sep 6 12:23:41 2016 +0200

    Upmerge of the 5.6.33 build

commit 9841803e6baf38d5a4f3dbd64b5582c768be4fa7
Merge: 797b6ff 9c1771b
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue Sep 6 11:39:22 2016 +0200

    Upmerge of the 5.7.15 build

commit 9c1771b1530eb1597ff8097ffca4e17236b849d3
Merge: 2ca0c1d 97f03bb
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue Sep 6 11:34:26 2016 +0200

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

commit 797b6ff88b3a5466f53758ca3226bbc0e3f9c904
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Sep 6 14:39:41 2016 +0530

    Bug#24592573 : MAIN.DD_UPGRADE_TEST HAS OCCASIONAL FAILURES
                       IN VALGRIND RUNS
    
    The test case fails due to timeout while restarting the server.
    Restarting the server is acutally the step where upgrade of data
    directory from 5.7 to 8.0 takes place. This step sometimes
    time out when executing the test with valgrind.
    
    Disabling test in valgrind runs. Any memory issue in test
    will be monitored with ASAN builds.
    
    Reviewed-by: Erlend Dahl <erlend.dahl@oracle.com>

commit ee9a70c0f4f349aae5a9a47c5b4070232b3ca507
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Sep 1 17:57:49 2016 +0530

    BUG#23518923
    MYSQL_UPGRADE FAILS IN 7.5.2 WITH DUBIOUS ERROR NDBINFO ENGINE NOT LOADED
    
    The bug is not on mysql_upgrade rather on the mysqld --initialize phase.
    Using option "--ndbcluster" with "mysqld --initialize" corrupts the
    ndbinfo table's frm files.
    
    When "--ndbcluster" is used during the initialize step, it is ignored
    during the ndbcluster plugin init phase as its not required to connect
    to the cluster during the initialize step. But its handler state is not
    properly set to SHOW_OPTION_DISABLED. As a result, the
    ha_initialize_handlerton function erroneously assigns ndbinfo's db_type
    value to the now disabled ndbcluster dataengine. And when ndbinfo gets
    inited next, it gets a bad db_type value. This leads to the corruption
    of the ndbinfo table's frm files.
    
    This commit fixes that by properly disabling the ndbcluster plugin.

commit 13eaca65e8daf5e8d67ad65a9de65bb62456aedd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 6 10:46:56 2016 +0200

    WL#5094 Create SQL command classes for DML statements
    
    Post-push fix: dtrace link failures on Oracle Linux
    
    Change-Id: I47e635cdcdf5c3d36f86aa1e00415176c08ed525

commit b008f3997eccb78959b8ba98fa2768754faa1abc
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Aug 29 09:35:37 2016 +0200

    WL#6391: Post push fix.
    
    Fixing sporadic failures of 'main.dd_table_access' due to updates
    of 'mysql.innodb_index_stats' without turning off the system
    variable 'innodb_stats_auto_recalc'.
    
    Also rewriting the updates being done of 'mysql.innodb_index_stats'
    to allow repeated runs of the test.

commit 6dbb0329f2892539ba80b7b620ac7104a6eedf60
Merge: 14b3474 2ca0c1d
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Sep 6 12:55:22 2016 +0530

    Upmerge of the 5.5.52 build

commit 2ca0c1da8459ffd0d04928860eabbc4f304a964a
Merge: 4c102f4 6c0fdea
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Sep 6 12:53:45 2016 +0530

    Upmerge of the 5.5.52 build

commit 6c0fdea8bb3c084e362e811f66acf4221ab24954
Merge: b8b8cef 3b3930e
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Sep 6 12:51:31 2016 +0530

    Upmerge of the 5.5.52 build

commit 8550964ef26320d24c295d3be89ec6ae21b50276
Merge: 98c2d4e 43d5389
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 6 09:20:47 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 43d5389ba41cf324e6014f690c2459741e2e54b0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Sep 6 09:14:16 2016 +0200

    Follow up patch for Bug#23048816
    
    Change to error insert code for forcing error 'Out of LongMessageBuffers'
    caused existing testLimits test cases to fail.
    
    Patch partly revert some of the previous changes, and in addition
    ensure that  'ErrorMaxSegmentsToSeize' is set as part of the new
    error insert case added to SPJ by the previous patch.

commit 3b3930e494b4eab6a6537c01f416c3023f63a672
Merge: e6dc0c5 f105d1e
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Sep 6 11:55:24 2016 +0530

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

commit 98816315438f5faf4473496963b3fde160c96f95
Merge: b8b8cef 259f2ca
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Tue Sep 6 08:15:16 2016 +0200

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

commit 14b3474ea8b16d2d5c6d68f11bd3da5032e498d5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 5 16:06:46 2016 +0200

    Bug#24593793 DISABLE MTR TESTS WHEN RUNNING --DISCOVER
    
    Some tests need to be disabled when running --discover
    (similar to valgrind/ubsan disabling)
    
    Add mysql-test/include/not_discover.inc

commit 0d2c99e34dba66ec90b2eed07721ae2164863018
Merge: f99860e 4c102f4
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Sep 6 08:39:13 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk
    
    This also reverts the work-around implemented in Bug#21473497.

commit 4c102f4f3359a53509d6184fe645a65d89af52fd
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 2 17:28:54 2016 +0300

    Bug#24346574 PAGE CLEANER THREAD, ASSERT BLOCK->N_POINTERS == 0
    
    btr_search_drop_page_hash_index(): Do not return before ensuring
    that block->index=NULL, even if !btr_search_enabled. We would
    typically still skip acquiring the AHI latch when the AHI is
    disabled, because block->index would already be NULL. Only if the AHI
    is in the process of being disabled, we would wait for the AHI latch
    and then notice that block->index=NULL and return.
    
    The above bug was a regression caused in MySQL 5.7.9 by the fix of
    Bug#21407023: DISABLING AHI SHOULD AVOID TAKING AHI LATCH
    
    The rest of this patch improves diagnostics by adding assertions.
    
    assert_block_ahi_valid(): A debug predicate for checking that
    block->n_pointers!=0 implies block->index!=NULL.
    
    assert_block_ahi_empty(): A debug predicate for checking that
    block->n_pointers==0.
    
    buf_block_init(): Instead of assigning block->n_pointers=0,
    assert_block_ahi_empty(block).
    
    buf_pool_clear_hash_index(): Clarify comments, and assign
    block->n_pointers=0 before assigning block->index=NULL.
    The wrong ordering could make block->n_pointers appear incorrect in
    debug assertions. This bug was introduced in MySQL 5.1.52 by
    Bug#13006367 62487: INNODB TAKES 3 MINUTES TO CLEAN UP THE
    ADAPTIVE HASH INDEX AT SHUTDOWN
    
    i_s_innodb_buffer_page_get_info(): Add a comment that
    the IS_HASHED column in the INFORMATION_SCHEMA views
    INNODB_BUFFER_POOL_PAGE and INNODB_BUFFER_PAGE_LRU may
    show false positives (there may be no pointers after all.)
    
    ha_insert_for_fold_func(), ha_delete_hash_node(),
    ha_search_and_update_if_found_func(): Use atomics for
    updating buf_block_t::n_pointers. While buf_block_t::index is
    always protected by btr_search_x_lock(index), in
    ha_insert_for_fold_func() the n_pointers-- may belong to
    another dict_index_t whose btr_search_latches[] we are not holding.
    
    RB: 13879
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit f99860e6c09d328e2b3300369f91b272c8b4d982
Merge: baeb145 e4ce97a
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Sep 5 19:00:15 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e4ce97a33a6d3a0fae040193af7caedf41c37bdd
Merge: be4d8c0 b8b8cef
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Sep 5 18:59:08 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b8b8cefe87b7a1914150c24f3bde2e5b27fbed34
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Sep 5 18:57:24 2016 +0530

    Bug#23333990 PERSISTENT INDEX STATISTICS UPDATE BEFORE TRANSACTION IS COMMITTED
    
    Fixing pb2 failures. Made tests more deterministic my adding analyze table.

commit baeb145ad51dfd6a3512e7ec6b51e06efefd5d87
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 5 15:03:43 2016 +0200

    WL#5094 Create SQL command classes for DML statements
    
    Post-push fix: Remove unused function to fix Clang
    compilation warning.

commit de14b9a0e67eb5c8f54877191858a3407f9de5c2
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 5 14:46:34 2016 +0200

    Bug #24573230: REMOVE #DEFINES WITH GLOBAL INFLUENCE FROM MY_GLOBAL.H
    
    Post-push fix:
    Remove #define __STDC_LIMIT_MACROS from ut0lock_free_hash-t.cc
    as it is now set by CMake and can lead to duplicate definitions.

commit 2e8246e15b7431da6e51a921d645d43d61aa940d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Sep 5 12:12:21 2016 +0200

    Bug#24337928 POSSIBLE MEMORY LEAK IN M_VIEW_CTX_LIST::M_ACTIVE_ROLES
    
    Always swap the std::vector so it releases its internal allocations.

commit c631c6b492fc0051a4ce2118f4e60ca784eeb818
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Sep 5 14:15:08 2016 +0200

    WL#5094: Missing files

commit 932bc087fb18951605d02fc89c852a74e4a94404
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Sep 5 14:00:36 2016 +0200

    WL#5094 Create SQL command classes for DML statements
    
    Refined the class Sql_cmd_dml as a subclass of Sql_cmd for processing
    of SQL DML statements. Subclasses of Sql_cmd_dml are created for these
    classes of SQL statements:
    
    - SELECT
    - INSERT ... VALUES, INSERT ... SELECT
    - UPDATE (both single-table and multi-table variation)
    - DELETE (both single-table and multi-table variation)
    - DO
    - CALL
    
    Refactored processing of INSERT, UPDATE and DELETE statements for clear
    separation of preparation and execution code, as well as simplifying
    the execution logic.
    
    After this refactoring, most DML statements go through a fixed set of
    processes, each implemented using member functions, most of them virtual.
    SET statements and CREATE TABLE ... SELECT statements are still processed
    by handle_query() after this worklog, however.
    
    Preparing a statement goes through these processes:
    
    - precheck()
    - open_tables_for_query()
    - resolve_var_assignments()
    - prepare_inner() (the actual preparation code)
    - cleanup()
    
    Executing a statement goes through these processes:
    
    - set_statement_timer()
    - preparation (if not already done, otherwise precheck() and open_tables())
    - run_before_dml_hook() (if data change statement)
    - push_internal_handler() (if data change statement)
    - lock_tables()
    - query_cache.store_query()
    - execute_inner() (the actual optimization and execution code)
    - pop_internal_handler()
    - cleanup()
    - reset_statement_timer()
    
    Query_result objects are changed so that they are created for
    the duration of the statement object.

commit 51f78feaab8d7d8579fef03b3505c19a0f6d9de8
Merge: 35b02d2 be4d8c0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 5 12:01:26 2016 +0200

    NULL Merge branch 'mysql-5.7' into mysql-trunk

commit be4d8c0f0397ea8f4dfa1111d0d969e5fab9fc96
Merge: ff09eb1 cb04f12
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 5 12:01:01 2016 +0200

    NULL Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/gen_lex_hash.cc

commit 98c2d4e735f054d9c182bc6399dca377bf165e42
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Sep 5 11:57:15 2016 +0200

    Fix portability issue introduced by introduction of partition_balance

commit 35b02d28f0ed769567f5c0087c09213c91da0433
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Sep 2 15:26:40 2016 +0200

    Bug#24586888: SELECT LENGTH(JSON)
    
    Conversion of JSON documents to string could be slow if the document
    was big and contained many signed integers.
    
    The reason was that String::append_longlong(), which was used to add
    the integers to the result string, only allocated enough memory to
    append one more integer, so that memory had to be reallocated very
    frequently.
    
    The fix is to make String::append_longlong() reallocate memory more
    aggressively, so that it doesn't have to do it as often. This patch
    makes append_longlong() reallocate memory in the same way as its
    sibling function append_ulonglong().

commit cb04f126c6373950f07e75ac2462182c4acad428
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 2 12:46:33 2016 +0200

    Bug#22558597 MYSQL BUILD FAILS, MEMORY LEAK IN GEN_LEX_HASH, CLANG ADDRESS SANITIZER
    
    If we use clang-3.5+ instead of gcc and enable its AddessSanitizer (ASAN),
    the gen_lex_hash utility aborts on clang's LeakSanitizer memory leak
    checks.
    
    This patch adds memory deallocation to gen_lex_hash.cc to make
    LeakSanitizer happy (normally this is superfluous, since gen_lex_has is
    a compile-time utility, and OS does the job itself).
    
    Note: for for 5.6 only. Fixed in 5.7 and up by patch for Bug#20720615

commit 1ef93984e053cf127ecb25252fdabda985760b91
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Sep 2 16:46:14 2016 +0200

    BUG#24577894: Fix such that PARTITION_BALANCE can be set simultaneously with FULLY_REPLICATED=1

commit 6d74888e83bc3de3b23d688f44249e0b176c5167
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 2 16:42:10 2016 +0200

    Bug#24481181: RAISE MINIMUM CMAKE VERSION TO 2.8.12
    
    This patch raises the minimum required version of CMake for
    MySQL 8.0 to 2.8.12 since this is now the oldest native version
    for any of our supported platforms.
    
    Two exceptions:
    - Windows requires 3.2.3+ due to CMake bug 15552. This restriction
      was already implemented.
    - Solaris requires 3.4.0+ due to CMake bug 15673. This is a
      new restriction introduced by this patch.
    
    The patch also updates our CMake code to remove use of several
    deprecated CMake features for which replacements are present in
    CMake 2.8.12 and newer. See 'cmake --help-policy CMP0018'
    and 'cmake --help-policy CMP0022' for information about these.
    
    Some CMake simplification is also implemented. The -DWITH_PIC
    and -DWITHOUT_DYNAMIC_PLUGINS options have been removed.
    This functionality was already covered by the existing
    -DDISABLE_SHARED CMake option.

commit b733dda09049e82ff83311e236075d41a9a85c46
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 2 15:43:28 2016 +0200

    Bug#24584741 WL#9019: MYSQLD IS CRASHING WHEN 'INPLACE' IS USED ALONG WITH FR ...
    
    Missing DBUG_RETURN in parse_comment_changes.
    And error messages added.

commit 1c6aae94c4b53553c3398957266b8b2d5fea213a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 1 15:33:49 2016 +0200

    Let ndb_restore handle new partition balance types.
    
    Bug#23544301 MAX_ROWS SHOULD BEEN SUPERSEDED BY FRAGMENTCOUNTTYPE FOR EXTRA PARTITIONING

commit fc383cc6062ce6c50d90459404fad93fba402e5f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 15 19:27:24 2016 +0200

    Add partition balance types for increased number of fragments per ldm.
    
    Bug#23544301 MAX_ROWS SHOULD BEEN SUPERSEDED BY FRAGMENTCOUNTTYPE FOR EXTRA PARTITIONING
    
    These are mainly to have an alternative for old applications needing more
    fragments per ldm, using MAX_ROWS.

commit a31aa9668392425d6311a913bec8e620cdf9fef9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 15 18:48:57 2016 +0200

    Modify Dbdih::getFragmentCount to suite also for calculating partitions
    for fully replicated tables.

commit 86675adf1d2d176d85128284cce42dfcae03bc15
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 15 18:26:02 2016 +0200

    Use partition balance string functions.

commit 04e6aea90c4dfbc078b2d1751aa2dc4c12750cdd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 15 17:52:03 2016 +0200

    Add string functions for partition balance.

commit d617ad9551401e4c34232ada3f62d8384c2c3ee4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 16 00:40:09 2016 +0200

    Changing fragment count type to partition balance, manual adjustments.

commit c5e711a6fec2b18be00d29319828fc87741f8f31
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Sep 1 16:42:08 2016 +0200

    Set partition count as fragment count for old partition types.

commit 401551a5cd94dc5fa4dfa857cb5723a3efc468fa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 16 23:19:48 2016 +0200

    Bug fix calculating max fragments for partitioning using AllNodesXXXTable type.

commit cb450be965c388bad6ceb25f0ffb93600a40eafd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 15 22:12:48 2016 +0200

    Post push fix for bug#23544418.

commit 75ea28524de676ed199016fea6dee15c0159636b
Merge: c99ed32 ec781ba
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Fri Sep 2 16:30:10 2016 +0300

    Merge branch 'mysql-trunk-wl9158' into mysql-trunk

commit c99ed32247607cfa8fbf9c87f616f141bbcc90de
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Sep 2 08:22:54 2016 +0200

    Bug #24569687   MEMORY LEAK AT BOOST::ADJACENCY_LIST
    
    The test is not suitable for valgrind. Added a skip when run with valgrind
    
    Reviewed by Bill Qu<bill.qu@oracle.com>

commit f11dfe06620cc56bed5ea9b643f4ecdf00fad1bb
Merge: 2fa5e48 ff09eb1
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Sep 2 15:19:43 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ff09eb1b1e290580513791dd1065521095619fba
Merge: 4276382 70058d8
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Sep 2 15:16:22 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 70058d86c6c0c171f1687a33f0446a4e3a58d7a2
Merge: 65c278e e6dc0c5
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Sep 2 15:14:59 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e6dc0c550720b878bbec2998ff6f62076aa73735
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Sep 2 15:13:52 2016 +0530

    Bug #24489302 : ZEROFILL CAUSE MEMORY-CORRUPTION AND CRASH
    
    ISSUE: Heap corruption occurs and hence mysql server
           terminates abnormally in String variable destructor
           when ZEROFILL is used for a column.
           Though the abnormal termination is observed in the
           String destructor, heap corruption occurs at earlier
           stage when function Field_num::prepend_zeros() is called.
           This function, prepends zeros to the actual data and
           works on entire field length. Since the allocated memory
           could be less than the field length, heap corruption occurs.
           Later, when String destructor tries to free heap, the server
           terminates abnormally since the heap is corrupt.
    
    
    
    SOLUTION: In Field_num::prepend_zeros() function, if allocated memory
              is less than the field length, re-allocate memory enough to
              hold field length size data.

commit 2fa5e486ce212ba98e746d3c9d298f284b78ef13
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Aug 31 16:58:50 2016 +0200

    Bug #24573230: REMOVE #DEFINES WITH GLOBAL INFLUENCE FROM MY_GLOBAL.H
    
    my_global.h should not have #defines that modify behavior of system
    headers; this is brittle, and better suited to CMake options,
    so move it there.
    
    It should also not try to #undef symbols from other files, which is
    again brittle (especially as these symbols tend to change without
    people remembering to update my_global.h -- it seems to already have
    happened during the introduction of yaSSL). Instead, make sure these
    symbols are simply not added during compilation in the first place.
    Every plugin now gets compiled with ${SSL_DEFINES} added automatically,
    so they don't have to add that manually -- except if they are recompiled
    for embedded, in which case ${SSL_DEFINES} is never added in the first
    place (instead of having to #undef them).
    
    I've double-checked that the logic for EMBEDDED_LIBRARY is the same
    by manually adding #error directives in my_global.h and compiling
    (then removed them again before submission).
    
    Change-Id: I70c0e2db82a9b65a1b0a5e35b75ce861bc1cdc0a

commit cfb7e18a9349cf8040f588eac6a083f517ef32ac
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Sep 2 10:45:17 2016 +0200

    Bug #24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Post-push fix: Use namepspace-qualified dd::String_type in some signatures
    where is not needed, to work around Doxygen limitations.

commit 3490ef8dbe38228da5d308bab7f3afe49bf2a2c9
Merge: e429208 4276382
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Sep 2 12:52:59 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4276382500daab3f1c63f128b8d11516fdf4ab78
Merge: 37c21d5 65c278e
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Sep 2 12:51:29 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 65c278e384b04d32a45bd76851f16c959d55f752
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Sep 2 12:48:28 2016 +0530

    Bug#23333990 PERSISTENT INDEX STATISTICS UPDATE BEFORE TRANSACTION IS COMMITTED
    
    Post push test case fix

commit e4292089a25f2501cd4c32c33056f100689f2405
Merge: 4f1fb93 37c21d5
Author: Prabeen Pradhan <prabeen.pradhan@oracle.com>
Date:   Fri Sep 2 09:21:19 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 37c21d519a6d7054e4ecd9bc3d201284f8a4352f
Author: Prabeen Pradhan <prabeen.pradhan@oracle.com>
Date:   Fri Sep 2 09:20:13 2016 +0530

    bug#23740812 : Fixed the sporadic failures on windows

commit 4f1fb9362111dd176caa1014ee8959cf3a08f56b
Merge: 6870e9a 5c8ac02
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Sep 1 19:54:50 2016 +0530

    Bug #23533396   ASSERTION !M_PREBUILT->TRX->CHECK_FOREIGNS
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 5c8ac02bbe87f9a69a01f3779cd981a991adbed4
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Sep 1 19:53:04 2016 +0530

    Bug #23533396   ASSERTION !M_PREBUILT->TRX->CHECK_FOREIGNS
    
    Analysis:
    ========
    A foreign key constraint cannot reference a secondary index defined
    on a generated virtual column. While adding new index/drop existing
    column, server internally drops the internal foreign key index and
    it leads to choose the virtual secondary index as foreign key index.
    But innodb doesn't allow foreign key constraint reference to
    secondary virtual index.
    
    Fix:
    ===
    Allow foreign key constraint refer to secondary index defined on
    a generated virutal column.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 13586

commit 6870e9a2e4eb848defe2b735b77b7a422583b7c7
Merge: 67985e6 d83461c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 1 16:17:45 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit d83461c85fa36b696ee32ae81e92c09b6dded878
Merge: 1ceedc3 21d738c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 1 16:17:38 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 21d738cfd0e0768ae61bd9de375bba886aeb8d1f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 1 16:13:57 2016 +0300

    Post-push fix for Bug#24444831: Fix the test for innodb_page_size=4k.

commit 67985e637251015ae024585b077479d4727cacee
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Thu Sep 1 15:58:04 2016 +0300

    Yet another attempt to get something useful out of pct_cached_evict.test
    
    Accept the non-deterministic behavior of
    evict_everything_from_buffer_pool.inc and if we see no decrease in the
    number of pct_cached_evict's pages then check the actual number of pages
    from information_schema.innodb_buffer_page and if it is the same as
    the one reported in information_schema.innodb_cached_indexes, then
    pretend everything is OK - the test was in vain in this case.
    
    Only fail if we see the actual number of pages from
    information_schema.innodb_buffer_page smaller than the one reported in
    information_schema.innodb_cached_indexes.

commit 595bef960063debcd0a3b910027a51c0d0a6d353
Merge: b17cd49 1ceedc3
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Sep 1 12:38:15 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit ec781ba175991053b5518be13f5b171aaae5963f
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu Aug 4 16:09:48 2016 +0300

    WL#9158 Join Order Hints.
    
    The following query hints are implemented:
    
    JOIN_FIXED_ORDER similar to existing STRAIGHT_JOIN hint, will be used as replacement of the old hint later.
    JOIN_ORDER instructs the optimizer to use the specified table order.
    JOIN_PREFIX instructs the optimizer to use the specified table order for the first tables of the join execution plan.
    JOIN_SUFFIX instructs the optimizer to use the specified table order for the last tables of the join execution plan.

commit 1ceedc368746a2ed1ddb4da178746a9dd989b083
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Aug 29 12:05:38 2016 +0200

    Bug#24510083: X-PLUGIN GENERATES WRONG QUERY WHEN DUPLICATE FLD NAMES EXISTS IN UPDATE STMT
    
    Description:
    The 'Mysqlx.Crud.Update' has been wrongly translated to SQL query
    when two (or more) update operations on the same field have been
    listed in row.
    
    Solution:
    Generation of SQL statement has been improved.
    
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 13811

commit b17cd497a76d84b98f55d0cd07ba082369df8c68
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Sat Aug 27 16:33:37 2016 +0200

    Bug #24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Patch 4: Replace all usage of std::string and std::stringstream in the DD code
    with dd::String and dd::Stringstream_type.
    
    This is just a syntactic change at this point since the new typedefs still
    refer to std::string and std::stringstream. But it does make it possible to check
    that the correct headers have been included and the correct form of the new
    typenames (bare or namespace qualified) have been used.
    
    To avoid the inclusion of dd/string_type.h header in handler.h, the
    following additional changes were included:
    
    1) Removal of the ha_resolve_by_name_raw overload for dd::String_type
    
    2) Creation of a template function lex_cstring_handle() in strfunc.h which takes an
    std::string-like argument and returns a MYSQL_LEX_CSTRING which references the
    c_str() of the std::string-like object.
    
    3) Use MYSQL_LEX_CSTRING, rather than sdi_t (alias for dd::String_type) to pass
    SDIs in the handler interface.

commit ea4df34664345b08dedae01dc1a31b9c95975cb6
Merge: 3271c32 fdafe41
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Thu Sep 1 17:37:11 2016 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1db8f81e37fa579b933393787667ad85d102779f
Merge: 7cd76cc 0b7c50f
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 11:36:23 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 0b7c50f11f7ba594615a2df67f065577b97790b5
Merge: 1a401a6 bba2cef
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 11:28:05 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit 3271c327227bbfabff693efb12cb5217810af6e6
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Thu Sep 1 11:26:16 2016 +0200

    Bug#24522064 SET PERSIST WRITES DEFAULT VALUES TO MYSQLD-AUTO.CNF
                 RATHER THAN REMOVING THEM
    Post push fix, updated result file.

commit 7cd76cc4df0f1748f05d39024646e883a917742f
Merge: 8ac4103 bba2cef
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:58:28 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 8ac41039669f3963c305be9a11f2c4c5d866f075
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:13:49 2016 +0200

    Bug #23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Adding testDict -n DropWithTakeover T1 T2 daily-basic in autotest.

commit 8fcf33f1d75a9c51c883ea0902484ee98275e9ed
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:09:02 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Adding new test case and support for calling command ndb_drop_table
    from mtr.

commit 3f54e0eacca9cbb10a31277b018d6e569599af19
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:07:53 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Change DICT master-takeover procedure to only consider schema transactions
    in state TS_ENDING when deciding if rollforward or rollback. Transactions
    in TS_COMPLETING are allowed to proceed and do the proper cleanup which
    will avoid the LCP getting stuck. The rollforward starting point was missing
    for single operation transactions causing error when now proceeding with
    transactions in the TS_COMPLETING phase. When a table is being dropped we
    must also support listing table while dropp is in progress, this includes
    handling of finding index tables about to be dropped where there is no parent table.
    DIH is modified to handle the case of tables being dropped during the master takeover.

commit bba2cefe842bb712ef19d993e05dd4136b5db5b5
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:13:49 2016 +0200

    Bug #23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Adding testDict -n DropWithTakeover T1 T2 daily-basic in autotest.

commit fc726f12f2613bc9908373722de67b3d7b35a9d9
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:09:02 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Adding new test case and support for calling command ndb_drop_table
    from mtr.

commit 638803ff64375eedf18b25450a929c998fcf2f39
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Sep 1 10:07:53 2016 +0200

    Bug#23735996 LCP NEVER COMPLETED AFTER CLEAN NODE SHUTDOWN
    
    Change DICT master-takeover procedure to only consider schema transactions
    in state TS_ENDING when deciding if rollforward or rollback. Transactions
    in TS_COMPLETING are allowed to proceed and do the proper cleanup which
    will avoid the LCP getting stuck. The rollforward starting point was missing
    for single operation transactions causing error when now proceeding with
    transactions in the TS_COMPLETING phase. When a table is being dropped we
    must also support listing table while dropp is in progress, this includes
    handling of finding index tables about to be dropped where there is no parent table.
    DIH is modified to handle the case of tables being dropped during the master takeover.

commit fdafe4195ca420dfe79c6b73cb56b5716cea2e80
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Thu Sep 1 13:56:36 2016 +0800

    Fixed bug#24471076 THE ERROR MESSAGE ABOUT MISSING ENCRYPTION NEEDS TO
    BE HANDLED IN RESTORE DBLWR
    
    For restoring pages from doublewrite buffer in recovery, we don't need to
    report the encryption missing error, since this page will be restored by
    doublewrite buffer.

commit 1a401a63892bacffc1b6fd08f354bfbd78f2f984
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 10:48:43 2016 +0200

    Bug#23048816 NDB: SPJ HAS SIGNAL_DROPPED_REP HANDLER WHICH IS NOT BOUND IN
    
    Patch 2/2 Fixing two issues related to Dbspj::execSIGNAL_DROPPED_REP():
    
    1) SIGNAL_DROPPED_REP handler were not bound in to handle
       GSN_SIGNAL_DROPPED_REP.
    
    2) ::execSIGNAL_DROPPED_REP() did not handle dropped (long-) signals
       for GSN_LQHKEYREQ and GSN_TRANSID_AI

commit 14d0c9b8e75f93af59da551805074affb7b8fb9e
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 10:46:14 2016 +0200

    Bug#23048816 NDB: SPJ HAS SIGNAL_DROPPED_REP HANDLER WHICH IS NOT BOUND IN
    
    Patch 1/2 containing the testcase.
    
    The test case builds on an existing mechanism in
    TransporterCallback.cpp and LongSignal.cpp where
    the variable 'ErrorSignalReceive' could be set to '1'
    if we want LongSignal.cpp to emulate failure to allocate
    memory for long signals. This is enhanced to use
    ErrorSignalReceive to which receiver block we should
    emulate allocation failures for.

commit 2341af5904862436e27dec96016c1732bc5d6f6f
Merge: a6ac971 25a04d2
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 10:37:11 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 25a04d2d399ad21d2bc5d31e7f093b32bbd5d29f
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Sep 1 10:30:56 2016 +0200

    Fix to make testcase more predictable.
    
    Required as a follow up for patch for bug 24481551,
    
      CONDITION SIGNALING MISSING WHEN WAITING FOR EPOCH TO BE WRITTEN TO BINLOG
    
    That patch removed delay in waiting for binlog to be written,
    such that when checking server 2 binlog our insert had not had
    the chance to reach the log yet.
    
    Thus we have to add a 100ms sleep to guarante that some time passes
    between insert ond checking binlog contents.

commit a5e568236023347ad42d53fd7ce90b3cdf0047a0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Sep 1 12:48:50 2016 +0530

    Bug #23259872: OPTIMIZER CHOOSES TO USE NON PRIMARY INDEX,
                   EVEN THOUGH COST IS HIGHER
    
    Post-push to correct results of innodb.innodb_mysql on
    trunk.

commit bcbae8d76eb861030a322c6e954229bf45e5ce2e
Merge: f67dbc3 b40d6a3
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Sep 1 12:41:29 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b40d6a35c74b297a5ff21198a6ed8984e9b172a2
Merge: 8f76abb 2152183
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Sep 1 12:39:59 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 215218378c354a54bcbe7e04abcb88fad5a717a1
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Sep 1 12:37:50 2016 +0530

    Bug #23259872: OPTIMIZER CHOOSES TO USE NON PRIMARY INDEX,
                   EVEN THOUGH COST IS HIGHER
    
    Post-push to correct results of innodb.innodb_mysql.
    big-test option is required to run this test.

commit f67dbc388f2eb0e436bcef36207c86ce04a199da
Merge: 751afd2 8f76abb
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 1 09:03:48 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 751afd2030395c22b0989a46699590710888a464
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Sep 1 11:25:04 2016 +0530

    Post push fix for Bug#22364401

commit 8f76abb641c77c380609f051dc6f70a94afb5ec0
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 31 13:06:12 2016 +0300

    Bug#23477214 RACE CONDITION BETWEEN FIL_IBD_CREATE() AND SELECT * FROM I_S.FILES
    
    fil_ibd_create(): Add a DEBUG_SYNC point.
    
    fil_node_next(): Skip being-created tablespaces.
    
    RB: 13839
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>

commit 9bbd4b79083e5d7896a8eacf18032532610763c5
Merge: c02cfc6 9eb01e1
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 1 08:42:18 2016 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9eb01e18099d88c1a1143cead79d2fe7ef54ff9f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 31 09:21:13 2016 +0300

    Bug#24444831 MY_ERROR(ER_INNODB_ONLINE_LOG_TOO_BIG)
    CALLED WITH INVALID INDEX NAME
    
    This bug was introduced in MySQL 5.6.8 with WL#6255.
    When an error occurs while rebuilding a table that only has a
    hidden GEN_CLUST_INDEX inside InnoDB, ha_alter_info->key_info_buffer
    would be invalid and should not be dereferenced.
    
    get_error_key_name(): Get the name of an erroneous key.
    Avoid dereferencing ha_alter_info->key_info_buffer when no keys
    exist in the SQL layer.
    
    ha_innobase::inplace_alter_table(),
    ha_innobase::commit_try_rebuild(): Invoke get_error_key_name()
    for reporting ER_INNODB_ONLINE_LOG_TOO_BIG or ER_INDEX_CORRUPT.
    
    RB: 13834
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 05c59e05e55e33b9e7dd0e2fb60800687fbe1d03
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Thu Sep 1 07:16:53 2016 +0200

    Bug#24522064 SET PERSIST WRITES DEFAULT VALUES TO MYSQLD-AUTO.CNF
    RATHER THAN REMOVING THEM
    
    When a variable is persisted with DEFAULT keyword, the variable should
    not be persisted and also if present in the config file, the varible
    entry must be removed. Also if instead of DEFAULT keyword we use default
    literal value then the variable must be persisted.

commit 0e0ee2b23ea3d49091613d2db7dc6e0c90988894
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Sep 1 10:20:23 2016 +0530

    Post push fix for Bug#22364401

commit c7d0608c45bb48f7df9ad6d5a418f311c77bfb4e
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Sep 1 10:07:15 2016 +0530

    Bug#24503606: RPL_SP_PRIVILEGES FAILS IN WEEKLY RUN
    
    Description: Removed an invalid assertion.

commit ed389829067e71965c767e782544bcb1cb56aad9
Merge: a94b12d c02cfc6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 31 18:21:46 2016 +0200

    NULL Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	client/dump/CMakeLists.txt

commit a6ac971241a197853aa50bafb1ae1e04f6bd6724
Merge: 8d3848b e7bd181
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:35:05 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit e7bd1816f63be43f84d7e5d344b340bd8b95765f
Merge: bb2817f 6017de4
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:34:55 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 6017de4a42589c305249fceaf22548cc39fafdef
Merge: 0f1fd85 ebd7211
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:33:20 2016 -0700

    Merge branch 'mysql-5.6-cluster-7.3' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.3

commit 8d3848bc86ba8d49ecf46b531ed7f7e97930dc46
Merge: 9f749b8 bb2817f
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:32:28 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit bb2817f64037c093b2bca984eee5d3ef9a714872
Merge: 680636d 0f1fd85
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:32:02 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 0f1fd85a475a8a8900b922017c6604f633b174a2
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Aug 31 08:31:34 2016 -0700

    Disable flaky clusterj-jpa TimestampAsUtilDateTest

commit c02cfc6e9b4fbe64412ece45b5cbf40d82f3053d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 30 11:11:59 2016 +0200

    Bug#24561952 REMOVE UNUSED BOOST PATCHES
    
    We have several unused patches in include/boost_1_59_0/libs/
    Remove them.

commit a94b12db8fcaf1a6c5941139f8fbba8c29d70cfc
Merge: 927ca63 9dfefc0
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 31 20:29:47 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9dfefc0eea580ead3a2cd6d3fd8331282d5ef28a
Merge: 3d391c4 e8e0ee5
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 31 20:21:12 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e8e0ee5eed37d06114c279956a326cee70bc347b
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 31 20:16:48 2016 +0530

    WL9513
    Bug#23333990 PERSISTENT INDEX STATISTICS UPDATE BEFORE TRANSACTION IS COMMITTED
    
    PROBLEM
    
    By design stats estimation always reading uncommitted data. In this scenario
    an uncommitted transaction has deleted all rows in the table. In Innodb
    uncommitted delete records are marked as delete but not actually removed
    from Btree until the transaction has committed or a read view for the rows
    is present.While calculating persistent stats we were ignoring the delete
    marked records,since all the records are delete marked we were estimating
    the number of rows present in the table as zero which leads to bad plans
    in other transaction operating on the table.
    
    
    Fix
    
    Introduced a system variable called innodb_stats_include_delete_marked
    which when enabled includes delete marked records for stat
    calculations .

commit 927ca637d2c3237404dfd0af49487cca17cde0cc
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Aug 31 16:44:06 2016 +0200

    Bug#24567960: P_S.VARIABLES_INFO.VARIABLE_SOURCE INACCURATE FOR
                  INNODB_FILE_PER_TABLE
    Post push fix. Updated result file.

commit 9f749b8b19767e158fcbc7e4e4239d3a96f7e54e
Merge: 0ad5592 680636d
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 15:06:00 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 680636dde7c4257f0adfc89e28b8897234aefc70
Merge: 25154a0 82a3683
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 15:05:07 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit 0ad5592336c5a735800bfdcde0c10a555c2b1cd2
Merge: 9681a74 b752f82
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 15:01:12 2016 +0200

    Merge branch 'mysql-5.7-cluster-7.5' of myrepo.no.oracle.com:mysql into mysql-5.7-cluster-7.5

commit 9681a749645b7a8a3c756bdbab8b049a7077fc69
Merge: 5d5823e 25154a0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 15:00:44 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7ce0029c2f7b4131f660467f1e46af49644b5601
Merge: d28fe43 3d391c4
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 31 18:06:36 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3d391c41c06fccd1c6abb10c381e794a43bbf22a
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 31 18:01:52 2016 +0530

    BUG#22364401: COM_QUERY RESPONSE METADATA WITH '*' IN FIELD ORG_TABLE
    
    Problem:
    In mysql-5.7, orig_table_name for a field in a derived table is displayed
    as "*" resulting in failed queries which depend on this value.
    
    Analysis:
    In mysql-5.7, a derived table is merged if possible. This makes the
    orig_table_name for the fields to be "*"(internal_table_name).
    However, in mysql-5.6 a temptable was used for processing the derived
    table. This made the orig_table_name to be updated correctly.
    
    Solution:
    While creating a view field, use table_name from "field" object to create
    the Item_direct_view_ref object. Also internal_table_name has been changed
    to an empty string now.
    With this patch, "org_table" contained in the MYSQL_FIELD structure will
    see the changes as mentioned below.
    If a column is selected from view, org_table names the view. If column is
    selected from a derived table, org_table will be the base table name.
    In the case where a derived table is wrapping a view, org_table still names
    the base table name.

commit b752f82d2bdd04c280eeddc2905520c6565d39a1
Merge: ebeea5d 82a3683
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Aug 31 15:14:22 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 82a36832860fd5d43f5a1098ce7881bbc24f4706
Merge: 9187da7 ebd7211
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Aug 31 15:11:42 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ebd72111fe6b7942c8015e7a5cec362f71c26c8b
Merge: 45c8702 9b42887
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Aug 31 15:10:15 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 9b42887938da3629bf218bccd4bf3eaea4b634bf
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed Aug 31 15:00:14 2016 +0530

    Bug#21286722 MISSING SANITY CHECKS FOR MALLOC() IN RESTORE.CPP, DBUTIL.CPP, SQLCLIENT.CPP
    
    PART 1: RESTORE.CPP
    
    In RESTORE.CPP when we try to create the Constructor for
    RestoreDataIterator
    it calls system malloc and does not check for failure. As this can lead
    to crash, have added a validation function(validateRestoreDataIterator,
    validateBackupFile) which checks for the malloc failure.
    
    Hence, whenever we try to create an instance of class RestoreDataIterator
    it is mandatory to call validateRestoreDataIterator and
    validateBackupFile.
    Currently it’s been used only once. So, have added validation check in
    that location.

commit fc285fd1b9e976161618331fc3b1ad7342753137
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Jul 14 13:06:03 2016 +0530

    Bug#21286722 MISSING SANITY CHECKS FOR MALLOC() IN RESTORE.CPP, DBUTIL.CPP, SQLCLIENT.CPP
    
    PART 2: DBUTIL.CPPRT 2: DBUTIL.CPP
    
    In DBUTIL.CPP we create buffers using system function malloc but we do not
    check for the failure. As this may lead to crash, have added validation
    to check the pointer for NULL.
    
    In DBUTIL.CPP we create buffers using system function malloc but we do not
    check for the failure. As this may lead to crash, have added validation
    to check the pointer for NULL.

commit c5d216fef770e160dd0552375a8221d16884ed87
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Jul 14 13:06:04 2016 +0530

    Bug#21286722 MISSING SANITY CHECKS FOR MALLOC() IN RESTORE.CPP, DBUTIL.CPP, SQLCLIENT.CPP
    
    PART 3: SQLCLIENT.CPP
    
    In SQLCLIENT.CPP, we create buffers using system function malloc but we do not
    check for the failure. As this may lead to crash, have added validation
    to check the pointer for NULL.

commit d28fe4341e9dbda64365329f281916f25a196cbe
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Aug 31 11:05:03 2016 +0200

    Bug#24567960: P_S.VARIABLES_INFO.VARIABLE_SOURCE INACCURATE FOR
                  INNODB_FILE_PER_TABLE
    Patch for this bug fixes following issues:
    1. Changed VARIABLE_SOURCE column default value to 'COMPILED'.
    2. Fixed message in error log by removing unwanted white spaces.
    3. Fixed variable_source issue for boolean type system variables
       which are specified without value.

commit 25154a0bd7c14158e812bb3dc3e88fd018d18229
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 09:40:08 2016 +0200

    Bug#23251145 DBSPJ::EXECTRANSID_AI() FAILURE WHEN SPJ REQUEST BEING ABORTED
    
    Patch 2/2
    
    The error/ abort handling in Dbspj::execTRANSID_AI() was implemented
    such that ::abort() was called prior to have completed processing
    of the incomming signal. As ::abort() sends signals to the LDM, it
    partly overwrote the contents of the signal which was later
    required by ::execTRANSID_AI().
    
    The root cause was parly related to a rather add-hock pattern
    used for detecting completion and/or abort of REQs sent
    from the SPJ block to LDM /DIH: Generally such a request
    has to wait for a number of outstanding replies (CONF/REF)
    before it reach its 'completion state'. When 'completed'
    the SPJ block may proceed to either its next step, or
    send a client reply, and clean up after the request.
    
    NOTE: Even when a SPJ Request is aborted, we have to wait for all
    outstanding replies before sending a reply back to the client.
    
    The logical order of handling the above logic would be:
    
    1) Lookup the TreeNode and Request object for the received signal.
    2) Update number of outstanding replies / completion state of
       the SPJ-Request and TreeNode
    3) Do whatever this particular Dbspj::exec<FOO> is supposed to do.
       Could possibly fails and call Dbspj::abort().
    4) As it very last action, each Dbspj::exec<FOO> should check if
       the current (batch of) SPJ operations has completed and generate
       the appropriate client reply, and clean up any resources being
       obsolete.
    
    However, this sequence of operation has been mixed together:
    
    - ::checkPrepareComplete() and ::checkBatchComplete() which implemented
      4), also partly did the counting of outstanding requests, 2)
      (However, not always).
    - ::checkPrepareComplete() and ::checkBatchComplete() was not always
      called as the very last action. Thus there were code paths where
      it could be called twice!. (Like when a request aborted)
    - No clear pattern of which relative order 2), 3), 4) happened in.
    
    Furthermore, the different kind of SPJ TreeNodes had its own way to
    do the 'outstanding' counting. Which made code reuse and a common
    pattern for completion handling harder to implement.
    
    This had resulted in the code path for ::execTRANSID_AI() to be
    particular unclear: Even after an abort, it had to continue into
    m_execTRANSID_AI() - only in order to get the outstanding counting
    correct.
    
    In order to fix the bug in Dbspj::execTRANSID_AI(), the outstanding
    counting for the different SPJ TreeNode types has been implemented
    in the pseudo 'virtual' method *m_countSignal().
    (lookup_countSignal, scanFrag_countSignal() & scanIndex_countSignal())
    This method is then called as the first part of ::execTRANSID_AI(),
    *before* a possible ::abort() may alter the signal contents.
    
    As a side effect of this refactorication, the previous 'virtual'
    method *m_execTRANSID_AI() became obsolete.
    
    This patch further cleans up the usage of checkPrepareComplete() and
    checkBatchComplete(): They should now only be called as the last part
    of any ::exec<FOO> method possibly completing a Request. (Not from
    other methods called from these)
    
    The outstanding counting previously offered as an option through
    these methods has been removed.
    
    Renamed Dbspj::start() to ::prepare() which better describes what
    it does, and relates it to ::checkPrepareComplete().

commit ebeea5d517ca9d6ba43b0c2674778437ec1eda66
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 31 13:10:06 2016 +0530

    Enable cluster new style rpm builds

commit 4bf006844ff2b799199b24dfc437a373285e454b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Aug 31 09:33:10 2016 +0200

    Fix RPM build warnings:
    - bogus date in %changelog (SLES)
    - file listed twice (OEL, SLES)

commit 156e67cf780c352b3ca93aa86ec26c28e8346b0b
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 09:33:44 2016 +0200

    Bug#23251145 DBSPJ::EXECTRANSID_AI() FAILURE WHEN SPJ REQUEST BEING ABORTED
    
    Updated patch after review comment: Removed the STEP -> STEPS(12 change
    in ATR testcase.
    
    Patch 1/2, adds testcase for abort during execTRANSID_AI()
    by inserting the new error code 17122.
    
    Also adds a couple of other new error inserts in DPSPJ
    in order to improve test coverage of yet untested failure paths.
    
    Activates the testSpj testcases ScanJoinError and LookupJoinError
    which has been missing from our ATR testing.

commit d92f8b939f6a467e866f9d3b52e94a3fe902dca6
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 31 09:29:40 2016 +0200

    Bug#23251423 DBSPJ::LOOKUP_ABORT() DOES NOT REMOVE ANY 'M_DEFERRED' OPERATIONS.
    
    In order to avoid that new lookup REQ's are produced
    by SPJ for an aborted Request, the 'm_deferred' list
    of operations to be resumed later should be cleared when aborted.
    
    Failing of doing so may result in aborted lookup REQ's still
    sending row requests to the datanodes, which is wasted work.
    There are no (known) failures as such caused by this defect.

commit 73418361329abb5fd56ef03a5463da6184bcf852
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Aug 31 12:09:01 2016 +0530

    Bug#24503606: RPL_SP_PRIVILEGES FAILS IN WEEKLY RUN
    
    Description: Parallel slave threads running ACL DDLs
                 may run into a race condition involving
                 opening a table and locking acl caches.
                 Fixed by making sure that we do not try
                 to reopen roles tables as a part of
                 user management ACLs.

commit 16fd507b84a924a8d31a54d14ce91b18304fefe3
Merge: be807fd 575b6d4
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 31 10:00:05 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 575b6d49f01969ea24eef0d60fb89d1f2dff4f05
Merge: 185657b a9aa985
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 31 09:58:26 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a9aa985d892629dcc5803aba763fe6a22d9e6396
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Aug 31 09:57:11 2016 +0530

    Bug #23259872: OPTIMIZER CHOOSES TO USE NON PRIMARY INDEX,
                   EVEN THOUGH COST IS HIGHER
    
    Issue:
    ------
    Optimizer tries to choose between a range-access and
    ref-access, based on various parameters like
    records_per_key, CPU cost and I/O cost. When the
    row-estimate for ref access is inaccurate, optimizer
    uses the estimate from range access on the same index.
    
    In the current issue the ref access's row-estimate comes
    from range-access's estimate. The ref-access on a secondary
    index is calculated to be cheaper than the best
    range-access on the primary key. This will result in a bad
    performance.
    
    Solution (mysql-trunk):
    ---------
    Ignore the index for ref access when we have the above mentioned
    problem.
    
    Solution (mysql-5.7):
    ---------
    Shift from ref-access to range-access when:
    1) Ref-access row estimate is overly-optimistic and it has
       borrowed range-access's estimate on the same index.
    2) Range-access uses more index key parts than ref access.
    
    We already do this in cases where the above conditions are
    met and range access on the same index is the cheapest.
    
    With this fix, we shift to range-access on that index, even
    if it is not considered the cheapest. To do this, we run
    the range optimizer on that index alone.
    
    
    sql/sql_select.h:
    A new boolean 'dodgy_ref_cost' has been added to JOIN_TAB.
    Setting this flag means ref is using lesser number of
    key-parts than range and it borrows range's row estimate.
    
    sql/sql_planner.h:
    find_best_ref should be able to modify the flag
    'dodgy_ref_cost', so removing the const.
    
    sql/sql_planner.cc:
    In find_best_ref, keep track of whether ref access's
    row-estimate is problematic and set the 'dodgy_ref_cost'
    flag.
    
    sql/sql_optimizer.cc:
    Conditions 3, 4 were earlier tested for negation. Now
    they are tested before 2 and false is returned. Check if
    the 'dodgy_ref_cost' flag is set. Then it is better we
    shift to range on the same index since it uses more
    keyparts and its row-estimate is more reliable. We do
    this by calling the range optimizer again on that index
    alone.
    
    Solution (mysql-5.6):
    ---------
    Same approach as 5.7. With the following changes:
    
    sql/sql_optimizer.cc:
    A new function can_switch_from_ref_to_range, similar to the
    one in 5.7+ has been created.

commit be807fdc73b68cdd98b148e10a43dc0eaa9797e6
Merge: 4d4dd5c 185657b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 22:40:46 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 185657b975fd27bf55be6a4d3d602f93c481f055
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 22:37:55 2016 +0200

    Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
    Follow up for 5.7 and trunk.
    
    The original fix for this bug added asserts to help identify
    imbalanced call to pfs_start_table_io_wait / pfs_end_table_io_wait,
    with the following line:
    
          DBUG_ASSERT(wait == thread->m_events_waits_current);
    
    It turned out that adding this assert exposed a bug
    with table io, for tables using auto increment.
    
    Nested calls to MYSQL_TABLE_IO_WAIT() for the same handler,
    which are possible when using autoincrement,
    would share the same locker state (corrupting the outer state),
    instead of using a local state per instrumentation call.
    
    The member handler::m_psi_locker_state
    is now used only when instrumenting table io by batch,
    and not shared with other instrumentation calls.

commit 5d5823e16897cc9a8c8b5907c5d29fec70afd732
Merge: 1504c3a 9187da7
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Aug 30 11:06:40 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 9187da7b757e57a4af3da3de82e7183be2e3772c
Merge: 9a3c2e7 45c8702
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Aug 30 11:05:01 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 45c87029142c34854f8c9716b560be24d3023dce
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Aug 30 11:04:32 2016 -0700

    Clusterj try again to fix Timestamp issue

commit 4d4dd5ce6670f47d654a802a1f66c63eb271e2e0
Merge: 7202a46 56a4301
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 18:38:23 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 56a4301122cc67b42f09b1c7a7af5869b210ea97
Merge: 407545c dc7886e
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 18:37:27 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit dc7886e429276612abcc0a4252d3755bd15f4fdc
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 18:32:04 2016 +0200

    Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
    Rework, relaxed abusive assert, for thread pools.

commit 7202a46dccad871ac77ce6d4fd67183e6902134a
Merge: 022923d 407545c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Aug 30 17:54:58 2016 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 407545c057c6302d2b15d6e3c10cab0b508fb1d3
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Aug 30 08:34:49 2016 +0300

    Bug#22018745 CORRUPTION IN ONLINE TABLE REBUILD (ROW_FORMAT=REDUNDANT, INDEXED VIRTUAL COLUMN)
    
    Apparently, WL#8149 QA did not cover the code changes made to
    online table rebuild (which was introduced in MySQL 5.6.8 by WL#6255)
    for ROW_FORMAT=REDUNDANT tables.
    
    row_log_table_low_redundant(): Log the new values of indexed virtual
    columns (ventry) only once.
    
    row_log_table_low(): Assert that if o_ventry is specified, the
    logged operation must not be ROW_T_INSERT, and ventry must be specified
    as well.
    
    row_log_table_low(): When computing the size of old_pk, pass v_entry=NULL to
    rec_get_converted_size_temp(), to be consistent with the subsequent call
    to rec_convert_dtuple_to_temp() for logging old_pk. Assert that
    old_pk never contains information on virtual columns, thus proving that this
    change is a no-op.
    
    RB: 13822
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 022923d067d8b6a610816fe46980ef5a82c27141
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 30 16:34:48 2016 +0200

    Bug#24512928: REMOVE UNNECESSARY CMAKE CHECKS RELATED TO SYMLINKS
    
    Remove HAVE_LSTAT, HAVE_READLINK and HAVE_REALPATH.
    These are always true on non-Windows and we already
    have separate code for Windows. Also remove code
    that is now shown to have been dead.

commit c6cc41dba1fc0fa44533cfd73400de3a65bbf6d5
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Mon Aug 29 15:53:07 2016 +0200

    Bug #24557893: updated the test list accordingly.

commit c1b8e64620510ab44fab32dd5fd82d45067d07b5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Aug 25 14:44:34 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Continue running IWYU, this time on include/. Fix up a few files
    that have latent issues that are uncovered by this.
    
    Change-Id: I24e7702e7c6620396fac0653a6b9c56be3ed924d

commit 1504c3a0a4f102c0981c570af32d0effa67faf2d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Aug 30 14:24:00 2016 +0200

    BUG#24558232: Fix such that BLOB tables also get read backup property in on-disk representation as well as in-memory representation

commit c40e793825d8321310ea0b23afc82680a6235793
Merge: 7e2c044 374e51e
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 12:18:14 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 374e51e2c9df2e4b8a27d660b457983d1734392e
Merge: 4a91a25 64650c2
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 12:17:17 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7e2c044366790be307fb83d862fab2512be25098
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue Aug 30 12:12:19 2016 +0200

    BUG#22152229 - ASSERTION FAILED: RC == TYPE_OK, FILE
                   .\DD\IMPL\RAW\RAW_RECORD.CC
    
    When we alter the partition expression attribute of
    a table with an invalid UTF-8 name, the debug build
    asserts. During alter, we create a temporary dd::Table
    object and store the attributes of this table. During
    the store of the attribute partition expression, the
    partition expression name contain an invalid UTF8
    continuation byte. Hence the attribute store fails and
    this results in an assert.
    The fix is to validate the partition expression string when
    partition expression is parsed.

commit 64650c2fb67f46e557c4b218d1cbc048e80063db
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 12:14:07 2016 +0200

    Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
    Backport to 5.6

commit 280cae685bfd4854114a0e6cd9f65c4a4e8172ad
Merge: 294c5e1 4a91a25
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 12:05:02 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4a91a257ce8dc26698d49fa84b25109ca01ea7c6
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 12:04:03 2016 +0200

    Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
    Backport from trunk to 5.7.

commit 294c5e15efcfb17a1fc4283c889d26c31bb5f6f4
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 30 11:59:39 2016 +0200

    Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
      Before this fix, the following query:
        SET GLOBAL offline_mode = ON
      could cause the server to crash.
    
      The root cause is actually complex, as described below.
    
      1)
    
      A session A is connected, and performing network io,
      typically waiting for the next command to execute.
      The performance schema socket instrumentation is enabled,
      so that pfs_start_socket_wait() / pfs_end_socket_wait()
      are executed.
    
      2)
    
      A session B executes SET GLOBAL offline_mode = ON,
      which terminates session A.
      In particular, session B forcefully closes the socket used by session A.
    
      3)
    
      Session A and session B are different threads, but they both
      execute performance schema instrumented code against the same socket.
    
      4)
    
      Because a socket is "owned" by a thread,
      the instrumentation in pfs_start/end_socket_wait()
      uses the same PFS_thread (of thread A) in both thread A and B.
      This leads to race conditions when using member m_events_waits_current.
    
      5)
    
      Because PFS_thread::m_events_waits_current can be damaged with race conditions,
      the m_events_waits_current pointer can point outside of the waits array.
      Using this pointer to populate current waits can damage other members
      of the PFS_thread structure, most notably LF_HASH pins.
    
      6)
    
      Upon thread disconnect, using a corrupted LF_HASH pin when calling
      lf_hash_put_pins leads to a crash.
    
    ---
    
      The fix for this issue is to use the current thread, not the socket owner,
      in the performance schema socket instrumenttion.
    
      Also, asserts have been added to detect similar failures.
      With the asserts, the original issue,
      which was spurious and only occured rarely,
      is not detected systematically.

commit 01d9325a2df6b6d4248bcd9e21dc6a361ac72ac7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 30 10:24:15 2016 +0200

    Bug#24561887 ADD NOT_SPARC_DEBUG.INC
    
    Add mtr file not_sparc_debug.inc in order to disable
    a couple of tests which typically timeout after 900 seconds in debug mode.
    Also disable for UBSAN builds.
    
    Change-Id: I1eb026da9258b87281c8c3b73873eed42dd75c16

commit a91a52baa80230f4c2d66e171fc1f2a01366f367
Merge: 30c1cc9 7a7b70b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 30 11:22:31 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 30c1cc9a318bbb066f1fa4f0afcc39377c9353be
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 29 12:36:30 2016 +0200

    Bug #24556808: REMOVE USE OF BOOST::CHRONO
    
    boost::chrono was never in the allowed Boost subset, and has started giving
    problems with compiling. Replace it with std::chrono, which is almost
    (but not quite) 1:1 compatible.
    
    Change-Id: I0e1b0a0218dbd0ec73b53da513cbe055f3875f5c

commit 7a7b70b5a9584dbb51e49aa63beaacf3c5b83025
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 30 10:01:36 2016 +0200

    Bug#24555770: X PLUGIN FILES ARE BUILT WITH DIFFERENT OPTIONS
    
    Change how X plugin is built. Use a single MYSQL_ADD_PLUGIN
    rather than ADD_CONVENIENCE_LIBRARY + MYSQL_ADD_PLUGIN.
    This ensures that all files are built in the same way.

commit de01406156e42ebaa35960a54ca1b2f9ea594a02
Merge: dfee02d 69838d5
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Aug 30 09:34:49 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 69838d5a1a7e2b48b8350d8814faa46ac186ea1a
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Aug 30 08:40:03 2016 +0200

    Bug#24516262 PRIVILEGE ESCALATION USING MYSQL_PRE_SYSTEMD
    
    Post push fix: create error log only if it matches pattern /var/log/mysql*.log

commit dfee02dc4f53db1fe586dcdc03a104e061d559f4
Merge: 734b792 840ca33
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Aug 29 17:21:11 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 840ca33cf4f61677c125a86b0b09aef6db3578bc
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Aug 24 15:21:26 2016 +0200

    Bug #24512715 AUTH_SEC.MYSQL_SSL_RSA_SETUP FAILS CONSISTENTLY ON HUDSON
    Fix provided by YASSL. Upgrading YASSL to version 2.4.0.

commit 17955dba67a2b484823a19e598beed4024d29bde
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Aug 29 16:54:22 2016 +0200

    BUG#24444861: Added more comments, jams, and a more elaborate printout at crash in continuteTriggeringOp, preparing to fix the bug

commit 4428219e12e38dac7938645b92585ff8555a2664
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Aug 29 16:53:11 2016 +0200

    BUG#24444861: Streamline handling of decrement of triggerExecutionCount also for fully replicated triggers, not expected to fix any bugs

commit c3ddca33c54aa86485d3f49840a1e68764e2c689
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 26 15:46:57 2016 +0200

    ndb.ndb_fragmenation fails on Windows, can not find right mgmd port.
    
    Change to double quotes with exec, not single quotes.
    
    Post push fix for bug#23544220.

commit 734b79227080445be923b68cb6262f1a0ef77f4e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 29 09:51:35 2016 +0200

    Bug#24512357 ENABLE USE OF DEVELOPERSTUDIO 'DISCOVER' TOOL
    
    New option for mtr:
      discover              Preload libdiscoverADI.so when starting mysqld.
                            Reports from discover in <vardir>/log/mysqld.%p.txt
                            Only supported on SPARC-M7 machines
    
    Change-Id: Iab3bda4c42309c177894d6223a02dc9f0054b84b

commit 7e7d8ffaf2bf5b75b5132d337fdab8a8c73f094a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 29 06:29:36 2016 +0200

    Mark a few RPL tests as 'big' since they take too long in people's sandboxes.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over e-mail.

commit a123e84733926ee7bdf3a5949fc667fec8e39530
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Aug 18 09:54:35 2016 +0530

    Bug #23615208 ASSERT IN INNODB: ASSERTION FAILURE: UT0UT.CC:702
    
    Problem:
    
    This is a crash recovery scenario.  The core dump shows that the
    LOB reference object is all zeroes.  So it could be an insert or
    an update operation that has crashed in between and hence the LOB
    reference is null.  During recovery, there is an attempt to fetch
    the LOB pages using this null LOB reference.  Hence this assert.
    
    Solution:
    
    During a fetch operation, check if the LOB reference is null.
    
    rb#13675 approved by Satya.

commit ee43a2d0b92e5eff051896f0d41bb83d815d3fae
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Mon Aug 29 10:49:22 2016 +0300

    Attempt to stabilize pct_cached_evict.test
    
    Overflow the buffer pool with a table that is 2.0 bigger
    than it, not 1.1. InnoDB persists some old pages in the
    buffer pool (innodb_old_blocks_pct) so maybe a bigger table
    will help evict everything else.

commit dd29ae207dbe7a2becbc5c524dfcddf807786e15
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Aug 29 13:20:00 2016 +0530

    Bug #24479773   SRV_UNDO_SPACE_ID_START IS NOT INITIALIZED
    
    - Post push fix to avoid the test case failure in case of different
    page size

commit b5757a0672bb3126fb5904d61b67f8136db74919
Merge: 2fb0bfb bab0878
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Aug 29 12:13:35 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit bab0878d6bfef7537614c22e841d824d9d1279b0
Merge: d4a4a7e a9c014f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Aug 29 12:12:14 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit a9c014ff39847f209dd326ce05e4f22820c19f1f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Aug 29 12:11:07 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    	- Adding have_debug.inc in test case.

commit 2fb0bfb67949f20028588f493dd8823144b91d0c
Merge: 14d2a97 d4a4a7e
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 29 11:45:03 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d4a4a7e45dc37c934a90a227bc6d251c34426859
Merge: 564281b acaaf61
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 29 11:44:32 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit acaaf61e66d898344efd62dd3d259ec13cc75091
Merge: fa1aafe efc8bc3
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 29 11:43:37 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit efc8bc3ef32e37cf716f4448dd0b4ec9ef6763cc
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 29 11:41:50 2016 +0530

    Bug#23303391: HANDLE_FATAL_SIGNAL (SIG=11) IN ALLOC_QUERY
                  USING CHARACTER-SET-SERVER=UTF16
    
    This is a backport of Bug#15985752 to mysql-5.5

commit bf7e30218bddba6473ee9e04de32c5702cbea8b7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Aug 26 15:03:05 2016 -0700

    bug#24453957 : build ndb memcache atomics with HAVE_GCC_SYNC_BUILTINS

commit baee4412df24bcdf9269d3c3a072376b860c53b0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Aug 26 13:43:47 2016 -0700

    bug#24453957 : ndb memcache is not built due to atomics not found on some RPM builds
    Add CMake test for HAVE_GCC_SYNC_BUILTINS

commit 14d2a977ce8819988d9d947cdda8edb96be6da35
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Aug 23 22:05:23 2016 +0200

    Bug#24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Patch 3: Add new typedefs for a std::basic_string instantiation which allocates
    memory with key_memory_DD_String.
    
    Adds an allocation functor class which allocates using key_memory_DD_String and
    corresponding typedefs for std::basic_string and std::basic_stringstream
    instantiations.
    
    Adds String_type as an alias for std::string and Stringstream_type as an alias
    for std::stringstream. When these are used consistently in the DD code, they
    can be switched to the new types. Adds String_type_alias and
    Stringstream_type_alias as temporary names for the new types, so that they can
    be tested.
    
    Refactors Stateless_allocator so that the default free functor is placed in a
    cc file to avoid including the my_free header file in stateless_allocator.h.
    
    Adds a specialization of std::hash for dd::String_type (_alias). This is
    required to use the new string type with std::unordered_ collections (without
    specifying the hashing function explicitly), as there is no specialization of
    std::hash for arbitrary std::basic_string instantiations.

commit dfa85c418b23f6195d8e98e5fc72ae8b5213abfa
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 22 16:44:26 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Run the IWYU tool, restricted to unittest/ only.
    
    Change-Id: If47df58823fdf197df406422f6b0abb3020d46e4

commit 1c201e3ce833ee4215724800869c29e7d60cbb18
Merge: 008fb4a 564281b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 14:58:35 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 564281b4cbab870ae0f359c19ee61824c05165f8
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 09:03:45 2016 +0200

    Bug#24516262 PRIVILEGE ESCALATION USING MYSQL_PRE_SYSTEMD
    
    Create temporary initfile in /tmp and avoid chmod usage.
    
    When log directory is owned by mysql user, mysqld will able to create
    file on it's own; only create error log if log directory is owned by
    root and log error is not a symlink.

commit f105d1ed869c2a978686ebc3ed77413bb1fdabb3
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:25:40 2016 +0200

    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
    
    Post push fix: Solaris 10 /bin/sh don't understand $().

commit 008fb4ae184ef7fb53f7a1cd0ea85cfc0fc1ed80
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Aug 26 12:44:02 2016 +0200

    WL#5767 Performance Schema, Statements Digest
    
    Post-push fix for Solaris Developer Studio 12.5 on sparc:
    Thread stack overrun:
    624408 bytes used of a 655360 byte stack, and 32000 bytes needed.
    
    Change-Id: Iad55b2a4c85750d5ea96741e11f64f648dc0bcbe
    Fix: disable the test on sparc.

commit 259f2ca9477c92b6e9a91cb37dac19d24ffcacd9
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:26:23 2016 +0200

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

commit 133edd0557d0a25ed45c7ed0122fdb95a724ddb9
Merge: 390fc64 90b46be
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Aug 26 12:59:40 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 390fc6438af5cec8796b26de5a1ec66660073071
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Aug 26 12:50:43 2016 +0200

    Bug #24496976: POSTPONE THE REMOVAL OF C API'S MYSQL_SHUTDOWN() FOR AFTER 8.0
    
    mysql_shutdown() C API was removed as part of WL#9014, however the actual plan
    is to deprecate in one release and remove it in next release. This patch restores
    mysql_shutdown() till next major release.

commit 90b46be09936286e714e7cb29ce7b9ebd8830bfd
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Aug 26 11:44:15 2016 +0100

    BUG#21627629 - --DAEMONIZE: DON'T ENFORCE REDIRECTION IS LOG-ERROR
    	        OPTION IS IN USE.
    
    The patch does not log error if log-error option is
    specified along with daemonize and the stderr and stdout
    file descriptor are connected to a terminal type device.

commit 990d1c0000e8c3ca36e743417f24082227b55c3f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Aug 24 17:56:17 2016 +0200

    Bug#24512933 REMOVE OUTDATED BUILD SCRIPTS FROM THE SOURCE BUNDLE
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>

commit 6f7046f4b748091b23ac6138cb8c6f5c5513007e
Merge: c76967f d3d64a2
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:26:56 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit d3d64a2996e3bd498d978d752b00bc78a889c7e3
Merge: 8399211 fa1aafe
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:26:35 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit fa1aafe9819cb2d9389968f95f91f00f58997df4
Merge: 1e1a1ac 509b3ad
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:26:23 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 509b3ad4cec67bc17d3702521ae4bc6b9b30e8ab
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 26 11:25:40 2016 +0200

    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
    
    Post push fix: Solaris 10 /bin/sh don't understand $().

commit c76967f88988d9854d88ee1c40848b35a9bbe594
Merge: 77045f4 8399211
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 14:46:09 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 8399211841e3c3d82c311dd228df3693332f52c1
Merge: 3da80ae 1e1a1ac
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 14:45:09 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 1e1a1acdeae837b0c5ecaece1f5e2d41b0d7f3cb
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 14:43:33 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    	- Post push fix to avoid test case failure in 32 bit machine
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Approved via :IM

commit 1ae9a283e4c80d727c9671adc2e8fda857ef1262
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 26 09:47:15 2016 +0200

    ndb.ndb_fragmenation fails on Windows, can not find right mgmd port.
    
    Change to use one ndbmgmd only.
    
    Post push fix for bug#23544220.

commit 77045f4a0edb623536c1c53a3eb831d5e2ef61ee
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Aug 26 10:37:03 2016 +0300

    Dump some data from pct_cached_evict.test upon failure
    
    This will help analyzing a potential test failure.

commit 4e92a46c9cf7973336311bbd657a9a3196818e6f
Merge: 066bec5 3da80ae
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Aug 26 11:14:34 2016 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 3da80aeb555200cc28f0a033af8eee803b4b2db0
Merge: 7b36c7d 22bc179
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Aug 26 11:13:57 2016 +0530

    Null Merge branch 'mysql-5.6' into mysql-5.7

commit 22bc179cd72b57aa066a321c4a6cfc56cc5db1be
Merge: 28dd78c e655297
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Aug 26 11:13:24 2016 +0530

    Null Merge branch 'mysql-5.5' into mysql-5.6

commit e655297b283420883999ccc4588a84993aa71a35
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Fri Aug 26 11:11:27 2016 +0530

    Bug #23303485 : HANDLE_FATAL_SIGNAL (SIG=11) IN
                    SUBSELECT_UNION_ENGINE::NO_ROWS
    
    This patch is specific for mysql-5.5
    
    ISSUE: When max_join_size is used and union query
           results in evaluation of tuples greater than
           max_join_size, the join object is not created,
           and is set to NULL.
           However, this join object is further dereferenced
           by union logic to determine if query resulted in
           any number of rows being returned.
           Since, the object is NULL, it results in
           program terminating abnormally.
    
    SOLUTION: Added check to verify if join object is created.
              If join object is created, it will be used to
              determine if query resulted in any number of rows.
              Else, when join object is not created, we return
              'false' indicating that there were no rows for the
              query.

commit 066bec566a5400b26d2d32c047481c75296488f1
Merge: 72d59218 7b36c7d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 11:10:50 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 7b36c7d56414d58aee2ef7b6e7efcd032f95bab6
Merge: ea3fade 28dd78c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 11:04:47 2016 +0530

    Bug #20989615   INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 28dd78c19dd3cbbf0d0d076431b109a07183ffc2
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 26 11:00:44 2016 +0530

    Bug #20989615	INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE
    
    Problem:
    =======
    Autoincrement value gives duplicate values because of the following reasons.
    
    (1) In InnoDB handler function, current autoincrement value is not changed
    based on newly set auto_increment_increment or auto_increment_offset variable.
    
    (2) Handler function does the rounding logic and changes the current
    autoincrement value and InnoDB doesn't aware of the change in current
    autoincrement value.
    
    Solution:
    ========
    Fix the problem(1), InnoDB always respect the auto_increment_increment
    and auto_increment_offset value in case of current autoincrement value.
    By fixing the problem (2), handler layer won't change any current
    autoincrement value.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 13748

commit 72d59218547faf5449631d55d92e278f85ba5e3c
Merge: 3c1319b ea3fade
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Fri Aug 26 10:41:00 2016 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit ea3fade36ddc7e03f2c3b2869fd5b275afb6465a
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Fri Aug 26 10:39:33 2016 +0530

    Bug #22678436   MISSING INNODB_NUMA_INTERLEAVE
    
    Post push fix for test case failure of test sys_vars.innodb_numa_interleave_basic on pb2 mysql-5.7 32-bit machine.

commit 3c1319b99017d3426c6c91a0d3dc36cbe0e8d1a1
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Aug 26 03:30:43 2016 +0200

    Removing test associated with closed bug from experimenatl group

commit 93b07501f6d85fe6579dc8874162538cf6e474b9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Aug 25 22:48:52 2016 +0200

    BUG#23547643: Fix a flaw in calculating partition_order in table_fragments, added some more test cases using this

commit 06a90cac3fe8ff2f0051cdd14e40434c707571d5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Aug 25 13:03:16 2016 +0200

    Fix ndb.ndb_fully_replicated and ndb.ndb_fully_replicated_addnode
    failures on sparc.
    
    Bug#24522403 SOME NDB_FULLY_REPLICATED-TESTS FAILS PLATFORM DEPENDENTLY
    
    Check that partitions are non empty instead of check exact count of rows.
    
    Since hash function used for spreading rows among partitions is not
    stable between big endian and little endian system, partition row count
    is not stable too.

commit 0769324a329bb8d5475c6ffce7a8ae5baec363af
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Aug 25 11:52:41 2016 +0200

    Fix test failure of ndb.ndb_fully_replicated_addnode on Windows.
    
    Bug#24522403 SOME NDB_FULLY_REPLICATED-TESTS FAILS PLATFORM DEPENDENTLY
    
    Remove carriage return from rows in table used in ndb_exec.inc.

commit 608e1c19db4dc078301b88be89ecd6eb0db92bf1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 23 19:06:55 2016 +0200

    Bug#23544220 FULLY REPLICATED TABLE IN NDB MISUSE HASHMAP PARTITIONING
    
    Hashmaps are used in Ndb for mapping a table rows hash value to a partition.
    
    For fully replicated tables the implementation had two flaws:
    1) It chosed a hashmap based on the number of fragments not the number of
       partitions.  For other kinds of tables these number is the same.
    2) It did not actually use the hashmap as a hashmap, but rather as a partition
       to partition map, using the table rows hash value module parition count as
       input.
    
    This patch fixes the above.

commit 8e5c0195f4549d41edc0048234650ab5121df8c7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jun 27 22:51:16 2016 +0200

    Refactoring in preparation for bug#23544220.
    
    1) Remove use of some non ascii characters in comments.
    
    2) Document parameter usage for Dbdih::execCREATE_FRAGMENTATION_REQ.
    
    3) Name and rename request types for GSN_CREATE_FRAGMENTATION_REQ.
       Also remove use of request type as bit fields, they are enumerated values.
    
    4) Add defines for default fragment count types in kernel.

commit c5a56e99607e3684c00f4e91465fb482d0b2b498
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Aug 25 18:38:57 2016 +0200

    BUG#23547643: New ndbinfo tables to look into state of tables in DIH, also to show table distribution of tables for test cases

commit 298dddd3c66ad38232e04162ab7ccee3598a21a9
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Aug 25 19:43:10 2016 +0530

    WL#6392 : Upgrade to Transactional Data Dictionary
    
    Post push fix:
    
    Compilation with clang fails with error:
    unused variable 'event_table_def'
    
    'event_table_def' is used in function migrate_events_to_dd() which
    is not compiled for embedded builds.
    
    Move decleration of 'event_table_def', 'event_table_def_old' and
    dependent structures within #ifndef EMBEDDED_LIBRARY.

commit 50982c738532e0c3edde5961bceca41721e90231
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Aug 25 16:36:19 2016 +0200

    Bug #23623110: Range optimizer: Rework use_count handling.
    
    Post-push fix: Temporarily disable DBUG_ASSERTs that check that inserts
    and deletes happen at the root. This was an issue already before this
    patch (it just makes them more visible by asserting instead of silently
    corrupting the tree), and there's a patch in the pipeline to fix the root
    issue, but for now, we disable them to avoid tripping up too many RQG runs.
    
    Change-Id: I5ac90450cd2d5dffa62b135e5e28e9dbcd975aaa

commit 96bacec1019b96f960f6e65b5d480120138cb78e
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Aug 25 16:52:45 2016 +0530

    WL#6392 : Upgrade to Transactional Data Dictionary
    
    With the implementation of the new data dictionary, the metadata will
    be stored in the InnoDB tables. For the users to upgrade from the older
    MySQL version(5.7) to mysql-8.0, dictionary tables should be created and
    populated in old data directory from various metadata sources.
    
    When the Mysql-8.0 server comes up, it detects for the presence of
    dictionary tables.  If dictionary tables are not present,
    they will be created in old data directory and populated
    with the metadata. Then the server will proceed with normal start.
    
    If dictionary tables are present, server will proceed with normal startup.
    
    Upgrade Steps for Users
    ------------------------
    
    1. Do a pre requisite check on 5.7 data directory.
    2. Do a slow shutdown of mysql-5.7 server. Slow shutdown involves setting
       global variable 'innodb_fast_shutdown' to zero before server shutdown.
    3. Start mysql-8.0 server on 5.7 data directory.
       mysql-8.0 server will detect if Dictionary tables are present or not.
       If dictionary tables are not present,  they will be created in old data
       directory. Metadata will be populated in dictionary tables.
       Then server will proceed with normal start.
    4. Execute mysql_upgrade client tool.
    5. Shutdown and start server again with normal configuration. (Recommended)
    
    Reviewed-by: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
    Reviewed-by: Thayumanavar Sachithanantham <thayumanavar.x.sachithanantha@oracle.com>
    Reviewed-by: Dmitry Lenev <dmitry.lenev@oracle.com>

commit 7b4e867affbfe34fadaaaa5a07df35c75ea3df2d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Aug 24 16:17:16 2016 +0200

    Bug #24513109: REMOVE DEAD CODE SUPPORTING 32-BIT WINDOWS
    
    Small cleanup; removes code that no longer is in use. Does not touch
    e.g. extra/lz4/ or other third-party code.
    
    Change-Id: I88563a4adebba678981de4d4a79d567aef396f95

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 5da6b617269a33b27610a99d17de4149cda89c79
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 25 12:32:08 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    Post-push fix: standalone unit test mdl-t build was broken.
    
    Change-Id: I5aa9ee8de48fdeaee9a1f2e5ac1a39b62781536e

commit 63eb3395552453b9e72b92b226195e59fca4d8a3
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Aug 25 12:35:24 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Post-push fix to unbreak Doxygen build; we need to escape hash signs
    in Doxygen comments.
    
    Change-Id: Id51e90f41ed477a2baa3ed5a85e5188053cc5817

commit ce5b038df647404b23abd440af050c9ba730c3a4
Merge: 9f2737f 3dfd201
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Aug 25 15:42:16 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3dfd2011eb4f1460d00812f22aa2b5ed9393b458
Merge: f0a8390 429bb89
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Aug 25 15:40:20 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 429bb89ef5826ad8d5063f2dc8a497b767f3e9ca
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Aug 25 15:39:54 2016 +0530

    Bug#22916743    RBR DOES NOT USE DEFAULT CURRENT_TIMESTAMP FOR
    EXTRA COLUMN ON SLAVE
    
    Analysis: In prepare_record(), which is called to prepare the
    basic record, we call restore_record to fill the tuple with
    all the default values which are maintained in memory at
    table->s->default_values. But for the special DEFAULT clauses
    like DEFAULT CURRENT_TIMESTAMP/NOW(), it is not maintained
    in table->s->default_values. It will be populated only when
    we explicit ask to do it (i.e., calling set_default()) function.
    
    Fix: For the extra fields that are present only on slave and  that
    does not have 'DEFAULT' clause, replication calls 'set_default()'
    which will fill the record with default values (like for integer
    types 'zero' even though there is no DEFAULT 0 for the field).
    This logic is executed only for the field's that does not have
    default clause. Now the logic is extended to call set_default when
    there is special default clause (has_insert_default_function()).

commit 9f2737f80a3f7ae0b21cc1bca92ed0bc0e974710
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Aug 19 12:49:06 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    Small prefactoring ahead of the main include-what-you-use run;
    move all the HAVE_PSI_* #defines into its own header file separate
    from my_global.h. This allows PSI headers to include my_psi_config.h
    instead of relying on others to load my_global.h before them,
    which is brittle. (They cannot include my_global.h themselves,
    due to the ABI checker stopping on the first system header it sees.
    
    Change-Id: Id7376dcad32151cc6eb0ca544567176d6efe2113

commit 0b6057419af55f7e0b4d959d8e02ad42d5697031
Merge: b4955f2 f0a8390
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Aug 25 14:32:15 2016 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit f0a839045f149bdb6ffb04d45d62ecea2c4d760d
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Aug 25 14:31:10 2016 +0530

    Bug #22678436	MISSING INNODB_NUMA_INTERLEAVE
    
    Adding updated result file.
    
    Post push fix for test case failure of test sys_vars.innodb_numa_interleave_basic on pb2 mysql-5.7.

commit b4955f2eaabd72102af5629b83d07836577bb301
Merge: 927efe2 eff13f4
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Aug 25 14:17:09 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit eff13f457fe6a076b37c4f9c552b6d141a10dfee
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Aug 25 14:05:09 2016 +0530

    Bug#24404091 FAILING ASSERTION: !SRV_READ_ONLY_MODE || M_IMPL.M_LOG_MODE ==
    MTR_LOG_NO_REDO
    
    Issue:
    ======
    We hit the assert added in the mtr_commit() when we try to rotate the
    master key when InnoDB is in the read only mode.
    
    Fix:
    ====
    Avoid rotating the master key when in read only mode and display
    appropriate error message.
    
    RB: 13700
    Reviewed by: Satya Bodapati <satya.bodapati@oracle.com>
    Reviewed by: Allen Lai <zheng.lai@oracle.com>

commit 4ad01643fa79d66d49ea0a5dc073291f14e6d198
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.5/5.6 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.

commit 46aa20b0e1baa6fd1f03a5c18da09487f96a8c17
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 16 15:35:19 2016 +0200

    Bug#24388746: PRIVILEGE ESCALATION AND RACE CONDITION USING CREATE TABLE
    
    During REPAIR TABLE of a MyISAM table, a temporary data file (.TMD)
    is created. When repair finishes, this file is renamed to the original
    .MYD file. The problem was that during this rename, we copied the
    stats from the old file to the new file with chmod/chown. If a user
    managed to replace the temporary file before chmod/chown was executed,
    it was possible to get an arbitrary file with the privileges of the
    mysql user.
    
    This patch fixes the problem by not copying stats from the old
    file to the new file. This is not needed as the new file was
    created with the correct stats. This fix only changes server
    behavior - external utilities such as myisamchk still does
    chmod/chown.
    
    No test case provided since the problem involves synchronization
    with file system operations.

commit cbba9c0fd5530ff7297b04e5b85ab7f38680295f
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 12 12:38:20 2016 +0200

    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
    
    Argument to malloc-lib must be included in restricted list of
    directories, symlink guards added, and mysqld and mysqld-version
    options restricted to command line only. Don't redirect errors to
    stderr.

commit fd02c7745fb522b7765af4faecbbd1a0381d76d4
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 25 09:44:31 2016 +0200

    Bug#24487363 COLUMN_FORMAT DYNAMIC HAS STORAGE AND COMPUTATIONAL OVERHEAD
    
    When reverting default column format to be FIXED several test results have
    to be re-generated.

commit cd9aa1d8f0d18c9cabe763ed4dfef17f7f6bd62e
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 24 14:03:11 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 3084723f76d19990f3573c5ec614709f567df78b)

commit 4dec730874c3669d3dfe6b42e8e10790993ab69b
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 09:16:27 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 3682c8928e0b538739ca3d7c93b74e3bd2f9a001)

commit 6c4c5c8cf205c4fae0182ce8e2c9f92a8bd43321
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Aug 18 16:49:08 2016 +0200

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

commit 00db47bbbf705908fba8bb32a5af783978266224
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 25 09:14:52 2016 +0200

    Bug#24487363 COLUMN_FORMAT DYNAMIC HAS STORAGE AND COMPUTATIONAL OVERHEAD
    
    Reverting default column format to be FIXED. If DYNAMIC COLUMN_FORMAT is
    preferred then set --ndb-default-column-format=DYNAMIC

commit 927efe2b4886b69d8e0ad08c44db95b8d9b29536
Merge: 61352a3 1055f3f
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Aug 25 12:45:24 2016 +0530

    Null Merge branch 'mysql-5.7' into mysql-trunk

commit 1055f3fe5019fbd740ff37cc0e5517f2552f3e7d
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Aug 25 12:44:10 2016 +0530

    Bug #22678436	MISSING INNODB_NUMA_INTERLEAVE
    
    Post push fix for test case failure of test sys_vars.innodb_numa_interleave_basic on pb2 mysql-5.7.

commit 61352a3aac24fd2d69b0cb97459fdf2964b2e454
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 25 09:05:20 2016 +0200

    WL#5767 Performance Schema, Statements Digest
    
    Post-push fix for Solaris Developer Studio 12.5 on sparc:
    Thread stack overrun:
    624408 bytes used of a 655360 byte stack, and 32000 bytes needed.
    
    Change-Id: I0bf6e6cd64c50f2488cce0d97abe4164ba489ca1

commit 27d64e974ecb65564b4d03c2f8f7f883a71648d7
Merge: d569f27 173c8ae
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 24 22:32:30 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit d569f274f473942fbc42c43827cc462f6d43c66c
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Wed Aug 24 19:04:28 2016 +0200

    WL#7167 - Change DDL to update rows for view columns in DD.COLUMNS and other dependent values
    
    This is a follow up patch to fix memory leak observed while
    updating view columns metadata.
    
    The view columns metadata is updated by calling a method
    mysql_register_view() in ALTER_VIEW mode. In this mode, view is
    dropped and re-created with the new definition. While dropping a
    view, data dictionary table index_stats table is opened to remove
    the index statistics of a view.
    
    While opening a table, instance of SE plugin is created and stored
    in the used plugins list of LEX. So even for index_stats SE plugin
    is stored with the LEX.
    
    THD::lex is changed to the view lex (instance of LEX object created
    for the view query) in the view columns metadata update scope.
    So for the tables(index_stats) opened in this scope, SE plugins
    is stored with the view lex. But this view lex plugin list is not
    cleaned up while going out of the scope. Due to this memory leak
    is observed.
    
    To fix this issue, now plugin list of view lex is cleaned by
    calling lex_end().

commit 173c8ae067098acdedf031740ab78b99652abbdb
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.

commit d753074048f05dc016c6868723ee1f78870ba0b2
Merge: f9d1ee2 ef8afd4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Aug 24 17:40:37 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit f9d1ee22690994296115cb50ed9520f5485ee0af
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Aug 24 12:23:55 2016 +0200

    WL#6599 New Data Dictionary and I_S integration
    
    The value of INFORMATION_SCHEMA.COLUMNS.COLUMN_KEY was not
    reported when the column was used by a FULLTEXT and SPATIAL
    index. The patch fixes the same. The index_type cannot be
    specified for FULLTEXT and SPATIAL indexes and so they are mostly
    reported as 'MUL' (Multiple values) for column used in index.
    
    There was no test case covering the scenario in suite main. Added
    a test case in main.information_schema now.
    
    Notes: Issue found by Tarique in a RQG run. Reviewed by Praveen.

commit ef3254252ad31638f5836b9be3ce1644f4303f89
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 22 16:17:28 2016 +0200

    Bug #24488219: INCLUDE WHAT YOU USE
    
    First small patch out of a series of many, restricted to strings/
    only to start out small.
    
    The general gist of these is to install the include-what-you-use
    tool (e.g. by “sudo apt install iwyu” in Debian), then cmake with
    
      -DCMAKE_C_COMPILER=/home/sgunders/iwyu-gcc -DCMAKE_CXX_COMPILER=/home/sgunders/iwyu-g++
    
    iwyu-gcc is a program that runs IWYU, outputs (atomically) its output
    to stdout, and then actually compiles the file using Clang to make sure
    that compilation can proceed. It looks like this:
    
      #! /bin/sh
      T=$(tempfile)
      /usr/bin/iwyu "$@" > $T
      lockfile /tmp/iwyu.lock
      cat $T
      rm -f /tmp/iwyu.lock $T
      exec /usr/bin/clang "$@"
    
    and analogously for g++, just with clang replaced by clang++.
    
    The stdout output is stored in a log file and given to fix_include:
    
      /usr/bin/fix_include --ignore_re='(extra|zlib|libedit|innobase|obj|libevent|regex|myisam|rapid/plugin/x)/' < log
    
    After that, the patch is manually inspected and corrected where needed.
    Many changes work out-of-the-box, but some patterns tend to confuse
    the tool, so it sometimes needs manual correction.
    
    Change-Id: Ie194ac838c7d3b615ebb2e8b5fea68cce4b0e213

commit ef8afd49b21d89ecd6246f119f8dc91e51f81c44
Merge: 78793e1 a683f14
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Aug 24 16:17:21 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit a683f14f849831ccb494303506b8d2f57c733cdf
Merge: 3084723 170b528
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Aug 24 16:02:49 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 170b52867cc956f648b10da44d8bcafaafb196ee
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 12:06:16 2016 +0200

    Bug#24400628: DEBUG ASSETION KICKS IN WHEN LONG SUBPARTITION NAME
                  IS USED IN CREATE TABLE
    
    The problem was that using a very long subpartition name could
    lead to the server exiting abnormally.
    
    This patch fixes the problem by reporting ER_TOO_LONG_IDENT
    if a name with more than 64 characters are used as partition
    and subpartition name.

commit 6d52403b95cbdeee303b0539dc2c6b16dbb93f8c
Merge: 2b61c84 78793e1
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Aug 24 15:28:12 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1edf1800bd8a27cfa910cb409d05c2463bdc9df9
Merge: 2eb529e 9a3c2e7
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 24 15:19:38 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 2b61c84cb1c5d7bcad5ea4ee799f85754d5e35f4
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Wed Aug 24 15:03:57 2016 +0200

    Bug#24487414 - SIG 11 IN DD::INFO_SCHEMA::STATISTICS_CACHE::READ_STAT_BY_OPEN_TABLE
    
    Attempt to access TABLE instance when open table (to obtain
    statistics) fails because of KILL query or connection operation
    resulted in the issue reported.
    
    For the non-innodb tables, its statistics is obtained by opening
    the table. Current code assumes that when open table fails then
    Diagnostics_area is always set with an error. If Diagnostics_area
    is not set then open table success condition code is executed.
    This works well when table open fails because of the error. Open
    table fails even when query or connections is killed. In this case
    Diagnostics_area might not be set. In such scenario, attempt
    access TABLE instance from the pointer in TABLE_LIST resulted in
    the crash.
    
    To fix the issue, the failures from open_tables() is handled
    irrespective of whether the diagnostics area is set. If we find
    error being reported in diagnostics area, we write it to comment
    field as we do now. If we do not find a error reported, then we
    just make the UDF return failure. The query is later terminated
    by call to send_kill_message() when we check thd->killed flag.

commit 9a3c2e714d5f5ba188a9a3766cf92a1309418063
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 24 14:50:57 2016 +0200

    Bug #24481551 CONDITION SIGNALING MISSING WHEN WAITING FOR EPOCH TO BE WRITTEN TO BINLOG
    
    - Add signaling of the injector_cond whenever the binlog injector
      thread updates the 'ndb_latest_handled_binlog_epoch'. Also
      adds a missing mutex guards around this update.
    
    - As multiple mysql client threads might be waiting for
      some conditions controlled by the injector_cond, a
      signal *broadcast* is required to wake tham all up.
      Thus all cond_signal'ing of the injector_cond has been
      changed to cond_broadcast.
    
    - Removed an obsolete 'ndb_latest_handled_binlog_epoch= current_epoch'
      in the binlog injector thread as it is also updated a few lines
      further down.

commit 78793e194016c00bae93851feffe2ce2a10df483
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Aug 18 12:51:51 2016 +0200

    Bug #24472325: LISTOBJECTS() RETURNS WRONG INFORMATION FOR SOME VIEWS IN SYS DATABASE
    
    Description:
    The 'list_objects' admin command has reported a system view as a table.
    Those objects shouldn't be reported as a views
    
    Solution:
    The assessment of said object has been improved.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    Reviewed-by: Andrzej Religa <andrzej.religa@oracle.com>
    RB: 13720

commit 1064aaa0a27e241524a56ce6541eab2ada62eb88
Merge: 27d6f9d 2db4e5f
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 24 14:17:07 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2db4e5f895bcbab20b2df31c757af2f018e56b37
Merge: 7a51368 3084723
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 24 14:12:50 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3084723f76d19990f3573c5ec614709f567df78b
Merge: 01bcf39 30dd69a
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 24 14:03:11 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 30dd69ad66a7f3d3ab74e4c18fd7c8d0dd11789e
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.5/5.6 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.

commit 2eb529ed4cbde4c9275fce298a56a0fdafa60fd6
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 24 13:27:00 2016 +0200

    Bug#23553267 DEADLOCK WHEN MDL_EXCLUSIVE ACQUIRES A GLOBAL SCHEMA LOCK (GSL)
    
    Cherry pick of the server part of the patch from mysql-5.7
    In adition this commit adds the Cluster specific part of patch
    
    NdbCluster code for acquiring a Global Schema Lock has been changed
    to not retry the GSL lock if it failed due to a timeout (default 3000ms),
    *and* there is a potential for this lock request participating in a MDL-GSL
    deadlock. In these cases it select itself as a 'victim', and return
    this decission to the MDL requestor.
    
    MDL code will then either handle such a victimized GSL request either as
    a failed lock request - Which is better than staying in a deadlock state
    forever.
    
    Or, where a deadlock_handler exist in the MDL code, it will backof
    and retry the MDL+GSL locking again. (Valid for CREATE TABLE which
    was the soure for the deadlocks in the attached test case)

commit 27d6f9d1f7dae7a39be35185b7ce8a1d490ab357
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 24 12:20:58 2016 +0200

    Bug#24504155 BUILD MEMCACHED WITH SOLARIS STUDIO 12.5 AKA 5.14
    
    Do not set any -std=xxx for the developer studio compiler, that would lead to:
    innodb_engine.so: symbol __sync_add_and_fetch: referenced symbol not found
    
    Change-Id: Ide61b8d1aa41007fc80c124e556aa320fcebb7aa

commit fd1284f3fd5f9bcb2499c27ab4d06367afd83f15
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 23 11:06:41 2016 +0200

    Bug#24503656 GET RID OF THE MY_OFFSETOF MACRO
    
    offsetof (home-grown or not) should not be applied to non-PODs.
    
    Change-Id: Iceefe406106cfd715d102f6009cac26f586b89de

commit 005bf2a10cb1eb724e8299c7ec45877c7dad6ed0
Author: Daniel Blanchard <daniel.blanchard@oracle.com>
Date:   Tue Aug 23 16:46:08 2016 +0100

    Bug #24505650 EXCEPTION INFORMATION MISSING FROM MINIDUMP FILES WRITTEN ON WINDOWS
    
    Fix ExceptionParam parameter to MiniDumpWriteDump Windows API call.
    
    Reviewed-by: Dyre Tjeldvoll <dyre.tjeldvoll@oracle.com>
    RB: 13766

commit 51984082f7c20d27bcc186f28b3a344bdbf55bed
Merge: 2be7942 7a51368
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 24 09:51:57 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7a51368d24876132d703da628861c96d06100207
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Aug 24 09:46:00 2016 +0200

    Bug#23553267 DEADLOCK WHEN MDL_EXCLUSIVE ACQUIRES A GLOBAL SCHEMA LOCK (GSL)
    
    Contains only the server side part of the patch intended to be pushed
    to mysql-5.7.
    
    Reviewed by: Dmitry Lenev <dmitry.lenev@oracle.com>
    
    NdbCluster code for acquiring a Global Schema Lock has been changed
    to not retry the GSL lock if it failed due to a timeout (default 3000ms),
    *and* there is a potential for this lock request participating in a MDL-GSL
    deadlock. In these cases it select itself as a 'victim', and return
    this decission to the MDL requestor.
    
    MDL code will then either handle such a victimized GSL request either as
    a failed lock request - Which is better than staying in a deadlock state
    forever.
    
    Or, where a deadlock_handler exist in the MDL code, it will backof
    and retry the MDL+GSL locking again. (Valid for CREATE TABLE which
    was the soure for the deadlocks in the attached test case)

commit 2be794264733af84fd9e764377cf69317798c100
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Aug 24 09:53:17 2016 +0530

    Bug #24479773   SRV_UNDO_SPACE_ID_START IS NOT INITIALIZED
    
    - Fixing the test case failure in ASAN build

commit 7f8e66d9256cc86c808a08351e0a49d1c3a96fd6
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Aug 10 14:29:27 2016 +0200

    Bug#24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Patch 2: Add a new PFS memory key to track memory used by strings in DD.
    
    The new PFS key key_memory_DD_String, will be used with Stateless_allocator to
    track memory allocated to store strings used in the DD code.
    
    Remove unused PFS keys related to frm files. Rename key_memory_frm to
    key_memory_DD_default_values as it is only used to allocate temporary buffers
    backing Field objects when populating dd::Column objects from Create_field
    objects.

commit 0832bf660e35889d70be2b65e538d1cf0719cf62
Merge: 79c9a28 a243e26
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Aug 23 18:21:27 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 79c9a283179e582810aca0d92f25597c820a397d
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Aug 23 13:58:31 2016 +0200

    Bug#24481933: Post-push fix.
    
    Use reserve(1000) to ensure that memory preallocated in std::string is exceeded
    in OutOfMemory test.

commit a243e260796bec7e675452cf638e346936f5606d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 15 10:29:07 2016 +0100

    Bug#20671150 BROKEN BUILD DUE MISSING CHECK OF RETURN VALUE OF FREAD()
    
    Check return value from fread(), return error if it fails.

commit 74a861cfef710bd812f9b2a6056483848770647b
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Aug 23 14:28:55 2016 +0200

    Bug#24431547 FIREWALL PLUGIN SHOULD BE CONFIGURABLE WITH INNODB ENGINE
    
    The audit log- and firewall plugins now use the InnoDB storage engine
    per default instead of MyISAM.

commit 541f1d3ee52bb5bd2dc1fbe76a4a796cd29d8e26
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 23 12:39:27 2016 +0200

    Bug #23623110: Range optimizer: Rework use_count handling.
    
    Post-push commit to fix some Doxygen warnings.
    
    The “clone_flag” parameter was archaic and easy to remove, so I did so
    instead of trying to write up an apology in a @param directive.
    
    Change-Id: I1dca86ea2f123486f50606b954940ce98f509cc5

commit 56a9e1c4d263036812bc8ec5bd034f368681bda0
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Aug 23 17:36:09 2016 +0530

    Bug #24365783 : MTR: TEST NAMES PASSED WITHOUT SUITE DO NOT
                    WORK WITH --NO-REORDER
    
    Post push fix.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit c8d4fb699591f387643e409ce1e0920c32101a61
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Tue Aug 23 17:11:33 2016 +0530

    Bug#23297190 : RPL_GTID_SERVER_SIGHUP AND RPL_MASTER_POS_WAIT_AFTER_STARTUP FAILS IN VALGRIND
    
    In the testcases we are restarting the master server which is taking more time
    on slow platforms like valgrind and slave fails to reconnect with
    "error reconnecting to master '$Master_Port'- retry-time: 1 retries:10".
    
    Fix :
    
    Changed master_connect_retry=30 and master-retry-count=30 on slave. Now the
    slave retries connecting after every 30 secs for 30 times which gives
    sufficient time to reconnect to the master.

commit c3a4d2bf14a623436e6db8c5d18be519a937a8fa
Merge: 39702d3 e8e6255
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Aug 23 13:21:17 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit e8e6255de1e093d14af15cdee6f6887361531f82
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Aug 23 13:08:23 2016 +0200

    Bug#23854929	MBIND: INVALID ARGUMENT WHILE STARTING SERVER WITH UBUNTU14.04,UBUNTU16.04 PKGS
    
    Libnuma tries to read from several system paths. Apparmor denies the access,
    leading to the (apparently non-fatal, but numa won't work properly) error message in the logs.
    Amended the apparmor profile to allow read access to the path.

commit 39702d3d45183699704e743bfac184cecc6db72c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Sat Jun 18 18:06:47 2016 +0200

    Bug #23623110: Range optimizer: Rework use_count handling.
    
    This entirely rewrites the range optimizer's treatment of use_count,
    replacing multiple layers of subtle and complicated handling with
    one simple rule: SEL_ARG::use_count counts the number of references
    from next_key_part or keys[]. (Well, there's one exception in
    and_all_keys(), but it's well-documented and localized.)
    
    In particular, this means that the logic with recursive use_counts,
    where increment_use_count() modifies the use count of every SEL_ARG
    that the current SEL_ARG tree points to recursively, goes away.
    The entire concept of adding more than one use_count at a time
    also goes away. Instead, there are two simple functions to modify
    next_key_part (release_next_key_part() and set_next_key_part())
    that automatically maintain use_count, and these are used the majority
    of the time. (Unfortunately, we still don't have compiler-assisted
    handling of correct _use_ of the use_count; it would be nice to make
    it impossible to modify a SEL_ARG with use_count > 1 without cloning
    it first, but it would probably require significant investments to
    const use in this file.) Almost all remaining tricky or unintuitive use_count
    handling has been commented, as well as general invariants preserved by
    functions.
    
    In line with the new rules, key_and() and key_or() no longer modify the
    use_count of their arguments since they don't modify anything pointing
    to them; they are now much closer to purely functional. In the same vein,
    they also don't send back the return value with use_count incremented,
    which simplifies the overall flow. There are also somewhat tighter asserts in
    place, including on the root node of the R-B tree (where we know there are bugs
    that this patch doesn't do much with).
    
    Finally, the global SEL_ARG null_element was an object of class type
    in static scope, which is a style guide violation; this has been remedied
    by replacing it with a pointer that's explicitly allocated and destroyed
    as part of normal server startup/shutdown. This fixes issues where the
    SEL_ARG destructor assert would spuriously fire when something else caused
    the server to exit.
    
    I found a preexisting issue I don't fully understand, and annotated
    it with FIXME comments, so it is not forgotten. (It goes back more than 15
    years.) Several similar ones were fixed.
    
    Change-Id: Id4941372393aef2f720cdd2ef7aa7b101d4afac6

commit 23874cb1a922e59069a768caf21ca70662ab16f2
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Aug 23 11:22:19 2016 +0530

    Bug #24480254 LOB DELETER NOT DELETING THE LOB PAGES
    
    Problem:
    
    While doing code reading I identified the following problem:
    Code in lob::Deleter::destroy() function is as follows:
    
    1708
    1709                 while (m_ctx.m_blobref.page_no() == FIL_NULL) {
    1710                         err = free_first_page();
    1711                         if (err != DB_SUCCESS) {
    1712                                 break;
    1713                         }
    1714                 }
    1715
    
    The while condition should contain != instead of ==.  This means that
    the LOB deleter is not really deleting the LOB pages.  This is a
    regression introduced by me in WL#9141 InnoDB: Refactor uncompressed
    BLOB code to facilitate partial fetch/update.
    
    Solution:
    
    The while condition should check that the page_no in the LOB
    reference is not equal to FIL_NULL.
    
    WIP.

commit 5d7162022cbffaa9e857f8c646802339836548e0
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Jun 30 14:35:38 2016 +0200

    WL#7987: JSON_ARRAYAGG and JSON_OBJECTAGG
    
    Added JSON_ARRAYAGG and JSON_OBJECTAGG aggregation functions to generate
    JSON arrays/objects by combining multiple rows.
    
    Change-Id: I49d49f27d04cb1cbf2d721e1b667de4cb55dcf43

commit 6fa8e38fc0117ef9ce0a9ede9f5e15d4f73ea799
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Aug 2 13:30:30 2016 +0200

    Bug#24481933: STD::BASIC_STRING INSTANTIATION W/ PFS INSTRUMENTATION FOR THE DD
    
    Fix out-of-memory testing of std::basic_string in stl-alloc-t
    
    It would appear that the std::basic_string implementation on Windows may catch
    bad_alloc and try a smaller alloction. In this case using
    DBUG_SET("+d,simulate_out_of_memory"); does not work since it only affects the
    first allocation after being set.
    
    Introduce a boolean variable in the unit test which will cause the allocation
    functors to "fail", i.e. to return nullptr rather than a valid pointer. When
    this flag is true, all allocations (made by the functors defined in the unit
    test) fail until the flag is reset. Use std::unique_ptr as a scope guard to
    ensure that the flag is reset at the end of the test case.
    
    This is a proper fix for the test cases which were commented out in commit
    ad285159a827ab617c95b28ff907f0d002fc7ee6

commit abfa261d6ed629e90c922e5d0d998d71a6aa085e
Merge: d51d7c9 5edf8d5
Author: Ole John <ole.john.aske@oracle.com>
Date:   Mon Aug 22 15:18:34 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7711acc50bf07f1444f37538e09a97b45d4cbae6
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Mon Aug 22 18:43:33 2016 +0530

    Bug #24365783 : MTR: TEST NAMES PASSED WITHOUT SUITE DO NOT
                    WORK WITH --NO-REORDER
    
    Post push fix.
    
    Reviewed-by: Srikanth B R

commit f575859c97d158e0c8e9b49b9d8d28589754d9f2
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Mon Aug 22 15:09:13 2016 +0200

    WL#7167 - Change DDL to update rows for view columns in DD.COLUMNS and other dependent values
    
    This is a post push patch to add gtid state update guard while updating view
    status(Valid/Invalid).

commit 5edf8d50d0ae2c406f5c1eeb23144fe75bb0e8e0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Mon Aug 22 14:36:22 2016 +0200

    Bug#23343673 POTENTIAL DEADLOCK WHEN SHUTTING DOWN NDBCLUSTER BEFORE CONNECTED
    
    Bugs fixed:
     - There is a potential problem when mysqld waits for the ndb-handler
       components to be initialized. While waiting for connection
       to the ndb_mgmd we are not able to shutdown the mysqld, and might
       get stuck here forever if not able to make a ndb_mgmd connection.
    
     - Make the code more resilient by changing from infinite
       condition wait to a 1 second condition wait. This improves the
       chances that util thread and index stat thread will detect deinit
       and terminate themself properly.
    
     - The Ndb_cluster_connection_impl::connect_thread, which wait
       for the above ndb_mgmd connection, does *two* NdbSleep_SecSleep(1)'s
       instead if a singe as intended to.
    
    Related cleanup:
     - Refactor the ndb-connection-wait into the new function
       ndbcluster_is_connected() and change it to use the (new)
       ndbcluster_cond instead of the Ndb_util_thread.COND.
       (ndbcluster_cond actually replace/rename COND_ndb_setup_complete)
    
    -  The above refactoring allowed us to remove the global
       'extern' decl of ndb_util_thread, and make its COND
       and LOCK members 'private'
    
     - Refactor 'extern' decl. of variables related to above work
       by moving them from various *.cc files into a common *.h decl.

commit 73344074881005b3a6e05b81f6debfbf46537b23
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Aug 19 12:36:23 2016 +0200

    Bug#24487934 FIX DYNAMIC LIBRARY SEARCH PATHS ISSUES ON SOLARIS
    
    The patch for WL#8688: Support ability to persist SET GLOBAL settings
    uncovered bugs in our handling of search paths on Solaris.
    The patch introduced C++11 dependencies in the 'mysys' library,
    and these must be resolved correctly
     - either against the developerstudio version of libstdc++.so
     - or against the gcc version of libstdc++.so
    The problem was resolved temporarily by disabling -R options,
    and by *not* installing the gcc libstdc++.so into our own <install>/lib
    directory.
    
    FIX:
    Add proper -R and -L options when building on Solaris.
    Remove LD_LIBRARY_PATH manipulation in mysql-test-run.pl.
    Fix mysql_config to report proper library search paths.
    
    Change-Id: I271c5211d52e1ec35a9964e82a1fd317a7697a52

commit 8e428b66b9548d70960ceb379b6c737e595d8303
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Mon Aug 22 14:10:35 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-push patch to fix test failures with NDB on
    embedded server.
    
    The changes made to ignore 'ndbinfo' and its tables when ndb
    cluster is not running or system variable "show_hidden"(exported
    by NDB)is not set, are compiled out for the embedded server.
    Hence on embedded server with NDB plugin, schema 'ndbinfo'
    and its tables are listed always. This caused extra test
    failures on embedded server with NDB.
    
    To fix this issue, including the changes made to ignore
    'ndbinfo' schema and test tables for embedded server too.

commit 953e25cf6e1673a129b081acd561062321b61626
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon Aug 22 17:19:27 2016 +0530

    Fix sporadic failure of idx_events_stages_current.test
    
    Issue:
    	idx_events_stages_current tests depends on the entries in
    	performance_schema.events_stages_current table. These entries
    	are transient in nature which is causing sporadic failure.
    
    Fix:
    	Increased innodb_lock_wait_timeout to make sure entries in this
    	table are there for longer period to avoid this sporadic failure.

commit a8c33d4e891b95f28e5b1f5793d982614dd3dad0
Merge: 6967ffb 38f9f93
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon Aug 22 16:41:14 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 38f9f9347ee5ab712572b26e20568ec64a7f0b5d
Merge: b036dc4 01bcf39
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon Aug 22 16:40:01 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 01bcf39b78db346f96c224918c594724373700b7
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon Aug 22 16:38:05 2016 +0530

    BUG#23224078: BACKPORT THE PATCH FOR BUG 19678930/73979 TO MYSQL 5.6
    
    The problem was that the allocator used by the lock-free container
    implementations misused alloca() when scanning for objects which
    could be safely deallocated. The code tried to calculate how much
    memory could safely be allocated on the stack for qsort based
    pre-sort, but these calculations were not accurate.
    
    This could manifest itself as stack overflow errors with high
    number of concurrent connections to the server. (e.g. 8000
    connections with default 256Kb stack size).
    
    This patch fixes the problem by removing the use of alloca
    and replacing qsort approach by a linear scan through all
    pointers (pins) owned by each thread. We remove each
    such pointer from the list of pointers to objects the current
    thread has marked as unused (purgatory). At the end we have
    a list of pointers to objects not in use by any thread. Since
    there are few active (non-null) pointers at any given time,
    this turns out to be quite efficent.
    
    The patch also fixes a bug in the code determining when
    scanning for unused objects should be performed. Instead
    of doing this scan only at certain intervals (for perf reasons),
    the old code did this scan almost always.
    
    Micro-benchmarks show that these two changes give a
    a clear performance improvement over the old approach.
    
    Some #include directives in the LF code was also changed
    so that they only use <> for system headers. This reduces
    the likelyhood of conflicts between system headers and
    MySQL headers with generic names (e.g. hash.h).
    
    The patch also reduces usage of thread-local storage.
    
    NOTE:
    =====
    This is a backport of the patch for BUG#19678930 to mysql-5.6.

commit 6967ffb5fdb7186530ebc3d748fec4a385256913
Merge: 6657d43 b036dc4
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 16:11:16 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b036dc41118a646b8b96e4488b955f32f6036454
Merge: 9424080 f601e1c
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 16:10:11 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f601e1c1f1685dc60bcfc18ed3b59ce33d6d2258
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 16:08:40 2016 +0530

    Bug#19687742: CREATE_ASYMMETRIC_PRIV_KEY : TOO EASY TO
                  SLOW DOWN SERVER BY MAXING OUT CPU
    
    Post push patch to fix windows build failure.

commit 6657d43c1f26ee0ff879cf081d5a0a4af4d219db
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 09:42:10 2016 +0200

    Bug#24487483: ADD CMAKE CHECK FOR 64 BIT WINDOWS BUILD
    
    As for 8.0, we no longer support 32 bit builds on Windows.
    Currently this is only evident when we fail during compilation.
    
    This patch adds a CMake check that reports an error message
    if a 32 bit build is attempted.

commit 3cc26e263827f63763ba5ec0854e452a4772b285
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Aug 19 16:26:53 2016 +0300

    Fix Bug#24464147 INNODB REPORTS TOO HIGH ESTIMATE FOR HOW MUCH OF A TABLE IS IN THE BUFFER POOL
    
    Fix the way we check whether a page is leaf - should be
    "page_is_leaf(frame)", not "page_is_leaf(frame) == 0", of course.
    
    This bug was introduced by the fix of
    Bug#21747906 VALGRIND FAILURE: INNODB.INNODB_BUFFER_POOL_LOAD
    (ef069f8)

commit 14402d0e78f4a10c7cc708dafa2828c3f7546d8e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Aug 19 14:49:26 2016 +0200

    Bug#24447966 SEGMENTATION FAULT IN MY_ATOMIC_ADD64 IN ATOMIC/GCC_SYNC.H
    
    If acl_load() fails unexpectedly (example by using a KILL) the acl cache
    is deleted and not reinitialzied. This later causes a null pointer to be
    dereferenced when the acl cache version number should be increased.
    The fix is to not delete the acl cache.

commit d51d7c9372e082fe9fd5560ccad151bfb11e768b
Merge: c525c5c 247c8cb
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Aug 22 13:35:54 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 247c8cb856cc63e2ed155078c9e87bb2a22847bf
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Aug 22 13:34:45 2016 +0530

    Bug #23070060 CRASH IN DBTUP (LINE: 171) WHEN INCREASING MAXNOOFATTRIBUTES
    
    Added ndbrequires to identify errors in table descriptor handling. Also
    validate table descriptor information before exiting.

commit e028d7e1d14d57139cff866116f9f905c344be9b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Aug 22 13:03:54 2016 +0530

    Bug #24479773	SRV_UNDO_SPACE_ID_START IS NOT INITIALIZED
    
    Problem:
    =======
      Assert failure happened during start of purge thread because server
    doesn't recognize tablespace id as undo tablespace id. The reason is
    that srv_undo_space_id_start is not initialized when there are no active
    undo tablespace but undo tablespace exists.
    
    Fix:
    ===
     Initialize the srv_undo_space_id variable when there
    are no active undo tablespace but undo tablespace exists.
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 13728

commit 907db2082dc95ed47884e872d15fdc236d4a17e7
Merge: 3945175 9424080
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 11:20:24 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9424080c94dd6cd0b1ad7c988efdd161a20459b0
Merge: 20f9116 d03f3b6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 11:19:44 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d03f3b65d34abcdbbe7a2b795aa9acd0cc651ff0
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 22 11:18:47 2016 +0530

    Bug#19687742: CREATE_ASYMMETRIC_PRIV_KEY : TOO EASY TO
                  SLOW DOWN SERVER BY MAXING OUT CPU
    
    Description:- User defined functions used with improper key
    length value hogs the CPU and can be used to slow down a
    server.
    
    Analysis:- The increased CPU utilization is expected since
    the cryptography algorithms used require large prime
    numbers.
    
    Fix:- Environment variables
    (MYSQL_OPENSSL_UDF_RSA_BITS_THRESHOLD,
    MYSQL_OPENSSL_UDF_DSA_BITS_THRESHOLD and
    MYSQL_OPENSSL_UDF_DH_BITS_THRESHOLD) are introduced for setting
    the threshold values for key length.

commit 3945175aba11fbd7b19c8b199617f6b4bb80552c
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Mon Aug 22 10:49:47 2016 +0530

    Bug #24365783 : MTR: TEST NAMES PASSED WITHOUT SUITE DO NOT
                    WORK WITH --NO-REORDER
    
    Issue:
    ------
    If tests are run in MTR with --no-reorder without providing
    the qualified test name <suite_name>.<test_name>, the test
    is not searched for and fails with an error:
    "Could not find test_name in main suite".
    
    Fix:
    ----
    With this fix, if test names are passed without the suite,
    along with the --no-reorder option, the test is looked for in
    all the suites and then added to the list of testcases to be
    run in the same order as they were passed.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 13576

commit f1a64bf53bdb90c0192d680734498bb65e443544
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Aug 22 10:36:13 2016 +0800

    Bug#23752284 : STRCMP NOT CONSISTENT WITH ORDER BY FOR UTF8MB4_UNICODE_CI
    
    Cause:
    The nweights parameter of strnxfrm function means how many
    characters' weights are expected. But in the implementation of UCA
    4.0.0 and 5.2.0, it is read as how many weights are to return. It
    works well when one character has only one primary weight, but some
    characters have more than one, that causes wrong comparison result.
    For example, U+00DF's weight in DUCET 4.0.0 is:
    [.0FEA.0020.0004.00DF][.0000.015D.0004.00DF][.0FEA.0020.001F.00DF],
    which has 2 non-ignorable primary weights: 0FEA, 0FEA.
    In the reported case, U+33FC's weight in DUCET 4.0.0 is:
    [.0E2B.0020.0004.33FC][.0E32.0020.0004.33FC][.FB40.0020.001F.65E5]
    [.E5E5.0000.0000.65E5], which has 4 non-ignorable primary weights.
    
    Solution:
    Fix by adding counter of characters whose weights are expected.

commit 83d35f31a9b20901c8ef5368f5adaa9f40193015
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Aug 19 20:21:42 2016 +0200

    WL#7069: Post-push fix, re-record result for main.create_ps_protocol

commit 8fdbb2f5f1afd4aaca1806e393345f1390c4994d
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Fri Aug 19 11:56:49 2016 +0200

    WL#6391: Post-push fix.
    
    Table objects were stored unnecssarily while maintaining the hidden
    attribute. Update the attribute and store the object only if
    necessary.

commit c525c5c19d91608e44f138541545c7738a296fbe
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 19 23:24:28 2016 +0200

    BUG#24482114: Change default of ReadBackup tables to normal default FRAGMENT_COUNT_TYPE (ONE_PER_LDM_PER_NODE)

commit 5ff59e55d92af8cf3ba8d5b0e698137f9551451f
Merge: 9ad6b26 20f9116
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 19 20:02:04 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 69c5e24374e4b4160e3942fb1fc9ce2d35241db9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 19 16:14:46 2016 +0200

    Bug#23710999 PARTITION ID MAY BE SET INCORRECT FOR NEW FRAGMENTS USING REORGANIZE PARTITION
    
    Post-push fix.
    
    Make sure all partitions have data so that they all show up in ndb_desc output.

commit 9ad6b260980d5e33a71d34b2c31a23c89ee35279
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Fri Aug 19 20:01:21 2016 +0600

    This is a patch for the bug#24449174 -- dropping a partition drops the trigger on 8.0.0.
    
    In case there is a trigger assigned to a partitioned table, attempt to
    drop the partition led to dropping any trigger associated with the table.
    
    We solve this problem by moving triggers from old table definition to
    a new one, before replacing former with the latter.
    
    All places where dd::rename_table<dd::Table> is called were checked.
    While doing it a dead block was detected that calls dd::rename_table.
    The block is located in the function mysql_update_dd() and it was removed.
    Additionally, the function sync_ddl_log() was dropped since it isn't called
    anymore.

commit 20f91166e073e4279ce14a608fc062f1c9ea5a5f
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.

commit 28becc940c25e8e8c6e68636045fd5bff34d8a6b
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Aug 19 13:21:41 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-fix patch to fix test failures with NDB.
    Following are the changes done,
    
    - Ignore 'ndbinfo' schema to be exposed by I_S system views.
    
      schema 'ndbinfo' and its tables are hidden when ndb cluster
      engine is not running or system variable "show_hidden" (
      exported by ndb plugin) is not set.
    
      In 5.7, ha_find_files() is called to check if the 'ndbinfo' schema
      and its table are hidden or not.
      Similarly, CAN_ACCESS_* UDFs used by I_S system views are modified
      to ignore 'ndbinfo' schema and its tables if they are hidden by
      calling ha_find_files().
    
    - Adjust test cases to mask ndb% tables from I_S queries in test
      cases.

commit 55f63eb6e0cbd302dc6f1c0ddb49efb083ab35bc
Merge: 36985c8 cf593c0
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 19 12:57:04 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit cf593c0fa5b648e4bf41afff168bf86910968b63
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 19 12:20:30 2016 +0200

    Bug#24487870 REMOVE SUPPORT-FILES/MYSQL-MULTI.SERVER.SH, IT'S USING REMOVED FEATURES
    
    Script is not shipped in any binary package and is not documented and
    can be removed.

commit 36985c887e4cc0d9c762d9a3aa4bef966ede0a98
Merge: 1c534d5 ef2eb6f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 11:37:46 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1c534d59c397a79a9f11f90ba80141b51a94deed
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Aug 18 14:02:15 2016 +0800

    Bug#22907691: GLOBAL-BUFFER-OVERFLOW OF VARIABLE LFACTOR IN MY_STRTOLL10_MB2
    
    Description:
    MySQL server may exit abnormally when cast a long float to integer.
    
    Cause:
    Character pointer jumps to decimal number when it detects a decimal
    point, that marks the wrong end of integer and then result in wrong
    array index which causes overflow.
    
    Solution:
    Place the character pointer jump after the goto statements.

commit 183331fa8518af3c5f7a3677530329cf08f905ad
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 14:20:18 2016 +0200

    Bug#23703343 NDB : FULLY-REPLICATED BLOBS ARE NOT FULLY-REPLICATED
    
    Test ndb.ndb_read_local was extended to be able to test that read backup was
    used when accessing fully replicated blob tables.
    
    It does not in all cases, and test extensions also demonstrates other bugs.
    
    Changes made:
    
    1) It adds testing for two and three node groups for fully replicated tables.
    
    2) Move testing of read backup on top, since it makes only sence for one node
      group, otherwise not all data is available locally.
    
    3) Adding test to check that one can turn on READ_BACKUP online.  Related to
    Bug#24424459 READBACKUP PROPERTY NOT PROPAGATED TO UI AND BLOB TABLES IN ALTER TABLE
    
    4) Adding a table 'hints' that are used to hint a transaction agains different
      nodes.
    
    5) Make all transactions hinted using 'hints' table, loop all tests with hint
      to different nodes.
    
    6) Using the 'hints' table for make all transactions hinted also avoids
      otherwise unhinted transactions, as scans, to never use a dbtc on a node
      without data, such as node group less nodes.
    
    7) Check replica count also for unique index and blob table.
    
    8) Check number of nodes with data for table, unique index, and, blob table.
    
    9) Add flags to avoid parts of test due to bugs, these should be removed than
      corresponding bugs are fixed.
    
    10) Change check for debug build, to check for error insert support.

commit d46067f5e09a61f1c5293d577624066449d3c0e0
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Aug 18 22:16:33 2016 +0200

    WL#7069: Post-push fix. Re-record failing tests
    
    Reviewed by Sivert Sørumgård

commit ef2eb6f448ec57693aab96cd6edb452d35e4a3d9
Merge: e014f44 3682c89
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

commit 6ee719312e28bdf6ce167c2a1c0317de36a6686f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 12:52:49 2016 +0200

    Bug#23703343 NDB : FULLY-REPLICATED BLOBS ARE NOT FULLY-REPLICATED
    
    Test case which also demonstrates two other bugs not fixed.

commit 3682c8928e0b538739ca3d7c93b74e3bd2f9a001
Merge: b91d851 28313bb
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 19 09:16:27 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 28313bb8462493defab1d57a7f0b19518b48cd62
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 16 15:35:19 2016 +0200

    Bug#24388746: PRIVILEGE ESCALATION AND RACE CONDITION USING CREATE TABLE
    
    During REPAIR TABLE of a MyISAM table, a temporary data file (.TMD)
    is created. When repair finishes, this file is renamed to the original
    .MYD file. The problem was that during this rename, we copied the
    stats from the old file to the new file with chmod/chown. If a user
    managed to replace the temporary file before chmod/chown was executed,
    it was possible to get an arbitrary file with the privileges of the
    mysql user.
    
    This patch fixes the problem by not copying stats from the old
    file to the new file. This is not needed as the new file was
    created with the correct stats. This fix only changes server
    behavior - external utilities such as myisamchk still does
    chmod/chown.
    
    No test case provided since the problem involves synchronization
    with file system operations.

commit 971f8a2f7339f434d74631245a7404a1d360c039
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 12:04:07 2016 +0200

    Changes to ndb_desc.
    
    Add option --index-info (-i) that show also information of all indexes of given
    tables.
    
    Modify output of --blob-info (-b) to also show table attributes of blob tables,
    not only partition information.
    
    Also const was added, and some trailing spaces removed.

commit e836f39643b65dcf6b96fd17a75bd9565508efc4
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Aug 17 16:26:44 2016 +0530

    BUG#23582603 - SOCKET LOCKFILE IS NOT CLEANED UP IF WRITE FAILS
                    , LEADING TO CRASHLOOPING.
    
    During server startup, the pid write to the lock file
    mysql.sock.lock fails (due to errros like disk full).
    The server doesn't delete it and return error. This
    may cause next server restart to fail unless the file
    is manually cleaned up.
    
    This fix shall be to try and unlink the socket lock file on
    failure of write, fsync and close failure.

commit 43f4d38ac66f06728634b5c27b61209b0fdaf888
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 12 18:33:09 2016 +0200

    Bug#23703343 fully-replicated blobs are not fully-replicated

commit a12474a0cc39a7def30c1458646685faece28809
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 18 22:20:27 2016 +0300

    bug#23330359
    
    Alter-inplace of fully-replicated table did not copy
    fullyReplicatedTriggerId, causing crash in DBDICT.

commit 9fba744178a8c8485b6c2c2d420c0d3fa0d49df2
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Aug 17 07:54:30 2016 +0200

    WL#6391: Post-push fix.
    
    Make sure we catch creation of tables like 'mysql.innodb_index_stats'.
    Must add explicit check for the sql comcode, since the meta data lock
    is not set to 'exclusive' at the point where this is checked during
    parsing.

commit 4efb25fd32488946667b80e0c4383645bfe733a3
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Thu Aug 18 18:52:07 2016 +0200

    WL#6599 New Data Dictionary and I_S integration
    
    Updating comment for TABLE_LIST->is_dd_ctx_table which was
    introduced in previous commit.

commit 90b3ade7055ecf14073a33c57aa760ff9b20aec7
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Aug 17 09:43:37 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    Post-push patch fixing POINT_SELECT performance regression fix.
    
    The patch does following improvement in open_tables() call flow,
    
    1 We were invoking dd::Dictionary::is_system_view_name() several
      times for a table. E.g., SELECT_LEX::add_table_to_list() would
      already know that if a TABLE_LIST is a system view. We were not
      setting TABLE_LIST->is_system_view here.  This patch sets this in
      SELECT_LEX::add_table_to_list() and avoids calls to
      dd::Dictionary::is_system_view_name() function call which goes
      throw all the system view names within the open_tables() call flow.
    
    2 We also avoid call to dd::Dictionary::is_dd_table_name().
      Basically there are two possibilities of open_tables() call seeing
      a DD tables.
    
      a) DD table being opened as part of DD operations invoking
         dd::Open_dictionary_tables_ctx::open_tables().
    
      b) DD table being opened as part of I_S system view execution.
    
      During open_table(), we need to know if a TABLE_LIST belongs to a
      DD table for several checks. Currently we do that by invoking
      dd::Dictionary::is_dd_table_name() which is a looking in a list.
      We can avoid that as described below.
    
      When open_table() is opening a DD table in case of a), the
      table_list used there is nothing but dd::Raw_table::m_table_list.
      And we are sure that this belongs to only DD tables. So, this
      patch adds a member TABLE_LIST->is_dd_table, which is set only by
      dd::Raw_table.  So the open_table() call now uses it.
    
      For b), we know that TABLE_LIST->is_system_view is marked for all
      the I_S system views. And
      TABLE_LIST->referencing_view->is_system_view would tell us that
      the TABLE_LIST is refering to a DD table. So, this avoids calls
      to dd::Dictionary::is_system_view_name().
    
    3 The function TABLE_SHARE::get_table_ref_version() is invoking
      both dd::Dictionary::is_dd_table_name() and
      dd::Dictionary::is_system_view_name().  This is a overhead.  This
      patch adds a TABLE_SHARE->table_category called
      TABLE_CATEGORY_DICTIONARY. This helps us avoid call to
      is_dd_table_name(). And use TABLE_SHARE->view_object->type() ==
      dd::enum_table_type::SYSTEM_VIEW to check if that is a system view.
    
    4 The patch does following change, that is not necessarily to
      improve the permformance. Basically the revno 56eaef86 sets
      MYSQL_OPEN_IGNORE_FLUSH flag while opening DD tables in
      Open_dictionary_tables_ctx::open_tables().  And later the revno
      11eeb00a removes this flag, expecting open_table() to set it for
      DD tables. Conceptually it looks correct to set this flag for all
      DD table at Open_dictionary_tables_ctx::open_tables() so this
      patch retain setting of this flag as done by revno 56eaef86.
      These revno are from mysql-trunk-wl6599-1 branch.

commit 112ecb9d6963f2a8bc30db87c82adcfad4aa9921
Merge: b983a3c 76cd347
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 16:11:22 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 76cd3470db148844c22b663a16cecf17c1d40bbe
Merge: 93cce68 0abbb08
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 16:07:11 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 0abbb0804f436f5238acf56b5e9cc8f0ba0b68e7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 16:05:38 2016 +0100

    Bug #24454340 	NDB : IMPROVE FIRE_TRIG_ORD SIGNAL PRINTER
    
    Improve FIRE_TRIG_ORD signal printer to help debug trigger related
    problems.

commit 40c6f8834ea7eee1157c1e610c4ceeb40066ef6b
Merge: 25138a5 e014f44
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Aug 18 16:58:12 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit e014f447d5a9c946461029d2c479befdc42c354a
Merge: 342c4dd b91d851
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

commit b91d851f82ba70bf775422d42c0e853f9116cbb1
Merge: 483c60e 32c9503
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Aug 18 16:49:08 2016 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit b983a3cd71f7a1bdddfc0ea7e6d87fb5b72c25e1
Merge: 6a6f779 93cce68
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 15:45:36 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 93cce6846d1f50b2c812bd76ee818bbd97ad8215
Merge: 45323d2 b74b08b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 15:39:05 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit b74b08b03c5b399b9bb6a9a2a8d50f673735abea
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 15:36:42 2016 +0100

    23709284     WL#9018:COMPLETE CLUSTER SHUTDOWN WITH ERROR "DBTC (LINE:
    14496) 0X00000006 CHEC
    
    Remove invalid assertion about cascading_scans_count reaching zero at
    ApiCon release time.
    
    Scan closing is asynchronous w.r.t the main transaction, so subscans
    may well take some time to close after the main transaction.  This
    is designed for in the implementation, therefore the assertion is
    invalid.
    
    New testcase added to cover this scenario.

commit 6a6f779868d530e1c0044146476110df04a0f282
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 17:11:55 2016 +0200

    Bug#23710999 PARTITION ID MAY BE SET INCORRECT FOR NEW FRAGMENTS USING REORGANIZE PARTITION
    
    Testcase modified to verify that all partitions have different (correct) partition id.

commit 00fd27854efe60fdfd7057705c3eb875fb029f6f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 17:09:47 2016 +0200

    Bug#23710999 PARTITION ID MAY BE SET INCORRECT FOR NEW FRAGMENTS USING REORGANIZE PARTITION
    
    Make ndb_desc -p show partition information in partition id order.
    Fixed by turning off parallel scans when reading partition information.

commit d96188e4cdf3f1cde73d1e90468936e79360b50a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 17 16:20:33 2016 +0200

    Bug#23710999 PARTITION ID MAY BE SET INCORRECT FOR NEW FRAGMENTS USING REORGANIZE PARTITION
    
    Fix.

commit 25138a592430cbd4e5a54640b4c0ddd746a23bc6
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Aug 17 16:19:37 2016 +0200

    Bug#24296291: FIX -WUNUSED-PARAMETER WARNINGS
    
    Patch #3: Fix -Wunused-parameter warnings in non-InnoDB-SEs
    and in mysys_ssl/

commit 24193514185c25fb9f5a1911ec5a87790d185876
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Aug 18 14:13:39 2016 +0200

    Bug#24482001 INNODB: UNUSED REDO LOG RECORD MLOG_UNDO_HDR_DISCARD
    
    MLOG_UNDO_HDR_DISCARD: Remove. Unused at least since MySQL 3.23.53.
    
    trx_undo_*discard*(): Remove.
    
    RB: 13721
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>

commit 9daba4814919db0abf6ec5dbeac04e9affb4e720
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 14:06:30 2016 +0100

    Bug #23539805 ALL REPORT MEM SHOWS WRONG DATA DISTRIBUTIONS
    
    Third post-push fixup.
    ndb_fully_replicated_restart2 can only run in a DEBUG built environment.

commit b39104758e3da7e5087b69f772bedceb4e4dddde
Merge: 802a18b 45323d2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Aug 18 14:40:51 2016 +0200

    Merge ../bug24482218_74 into mysql-5.7-cluster-7.5

commit 45323d240e2ddd5f2bee99b9802d0da5bb74e76f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Aug 18 14:39:37 2016 +0200

    BUG#24482218: Fix missing increment of m_exec_cnt in execute_signals, gives wrong output in threadstat ndbinfo table

commit c56c5a75da5c4a1768a7e63c78c750277908ba17
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Thu Aug 18 12:02:13 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    Post-push patch moving a result file to its right location
    and also recording results to capture correct error message.

commit 802a18b2749d75936bc883089438d6aeda367ed2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Aug 18 13:17:35 2016 +0200

    BUG#24424459: BUG#24424459: Ensure that we can set Read Backup using ALTER TABLE algorithm=inplace and also get it working with ordered indexes and unique indexes

commit 651c889c0aafb9cd1d8c97300787befc3054d37d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 18 11:28:57 2016 +0100

    Bug #23539805 ALL REPORT MEM SHOWS WRONG DATA DISTRIBUTIONS
    
    And another missing .inc file...

commit fe9fffb8eba6903638db2e63895e2414c4587fa6
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Aug 17 19:17:41 2016 +0100

    BUG#21146550 MTR RPL INCLUDES DO NOT SUPPORT DEFAULT CHANNEL AS
                 $RPL_CHANNEL_NAME
    
    This patch allowed replication mtr includes to support the passing
    of the default channel as rpl_channel_name parameter.
    
    It also made replication mtr include files to report the channel
    name being used when one was specified to be used by the include.
    
    This eases troubleshooting test cases related to multi source
    replication.

commit b3d4639964a435096b6a4db1ba3c7bbf45e9a626
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Aug 10 15:04:27 2016 +0200

    WL#7069: Followup. Avoid looking up dd::INVALID_OBJECT_ID in the DD
    
    dd::INVALID_OBJECT_ID does not identify a valid object, but when acquiring a DD
    object by id this is not explicitly checked and since the object is guaranteed
    not to be in the cache, a query of the DD table will always be performed before
    concluding that there is no such object.
    
    This overhead is avoided if acquire_tablespace() in sdi_tablespace.cc checks
    the table's tablespace id and returns early if it is dd::INVALID_OBEJCT_ID.
    
    Reviewed by Sivert Sørumgård

commit 32c950391ddd3dc698cf3bd464048040be41bac2
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Aug 12 12:38:20 2016 +0200

    Bug#24464380 PRIVILEGE ESCALATION USING MYSQLD_SAFE
    
    Argument to malloc-lib must be included in restricted list of
    directories, symlink guards added, and mysqld and mysqld-version
    options restricted to command line only. Don't redirect errors to
    stderr.

commit e6e206856a363c4aede911a7b1aa2956eb98348f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jul 29 13:19:00 2016 +0200

    Bug#22987899: ALTER TABLE MODIFY COLUMN DOES NOT SET
                  ALTER_CHANGE_COLUMN_DEFAULT FLAG
    
    Change the parser to the ALTER_CHANGE_COLUMN_DEFAULT flag
    is set not only for ALTER TABLE ... ALTER COLUMN ... SET DEFAULT
    but also for ALTER TABLE ... CHANGE COLUMN and MODIFY COLUMN
    if the DEFAULT clause is used.
    
    This means that inplace ALTER TABLE is now possible for
    column modifications on tables which have generated columns
    depending on columns with DEFAULT values if the modified
    columns are not involved in the generated expressions.
    For example changing the NULL property of a separate column
    can now be done inplace without table rebuild.

commit b1cb4c7af131f96c56adff48bed33eb184be78fc
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Aug 18 09:27:00 2016 +0200

    Bug #23753319: Post-push fix.
    
    Re-record innodb.mysql_innodb which includes mix1.inc which includes
    innodb_rollback_on_timeout.inc.
    
    Reviewed by Sivert Sørumgård.

commit 48d3c0418a87588e2fa9c2a247937fc0ab6fb755
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Aug 17 12:11:04 2016 +0200

    WL#7069: Followup. Avoid running perf unit test in debug builds, and reduce
    number of iterations in optimized builds.
    
    There is not much point in running a perf test in debug mode, and there is no
    point in wasting cpu on many iterations unless benchmarking.
    
    Patch reviewed by Tor Didriksen.

commit 44d849d244c39a723592f42825232c66fbc674e4
Merge: b2c0215 342c4dd
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 12:16:50 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 342c4dd82fec5a69539ed7d7230a3d3bd3f1b372
Merge: 21a7172 483c60e
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 12:15:24 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 483c60e9184e863e08487ea0c5e6f7a68a78e6dd
Merge: 7d57599 c9d8b21
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 12:14:06 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit c9d8b21cc1b161d44f85e0ea61de4a4c60f317fb
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 12:12:09 2016 +0530

    Post push fix - Does not give error on some platforms

commit b2c0215f4798633e346a659670999460e5b4d6a1
Merge: 61bd02a 21a7172
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 10:14:26 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 21a717268a7f2269510192f5eaa4895e253ee9f0
Merge: ddd89eb 7d57599
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 10:03:35 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7d57599249f858856dbb078375eb214a295a85eb
Merge: 9e9e0cd 0e73899
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 10:00:27 2016 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0e7389935866c29a8939998b3745894672a37c6b
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Aug 18 09:56:48 2016 +0530

    Bug #23135667: CRASH AFTER DEEPLY NESTED BUILD_EQUAL_ITEMS_FOR_COND
    
    Problem:
    When build_equal_items_for_cond gets called for a big query
    recursively, the specified thread_stack_size exceeds. But
    optimizer does not handle this condition. As a result, server
    exits.
    
    Solution:
    Check if we exceed specified stack size and if yes exit
    gracefully by throwing an error.

commit ac20c83258275236b95a9ae370cfd489fe63bf30
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Aug 17 21:08:29 2016 +0100

    Bug #23539805 ALL REPORT MEM SHOWS WRONG DATA DISTRIBUTIONS
    
    Missing testcase .cnf file from previous push

commit 61bd02a0237aa0b732cd446aca7456d433cdb235
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Aug 17 11:29:19 2016 +0200

    Bug#23106330: MISSING CHECK_STACK_OVERRUN IN JSON_BINARY::SERIALIZE_JSON_VALUE
    
    The JSON tests ran out of stack space on some platforms when running
    against a debug enabled server. Because of lacking checks for stack
    usage, the server would not detect this situation in time, and it led
    to the server exiting.
    
    The fix is twofold:
    
    1) It add calls to check_stack_overrun() before attempting to
    serialize a nested array or object in order to detect stack overruns
    up front and fail gracefully when processing deeply nested JSON
    documents. This prevents the server from exiting if it runs out of
    stack space.
    
    2) It reorganizes the code that serializes JSON document so that it is
    less stack-hungry when compiled without optimization. Specifically:
    
      a) The function json_binary::append_value() is manually inlined the
      two places it is called. This function is called recursively when
      serializing nested JSON documents, so inlining it removes one stack
      frame for each level of nesting in the document.
    
      b) The code in json_binary::serialize_json_object() that writes the
      key entries section of the object, is moved out to a separate
      function called append_key_entries(). This reduces the size of the
      stack frames for serialize_json_object(), which is called
      recursively when serializing nested objects.
    
      c) The cases for serializing opaque, datetime and decimal values in
      json_binary::serialize_json_value() are moved out to separate
      functions. This reduces the stack frame size of the recursive
      serialize_json_value() function.
    
    This makes the JSON tests pass with the default stack size on more
    platforms.

commit 090bedaa7097601011572220bcb5e0798867d9c7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Aug 17 16:54:53 2016 +0100

    Cleanup testcase comments

commit f8f5e46ea783357a490cc65999adc11943fcd706
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Aug 17 16:38:42 2016 +0100

    Bug #23539805 ALL REPORT MEM SHOWS WRONG DATA DISTRIBUTIONS
    
    After SR and NR, copy fragments were not being maintained or queried.
    This led to an observable imbalance after further DML.
    
    FR tables are implemented as a a set of one or more 'main' fragments
    containing subsets of the data, and zero or more 'copy' fragments.
    Each main fragment has zero or more copyfragments, one in each
    nodegroup.
    
    The relationship between main and copyfragments is known by DIH and
    used to provide a fragment with a node-local replica to read requests
    and to provide a sequence of fragment ids to FR maintenance triggers.
    
    This relationship was generated at table creation time, but was not
    rebuilt on restarts.
    
    A new testcase ndb_fully_replicated_restart2 is added which covers :
     - Rolling node restart + System restart with node takeover
     - Node-local replica reading with > 1 NG across multiple operation types
     - Copy fragment maintenance checks
    
    Existing testcase ndb_fully_replicated_restart is modified to :
      - Use > 1 NG
      - Actually use an FR table for the test!
    
    It still has somewhat limited utility
    
    Note that despite the push of a fix for bug#23702848 there are still parts of
    the new testcase commented out due to failures.

commit 192a6ee4b207c92adf67cdab724d33668c271868
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 16 16:10:08 2016 +0200

    Bug #24466419: WARNINGS WITH GCC 7.0 PRERELEASE
    
    Most of these are about debugging code and asserts, but there's also one
    case of genuinely invalid type-punning code.
    
    Fixed warnings (some duplicates have been removed):
    
    ../regex/main.c: In function 'eprint':
    ../regex/main.c:564:9: error: variable 'len' set but not used [-Werror=unused-but-set-variable]
      size_t len;
    
    ../unittest/gunit/components/mysql_server/dynamic_loader-t.cc:96:10: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=dangling-else]
           if (reg)
    
    ../sql/sql_partition.cc:7690:47: error: 'get_col_endpoint' may be used uninitialized in this function [-Werror=maybe-uninitialized]
         part_iter->part_nums.end= get_col_endpoint(part_info, FALSE,
                                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
                                                    !(flags & NEAR_MAX),
                                                    ~~~~~~~~~~~~~~~~~~~~
                                                    nparts);
                                                    ~~~~~~~
    ../client/mysqltest.cc:9043:10: error: unused variable 'len' [-Werror=unused-variable]
       size_t len= my_regerror(MY_REG_ITOA | err, NULL, epbuf, sizeof(epbuf));
    
    ../unittest/gunit/gis_algos-t.cc:335:47: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
       plgn5.outer() = *((Gis_polygon_ring *)(&ls8));
    
    Change-Id: I8600f7b117acea8ecb4c38c613ce1fa28a6f71bd

commit f359301134d03a5037c57f8f0450d3563bf520ac
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Aug 16 14:42:32 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-push patch fixing test cases for windows/osx pb2 failures.
    
    - Order the rows from INFORMATION_SCHEMA query.
    
    - Mask explain query warning which shows the INFORMATION_SCHEMA system view
      query definition. The definition of the system view varies between
      platform.
    
    - Create a separate result file for case sensitive and case sensitive file
      systems, because the definition of system view changes because of use of
      utf8_tolower_ci collation for few columns and the definition of
      sys.schema_auto_increment_columns vary. The test case
      v_schema_auto_increment_columns is written to ensure structure changes
      don't slip in.

commit 84b0b5889ef9143f94047aa7185c6c1d3c19e03b
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Wed Aug 17 13:14:30 2016 +0200

    WL#7167 - Change DDL to update rows for view columns in DD.COLUMNS and other dependent values.
    
    This is a post-push patch to fix wrongly recorded result for test
    commit_1innodb.test.

commit cc46968daf01571089ba9884c1f151379d4f6c06
Merge: baeb814 ddd89eb
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Aug 17 10:30:11 2016 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit ddd89ebb3c194d89d43c12625e75e083a9276002
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Jul 21 09:59:35 2016 +0100

    Bug#24330138 RPL.RPL_BINLOG_ERRORS FAILS SPORADICALLY ON WINDOWS
    
    Problem and analysis:
    
    The second part of the test case is doing a RESET MASTER to remove all binary
    log files and generating a single new binary log file. Then, the test case is
    simulating a binary log issue to make a FLUSH LOGS to not generate a new
    binary log file. The test case asserts that there is only a single binary log
    file on the data directory after the FLUSH LOGS.
    
    The assertion is using the following MTR command:
    --list_files $MYSQLD_DATADIR *master-bin.0*
    
    On Windows, it is possible that the old binary log cannot be removed promptly
    and the old file will be renamed to "master-bin.000001.<SOMETHING>.deleted". The
    problem is that the "deleted" file name will also match the assertion above
    described, making the test to fail.
    
    Fix:
    
    Used a pattern that will not display deleted binary log files on the test
    case.

commit baeb81437d15130f8263a3711b1d640d42602c15
Merge: 57d2e0a 9fb929c
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Aug 17 14:57:42 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9fb929c9d70eaf79e580fd4bbbdfeb18ae126b32
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Aug 17 14:55:38 2016 +0530

    Bug #22678436 MISSING INNODB_NUMA_INTERLEAVE
    
    PROBLEM
    
    InnoDB NUMA interleave support is missing from MySQL 5.7. Per manual the
    innodb_numa_interleave option to be available, MySQL must be compiled on
    a NUMA-enabled system. The bug is already fixed in trunk by
    bug#23259754.
    
    FIX
    
    Patch from rb#12650 is manually backported to mysql-5.7.
    
    Reviewd by: Tor Didriksen <tor.didriksen@oracle.com>
    Reviewd by: Annamalai Guruswami <annamalai.gurusami@oracle.com>
    
    RB: 12968

commit 57d2e0a31d034ac60f5d21a6de5af2519b23ea81
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Wed Aug 17 09:34:45 2016 +0300

    Fix Bug#21106321 IMPLEMENT HARDWARE/CPU CRC32 CALCULATION ON WINDOWS
    
    Implement CPU CRC32 instructions on Windows.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 10053

commit 039a35ff07e4d2275c7a91d3f3170dd17d0302d1
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Wed Aug 17 10:06:56 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    This is a post-push patch to fix memory leak identified by the
    ASAN in the unit test.
    
    Issue here is, memory allocated for Dictionary_impl class's
    instance is not deallocated in the unit test.
    Modified code to deallocate memory now to fix this issue.
    Even modified code to create instance of Dictionary_impl class
    only once at the test start and deallocate at the end.

commit 5d78e2c54065d0d462c3c45eab3933381166cfcf
Merge: 7105478 0556792
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 17 09:59:08 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0556792f751f1de7f3047cfb63abf9a1258d8a9f
Merge: 74615ac 9e9e0cd
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 17 09:58:12 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9e9e0cd44c686292762532851499feee5accd6ec
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Aug 8 14:19:32 2016 +0300

    Bug#24397406 INNODB: ALGORITHM=INPLACE FAILS TO PROMOTE UNIQUE KEY TO CLUSTERED INDEX
    
    When a table has no PRIMARY KEY, but there is a UNIQUE INDEX
    defined on NOT NULL columns that are not column prefixes,
    that unique index must be treated as the primary key.
    
    This property was being violated by InnoDB when a column was changed
    to NOT NULL, such that a UNIQUE INDEX on that column became eligible
    to being treated as a primary key.
    
    innobase_create_key_defs(): Instead of checking each ADD [UNIQUE] INDEX
    request, check if a GEN_CLUST_INDEX can be replaced with any unique index
    in the altered_table definition. So, we can have new_primary even
    if n_add==0.
    
    prepare_inplace_alter_table_dict(): When the table is not being rebuilt,
    assert that TABLE_SHARE::primary_key is not changing.
    
    RB: 13595
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>

commit 7105478a394e4cb05e401f4954af584de832852e
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 3 11:28:31 2016 +0200

    Bug#24397872 REMOVE UNNECESSARY METHOD HANDLERTON::RELEASE_TEMPORARY_LATCHES
    
    The sole purpose of handlerton::release_temporary_latches and its wrapper
    function was to release the InnoDB adaptive hash index latch. Now that the
    latch was removed by
    Bug#24300175 IMPROPER CALLS TO TRX_SEARCH_LATCH_RELEASE_IF_RESERVED
    the method has become a no-op and should be removed.
    
    Reviewed-by: Ramil Kalimullin <ramil.kalimullin@oracle.com>

commit de7e69852f34dfeb30d6ac8b437a81209703b608
Merge: 69fb0f8 74615ac
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 17 09:23:46 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 74615ac85f8558edc1c222c14ffe1b30bed26164
Merge: 6a76f46 228b8c1
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Aug 17 09:23:18 2016 +0200

    Null merge branch 'mysql-5.6' into mysql-5.7

commit 228b8c109dc49f6ab061055b462eed969a19e5aa
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Nov 5 13:19:57 2014 +0100

    Bug#24469860 BACKPORT BUG#19635706 TO 5.6
    
    Bug#19635706 `!!NEW_CLUSTERED == (INNOBASE_NEED_REBUILD(HA_ALTER_INFO) || ADD_FTS_DOC_ID)'
    
    Problem: Adding a unique index to a NOT NULL POINT column would
    trigger a warning and the key would not be promoted. Creating a
    unique index on a different NON-NULL column in the same table would
    then trigger an assert.
    
    The issue was introduced in the fix for Bug 17665767 which added
    special handling of unique indices on NON NULL POINT columns when
    reading frm-files, which ensured that such indices were promoted to
    primary keys. Since TABLE_SHARE::primary_key is set when reading
    the frm file, it was set to the index of the POINT column.
    
    But such columns were not excluded when setting the
    HA_KEY_HAS_PART_KEY_SEG bitfield, and since this is used by ALTER
    TABLE (sql and innodb) to determine if a key is promotable, the
    result was an inconsistency. Specifically, the warning was issued
    because TABLE_SHARE::primary_key was different from MAX_KEY when no
    key had been promoted.
    
    On the second alter the sql layer trusts TABLE_SHARE::primary_key (via
    candidate_key) to imply that the table already has a primary key, and
    so does not set Alter_inplace_info::ADD_PK_INDEX. This then triggers
    an assert in Innodb which has created a new clustered index, but sees
    innobase_need_rebuild(ha_alter_info) returning false (because
    Alter_inplace_info::ADD_UNIQUE_INDEX is not covered by the
    INNOBASE_ALTER_REBUILD mask, but Alter_inplace_info::ADD_PK_INDEX is).
    
    Solution: Use the algorithm from frm reading also when setting the
    HA_KEY_HAS_PART_KEY_SEG bit field, i.e. do not consider keys on POINT
    columns as partial.
    
    Note! This is not a good(tm) solution as too many code fragments need
    to be kept in sync manually. A better solution would be remove the
    dangerous non-persistent HA_KEY_HAS_PART_KEY_SEG bit field and create
    an is_key_partial() predicate which could provide this info from
    persisted data. Unfortunately, it looks like this approach will
    require more refactoring than what is reasonable, now that we're on
    the verge of getting a new data dictionary.
    
    (cherry picked from commit 2a3907076385512b1c4dbd8e2c0d21739031c573)

commit 69fb0f86059cddfe07cd698ed08e7499db230929
Merge: b82ca5b 6a76f46
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 17 11:43:15 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 6a76f46692726bffab2891d99f5132387fac0254
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 17 11:42:47 2016 +0530

    Bug#22915670 'XA ROLLBACK' ASSERTS AFTER FAILED XA PREPARE
    
    Post push to fix pb2 failure.
    The test script works only with debug build.

commit b82ca5b88d228e876264da788c01b26c10b6abca
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Aug 17 10:48:44 2016 +0530

    BUG#21046241 : MTR CONNECT() NOT WORKING FOR TCP AND SOCKET PROTOCOL OPTIONS
    
    Description :
    =============
    1. MTR connect() command doesn't accept TCP and SOCKET connection
       protocol in option field. For example
    
       connect(socket_con,localhost,root,,,,$MASTER_MYSOCK,SOCKET);
       mysqltest: At line 76: Illegal option to connect: SOCKET
    
       connect(tcp_con,localhost,root,,,,,TCP);
       mysqltest: At line 97: Illegal option to connect: TCP
    
    2. When using Windows connection protocol in MTR connect(), it's
       passing and taking connection with default protocol(socket) on
       linux. Connection using NAMED PIPE and SHARED MEMORY protocols
       on non-windows platforms should fail with following error.
       ERROR 2047 (HY000): Wrong or unknown protocol.
    
    Fix :
    =====
    1. Modified MTR connect() command to accept SOCKET and TCP protocols.
    2. Windows specific connection protocols(i.e SHM and PIPE) are not
       allowed on non-windows platform, if passed will result in wrong
       protocol error(ERROR 2047 (HY000): Wrong or unknown protocol).
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 13610

commit 1c16594b281f4ab6b74fde17649daf91165f6f20
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Wed Aug 17 10:40:17 2016 +0530

    Bug #24453571 	SERVER CRASHES WHEN INSTALL COMPONENT IS ISSUED,
                   AFTER MYSQL_UPGRADE
    
    Post push changes.
    component.test is failing because of the component_id and
    component_group_id are different in result file compared to the
    test run.
    When we run the tests component-upgrade.test and component.test
    together, mtr won't restart the server for the second test. Hence the
    component_id in the 'select' statement for component.test is showing
    different than in the value in result file.
    As fix, the 'select *' is updated with 'select count(*)'

commit adbff58e8e32c7d1d0e0076fc92a30d9d38123b8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 12 17:53:06 2016 +0200

    Added comment in Dbacc::getLastAndRemove.

commit 0df50a8294a68de70276e7205f54ade2f8aa4676
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 12 17:28:47 2016 +0200

    Bug#23539580 RESTART NODE CRASHED WITH AN ASSERTION "ASSERTION `((ELEMSCANNED >> (ELEMPTR % E
    
    Fix for failing assert:
    Error object: DBACC (Line: 7605) 0x00000002 Check !containerhead.isScanInProgress() failed

commit e5e70e410c932475af1f39086aa27b2f00f03ab1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 12 17:22:00 2016 +0200

    Bug#23539580 RESTART NODE CRASHED WITH AN ASSERTION "ASSERTION `((ELEMSCANNED >> (ELEMPTR % E
    
    Fix for failing assert:
    Error object: DBACC (Line: 7686) 0x00000002 Check oprec.p->localdata.m_page_no == key.m_page_no failed

commit 6434f97d6ba14d960d1c0e8522460cecddedb9d5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Aug 12 16:52:29 2016 +0200

    Bug#23539580 RESTART NODE CRASHED WITH AN ASSERTION "ASSERTION `((ELEMSCANNED >> (ELEMPTR % E
    
    Fix for failing assert:
    Dbacc.hpp:1401: void Dbacc::ScanRec::clearScanned(Uint32): Assertion `((elemScanned >> (elemptr % ELEM_SCANNED_BITS)) & 1) == 1' failed.

commit 63f2df0dd23b07e979639df26dc432e91e153baa
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Tue Aug 16 17:36:08 2016 +0530

    WL#6616 PERFORMANCE_SCHEMA, INDEXES
    
     Fixed test failure idx_compare_events_stages_history
     Fixed test/result for idx_compare_prepared_statements_instances

commit 418b8b05533df336944a28695b0eee25246835cd
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 15 12:30:37 2016 +0200

    Bug#24401273: PROBLEM WITH STORED FUNCTION WHICH GENERATES BIGINT UNSIGNED USED IN WHERE CLAUSE
    
    When constant-folding an item that resolves to an int, we need to keep
    the signed/unsigned flag, or we might replace a large unsigned value
    with a negative value, which will not compare the same.
    
    Change-Id: I187b07087693e49b8aadc5a259c5355eade927cd

commit c3ccf4584074fb033a4a07be5f654a516dd38ea9
Merge: 1877892 85a7e00
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 16 17:00:23 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 85a7e00b5e061152b94caa91f49c13e0847cdec0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 16 17:00:07 2016 +0530

    Bug#22915670 'XA ROLLBACK' ASSERTS AFTER FAILED XA PREPARE
    Problem: A 'XA PREPARE' that is failed in intermediate steps
    is leaving the 'xa' transaction state in a bad way
    (ID = -1 but binlogged flag is 'true'). This is causing problems
    (hitting asserts) while executing 'XA COMMIT/ROLLBACK' queries.
    
    Analysis: XA-prepare binary logging status is maintained by
    the flag XID_STATE::m_is_binlogged. This flag serves as
    a facility to conduct XA transaction two round binary logging.
    After XA prepare is written to the binary log, this flag is
    set to true. When the client executes XA COMMIT or XA ROLLBACK
    of a prepared transaction, do_binlog_xa_commit_rollback(...)
    will be called. This function fills in appropiate event in the
    statement cache whenever xid state is marked with is_binlogged()
    flag that indicates the prepared part of the transaction
    must've been logged. In MYSQL_BIN_LOG::commit, we are calling
    set_binlogged() before we have written the event to the binlog.
    If there are some error cases (eg: transaction cache not finalized
    or before_commit hook had some issues), then we will be invalidating
    the XA transaction. This will leave this XA's state in a bad state
    i.e., set_binlogged() is true but XA's ID is invalid (-1). This
    bad state of the XA cause problems when XA COMMIT or XA ROLLBACK
    is executed for that transaction.
    
    Fix: Call set_binlogged() only after binlogging the event
    i.e., after verifying all the error cases.

commit 1877892fe45cc504daf548ef0dd6de4f51cfb1f8
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Aug 16 15:49:38 2016 +0530

    Bug#24453571 SERVER CRASHES WHEN INSTALL COMPONENT IS ISSUED, AFTER MYSQL_UPGRADE
    
    Description: mysql server crashes while running INSTALL COMPONENT, after mysql_upgrade
    
    Analysis: When the server is started with out mysql.component table in database,  mysql_persistent_dynamic_loader_imp::init() call fails with the error. Becasue open_component_table() is failing because of mysql.component table is not present.
    And later if we give INSTALL COMPONENT it will call mysql_persistent_dynamic_loader_imp::load() and it fails at
    mysql_persistent_dynamic_loader_imp::is_initialized condition because this flag is not set at init() time.
    And there is no error set along with this failure. Hence the crash at THD::send_statement_status() at the end of query exicution.
    
    Fix: In init() function pretend that the initialization succeeded and make the group_id as '0'. And also return the error messages when the is_initialized flag is checked at load()/unload() function so, that the proper error message is send to the client. By pretending the initialization it will help incase of mysql_upgrade.

commit ef7e3cb1dccc33d09635b2a71a7720c3499986e3
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Tue Aug 16 14:50:15 2016 +0530

    WL#6616 : WL#6616 PERFORMANCE_SCHEMA, INDEXES
    
    	Fixed tests failures.

commit 3b2d6b86fd58885eb31edaaa662219a1acf9fb36
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Jul 15 11:46:23 2016 +0200

    Bug #23753319: !M_THD->TRANSACTION_ROLLBACK_REQUEST' AT
    THD::ATTACHABLE_TRX::INIT IN SQL/SQL_C
    
    Problem: When CREATE TABLE ... AS SELECT ... fails,
    Query_result_create::abort_result_set() would only call trans_rollback_stmt(),
    even if THD::rollback_request was true.
    
    Dropping the open table would then lead to a removal of the SDI which, in turn,
    would lead to a DD read (to obatain the tablespace object). That would result
    in the creation of another attachable transaction, which caused the assert
    since a rollback had been requested.
    
    Solution: Modify Query_result_create::abort_result_set() so that it also calls
    trans_rollback_implicit() if THD::rollback_request has been set.
    
    Test case added to innodb.innodb_timeout_rollback.test since this test is
    being run with the --innodb_rollback_on_timeout option, and a rollback
    request caused by a timeout can be used to reproduce this issue.

commit 7b022ab4fd4f792b4f3254080dfaeb2642e196d0
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Tue Aug 16 04:44:15 2016 +0200

    WL#6599 - New Data Dictionary and I_S integration.
    
    Make main.dd_is_concurrency test work without using
    mysql_version_id, else the test case would be broken
    everytime we bump the version number.

commit 5bffac44f586411518b020a1c67b70a5f44721b0
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Aug 16 13:57:50 2016 +0530

    Bug#24337411: MYSQL DEFAULTS-EXTRA-FILE AND -LOGIN-PATH OPTIONS
                  NOT WORKING WITH MTR --RESTART
    
    Issue:
    ------
    Passing the --defaults-extra-file or the --login-path option
    in a MTR test to restart the server results in an "unknown variable"
    error because option file options need to be passed to the server
    before any other variable or option.
    
    Fix:
    ----
    A new sub routine which processes these option file options
    before the mysqld variables has been added to the perl script.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    Reviewed-by: Lalit Choudhary <lalit.choudhary@oracle.com>
    RB: 13535

commit 86c104f785faf2d0a4a055c4fd187dd83eb53e2f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Aug 10 12:44:09 2016 +0200

    Bug #24438752: MYSQL DOES NOT COMPILE ON GCC 6.1.1
    
    GCC 6 is more aggressive about warning for duplicated conditions in if
    statements, e.g., “if (foo || foo) ...”. Unfortunately, it does not
    properly suppress these warnings when they arise from expanding macros
    (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69602). The easiest
    way to suppress them is to simply change the macro into an inline function,
    which gives us the added benefit of type checking the arguments.
    
    Fixes compilation on Debian stretch (GCC 6.1.1-10).
    
    Change-Id: I5fb6a48db2ff88e3fa491bdff6cfc4e7ca1d9f12

commit da1657da92bfc95b53dca72c6bf4eaf28a24ac64
Merge: b0cb1f0 40badfe
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Aug 16 13:48:50 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 40badfe58fbc409e3f78817745fc9bc22a496086
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Aug 11 11:47:39 2016 +0530

    Bug#22891628: BINARY GROUP COMMIT HANGS WHEN
    BINLOG_GROUP_COMMIT_SYNC_DELAY IS SET TO [1-9]
    
    Problem:
    =======
    When binlog_group_commit_sync_delay is set to [1-9]:
    1) If binlog_group_commit_sync_no_delay_count > 1, and the
    number of transaction commits is less than
    binlog_group_commit_sync_no_delay_count, these commits will
    hang forever if no more commits come in;
    2) If binlog_group_commit_sync_no_delay_count = 0, all
    transaction commits will hang forever;
    
    Analysis:
    =========
    Setting binlog_group_commit_sync_no_delay_count option means
    that the server exits the wait procedure if the number of
    sessions reaches the count given before the timeout i.e is
    set in binlog_group_commit_sync_delay elapses. In order to
    check if session count has reached the given limit, the
    waiting time is broken into small intervals called as delta.
    The delta is calculated as 1/10 of total wait time. After
    each delta waiting time is elapsed queue size is checked to
    see if count has reached. If count is not reached then
    wait_time= wait_time - delta. This process is repeated until
    wait_time > 0 and count has not been reached.
    
    If the wait_time is set to [1-9] then the delta will become
    0. If number of transaction commits is less than the count
    and the delta is '0' then wait_time = wait_time - delta will
    be a no-op. This will cause the commits to hang as the wait
    will never end.
    
    Fix:
    ===
    Have '1' as the minimum delta value,
    i.e max(1, wait_time * 0.1) is set as delta.
    If 1 > (wait_time * 0.1) then delta=1 other wise
    delta= (wait_time * 0.1).

commit b0cb1f0267edb38baff35b99c86d3e268997d9c0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 16 09:21:38 2016 +0200

    Doxygen version number

commit b352ea88ce5acd4d5b516ea36dd2b89c308b2bd7
Merge: de13534 70e37d5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Aug 16 11:38:16 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    (Bug #23602217 Post Push Fix)

commit 70e37d5855c2ae1131227dd150ae68ea9af779b9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Aug 16 11:34:20 2016 +0530

    Bug #23602217: MISSES USING OLDER LCP WHEN LATEST LCP IS NOT RECOVERABLE
    
    Post Push Fix
    
    Use a new value for the LCP Restored log event as the previous value
    was available in 7.4 but not in 7.5

commit 0b21a0fe90ca9ea8df264ce05f4a36722fbf0cc5
Merge: 86c6eff 7354ad7
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Aug 16 10:43:16 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7354ad7ad1e36680bcf985285a97d42dcba44533
Merge: 9549bc6 fb49b67
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Aug 16 10:42:57 2016 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fb49b67897d63a5c53c59f0ec158568a5202631e
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Aug 16 10:39:57 2016 +0530

    Bug#22202516: ENABLING SEMI-SYNC DURING COMMIT CAN CAUSE
    MASTER TO ASSERT.
    
    Problem:
    ========
    To be more specific, the problematic code is in
    ReplSemiSyncMaster::commitTrx() , line 792 , with
    assert(entry);
    
    In fact, 'entry' is not NULL only if semi-sync was enabled
    when the commit phase started. If semi-sync is enabled
    between commit and after_commit() then 'entry' will be NULL
    and the above assert will cause mysqld to assert.
    
    Analysis:
    =========
    In semi sync replication a transaction that gets committed
    on master will wait for an acknowledgement from slave.
    In order to achieve this there are few steps that are
    carried out during different stages of commit. First comes
    flush stage. One 'Entry' node (active transaction node) is
    created and it is associated with a single transaction or a
    group of transactions that got flushed at the flush stage.
    This object gets inserted into active transaction list. Next
    comes sync stage. After sync stage the commit is finalized.
    At this stage for each thread trx_wait_binlog_name and
    trx_wait_binlog_pos are set with respect to their
    corresponding binary log positions. While the dump thread
    sends these transactions across the network and receives
    their ack,  the thread that performed commit has to wait. In
    order to do that the committed thread gets its
    trx_wait_binlog_name and trx_wait_binlog_pos and tries to
    retrieve the corresponding entry node that is associated
    with this position. There are two scenarios where the Entry
    node may not be present.
    
    case 1: Where the transaction was already acknowledged as
    the slave's reply positions are higher than the current
    threads waiting positions.
    
    case 2: When transaction entered into flush stage of
    ordered_commit semi sync was not enabled and there was no
    corresponding active transaction node that got created.
    
    Case 1 will never get to waiting stage as it has already
    got the ack. It will simply go away. But case 2 will result
    in the above assert as it is trying to wait for an ack.
    
    Transactions which fall under case 2 should not wait for
    ack. They should simply exit and they should be considered
    as async transactions.
    
    Fix:
    ===
    If a transaction doesn't find a corresponding 'Entry' in the
    active transaction list and it has not received
    acknowledgement from slave then this transaction will not be
    considered as semi sync transaction and it will not wait for
    an ack.

commit 86c6effa3f384c262d369f587d2a97ba3467dbdd
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Aug 16 09:46:39 2016 +0530

     Bug#24447771: ACL_INIT() RETURNS TRUE ON 5.7 DATA DIRECTORY
    
    Description: If MySQL server is started with 5.7 data
                 directory, we fail in acl_init() because
                 role_edges and default_roles tables are
                 missing. Fixed this issue by moving roles
                 initialization to a separate function and
                 print a warning on server log in case
                 required tables are missing.

commit 739d6ef1db78638d9b8a4744d55aab8233dbe166
Merge: 1fe846d 9549bc6
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Aug 16 09:11:55 2016 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9549bc6273acd60dfa059c83becbe4861cc1bcfc
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Aug 16 09:09:34 2016 +0530

    Bug#22919028 - MYSQLPUMP DOES NOT HANDLE RE-IMPORT FROM
                   UPGRADE
    
    DESCRIPTION
    ===========
    When doing an in-place upgrade using 'mysql_upgrade'
    utility (from 5.6/lower to 5.7) followed by export done
    through mysqlpump, we get the following error while
    importing this dump.
    
    "Invalid default value for {date_field}"
    
    ANALYSIS
    ========
    The default SQL mode in v5.7 includes NO_ZERO_DATE as a
    result of which '0000-00-00' (if any) is not permitted in
    datetime fields.
    
    One of the ways to allow this is to temporarily suppress
    the above mode while importing the data.
    
    FIX
    ===
    Sql_formatter::format_dump_start() has the code which
    sets the configuration variables at the top of the dump
    file generated through mysqlpump. Added the code to
    override the above mode (one of the default sql modes) with
    "NO_AUTO_VALUE_ON_ZERO" by setting this value in session
    variable 'SQL_MODE'. Resetting to its default value in
    Sql_formatter::format_dump_end()

commit 1fe846db7004333611ee3ef961bfc4d6185b2b91
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Aug 16 04:54:45 2016 +0200

    Bug#24331265 MEMORY LEAK IN SOME INNODB FTS TESTS
    
    Re-enable the tests in ASAN
    
    Approved by Shaohua Wang <shaohua.wang@oracle.com> over IM.

commit 6cdcb52b86a76dfe6b66e4bf8bed436137941bd9
Merge: 0bd1abb 3dc8ba9
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Aug 16 03:44:04 2016 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3dc8ba965571a0cacac87d6574019dfb302e6d83
Merge: 7a0c5d7 6ae4c06
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Aug 16 03:37:29 2016 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6ae4c060e8b583fe6e5071e671c6d985492f0caf
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Aug 16 03:33:21 2016 +0200

    BUG#24331265 MEMORY LEAK IN SOME INNODB FTS TESTS
    
    We don't free some memory used by fts optimize thread in release build.
    
    Patch approved by Allen.Lai over IM.

commit 0bd1abb1651d9eaa44e1fd877ed2962e50e15a6b
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sat Aug 13 21:59:25 2016 +0200

    WL#6616 PERFORMANCE SCHEMA, INDEXES - ASAN fix, remove debug code

commit e2a05a5bf073b4aaa28d9008c0e1951568dc4087
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 15 18:14:08 2016 +0200

    Follow-up fix to the version number bump.
    
    Bump the version number check for show_compatibility_56

commit caed7b52f8049dabb2214225e0523571b7eb7bdd
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Aug 15 17:22:34 2016 +0200

    Raise version number after cloning 8.0.0-dmr

commit de13534690a7cccbbb561b98fb28b03e98bfb6c1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 17:29:02 2016 +0200

    BUG#24454378: Fix such that only unique indexes fires for deferred constraints, BUG#23539733: Added test cases also for BUG#24453949, BUG24454093 and BUG24454378

commit a723c9c6cd0a1d64b88d6faecf65ba79d84f36a6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 17:04:05 2016 +0200

    BUG#24454262: Increased default number of trigger records to cater for fully replicated triggers

commit 392688b83c143fa37e3d113927bef1bdf6d39ac7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 16:47:25 2016 +0200

    BUG#24454093: Fix incorrect state handling in executeFullyReplicatedTrigger after returning from execTCKEYREQ, fixed minor spelling error

commit a832ff55741f1959571320b0f5aae54a83fd508b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 16:10:48 2016 +0200

    BUG#23703536: Ensure that Read Backup is used properly also on scans of BLOB tables

commit 7f0948b5af51a3a83f4371fa7c8e4b7cd75a1f69
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 16:04:58 2016 +0200

    BUG#23702848: Ensure that ReadBackup also affects Unique Indexes

commit 1f3c40cca598afee3aed47459505f006552ba487
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Aug 12 16:02:43 2016 +0200

    BUG#24453949: Fix LQHKEYREF handling after returning from Fully replicated trigger

commit 5105a8ba3cf8cbdab21913e44b625e811d142546
Merge: 79b4d1f f281edd
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Aug 12 00:31:52 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit f281edd0b05877eca4308091b9302cea58f41684
Merge: e75d7e9 c3c75bb
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Aug 12 00:13:19 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/test/ndbapi/testNdbApi.cpp
    	storage/ndb/test/run-test/daily-devel--07-tests.txt

commit c3c75bb2c2dcc39972fdc4577cf402f7cb917ce8
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 11 23:35:10 2016 +0100

    Bug #23709232 	WL#9019: MASTER NODE CRASHED WITH ERROR "DBTC (LINE: 3306) 0X00000006 CHECK !M_C
    
    Remove potential transaction id reuse scenario.
    
    Transaction id reuse was detected by a separate mechanism checking
    the sanity of CommitAck markers in the TC block.
    
    The reuse could occur when Ndb objects were being created and
    deleted concurrently.
    
    Two new testcase added to cover this scenario.

commit 79b4d1f5a27ae2b25468def0f93281bb20fb432e
Merge: c4cd52f e75d7e9
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Aug 11 20:01:39 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit e75d7e98d3cf2071e52598aab07b2ec8bef743bb
Merge: 49400ea c5eed48
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Aug 11 20:00:43 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c5eed48f05df11c0b05851d849d386ff3d159975
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Fri Jun 24 16:20:33 2016 +0530

    Bug #23152979: CLUSTER: POSSIBLE BUFFER OVERFLOW ISSUES
    
    BACKPORTING patch to 7.3
    
    DESCRIPTION
    ===========
    Buffer overflow is reported in a lot of code sections spanning
    across ndb code.
    If not handled propoerly, they can cause abnormal behaviour.
    
    ANALYSIS
    ========
    The reported cases are the ones which are likely to cause
    SEGFAULT, MEMORY LEAK etc.
    The function readDataPrivate has a memcpy() that could lead
    to buffer overflow.
    Possible buffer overflow due to strcat() in get_prefix_buf().
    ndb_end() not called in many places due to which memory leaks
    could happen.
    
    FIX
    ===
    1) Made modifications in code paths leading to readDataPrivate
    to prevent buffer overflow:
    
     (i) sql/ha_ndbcluster_binlog.cc: Passed size of buf instead of
     passing UINT_MAX as the "bytes" arg.
     (ii) Added a require() in storage/ndb/tools/ndb_lib_move_data.cpp,
     to make sure "length1" is lesser than or equal to the buffer
     size.
    
    2) Added a require() in get_prefix_buf().
    
    3) Added an inline funcion ndb_end_exit() that calls ndb_end() and
    then exits from the program. Substitued return/exit() with ndb_end_exit()
    in places where ndb_end() was missing.
    
    (cherry picked from commit 49400ead2657504457d7b4c0c0b3a3710c6eabfb)
    
    Conflicts:
    	storage/ndb/src/common/portlib/NdbConfig.c
    	storage/ndb/src/kernel/blocks/dbdih/printFragfile.cpp

commit c4cd52f3d9f23bf25612552bd580c137966a767c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 11 16:14:50 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Updated test result for ndb_binlog_purge_upgrade.

commit ff2778ed1b9f9fbea593c1781ccb2788de7be0fa
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Aug 11 17:44:01 2016 +0530

    Bug #23152979: CLUSTER: POSSIBLE BUFFER OVERFLOW ISSUES
    
    Post-push fix.
    Removed NDB_COMMAND and replaced with main function.

commit 6661454d485154a26ccefff4820a9eb196932d41
Merge: facd6c2 49400ea
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Aug 11 16:41:18 2016 +0530

    Bug #23152979: CLUSTER: POSSIBLE BUFFER OVERFLOW ISSUES
    
    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	storage/ndb/src/kernel/blocks/dblqh/redoLogReader/reader.cpp
    	storage/ndb/src/mgmsrv/mkconfig/mkconfig.cpp

commit 49400ead2657504457d7b4c0c0b3a3710c6eabfb
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Fri Jun 24 16:20:33 2016 +0530

    Bug #23152979: CLUSTER: POSSIBLE BUFFER OVERFLOW ISSUES
    
    DESCRIPTION
    ===========
    Buffer overflow is reported in a lot of code sections spanning
    across ndb code.
    If not handled propoerly, they can cause abnormal behaviour.
    
    ANALYSIS
    ========
    The reported cases are the ones which are likely to cause
    SEGFAULT, MEMORY LEAK etc.
    The function readDataPrivate has a memcpy() that could lead
    to buffer overflow.
    Possible buffer overflow due to strcat() in get_prefix_buf().
    ndb_end() not called in many places due to which memory leaks
    could happen.
    
    FIX
    ===
    1) Made modifications in code paths leading to readDataPrivate
    to prevent buffer overflow:
    
     (i) sql/ha_ndbcluster_binlog.cc: Passed size of buf instead of
     passing UINT_MAX as the "bytes" arg.
     (ii) Added a require() in storage/ndb/tools/ndb_lib_move_data.cpp,
     to make sure "length1" is lesser than or equal to the buffer
     size.
    
    2) Added a require() in get_prefix_buf().
    
    3) Added an inline funcion ndb_end_exit() that calls ndb_end() and
    then exits from the program. Substitued return/exit() with ndb_end_exit()
    in places where ndb_end() was missing.

commit facd6c21ceb6c781afac2e97a53a291413b01b61
Merge: dd4ede0 cf7e406
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 11 12:27:41 2016 +0200

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit cf7e4069858c2e3dcf9d4e1d1774736e2daf054c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 11 11:45:22 2016 +0200

    Bug#23053615 NDB_SLAVE_MAX_REPLICATED_EPOCH CONTAINS GARBAGE VALUE ON SLOW HOST
    
    A theory for the sporadic test failures is that string comparison of system
    variables containing integer data is prone to errors when numbers become
    large. To avoid this we modify the test case to avoid string comparison
    by forcing selection of system variables into integers using dummy arithmetic (+0).

commit dd4ede0bba533ced1e4bbeabbe9c7ed354bc6981
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Aug 11 11:45:22 2016 +0200

    Bug#23053615 NDB_SLAVE_MAX_REPLICATED_EPOCH CONTAINS GARBAGE VALUE ON SLOW HOST
    
    A theory for the sporadic test failures is that string comparison of system
    variables containing integer data is prone to errors when numbers become
    large. To avoid this we modify the test case to avoid string comparison
    by forcing selection of system variables into integers using dummy arithmetic (+0).

commit 437705e9251d8f62bd94a282d911dab4578c241d
Merge: b49960c 82d544c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 15:40:06 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 82d544ceb37f4dd2b6a09dd728c29a7c4a099629
Merge: badcad3 41c5a51
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 15:38:28 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 41c5a51806427ef16634e3844fadfb7d0c22e428
Merge: 5ed0285 2ddd835
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 15:37:03 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 2ddd8354a63ce8452defeaa85c9f5ecf02bffca2
Merge: 74e6b04 0496931
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 15:26:47 2016 +0530

    Merge tag 'mysql-5.5.51' into mysql-5.5-cluster-7.2

commit b49960ca3d10f1f6325c910b89fe68da1539ee18
Merge: 4dd9214 badcad3
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 15:05:48 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit badcad3410129fc00482869ca2fe6a5ce97fdfb9
Merge: b44f046 5ed0285
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 14:57:39 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (5.6.32 Merge)

commit 5ed02854ad35b9230a2d4cbd656d0214981f3c01
Merge: de3ff28 f84c952
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 14:46:59 2016 +0530

    Merge tag 'mysql-5.6.32' into mysql-5.6-cluster-7.3

commit 4dd921400e174a7af4c031915b3de5805d5cd967
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 14:21:08 2016 +0530

    Post Merge Fix
    
    Update the json_insert_ndb result file to reflect the changes
    made in json_insert.inc as part of fix for Bug #22843444

commit b26d309798018269e172df97cf7d987c3369d4ec
Merge: 0547587 04c9384
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 11 12:20:05 2016 +0530

    Merge tag 'mysql-5.7.14' into mysql-5.7-cluster-7.5

commit 05475878ae8a8420987a13cf68929da1cf5bdc28
Merge: b070016 b44f046
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Aug 10 13:01:30 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug #23602217)

commit b44f04640b4e22445a505b3e2d0e7db990a688dd
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Aug 10 12:38:04 2016 +0530

    Bug #23602217:  MISSES TO USE OLDER LCP WHEN LATEST LCP IS NOT RECOVERABLE
    
    Problem:
    --------
    
    When a fragment is to be restored it can mostly use LCPs. In 7.4 there are
    upto 2 LCPs that can be recoverable. However sometimes an LCP is reported
    as completed to DIH and then crashes before the last GCI written into this
    LCP has completed. In this case one of the LCPs is not restorable and the
    older LCP should be used, which was not happening thus resulting in longer
    restart times.
    
    Fix:
    ----
    
    Ensured that the older LCP is picked up to be restored. Also added test
    coverage to check that the older LCP was picked up and there were no bugs
    in the new flow of execution.

commit b070016cfa649fe75062f45f1b72ace9c7a99ef1
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Tue Aug 9 17:52:53 2016 +0530

    The result column name can be different with the same
    result rows for prepared statements if query cache is enabled.
    If a placeholder ('?') is used in a prepared statement with SELECT query,
    as the column field, it is used as the result column name.
    Eg: SELECT ? FROM t1 where a=1;
    If the same SELECT query is executed later without the placeholder and
    turns out to be same as the previous query with the placeholder substituted,
    it is identified as a cached query. Hence, the previous result column name
    (with ?) is displayed in the result.
    
    This test is intended to verify the working of prepared statements.
    So it seems reasonable to disable this test when the QC is enabled, to avoid
    the test failure notification.

commit 65e3ba2b935c62d8c845468de7b8ca409d23dd39
Merge: 69423d1 fd1351c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Aug 9 12:40:33 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 69423d176505b4f86c61c65e445896982f047c25
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Aug 9 12:25:27 2016 +0200

    Bug #22904640 	AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Modified ALTER statement to use new syntax.

commit 8f912021a134fed0bef7a25b26763de1678f6281
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Aug 9 11:48:47 2016 +0200

    Bug #22904640 	AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Disabled test for embedded since include/assert_grep.inc doesn't work
    with embedded, but that is needed to run on windows.
    Added new test case for embedded using 'grep' that is disabled for windows.

commit fd1351c414fcba23b13340ad5dd2723cfba376c5
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Aug 9 11:48:47 2016 +0200

    Bug #22904640 	AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Disabled test for embedded since include/assert_grep.inc doesn't work
    with embedded, but that is needed to run on windows.
    Added new test case for embedded using 'grep' that is disabled for windows.

commit c72b09dfd4b2f645175947c0746839c7f18a77d9
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Aug 9 10:35:44 2016 +0100

    Modify ndb_read_balance test to skip if the Query Cache is enabled.
    
    Having Query cache enabled adds an extra table scan to each PK lookup.
    This affects the results as they show the low level table operations
    occurring for a given SQL statement.
    The test is intended to verify read routing and balance, which is determined
    at layers below the Query Cache.
    So it seems reasonable to disable this test when the QC is enabled, to avoid
    the test failure notification.

commit 0a1f9cf9dda87fbbfe3142a5e98b898358b89796
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon Aug 8 16:49:21 2016 +0200

    Bug#24425373 - BACKUP FAILS WITH UNKNOWN ERROR CODE
    
    Adding some debug to trace the error

commit 841adcc7576937424138b4d0815d956fa682d4fe
Merge: bc21e42 7061023
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri Aug 5 17:11:30 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM

commit 706102310a6a48135194a02eb990f2c8e9d080bb
Merge: ce2c37f de3ff28
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri Aug 5 17:10:22 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM

commit de3ff2879bd640304e3f04da6fff58e4bc329e2f
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri Aug 5 17:08:05 2016 -0700

    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM
    
    Add helper class Classification to ClusterJDatastoreException
     * import com.mysql.clusterj.ClusterJDatastoreException.Classification;
     * Classification c = Classification.lookup(datastoreException.getClassification());
     * System.out.println("exceptionClassification " + c + " with value " + c.value);

commit bc21e42be7f8c15e6edb50fd921a2c1ee807e843
Merge: 38dec92 ce2c37f
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Aug 4 17:42:07 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM
    
    Add getCode() and getMysqlCode() to ClusterJDatastoreException

commit ce2c37f63993451c3b1ecab914d9437a071597df
Merge: 3cea6fd 8db6042
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Aug 4 17:41:30 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM
    
    Add getCode() and getMysqlCode() to ClusterJDatastoreException

commit 8db6042be982b59af4e712c87cfb5262026e00c5
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Aug 4 17:40:15 2016 -0700

    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM
    
    Add getCode() and getMysqlCode() to ClusterJDatastoreException

commit 38dec922642aa75fa6de6780e7a7df00657a62aa
Merge: f71399d 3cea6fd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Aug 4 11:35:36 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 3cea6fd1ec3d4d437079363aa515575d83892c4b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Aug 4 11:09:28 2016 +0200

    Patch for bug#20402364: NDB_ADDNODE_WITHBINLOG FAILS DUE TO EVENT API STALL
    
    Fixes various issues related to 'out of order' (OOO) completed event buckets:
    
    1) Change nodegroup w/ SUB_CNT (remove nodes):
       Newer epochs which becamme complete after removing
       the nodes were not detected as out-of-order completed
       (as reported in the bug reported).
    
    2) Change nodegroup w/ ADD_CNT (add nodes):
       Newer epochs need to wait for sub_gcp_complete from
       newly added nodes are falsely considered as complete
    
    3) Pure OOO of OOO where 'm_latest_complete_GCI' is overwritten
       by a lower epoch completing later: While waiting for epoch
       'n' to complete, 'n+2' complete OOO, then 'n+1' causing the
       OOO' completed 'n+2' to be overwritten.
    
    Whenever nodes are added or removed, the event-API is
    notified by a SUB_GCP_COMPLETE_REP with either the
    SUB or ADD flag set, and number of nodes to ADD/SUB.
    This allows the Event-API to correctly maintain the number
    of SUB_GCP_COMPLETE_REPs needed to be received in order to
    complete a bucket.
    
    When receiving a 'nodegroup ADD/SUB' the bucket fixup
    is handled by NdbEventBuffer::handle_change_nodegroup().
    In addition to handle the bucket for the epoch associated
    with the SUB/ADD, it also has to adjust the 'm_gcp_complete_rep_count'
    of the buckets assiocated with newer epochs arrived 'out of order'.
    
    As mentioned in 1), that could possible complete
    any such 'out of order' buckets. However, the code for
    annotating the buckets as 'out of order' completions
    was missing! Thus event reception effectively stalled.
    
    This patch adds detection and handling of out of order
    completion as part of ::handle_change_nodegroup().
    (issue 1) & 2))
    
    It also adds protection against 'out of order' completion
    arriving 'out of order' in itself. For example if epochs
    completes in the order n+2, n+1, n, the second out of order epoch
    will set 'm_latest_complete_GCI = n+1', thus loosing the
    completion of 'n+2' causing a later stall in the event-API
    (issue 3) )
    
    Also fixes some const correctness in related code.

commit f71399da7fad452cca14734bd97c431cb2ff139f
Merge: a0f372b bc8eedc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Aug 4 11:29:10 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit bc8eedc27e21dff064a28f35e48c6c77256c3f9a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Aug 4 11:09:28 2016 +0200

    Patch for bug#20402364: NDB_ADDNODE_WITHBINLOG FAILS DUE TO EVENT API STALL
    
    Fixes various issues related to 'out of order' (OOO) completed event buckets:
    
    1) Change nodegroup w/ SUB_CNT (remove nodes):
       Newer epochs which becamme complete after removing
       the nodes were not detected as out-of-order completed
       (as reported in the bug reported).
    
    2) Change nodegroup w/ ADD_CNT (add nodes):
       Newer epochs need to wait for sub_gcp_complete from
       newly added nodes are falsely considered as complete
    
    3) Pure OOO of OOO where 'm_latest_complete_GCI' is overwritten
       by a lower epoch completing later: While waiting for epoch
       'n' to complete, 'n+2' complete OOO, then 'n+1' causing the
       OOO' completed 'n+2' to be overwritten.
    
    Whenever nodes are added or removed, the event-API is
    notified by a SUB_GCP_COMPLETE_REP with either the
    SUB or ADD flag set, and number of nodes to ADD/SUB.
    This allows the Event-API to correctly maintain the number
    of SUB_GCP_COMPLETE_REPs needed to be received in order to
    complete a bucket.
    
    When receiving a 'nodegroup ADD/SUB' the bucket fixup
    is handled by NdbEventBuffer::handle_change_nodegroup().
    In addition to handle the bucket for the epoch associated
    with the SUB/ADD, it also has to adjust the 'm_gcp_complete_rep_count'
    of the buckets assiocated with newer epochs arrived 'out of order'.
    
    As mentioned in 1), that could possible complete
    any such 'out of order' buckets. However, the code for
    annotating the buckets as 'out of order' completions
    was missing! Thus event reception effectively stalled.
    
    This patch adds detection and handling of out of order
    completion as part of ::handle_change_nodegroup().
    (issue 1) & 2))
    
    It also adds protection against 'out of order' completion
    arriving 'out of order' in itself. For example if epochs
    completes in the order n+2, n+1, n, the second out of order epoch
    will set 'm_latest_complete_GCI = n+1', thus loosing the
    completion of 'n+2' causing a later stall in the event-API
    (issue 3) )
    
    Also fixes some const correctness in related code.

commit a0f372b17f03737a7db1eadcdcd49a7724bc2947
Merge: b2cd93d 2244371
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Aug 4 11:04:09 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
    	storage/ndb/test/run-test/daily-devel--07-tests.txt

commit 2244371bcd2006ad4d173c2a4716c7a928868fcb
Merge: 9ebfc1b 0929d9d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Aug 4 10:46:44 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/test/ndbapi/testSystemRestart.cpp

commit 0929d9d1d330c9c1e432483b29901f5a348a6e26
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Aug 4 10:36:18 2016 +0200

    Bug#23028418 - RESTARTING DATA NODE CRASHES CLUSTER; NDBREQUIRE FAILS WHEN CREATING DICT TABLE
    
    When a data node has insufficient redo during a System Restart(SR), it
    does not participate in the SR until after the other nodes have
    started.  Then it performs a Takeover of its fragments from the
    started nodes in its nodegroup.  During this takeover the node still
    considers that it is involved in a System Restart (SR), but it is more
    akin to a Node Restart (NR), as the cluster is running and accepting
    user transactions, DDL operations etc...
    
    In SR scenarios, table creation handling in DIH has a different
    behaviour than normal, as table 'creation' is related to reloading
    table definition data from disk on the Master node.  During NR /
    Takeover, table creation can occur on non-master nodes due to user
    activity.  However, the mechanism in DIH to determine how to handle
    takeover assumes that if the restart type is 'System Restart', then
    any table creation must be SR related.
    
    The solution is to add an extra check to this SR special case path to
    look at whether the running node is the Master node and use that to
    determine the difference between SR and (SR+Takeover).

commit b2cd93d272b3eed4d4a89add0ff4493e27c01476
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 c7eaf1aaa96e1abeb1f357e6ea6b8dba7402bbaa
Merge: 2cbaac8 9ebfc1b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Aug 3 16:32:46 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9ebfc1bfdb6cc6c2cc76be251af1dfa84039f2ab
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Aug 3 15:22:01 2016 +0200

    Patch for Bug#24399450 EVENT-API: CLEAN UP OF PRE-7.0 CODE HANDLING OF 'M_GCP_COMPLETE_REP_COUNT'
    
    Remove the now obsolete, and incorrect, assignment of
    'm_gcp_complete_rep_count = 1' for out of order completed
    buckets.
    
    Also fix some incorrect intedation in related area of code.

commit 2cbaac8485e3812993381972c02d2d6b6b33e985
Merge: 9cdf9cf 9436e04
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Aug 1 19:25:29 2016 +0530

    Bug #19474782 	NDB_LOGEVENT_GET_NEXT DOES NOT RETURN ERROR IF MGM CONNECTION IS LOST
    
    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9436e048274b3e870ec0c1480aadaa3b8cc0f0d7
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Aug 1 19:24:46 2016 +0530

    Bug #19474782 	NDB_LOGEVENT_GET_NEXT DOES NOT RETURN ERROR IF MGM CONNECTION IS LOST
    
    Post-push fix.

commit 9cdf9cf951509491fbfd18ef96a020fbafff0c96
Merge: 85c94e4 a2215ea
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 1 11:35:46 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a2215ea877f626f6d2285ac685442859e1d782d3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 1 11:22:53 2016 +0200

    Patch for Bug#20112700 ASSERT(SHOULD_BE_EMPTY) IN \'RESET_SEND_BUFFER\'
    
    Assert in TransporterFacade::reset_send_buffers as send buffers
    were not empty as expected when reconnected to a node after
    a previous disconnect
    
    TransporterFacade::reset_send_buffer() reset the two-level
    send buffers in the TransporterFacade. Whenever a node
    disconnected from the TransporterFacade, its send buffers
    are reset (cleared). In addition to TransporterFacade
    send buffers, each trp_client has its own send buffers
    (Introduced as part of the 'ATC-patches', wl3860). These
    were introduced in order to reduce lock contention as each
    trp_client appends to the send buffers. However, the
    trp_client's send buffers were *not* cleared as part
    of TransporterFacade::reset_send_buffer().
    
    As the trp_client appended its send buffers to the
    TransporterFacade send buffers whenever it found fit,
    we could either:
    
    1) Append the trp_clients send buffer to the TransporterFacade
       after a node had disconnected. When it reconnected
       again, we found the TransporterFacade had a non-empty send buffer
       to the reconnected node which resulted in the assert in
       this bug-subject.
    
    2) (Possibly, but not proved:) The trp_client send buffers could
       be flushed to the TransporterFacade after the node had
       disconnected *and reconnected* again. I am not sure what
       this could cause of strange behavior, but it would certainly not
       be very healthy for the system.
    
    This patch enhance TransporterFacade::reset_send_buffer() to also
    reset the send_buffers of the trp_clients being known to
    the TransporterFacade. In order to provide concurrency protection
    of the TransporterFacade's set of trp_clients, this has to
    be done while holding the poll right: Thus, the call to
    ::reset_send_buffer() had to be moved from TransporterRegistry::do_connect()
    to TransporterRegistry::report_disconnect(). (Note ::report_disconnect()
    and ::report_connect() is only called by the poll owner!).
    
    Furthermore, the odd call to ::reset_send_buffer(..., should_be_empty=true)
    from within ::report_connect() has been removed. That call was mainly
    a safeguard / assert against send buffers not being empty when we
    reconnected again. At this point the send buffers should be empty,
    so an extra reset is redundant. If not empty, it would assert at this
    point. This call to reset_send_buffer was replaced with an assert check
    of the send buffers really being empty (!has_data_to_send()). (Required
    a few non used implementations of the virtual ::has_data_to_send()
    to be fixed), The now non used argument 'should_be_empty' to
    reset_send_buffer() was removed as part of this.
    
    The patch also fix an issue with
    TransporterFacade::m_current_send_buffer_size neither being
    initialized by the C'tor, correctly updated by ::flush_send_buffer(),
    nor zero'ed by ::reset_send_buffer().

commit 85c94e45cc9c8ec01908c4e396e1a7e08db2eb90
Merge: 164d536 b26c51c
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Jul 28 15:33:07 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit b26c51c1a0c488f24c3a8e54374aae4f59de03b6
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Jul 28 15:02:27 2016 +0530

    Bug #23748958 NDBMTD CRASH ON CREATE NODEGROUP WITH INVALID NODE ID (PTR TOO LARGE)
    
    When DBDIH receives a request to create a nodegroup, it checks
    the status of the node IDs passed in the CREATE NODEGROUP command.
    Out-of-range node IDs result in a crash since there is no bounds
    checking before node ID lookup. Added a check for out-of-range
    node IDs for CREATE NODEGROUP in DBDIH. Also added a new error code
    for invalid or undefined node IDs.

commit 164d536b40e2cd7b527bbcc3b8a33bc028fad5b8
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jul 27 11:55:55 2016 +0530

    Bug #24353408 NDB : NDBMTD ERROR FILE REPORTS WRONG FILENAME FOR THREAD 0 TRACE
    
    Problem:
    --------
    
    In case of an ndbmtd crash, the error log output specifies the trace
    file name which includes the thread number as a suffix to the name.
    However, the trace file for thread 0 is actually named without a _tX
    suffix whereas an incorrect _t0 suffix is added in the ndb error output.
    
    Fix:
    ----
    
    Ensure that the _t0 suffix is not added to the trace file name
    in the ndb error output for thread 0 trace.

commit 8a237934b4bf6dce57ac70466cf3550ce929c411
Merge: c89a8ba 3f1d7fd
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Jul 21 17:44:09 2016 +0530

    Bug #19474782: NDB_LOGEVENT_GET_NEXT DOES NOT RETURN ERROR IF MGM CONNECTION IS LOST
    
    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 3f1d7fd09215209ab810f72717700434bf7945c0
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Thu Jul 21 17:39:37 2016 +0530

    Bug #19474782: NDB_LOGEVENT_GET_NEXT DOES NOT RETURN ERROR IF MGM CONNECTION IS LOST
    
    Problem:
    
    When an mgmapi program that continuously monitors events is being run,
    and if the management node is restarted, the events thereafter are not
    reported to the mgmapi program. Timeouts are returned indefinitely
    instead of an error being reported.
    
    Cause:
    
    This happens because the sockets of event listeners are not being
    closed when the mgmd object is being deleted while restarting
    mgmd.
    
    Fix:
    
    Added code in the destructor of Ndb_mgmd_event_service to close
    event listener sockets.
    Now, Read Error is received after mgmd restarts.

commit c89a8ba40b859f5beeafd7262617f619356c70e5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jul 21 10:47:41 2016 +0530

    Bug #13511949: NDB_RESTORE --PRINT-LOG DOES NOT PRODUCE VALID SQL
    
    Problem:
    --------
    
    The --print-log option of ndb_restore does not produce
    valid SQL statements.
    
    Fix:
    ----
    
    Introduced a new option --print-sql-log which produces usable
    SQL statements. This option has the following constraints:
    
    1. All the tables being restored must have explicitly defined primary
       keys. This is due to the fact that queries fired on tables with
       'hidden' primary keys are logged in a manner such that they cannot
       be converted to valid SQL
    2. Only one of the --print-sql-log and --print-log options can be
       passed as parameters during a restore
    3. The tables being restored must not have columns of type blob

commit 0398a7dc45664e3b44ce41ff13dd30029992abdb
Merge: 9f792c9 467e810
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Jul 14 17:02:43 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    Bug#22353594 Synchronize clusterj dbs hash map to avoid possible race condition

commit 467e81062150333412e28111cad718c34781de86
Merge: e990775 ac1b6a2
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Jul 14 17:01:53 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    Bug#22353594 Synchronize clusterj dbs hash map to avoid possible race condition

commit ac1b6a22793fdb02760d7c4c7d19131e1c2512d6
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Jul 14 16:57:31 2016 -0700

    Bug#22353594 Synchronize clusterj dbs hash map to avoid possible race condition
    
    The dbs hash map maintains a collection of each DBImpl object (Ndb wrapper)
    given to the application. This change synchronizes the map to avoid
    possible simultaneous get and remove operations conflicting.
    The result of a conflict may be to miss removing or adding
    an object, which could make the number of db objects as seen
    by clusterj to be different from the number seen by the application.

commit 9f792c9d57b0cb5814cc363de7ef84f1e6a871aa
Merge: 2598bbc e990775
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Jul 14 11:16:12 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit e990775524213b2fc1102d9d04d2d3a4488100ab
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Jul 14 11:14:18 2016 +0200

     Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Using assert_grep.inc to make test portable.

commit 2598bbcf01bcf9bfc11415c7ee97621b5c396b03
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 21:25:34 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Updated results since ndb_desc output is extended with Max Rows.

commit e712c29d0c386022176897ba82a0dcbed9333189
Merge: c1444dc caa26eb
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 21:16:22 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	mysql-test/suite/ndb/r/ndb_bug22904640.result

commit caa26eb7f809a3a323f92cef6f2f11b2fa1b28df
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 20:18:27 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Filter out only 'Max Rows' from ndb_desc output.

commit c1444dc9be32c90dc2ca7f2b5a83b9af89f730c8
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 14:28:31 2016 +0200

    Updated from incorrect merge

commit 331d239c2c5178fa4dd12438f7d2fd8c55ade92c
Merge: 82622ba 7a838a1
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 14:06:37 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	mysql-test/suite/ndb/r/ndb_bug22904640.result
    	mysql-test/suite/ndb/t/ndb_bug22904640.test

commit 82622ba0761f360a6b316718c40dbd8849909814
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:32:37 2016 +0200

    Revert "Updated year in header."
    
    This reverts commit a7af60e314dd409c84caac69721cb3e38b3bf1f9.

commit 53c25809830ebfb5df90a1ff0f4ac77e8757cd92
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:25:41 2016 +0200

    Updated year in header.

commit 75a64f5c48522cfa3ba51cf05d78a6b111e45593
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:15:54 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Updated test results since ndb_desc now outputs Max Rows.

commit 654137703a0e8c6dee7df7c1a7bdb4c652a809f5
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 10:04:35 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Changed restore of backup to not set MAX_ROWS if it wasn't set for a table
    previously. Added test case that verifies MAX_ROWS is unchanged after restore.

commit 78d3a478867ec51b5f25f6a7ccc73d20227c930c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 10:02:09 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Added Max Rows to ndb_desc output.
    Updated affected test cases.

commit 7a838a1791cb6302e95eb4790f4eb2f48c45c8c6
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:32:37 2016 +0200

    Revert "Updated year in header."
    
    This reverts commit a7af60e314dd409c84caac69721cb3e38b3bf1f9.

commit e13b5132a92d49ebdb0869ca0734d06a772c7a68
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:25:41 2016 +0200

    Updated year in header.

commit e11c7f8d14474b4e38cb35d7cf04cd1e96d8adc6
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 10:04:35 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Changed restore of backup to not set MAX_ROWS if it wasn't set for a table
    previously. Added test case that verifies MAX_ROWS is unchanged after restore.

commit 061f5d66e29026b30e43611a5803929b8da640da
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 10:02:09 2016 +0200

    Bug#22904640 AFTER BACKUP/RESTORE, CANNOT EXECUTE ONLINE REORGANIZE PARTITION.
    
    Added Max Rows to ndb_desc output.
    Updated affected test cases.

commit b3889c9b1cae49985f18a11b203d60afcffc0d2e
Merge: c72f63c 4e14e8e
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:58:13 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 4e14e8e1bc83ba47e8904c52e271911364b82989
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jul 13 13:57:05 2016 +0200

    Updated copyright year.

commit c72f63c39407e2cf93fe9316842f877efcba4eff
Merge: 5eb0b35 bffe568
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jul 12 17:44:24 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Bug#22353594 add @since annotation to new clusterj api getConnectionPoolSessionCounts

commit bffe5688f3f42db303a3162cdfed52a6b5101dde
Merge: e160760 a5ac9dd
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jul 12 17:43:09 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Bug#22353594 add @since annotation to new clusterj api getConnectionPoolSessionCounts

commit a5ac9dd29a691572141179501759d88b2ac281c9
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jul 12 17:42:25 2016 -0700

    Bug#22353594 add @since annotation to new clusterj api getConnectionPoolSessionCounts"

commit 5eb0b353a8607e9d1eb07f364f1a90c59104c974
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jul 5 14:49:48 2016 -0700

    Sort results in test case

commit 82e495af9bf1f7c4dac897392ef537caec1f4285
Merge: 43cdce2 e160760
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Mon Jul 4 12:21:39 2016 +0200

    Upmerge of the 7.4.12 build

commit e160760104a10450e40be025a1ed57e9b4ec661b
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Mon Jul 4 12:13:35 2016 +0200

    Raise version number after cloning 7.4.12

commit 43cdce2cc768103b06bc5557b63c2e1d82a47950
Merge: 772bb6d 699306b
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 4 15:10:24 2016 +0530

    Upmerge of the 7.2.25 build

commit 699306ba566f36e52839a786b6acf094a650f8f6
Merge: 10af032 e5f6368
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 4 15:09:31 2016 +0530

    Upmerge of the 7.2.25 build

commit e5f6368c409d5e9f2e0dc0590ce2c1fa4ff2d117
Merge: b661b9d 74e6b04
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 4 15:08:30 2016 +0530

    Upmerge of the 7.2.25 build

commit 74e6b04bbd7110bb56370e68b82ae06bff90adae
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 4 15:03:23 2016 +0530

    Raise version number after cloning 7.2.25

commit 772bb6df6c5acce6eab6d231d7a459e1d77253a1
Merge: 7b33790 10af032
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 4 14:54:05 2016 +0530

    Upmerge of the 7.3.14 build

commit 10af032d6fd57a425cbdb4a0de0e77a28ed897a3
Merge: 98009cc b661b9d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 4 14:53:09 2016 +0530

    Upmerge of the 7.3.14 build

commit b661b9d6e844ea6517a4e99b2e367062cd1b64d7
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 4 14:51:41 2016 +0530

    Raise version number after cloning 7.3.14

commit 7b33790093bbfd2f8dfb3680b410bd7e20baef1a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jul 2 11:34:10 2016 +0200

    BUG#23619031: We are corrupting page entry lengths in some cases with 3 and more updates on the same row within the same transaction, add comments, more jams, remove use of MM_SHRINK that wasn't really needed

commit e6a2aa7015dca1873c3b428e6f66fead603ad5bf
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jul 2 11:22:53 2016 +0200

    BUG#22996305: Fix test results from ndb_add_partition after fix of bug fix

commit aa5b6478d67594049d3c46a57b4241b54042dc05
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 17:43:10 2016 +0200

    BUG#23617881: Fix tuple lengths for LCP skip list handling

commit b0016e52208319359fdddac23640182285c71d32
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 15:18:57 2016 +0200

    BUG#23701911: Fix problem with O_DIRECT when stopping a backup

commit e39fcad389b9c3557ffcabfa8347bbd6b118b354
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 15:13:32 2016 +0200

    BUG#23642198: Fix resources issues for DBUTIL operations

commit 6929389ac207b5fb6cc84abf941f8bbf5a8d39ee
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 15:10:33 2016 +0200

    BUG#23717479: DIH LCP_STATUS_IDLE wrongly set

commit a194d8bcf998a64d73f10307cf88635e92803490
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 15:10:03 2016 +0200

    BUG#23717703: Initialise m_max_warning_level in thrman.cpp

commit 2e266c8ad7286a5b1d13e11f4922cd317f672ac3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 1 15:09:11 2016 +0200

    BUG#23601841: Fix of table distribution for original bug fix

commit c5853a8665b8535fd36c562e7250893202669e59
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 18:20:59 2016 +0100

    Testcase fixes
     - ndb_read_local
       Use have_ndb_debug instead of have_debug to check for ERROR_INSERT
       availability.
    
     - ndb_read_balace
       Increase #keys + add debugging to counter empty-fragments observed
       on Solaris...

commit ce27d4e00a3568957e05da1238c0bb49a2384d0d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 15:06:31 2016 +0100

    Bug #23633848 NDB : READBACKUP NOT WORKING WITH SPJ ORIGINATED REQUESTS
    
    The SPJ block was continuing to read Primary fragment replicas, as shown
    by the new ndb_read_local testcase added in thie commit.
    
    This was due to a bug in the code checking data from on DIH on whether
    a local backup fragment replica was available.
    
    This bug is fixed.

commit 5c49d6de096bb6a953e21f12edcd415165d388e4
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 15:02:40 2016 +0100

    Bug #23522027 NDB : READ BACKUP NOT WORKING FOR ORDERED INDEXES
    
    Ordered indexes inherit the ReadBackup property of the indexed
    table, but this was not implemented, causing OrderedIndex scans
    to continue to be routed to Primary fragment replicas.
    
    DICT is modified to set the ReadBackup property on Ordered indexes
    from the main table property, when distributing information to
    TC and SPJ instances.
    
    A new testcase, ndb_read_balance is added, which shows this problem,
    and some others.

commit 4b3bad2ff158b5c9b8694406d4031faca9300fa7
Merge: d4d14b8 98009cc
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 00:47:18 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 98009cce65ee8264f35a2e21a82a4b7ef1b94aaf
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 00:46:42 2016 +0100

    Bug #23129433       CLUSTER SHUTDOWN DURING UPGRADE FROM 7.3.13 --> 7.4.11
    
    DIH should continue to use 'upgrade' path for LCP Master takeover
    if any of the just-failed nodes were on an old version.

commit 605fbe0feaa27837568b4bf896c4ea25b772e824
Merge: a3514ed 470f5b5
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 00:45:08 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 470f5b5154f235af65e14502a91f4bd9a19953e1
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jun 30 00:43:50 2016 +0100

    Bug #23129433       CLUSTER SHUTDOWN DURING UPGRADE FROM 7.3.13 --> 7.4.11
    
    Problem exists in 7.4 DIH LCP takeover code.
    
    This commit in 7.3 introduces a new testUpgrade testcase showing
    the problem.
    
    Fix will come on merge to 7.4

commit d4d14b8c1e08c5a53ca576be3604d3096d58caeb
Merge: 7a156fc a3514ed
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jun 28 17:45:34 2016 -0700

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Fix unreliable clusterj-jpa test with writeJPAreadJDBC

commit a3514ed4d30a2e8a27e9d704e3fed42b34f18a93
Merge: 4824e67 bfca1e9
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jun 28 17:44:37 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Fix unreliable clusterj-jpa test with writeJPAreadJDBC

commit bfca1e9ddf95f4265765a96b4b1cb45c97af85d8
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Jun 28 17:44:13 2016 -0700

    Fix unreliable clusterj-jpa test with writeJPAreadJDBC

commit 7a156fc03a8fa5448357b9986f6f5127f1712ebc
Merge: 5bdf9f9 4824e67
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 28 16:13:11 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 4824e67e48f2580b4925039eb414b674c4be0137
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 28 16:12:26 2016 +0100

    Bug #23708039 NDB : NDB_MGMD CANNOT PARSE LARGE DUMP CODE VALUES
    
    Increase ndb_mgmd parser buffer size.
    
    Discovered in test failures on 32-bit hosts :
      ndbinfo_cluster_locks
      ndbinfo_locks_per_fragment

commit 5bdf9f9d29989997401dc6c60b61b0b5aca80105
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon Jun 27 14:57:20 2016 +0200

    Test fix : Return at fail than continue and give unexpected seg.falt later.

commit 43d39adc80381a7818b7f6b40cf9d90ea763953e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 24 11:13:03 2016 -0700

    Free column bitmap when dropping ndb_share.

commit e94e5729eddec9e335399c567485240ff722a7a5
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jun 24 16:30:24 2016 +0200

    Bug#22916457 - 'EVENT BUFFER STATUS' REPORTING WHEN CONSUMPTION LAGS BEHIND IS NOICY?
    
    This fix:
    - Re-adds the disabled slip (consumption lag) reporting.
    - Changes the ndb_report_thresh_binlog_epoch_slip default from 3 (probably gci)
      to 10 epochs and the defining text.
    - Counts the number of buffered epochs which is used to report the slip.
    The reporting interval of 1 sec is *not* changed in this patch.

commit 454b81593aa7e89e5efec34c5f4921fa103d51cf
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Jun 24 10:35:11 2016 +0200

    Revert "Bug #23553267 	DEADLOCK WHEN MDL_EXCLUSIVE ACQUIRES A GLOBAL SCHEMA LOCK (GSL)"
    
    This reverts commit 139191b81e6f9eba8070d94a4f5238c48efe0fab.

commit 50c22fd72cba1fa3340d1844eab20196bf71e530
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Jun 24 10:09:54 2016 +0200

    Minor fixes after review comments for bug#23623978, bug#23623251, bug#23622854

commit 96aa0f8156a3f14b4fd1654e59e2a8f96d4ba062
Merge: 232b6ac 31a6f03
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Jun 24 09:42:37 2016 +0200

    Merge branch 'mysql-5.7-cluster-7.5' of myrepo.no.oracle.com:mysql into mysql-5.7-cluster-7.5

commit 31a6f03b04b3d0e4934ad6165bb411571a507648
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 23 18:47:33 2016 +0200

    BUG#23001841: Fixed failing test case ndb_add_partition

commit 6fb5bc6809f90fb5080457aaaebcdf461e9f5eeb
Author: Kari Wedde <kari.wedde@oracle.com>
Date:   Thu Jun 23 13:43:36 2016 +0200

    Disable some more tests when running with Query Cache.
    
    ndb.ndb_index_unique
    ndb.ndb_read_multi_range
    ndb.ndb_update_no_read
    ndb.ndbinfo

commit 5851e065d1a04210a89a46dc2edecab8a643e65f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 23 00:14:26 2016 +0200

    BUG#23001841: Make it possible to read from backup or from any replica for fully replicated also for unique key reads using read committed and BLOB reads using read committed

commit 180403cf5a048bef54048fb353ee1322c3feaa86
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 22 22:07:40 2016 +0200

    BUG#22996305: Fix balance for primary replica distribution, introduce MAX_NDB_NODE_GROUPS constant

commit fc1518d8b5b76551e32fd0fed0a61f08ca30300d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 22 12:12:41 2016 -0700

    gcol_ins_upd test result must be sorted for NDB

commit 70456f22dfb8336ec214a47b4fbf0f12549dfac7
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Wed Jun 22 17:02:45 2016 +0200

    Raise version number after cloning 7.5.3

commit 49285b1794476fc96bfbb9c1fd75add12f3a99ab
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 22 12:14:02 2016 +0530

    Bug #23225800: NDB_DD_DUMP TEST FAILING ON ALL PLATFORMS
    
    (Server Bug #23259328: NDB_DD_DUMP TEST FAILING DUE TO CHANGE IN
     MYSQLDUMP)
    
    Problem: Fix for Bug#21382184 caused a regression making ndb dump
    test to fail. Reverted minor part of the code as part of the fix.
    
    (cherry picked from commit cc696659a035448af3a8f42371fd9a5b5def83cd)

commit cbd98699f3569003b79f442d3f1e3ad7f194b0de
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 10 12:08:50 2016 +0200

    Bug#23547742 NDB_DESC OUTPUT SHOULD BE DETERMINISTIC INDEPENDENT OF PLATFORM
    
    Do not hide indexes in ndb_desc_print.

commit f54f3de10ccc1c21821bcf8f98044936ef71d907
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 25 21:06:15 2016 +0200

    Bug#23547742 NDB_DESC OUTPUT SHOULD BE DETERMINISTIC INDEPENDENT OF PLATFORM
    
    For tables indexes was listed in a undefined order, this patch lists indexes
    ordered by id.
    
    This should make ndb_desc output more stable independent of other schema
    objects defined.

commit 232b6ac7308c96f6457d1221276d4de8b98ee9ef
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Jun 21 12:32:32 2016 +0200

    Bug #23623978 	API MEMORY LEAKED WHEN NDBTRANSACTION::SETSCHEMAOBJECTOWNERCHECKS() FAILED
    
    Avoid NdbOperation leakage by checking schemaObject ownership *before*
    allocating the NdbOperation.

commit 25594f4ac897961a155e39590ec2327e1c4276b1
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Jun 21 10:57:08 2016 +0200

    Bug#23623251 API MEMORY LEAKS AFTER DESTRUCTING A NDB OBJECT WITH OPEN NDBTRANSACTIONS
    
    Destruction of a Ndb object did not always release the memory used
    by Ndb<foo>Operations, and other similar objects, allocated by
    NdbTranactions still being open when the owning Ndb object is destructed.
    
    As all NdbTransactions are disconnected and the NdbTransaction objects freed
    when the Ndb is destructed, all API objects belonging to these NdbTransactions
    also becommes void.
    
    This patch ensures that Ndb::doDisconnect() (Called by Ndb d'tor)
    releases all API objects owned by its still remaing 'theTransactionList'
    
    Furthermore, it also fixes an issue where a async prepared NdbTransaction
    (NdbTransaction::theListState == InPreparedList) could be closed without
    ever being executed. That caused NdbTransaction::release() to abort due
    to this state not being expected.
    
    Fixes some obvoius incorrect comments releated to code paths relevant for
    this patch, and a likely merge problem where a copy of the decl of
     ::set- / ::getBuddyConPtr() had been pasted into another comment block.
    
    Added a new test case to prove the leaks plugged by this patch.
    Leaks will hit an assert in Ndb_free_list template when run
    without patch.

commit a172c76bb93b4b9969a0a7ad396a2ce61e7ce078
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Jun 21 09:57:26 2016 +0200

    Bug #23622854 	EXAMPLE PROGRAM NDBAPI_ASYNC.CPP IS EMBARRASSINGLY BAD
    
    Fix issues as described in bug report

commit 1bc7c2bb78efab95d34ec920fd4e2c0230084480
Merge: f4cfff4 a739580
Author: Ole John <ole.john.aske@oracle.com>
Date:   Tue Jun 21 09:01:45 2016 +0200

    Merge branch 'mysql-5.7-cluster-7.5' of myrepo.no.oracle.com:mysql into mysql-5.7-cluster-7.5

commit a7395802e9b9ad782dc2b86d6f0f9fb646a44313
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 20 11:31:35 2016 -0700

    Test result must be sorted for NDB

commit 4f25d8170588ee591294efc62f3155778f667f3e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 20 17:25:00 2016 +0200

    BUG#23605817: Check timer initialised before calculating time spent in SCAN_FRAGREQ/CONF (also BUG#23306695)

commit 4a1533dcefc18ea2c676a31d3a7cb457656f3b67
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 20 17:10:26 2016 +0200

    BUG#23001617 Add support for ALTER TABLE algorithm=inplace when changing READ_BACKUP from 0 to 1 or vice versa

commit 7f48a6c18107870675bc2fb420521250c5b0752a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 17 12:31:17 2016 -0700

    Fix gcol test discrepencies between NDB and other engines

commit aa58bb4ae57d0c448e81208ab7a52204c2f06145
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 16 14:24:47 2016 -0700

    Update suite/gcol_ndb for recently merged changes from suite/gcol

commit dd29a60feb51f53d1c616c43c76ffff412880bbc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 16 14:05:18 2016 -0700

    Add gcol_ndb to default test suites for NDB

commit a234b82bd5c2333f9a61b36e94040ec20dc142c0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 16 14:03:06 2016 -0700

    Undo addition that should not have been in previous commit

commit efa4b4479381fceff768cf19b936489ecb60ff3d
Author: Kari Wedde <kari.wedde@oracle.com>
Date:   Thu Jun 16 14:31:54 2016 +0200

    Increase max-test-fail to 100 when running with Query Cache enabled.
    
    This is a temporary change to make sure that all tests are executed.

commit 2c872bb5937cc2f0bb25d3b3d0a7d3572fdc6ce0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 15 16:58:08 2016 -0700

    bug#23514050 Binlog data is incorrect for NDB table with virtual gcol
    
    Squashed commit includes 3 changes from the mysql-5.7-cluster-7.5-wl9048 branch:
    
    commit e775c53354316f07be6de08ee38d77a0694ea481
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed Jun 15 16:54:57 2016 -0700
    
        Minor changes after code review
    
    commit d4cb127195898a1d266420a900c9e54b50826de3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri Jun 10 12:56:51 2016 -0700
    
        sorted result
    
    commit f17b2c1a964f3dee6e5aacf47a3cff6ffb8689fe
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon Jun 6 14:39:35 2016 -0700
    
        bug#23514050 Binlog data is incorrect for NDB table with virtual gcol
    
        In ndb_unpack_record() the "twin loop" iterating over fields and values must be
        modified, because values are present only for stored (not virtual) columns.
    
        In handle_data_event() the bitmask used with a binlog record should have bits
        set not for all columns, but only for all stored columns.
    
        Some refactoring is done to move logic from ha_ndbcluster_binlog.cc to ndb_share.cc

commit 9e1796dd2767203625ad8bee5bee3d3e7726bed2
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat May 28 10:42:14 2016 -0700

    Bug #23566496: FAILURE OF JSON_FUNCTIONS_NDB TEST
    
    Restore test cases for WL#9124 that were inadvertently left out
    when restructuring suite/json.
    
    The test cases were modified from the original:
      a primary key autoincrement column was added to the table
      the primary key column was used to avoid unreproducible ordering of rows
      one-line insert statements were split into multiple lines for clarity
    
    	modified:   mysql-test/suite/json/inc/json_functions.inc
    	modified:   mysql-test/suite/json/r/json_functions_innodb.result
    	modified:   mysql-test/suite/json/r/json_functions_ndb.result
    
    (cherry picked from commit 80c65e084fdf578beb30332e77171dfacd06adef)

commit fc49382aee8af5149bfc119f35c06febb71020e5
Merge: 6d33e16 9b1eb19
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 15 17:24:57 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9b1eb19538d7c6d6eec11748503f248792f34e63
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 15 17:21:45 2016 +0530

     Post Merge Fix Part 2.
    
     Fix the broken Windows build

commit 6d33e1615c8caf4b9070394dcd50f92f050b7799
Author: Kari Wedde <kari.wedde@oracle.com>
Date:   Wed Jun 15 10:57:39 2016 +0200

    Disable some more tests when running with Query Cache enabled
    
    ndb.ndb_partition_hash
    ndb.ndb_partition_key
    ndb.ndb_partition_list
    ndb.ndb_partition_range
    
    The tests fails due to a mismatch in number of scans

commit a04984531712942965941523be3f35e5a60cd244
Merge: c59b762 9791a5e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 15 11:05:52 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9791a5e1a2e2be68b2c0bc5d4c85920346c03d25
Merge: eeede62 adcb7b7
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 15 10:57:34 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit adcb7b7428101cce3dec66c0b7fecacbd1cb5d12
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 15 10:35:59 2016 +0530

    Post Merge Fix.
    
    Fix the broken Windows build

commit c59b7629e1a1f968a895f1367309adbd51361841
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 14 13:43:31 2016 -0700

    ndb_memcache test suite: make the PREPEND stress test in external_values a bit less stressful

commit a4b4ab2837f9b9cf8c24447aaf6da3b64d0a68c9
Merge: 5d6aa69 eeede62
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 14 17:00:50 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit eeede62d379c1f43d8d9ac3eea6a9ff00f202428
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 14 16:54:13 2016 +0200

    Fix several failures in 'testSystemRestart -n SR_DD_n*' tests
    
    Tests where inserting into tables or updating rows at the
    max speed of the test client machines for the duration of
    each test loop.
    
    As the new vigdis servers are fastart than the machines they
    replaced, we are now able to fill the TableSpace and/or
    redo logs to their max sizes, and thus the test failes.
    
    This patch introduce a load limiting machanism which limit
    the client load to 10.000 insert/update/deletes pr sec.
    
    This should also avoid that these tests fails the next time
    the ATR test are moved to faster hardware.

commit 5d6aa696a9cefea2342341b3125ddfc721f3488c
Author: Kari Wedde <kari.wedde@oracle.com>
Date:   Tue Jun 14 16:12:15 2016 +0200

    Disable the following tests when running with Query Cache enabled
    
    ndb.ndb_join_pushdown_bka
    ndb.ndb_join_pushdown_default
    ndb.ndb_join_pushdown_nobnl
    ndb.ndb_join_pushdown_none

commit 7db1b0aa07d5c255ec1f4ce7dfe7a508bdd474f5
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon Jun 13 19:03:27 2016 +0530

    Bug #23344374: MT_THR_CONFIG-T ASSERTION `NAME[0] != 0' FAILED.
    
    PROBLEM:
    
    Unit test mt_thr_config-t fails due to the following scenarios-
    
    1) The negative test case scenario where an empty string is assigned
    to ThreadConfig parameter fails, i.e an empty string is accepted.
    
    2) Assertion 'name[0] != 0' fails when ThreadConfig parameter value
    ends with a comma, which causes the program to abort.
    
    FIX:
    
    1) Moved empty string to the list of postive test cases.
    
    2) Removed the assert and instead returned an error for the condition
    where there's a trailing comma. (Error: Missing thread type)
    
    Also introduced a negative test case where there's a missing parameter
    after comma, and raised an error for this case which was passing earlier.

commit a73849d0c455908c3f5b0f4f7774f02680b4f862
Author: Kari Wedde <kari.wedde@oracle.com>
Date:   Tue Jun 14 12:58:36 2016 +0200

    Bug#23577425 - Follow up patch to Bug#22502247 MCC DOES NOT WORK WITH CLUSTER 7.5
    
       - Clean up the Windows solution.

commit fad9d597f6f7be87ab27aadf7639e2e9d151adc2
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 13 17:26:42 2016 +0100

    Bug #23520271 NDB : CPUSTAT_1SEC AND CPUSTAT_20SEC SEEM TO HAVE NO HISTORY
    
    A bug in the CPUSTAT table entry generation code meant that the _1sec and _20sec
    tables did not maintain history correctly.
    
    This is fixed, and a new ndbinfo_cpustat test is added to cover this and
    potentially other cpustat testing yet to come.

commit 60d36382cec9327e1a6315aaf260dd33992c6a20
Merge: 251e3db 940b5e8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 13 12:33:46 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 940b5e8c67f492b100f23da79ead640f2a739327
Merge: 116b982 cb71eb5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 13 12:32:01 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit cb71eb59745d9b27c5e24e1f3dd4fa0ba44d5531
Merge: 539ecf5 b5e5aa2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 13 12:31:34 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit b5e5aa226ef23b29cea9b31f460c76beb4898d6a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 13 12:20:23 2016 +0200

    Fix spurious failures in ATR test 'testTransactions'
    
    This test runs a mix of 2 different transaction T1/T2. For some
    of the testcases, the second transaction is supposed to
    be blocked by the first onw , and thus timeout with either
    error 266 or 274. For other combinations, no such timeouts are
    accepted.
    
    In order to reduce the elapsed time for the test, the TC transaction
    timeout was reduced to 100ms (default 3000ms). That had the
    negative impact that even transaction combination not expected to
    block each other, code spriously timeout.
    
    As the setting of TC txn timeout was a 'global' setting, it
    also remained set after this test had completed, and thus
    could result in timeouts for later ATR test cases.
    
    This patch:
    
    1) Delay setting of  the 'short timeout' (100ms) to after
       The first (non-blocking( transaction is executed. Thus
       avoiding 'T1' to timeout.
    
    2) Sets the 'short timeout' for T2 only for T1/T2 combinations
       where T2 is expected to fail with a timeout
    
    3) Set transaction timeout back to 'default' as soon as the
       T2 has completed, this avoids that the short timeout
       affects other transactions than the one assumed to timeout.

commit 251e3db6f5153ba09850fae797b98b327fe84213
Merge: 3648ec7 116b982
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 10 13:45:31 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 116b98235fc7b2300f61e2842164b182ce33f0c4
Merge: 5e7462c 539ecf5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 10 13:44:58 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 539ecf5c88286800ba99585a10fe3ae143d49050
Merge: 5a2b3dd ef3cef0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 10 13:44:34 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit ef3cef05f27f6007460aa5e6a6fce41bb03d7829
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 10 13:31:28 2016 +0200

    Fix failing ATR test: 'testSpj -n MixedJoin':
    
    The test utilit function runJoin() had the option to
    set the property 'InsertError' which in case specified
    were used as ERROR_INSERT value. When runJoin() completed
    it *unconditionally* inserted a '0' error in order to clean
    any error prev. inserted.
    
    The testcase MixedJoin ran 6 steps of this testcase in parallel
    *without* any InsertError property being specified. However,
    the last error=0 where nevertheless always set.
    
    The implementation if error insert always send a SYNC_REQ
    signal after an error insert in order to 'flush' it
    to all Ndb blocks. This signal is routed via the block proxy
    which have only 4 slots for outstandig SYNC_REC signal.
    If this limit is exceeded it will crash in LocalProxy.hpp line 217.
    
    As an error insert sets the error globally for all clients connected
    to the datanode, such parall setting of error inserts have never
    been an intended part of what we support. Thus it should be avoided.
    (STEPS == 1 whenever an error is inserted)
    
    This patch makes the 0 error insert conditionally, such that
    the proxy slots for SYNC_REQ are not exhaused.

commit 3648ec781eb258e4c61fb6559ec837fea812ee59
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 9 23:05:09 2016 +0200

    Bug#23304519 7.5.2: ROWS DELETION BRINGS DOWN THE ENTIRE CLUSTER WITH AN ASSERTION
    
    In dbacc, during expand or shrink of hash table, allocating a new overflow
    page could abort data node if it was out of index memory.
    
    Other operations check early for out of memory, but all places in code that
    allocates a new overflow page checks for errors and handle them correctly.
    
    Fix make allocOverflowPage fail if its call to seizePage fail.

commit c28c52682b107af42cb78a2cad68c329a21219c8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 9 23:01:54 2016 +0200

    Bug#23304519 7.5.2: ROWS DELETION BRINGS DOWN THE ENTIRE CLUSTER WITH AN ASSERTION
    
    Test case demonstrating bug.

commit d54a97e3b9cf792cc946714243ad10035bd6b1b6
Merge: f9eddfe 5e7462c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 10 11:15:51 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 5e7462c1e2c15b0f6f7d87cd8c77099e419ac349
Merge: 2ed3bca 5a2b3dd
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 10 11:14:38 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 5a2b3dd712533c11feeae411df3502923680d7e1
Merge: 4a1a947 aa4e7f1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 10 11:12:50 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit f9eddfe52c5a4995295361dc33bce417e7ac7d9c
Merge: b3c19d3 2ed3bca
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 10 10:40:23 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit b3c19d3ad255fb00345ad466289b3e1d7352ab90
Merge: f9d4891 e98098c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 9 11:57:18 2016 +0530

    Merge tag 'mysql-5.7.13' into mysql-5.7-cluster-7.5

commit aa4e7f1f65c69a39b540636f0b9e0f9dd794ba94
Merge: dadd8ad eb7f682
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 9 18:20:58 2016 +0530

    Merge tag 'mysql-5.5.50' into mysql-5.5-cluster-7.2

commit 2ed3bcad83e38ff7b3127b6539a87c98665ac69a
Merge: 45bebec 4a1a947
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 9 18:10:30 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 4a1a9477cfc2a2dacbaf8ad1c4d4b4aaf9dcbb7f
Merge: 29bd0b8 933465d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 9 17:47:54 2016 +0530

    Merge tag 'mysql-5.6.31' into mysql-5.6-cluster-7.3

commit f9d489156787cbc850de5e7aabd019458a47f362
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 8 13:21:33 2016 +0200

    Bug#23544418 RENAME REALFRAGMENT TO PARTITION IN NDB KERNEL CODE.
    
    Post push fix for WL#9019.
    
    This patch is pure refactoring renaming RealFragmentCount to PartitionCount
    in kernel code.
    
    One visible change from 7.5.2 is that in output of ndb_desc
    RealFragmentCount is now called ParititionCount.
    
    Background
    
    With fully replicated tables the notion of Real Fragments was introduced in
    the code, but later these was decided to be called Partitions.
    
    This is a pure refactoring with no user visible changes (except for user
    looking in code :)
    
    The nomenclature for partitions and fragments shoud be:
    
    1) partition - the user visible partitions in MySQL.
    2) fragment - in a node group it is a logical collection of some rows in a
    table. Fragments can not be shared between node groups.
    3) fragment replica - each fragment in a node group are stored in one
    fragment replica on each node in the node group.
    4) primary (fragment) replica - one of nodes in the node group have the
    primary replica there all operations needing a lock is directed to.
    5) backup (fragment) replica - the fragment replicas that are not the primary
    replica.
    
    For traditional tables each fragment corresponds to a partition, but with
    fully replicated table there all node groups and nodes have its own copy of
    all rows in the table, a partition have one fragment in each node group all
    with the same data.
    
    6) copy fragment - a partition consists of possible several copy fragments,
    one per node group, all with same data, but each copy fragment have its
    unique id.
    7) main fragment - for a partition the main fragment is the fragment with the
    primary replica used for updates and lock operations.

commit f4cfff4872ad11103824474b7dcb479f1f22c410
Merge: 139191b 77a3303
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Jun 8 13:43:30 2016 +0200

    Merge branch 'mysql-5.7-cluster-7.5' of myrepo.no.oracle.com:mysql into mysql-5.7-cluster-7.5

commit 139191b81e6f9eba8070d94a4f5238c48efe0fab
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed Jun 8 12:32:02 2016 +0200

    Bug #23553267 	DEADLOCK WHEN MDL_EXCLUSIVE ACQUIRES A GLOBAL SCHEMA LOCK (GSL)
    
    This patch use the existing MDL deadlock resolution (backof and retry) mechanism already
    existing in the MDL locking code to solve a potential deadlock between
    MDL_EXC>LUSIVE and GSL locks.
    
    NdbCluster code for acquiring a Global Schema Lock has been changed
    to not retry the GSL lock if it failed due to a timeout (default 3000ms),
    *and* there is a potential for this lock request participating in a MDL-GSL
    deadlock. In these cases it select itself as a 'victim', and return
    this decission to the MDL requestor.
    
    The MDL code has been changed to handle the 'victimized' case
    as a deadlock, and thus follows its existing code paths for resolving
    that.

commit 77a3303d20b635cd764d1778a737c9a8c4497d19
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 8 11:20:38 2016 +0100

    More ndb_binlog_purge* debugging, perhaps PURGE does not work
    correctly on Windows...

commit adfe6f3015c9d4311a8f9f77fe411351774e1e86
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 7 15:23:29 2016 +0100

    Add some debugging to ndb_binlog.ndb_binlog_purge_lock and ndb_binlog.ndb_binlog_purge_upgrade
    
    Give some debugging info in the failure cases

commit 220048275a75f05866d19db7a2b48392c4dc0173
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jun 3 17:08:24 2016 +0100

    Bug #23514557 	NDBINFO.NDB$CPUSTAT_% TABLES DO NOT MATCH IN SQL VS NDBD
    
    Fixed :
     - Typos in the NdbInfo column definitions
     - Missing programmatic view definition in ndbinfo_sql.cpp
     - Stale table defintinitions in the mysql_system_tables.sql file

commit 9623c07d9b85bc5322c65152c1b9ea0d8e34a0de
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Jun 3 14:30:55 2016 +0200

    Added -vanilla test collections file for daily

commit 9e070c78b93ae003feccd5395ebd653793aadf29
Merge: 8237e5b 45bebec
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 3 09:48:21 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 45bebec56dc3b79d2fdd0d9b047f7597f51f21ea
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 3 09:47:31 2016 +0200

    Fix memory leaks in tha ATR test 'testBlobs' which is
    failing in AutoTest.
    
    Fixes are mainly motivated by making it possible to run testBlobs
    with a high '-loop' argument in order to smoke out the real bug.
    Now it will run out of memory rather soon.

commit 8237e5bde45cccdc1a397d17cc893e41b6ba8d60
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 2 14:22:27 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove another version dependent ifdef, all code is now coupled directly to the current version of MySQL

commit 56cae85c0e356a26ae8a7aaca35359edb578bdbe
Merge: d649e2d bc825e8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 2 14:59:57 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit bc825e8e2d8ca52a5bed75eff4faadadc952a5ad
Merge: 48a241e 29bd0b8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 2 14:58:38 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 29bd0b82c73162e7d318fdec2296528cfd3f1f5c
Merge: 99b3416 dadd8ad
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 2 14:56:49 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit dadd8ad784cfc8950900f3cdbd6961d432590941
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 2 14:55:18 2016 +0200

    Bug #18401623 AUTOTEST FAIL: TESTOIBASIC -CASE ABCDEFZ
    
    Also fix Bug#18408738 	AUTOTEST FAIL: TESTOIBASIC -CASE HZ
    
    The ATR test testOIBasic.test pick randomn character sets
    for the test tables being created. Internally it keeps a
    copy of the rows being inserted into the test tables which
    is finally compared against the result produced by Mysql Cluster.
    
    For implementing the character compare method, the strnxfrm()
    utility was used to produced a transformed (char set independent)
    representation of the strings to be compared. Although this
    works for some (most of) character sets, the correct way to
    compare character strings are the strnncollsp() function.
    
    Usage if this compare function was implemented as an option
    controlled with the '-collsp' argument, which by default was 'off'.
    
    This patch removes this argument and change to always using
    strnncollsp().
    
    Patch could be verified by using the big5_chinese_ci collation which
    fails when compared as xfrm'ed strings.

commit d649e2d61a5e157340734e45b882a5b0c1327730
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 1 17:20:29 2016 +0100

    WL7656 Per fragment locks info
    
    Further test stabilisation
    
     - ndbinfo_cluster_locks
       - SCAN vs other lock types - scan locks will be converted
         to READ locks by takeover ops, and whether these are issued
         or not depends on timing, data distribution etc.
         Therefore, the type of the locks is ignored in two affected
         testcases.
    
     - ndbinfo_cluster_locks + ndbinfo_locks_per_fragment
       - Testcases where sine kind of 'successful wait' is to be
         observed : Slow platforms turn this into transaction
         timeout.
         Solution : Disable transaction timeout where we
         do not want it.  This involved enhancing an existing
         DUMP code in DbtcMain to allow it to 'reset' the
         timeout to the configured value.
    
     - ndbinfo
       - Remove existing testcase side-effect of dropping ndb$test
         as this makes test 1-shot only, not suitable for use with
         mtr --repeat
    
     Also : Remove missing newline at end of ndbinfo_init_frag_lock_count.inc
     which meant it could cause parse issues in the including
     .test file.

commit 62e4d67d6eff7ad0c48424e054781ed46984609a
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Jun 1 15:45:23 2016 +0200

    Do not run daily main tests with --big-test, weekly will do it

commit 2bb88ec3bf5bb13e3c7cda1907ef76981a8354de
Merge: c15a58d 48a241e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 1 09:55:52 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 48a241e1efdffa443bb992492142b40b2fc5ea14
Merge: a7a5eba 99b3416
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 1 09:55:13 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 99b3416df728ec4ce829ec6406ce6bab8c69272f
Merge: 1709ba7 87f86dc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 1 09:54:27 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 87f86dc3f80127c850f0c44d82329b597c0c30f2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 1 09:47:45 2016 +0200

    The ATR test client 'testOIBasic' could fail (crash) due
    to exhausting its thread stack - fixed two issues in order
    to deccrease the amount of stack space used:
    
    1) Change the common argument 'struct Par' given to a lot of
    internal methods to be transfered as 'const Par&' instead of
    'by value' which required the entire struct to be coppied into
    the stack frame for each function call.
    
    2) Val::cmpchars() allocated two huge uchar arrays on the
    stackframe. Change to allocate these on the heap instead,
    when required.

commit c15a58dad607b632a25672f434268e36ab1a3f04
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 1 09:28:58 2016 +0200

    Bug#23508827 IMPLEMENT WORKAROUND FOR MISSING MYSQL_SERVER DEFINE WHEN COMPILING NDBCLUSTER
    
     - The MYSQL_SERVER define is not defined properly for all source files making up the
       ndbcluster library. This is cuased by a spelling error in plugin.cmake
     - Fix  by implementing workaround which adds MYSQL_SERVER to the
       COMPILE_DEFINITIONS of the ndbcluster target.
     - Fix a small bug in ndb_add_target_property() preventing to set target
       properties with more than one item in the list.
     - Remove all #ifndef MYSQL_SERVER constructs from the ndbcluster
       sources in sql/

commit 37bb015efb2908b535d3723a440cd628b13f299f
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue May 31 12:00:55 2016 -0700

    Fix incorrect include guard in sql/sql_alter_instance.h

commit 3af3dccb5bc418e1b5530886e31c70114e240bab
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 31 14:37:19 2016 +0200

    WL#8726
    
      - turn on build of NdbApi example programs when detecting devbld debug build

commit 9d30f625a78f5c03fca906d9f41b1e6bf4c633cd
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 31 12:51:58 2016 +0200

     WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove unused ifdef for debug printout

commit 1d7e64df7776bb3c286c4c9d33aac98cf22abc33
Merge: b9bbc4c a7a5eba
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 31 14:28:01 2016 +0200

    Merge ../7.4 into mysql-5.7-cluster-7.5

commit a7a5eba2c3dfac279ad6637e18fd51c4bb38ca36
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 25 15:17:06 2016 +0200

    Bug#23343739 7.4 MYSQLD HANGING IN SHUTDOWN (NOW IN NDB UTIL)
    
     - Mutex deadlock occured due to different mutex locking order. The
       m_start_stop_mutex in Ndb_component was being held while calling
       do_wakeup() which each componenent should imeplement. In the two
       deadlocking components it was taking the local mutex before
       signalling the wakeup condition.
       The is_stop_requested() function on the other hand, was called with
       the componenents local mutex held and trying to lock the
       m_start_stop_mutex. Thus deadlock could occur when calling
       Ndb_component::stop()
     - Fix by releasing the m_start_stop_mutex when calling the do_wakup()
       function
     - Also remove one unnecessary call to is_stop_requested() in
       Ndb_util_thread and write descriptive comment instead describing
       how Nbd_util_thread wakes up. Basically it always wait on
       the condition to make some time pass before next loop and only in
       rare cases it will wake up because it has been stopped.

commit b9bbc4c9346834f874b10b780d5f17fb38316241
Merge: 450f6a6 9aa8085
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 31 13:14:58 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9aa8085597509ec7bf1ea41070b4cf561cbfcb4e
Merge: 6c05e49 1709ba7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 31 13:14:17 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 1709ba744dd2eb7604ed9e1ff96853e8e23327af
Merge: 55d875f 6445c8c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 31 13:13:21 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 6445c8cf503539962c79faeb6378b164542a9a84
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 31 13:09:32 2016 +0200

    Fix several memory leaks in the ATR test testOIBasic, adding up
    to about 500Mb of leakage in AutoTest.
    
    This test has failed frequently in the past. The root cause for
    that is still unknown, but have some hopes that not bloating
    the process memory usage could fix it. Anyway, good to not have
    such amount of memory leaks

commit 450f6a6ad7f03eeceb601e4cf1c34cf22da591ca
Merge: a0a88d2 6c05e49
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue May 31 11:19:28 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 6c05e49b35f465fb3f3e3967b0573e155ec26a86
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue May 31 11:15:33 2016 +0100

    Fix LCP related non-determinism in ndb.ndbinfo test
    
    Test result depends on whether LCP runs concurrently, which is
    a meteorological concern.

commit a0a88d2dcc129d142e8a21ab0b616c4a2b815944
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue May 31 10:53:20 2016 +0100

    WL#7656 Per fragment locks information
    
    Tighten up testcases :
     - More ordering on result sets so as not to
       depend on ACC internal lock pool details
     - Some extra synchronisation to ensure locks
       from different sessions are 'in place' before
       looking at them
     - Don't run ndbinfo_server_locks on embedded
       as it requires two different server instances

commit bc05055e36e34528e6fc53e6e640ecf9a9aa4a11
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 31 08:21:11 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove unused uncompiled code inside #if 0 which is no longer relevant

commit c1e20ba98e81e744ebe360f9a3c338deb8e1f72a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 30 23:57:13 2016 +0100

    WL#7656 Per fragment locks information
    
    Three new Ndbinfo views added :
    
     - locks_per_fragment
    
       Companion table to operations_per_fragment and memory_per_fragment.
       Keyed in a similar way.
       Shows counts of lock claim requests, and their outcomes per
       fragment.  Shows total time spent waiting for locks successfully
       and unsuccessfully.
    
     - cluster_locks
    
       Companion table to cluster_operations.
       Keyed in a similar way.
       Shows current lock requests holding and waiting for locks.
       Allows stalls and deadlocks to be investigated.
    
     - server_locks
    
       Companion table to server_operations.
       Keyed in a similar way.
       Essentially a subset of cluster_operations, for transactions
       running on the local MySQLD, showing a connection id per
       transaction.
    
    The two tables are based on two underlying tables
      - ndb$frag_locks (locks_per_fragment)
      - ndb$acc_operations (cluster_locks, server_locks)
    
    Three new testcases added :
      - ndbinfo_locks_per_fragment
      - ndbinfo_cluster_locks
      - ndbinfo_server_locks

commit 6422773eec6f7be844e46c1edfdd657d9b5c27e5
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 30 22:56:14 2016 +0100

    Bug #23314028 	NDBAPI : SCAN LOCK TAKEOVER DOES NOT SET OPTYPE IN TAKEOVER OP
    
    Fix minor bug with no side-effects prior to WL#7656 Per fragment locks info.
    
    Testcase is WL7656 testcases.

commit f5d707b7050e05b28b9c67f8cce3277fd686d7ed
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 18 10:52:28 2016 +0200

    BUG#23225768 NDBCLUSTER SHOULD USE MYSQL_MUTEX_T WRAPPER
    
    - In MySQL Server 5.7 the mutex and condition was refactored into
      three layers of mutex types available from mysys. This caused all
      ndbcluster code using pthread_mutex_t to start using the
      native_mutex_t instead. This change causes merge conflicts all the
      time and also makes it impossible to use for example
      the safe_mutex functionality which can help find cases where
      dependent locks are held or not.
    - Fix by changing to use mysql_mutex_t in ha_ndbcluster.
      The mutexes will not be performance schema instrumented at this
      time.
    - Move mutex initializers in Ndb_index_stat_thread and Ndb_util_thread
      which are "static global" to do_init() so that they are created after
      the safe mutex functionality is initialized. Corresponding
      change to deinit function.

commit c083502a68ef018196b03a7db12bf6e8039f0607
Merge: e045bbb 325f82a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 27 11:41:02 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23062205)

commit 325f82afc22d8aeb6ca8909fa5ed699e5277b4e1
Merge: 1c80d39 55d875f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 27 11:40:21 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23062205)

commit 55d875f36e9fef164040fbcf04a81f0306be3172
Merge: 00dccbe 3f1c66b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 27 11:39:36 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23062205)

commit 3f1c66b45029d38f6d5375ba14d571c5522aa52b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 27 09:24:19 2016 +0200

    Bug#23062205 AUTOTEST UPGRADE TESTING DO NOT WORK SINCE LAB MOVE
    
    Only append basedir once, this avoids unnecessarily long lines.

commit e045bbb723421767fc603f2d502ccbbaf8904195
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 26 21:42:06 2016 -0700

    wl#9048 NDB Support for MySQL Server access to VIRTUAL GENERATED columns
    
    Squashed commit of the following:
    
    commit f893c00ca96267e0fbd759da33fa534058ab9236
    Merge: 3647279 da63d14
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:13:02 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit da63d14ede4b9746fbac6ffd57828b6f12050c0c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 14:11:31 2016 -0700
    
        Improve comments in Ndb_table_map header
    
    commit 0e43d0ee423b7a2d1f51beeef4d11f7a2e034b93
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 13:53:39 2016 -0700
    
        suite/gcol: apply changes based on ReviewBoard #11355 comments for wl#9048
    
    commit 0d28cd9c8f3f4955b09e25876c8b26935e912688
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 25 11:23:21 2016 -0700
    
        wl#9048: Ndb_table_map now wraps a const NdbDictionary::Table *
        (or a null pointer, in the CREATE TABLE use case) and its getColumn()
        method.
    
    commit e65f75b67fe4aa11f71f1797debdd9cfb506ccee
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 21:13:40 2016 -0700
    
        suite gcol_ndb cosmetic change
    
    commit 3647279b996e633afd13cec0a9c74b32335bcc72
    Merge: 9819c67 21f36a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:51 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 21f36a07b2f2cc7060316bcfefb2c436c62722f7
    Merge: 2c30e80 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:46:37 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 9819c6795dab4925c0cf109668c4380eef69faf1
    Merge: 2149fb0 07cb5b3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:45:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 2c30e8003047d777218527320d760433140e273c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 19:43:46 2016 -0700
    
        wl#9048: improve test case in ndb_rpl to test replication for both stored and virtual gcol
    
    commit 2149fb089d31173bf584497bfdf5c13f94a657e3
    Merge: a7a5d8a 5fd29e7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 24 18:30:44 2016 -0700
    
        Merge ../working/wl9048 into mysql-5.7-cluster-7.5-wl9048
    
    commit 5fd29e784aae1b39a15e2c6e2886b223502b30a0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
        merge me
    
    commit a7a5d8a2cae436998302c59939c05ab254ae4c6d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 21:56:45 2016 -0700
    
        one additional --sorted-result in suite/gcol/inc
    
    commit 6143a23090c8e7ee62588b9c4fc8dd799e3f97c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:27:02 2016 -0700
    
        wl#9048 add more test cases for joins
    
    commit cbd012ea92e60286fc11546cb7acf32bb2cddc0d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 23 14:11:15 2016 -0700
    
        wl#9048: Rather than creating an Ndb_table_map on the stack for each joined table, use the existing m_table_map from each table's handler
    
    commit bfa42ed1625aff9541750042e1afe0e84f8f2c98
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 12:50:28 2016 -0700
    
        wl#9048: fix bitmasks in several more places
    
    commit cf46dc1bf7e1ef9045d901cb9dacf9c788fb845c
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:50:03 2016 -0700
    
        wl#9048: Optimize Ndb_table_map constructor in trivial case.
    
    commit 3645679ad6eaf7f123aeb8f7c5f87ce46ecafde6
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 20 11:48:44 2016 -0700
    
        wl#9048: In create_pushed_join() use a correct Ndb_table_map for each joined table.
    
    commit 1b7679e7dc9f3fa64bebb2fb76090888fbce3f36
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:52:14 2016 -0700
    
        wl#9048 update result file
    
    commit 7729cf0e40331ded1499be6c88102a9aa71e87c2
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:45:52 2016 -0700
    
        wl#9048 misc. style revisions
    
    commit 5aa5cff8c520f3c97e270689102b05176c68bf32
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:44:22 2016 -0700
    
        wl#9048 renaming.
         Rename m_col_id_map to m_table_map
         Rename Ndb_table_map::rewrite_bitmap() to Ndb_table_map::get_column_mask()
    
    commit 44ca4f096131534a0aa4e5391279115c460ac0bc
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 13:40:21 2016 -0700
    
        wl#9048: additional SELECT tests
    
    commit 3be4a9f5a8048bc86064d6c50177ba8436089cc2
    Merge: 41de158 7c3e740
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:29:09 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9048
    
    commit 41de1589c6ed8c8f92dbe4232492effedbe199ce
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 17 09:27:43 2016 -0700
    
        wl#9048: work on gcol_select_ndb test failures
    
    commit d168833d032208b639021b5d35490390da18d201
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 16 11:43:12 2016 -0700
    
        Two more cases in suite/gcol/ where results must be sorted for NDB
    
    commit f425e3a92a64c68058fd41091e1d58f33d270a92
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:57:29 2016 -0700
    
        Add mtr collection for testing of this branch
    
    commit dd3f3195594e62cd2fab791945f72064b4c953c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 13:52:22 2016 -0700
    
        wl#9048 -- some revisions after code review.
        Not all of this is meant to be kept.
    
    commit b5249c28f3ac9b5b4a3afa5da3380b197112c7bf
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:44 2016 +0200
    
        WL#9048
    
         - add and fix comments
    
    commit dbee585185197bb6787dd1635d573fcbf9785864
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:43 2016 +0200
    
        wl#9048
    
         - data type questions.
    
    commit bce6e2c46f910fe2b2690a5cec9e39f076810a6e
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:42 2016 +0200
    
        wl#9048
    
         - move variables to scope where they are used.
         - would actually prefer if they were only in the for loop scope.
    
    commit 4e7b0672de339b772ca81a5a004b099648f36169
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:41 2016 +0200
    
        wl#9048
    
         - const fixes
    
    commit 70e2411ef4f1948ea1d086c5847d080d04733d8f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:40 2016 +0200
    
        wl#9048
    
         - remove the almost unused operator[]
         - think it should go since there are two mappings which can be
           performed and without calling a function it's hard to know which
           one.
         - clearer code if we call a function.
    
    commit e35b5042209ccdd4c786ffdb36b7e36f047d973f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:39 2016 +0200
    
        wl#9048
    
         - add TABLE* which could be used to check functions
           calls programatically.
         - Perhaps only needed for DBUG compile?
         - Perhaps not _all_ properties need to be stored and instead we can
            look them up from m_table. For example m_trivial?
         - we should of course not add it if not used...
    
    commit a6086095a520c5651d13748215383873e6ce9660
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:38 2016 +0200
    
        wl#9048
    
         - initialize member variables early and make them const
    
    commit 501042a8d60379ecd558bf86da0450db6e8acb67
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:37 2016 +0200
    
        wl#9048
    
         - remove Ndb_table_map::init()
    
    commit b3cb28577376aee9e70b3854fd60350841ae933c
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:36 2016 +0200
    
        wl#9048
    
         - remove default constructor for Ndb_table_map, instead create
           the m_col_id_map* from ::open() and close() when it's well known
           which TABLE* to use.
         - should make us detect if the Ndb_table_map is used from
           not open'ed ha_ndbcluster(since m_col_id_mape will be NULL).
         - didn't remember syntax for how to use operator[] from pointer
         - also allows the constructor to be changed to make much more things
        const.
         - think we might even be able to save a pointer to TABLE* to allow
        checking field->stored_in_db etc.
         - starting to see Ndb_table_map more as a wrapper around TABLE
    
    commit 9ca68d82c864a6b8b509a2664a60dde18a5c2569
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:35 2016 +0200
    
        wl#9048
    
         - use stack allocated Ndb_table_map in ha_ndbcluster::create()
         - should try to use ha_ndbcluster member variables only between open()
            and close() and the handler is not open when calling create().
         - trying to make ha_ndcluster::create() a const function at least.
         - yes, I know it already uses m_table and m_tabname etc. but if we
           could get this new code to work without m_col_id_map it would be
           nice.
    
    commit 2a9787158764ef299b37a36366a024d62d6dd41f
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:34 2016 +0200
    
        wl#9048
    
         - remove unused parameter for create_table_set_up_partition_info()
    
    commit 9649b13cedecc88ecd1d27b01ff25763d6e9b884
    Author: Magnus Blåudd <magnus.blaudd@oracle.com>
    Date:   Fri May 13 11:28:33 2016 +0200
    
        wl#9048
    
         - don't use ha_ndbcluster_glue.h which we intend to remove
           as it includes and exposes too much
         - reduce interface of Ndb_table_map, forward declare usage of TABLE
           and onlky include parts which are really used in the implementation
    
    commit 801461babfaa30cbc0303b963131e810d6419317
    Merge: bb268ec a438906
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Fri May 13 12:06:04 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit bb268ec306860367aee7dc07e2c1c9b20f610c10
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 13:49:14 2016 -0700
    
        More result sorting in gcol_view test
    
    commit d277c141023e0ead16322e41433975b0ec214c72
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 12:45:11 2016 -0700
    
        wl#9048: Add test case for various NDB column layouts
        including generated, blob, hidden pk, and char(0) columns
    
    commit f1340826d9fc9812c3c8f1e074ca612aca2d775c
    Merge: 1b701d8 45c99c3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 12 11:33:21 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 1b701d84265dff9947a3639a10975b6cfac6132f
    Merge: 0a94d97 b708ebf
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 11 10:13:39 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 0a94d975a159f78f2c7701de769f6e7ce130ad15
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 16:28:20 2016 -0700
    
        revert bug where table->s->fields was wrongly changed to table->s->stored_fields
    
    commit f8a39d1a422e31b682b7b91d26fb379bbd161fc7
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:19:59 2016 -0700
    
        wl#9048: In suite/gcol_ndb add tests based on suite/gcol/inc/
    
    commit 804a19d5bcd858109b5ab066da29214a65820ac3
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:16:50 2016 -0700
    
        wl#9048: Add "ORDER BY" and "--sorted_result" in suite/gcol as needed for tests have repeatable results in NDB.
    
    commit 14e7129ccd3a1e990c2397e2fce839f9e4505362
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:13:21 2016 -0700
    
        wl#9048 Fix crashing bug in online ALTER TABLE where generated columns are present.
        The binlog injector thread must call lex_start(thd) to initialize lexer so that
        it can parse the SQL expressions for generated columns.
    
    commit 8f818e9abec7d24d47730845097bfbb28ca468a5
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 10 15:11:58 2016 -0700
    
        wl#9048: Move TableMap class from ha_ndbcluster to new ndb_table_map.h|cc files.
    
    commit ab62f7ed23cac892d08e5602cb01b0708bcb72fd
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 15:25:22 2016 -0700
    
        wl#9048: in suite/gcol/ add "ORDER BY" needed to make results deterministic for NDB.
    
    commit 1e8f6221cca79e2b5ee0673c305c9ae924d4a735
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:17:02 2016 -0700
    
        Add dbug output to ndb_set_record_specification
    
    commit abdb3459f09e368b75909f708bae8257bc9a4510
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Mon May 9 14:11:39 2016 -0700
    
        wl#9048: when using a MySQL bitmask with NdbRecord, rewrite it if necessary to compensate for virtual columns
    
    commit 871f30bc39e227aa0d3361fb38587e2ffff2a7b0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 14:01:20 2016 -0700
    
        wl#9048: add ORDER BY to all table scans in gcol_colum_def_options test
    
    commit e32186e61eda39ad0121c4c931cf3d58c6b6045b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 13:22:14 2016 -0700
    
        wl#9048: adapt gcol test suite
        Some ALTER TABLE statements return error 1846 from NDB vs. error 1845 from MyISAM
    
    commit 8d94baf585541c7eceb7d8e60d385f3cea6de57f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Thu May 5 12:00:30 2016 -0700
    
        wl#9048 BLOB handling: more checks for virtual columns
    
    commit 12a0e2982d4f2adcc1d67cc8b5027e40f22f542f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 13:41:52 2016 -0700
    
        wl#9048 reclength vs. stored_rec_length
        stored_rec_length is the length of stored columns only in MySQL's record buffer.
        MySQL lays out the buffer with all stored columns first, then all virtual columns.
        This patch takes a conservative approach: in the case of copying data from NDB
        to MySQL, we only copy stored_rec_length bytes; but when using the length as
        an allocation size, we assume we need to allocate enough space for both stored
        and virtual columns.
        This also fixes one more case of virtual fields not being computed in MRR results.
    
    commit 5970f5a031c6c91351217b08ae94c4f8775dca3d
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 12:16:08 2016 -0700
    
        wl#9048: Support ALTER TABLE
        Note that online ALTER TABLE where the resulting table contains a virtual gcol
        is currently disabled due to crashing bug in NDB binlog injector thread.
    
    commit cc1ab4e2b8f044af6fcb447f5a8caf829e8087c0
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 11:59:32 2016 -0700
    
        wl#9048: Check for virtual fields in NDB binlog code
    
    commit 00a34d25c31c3cc01329a03aa60da267ef1abf78
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:06:30 2016 -0700
    
        wl#9048 update generated columns when reading in MRR and SPJ queries.
        Here we call update_generated_read_fields() from the NDB handler,
        though it is normally called from higher levels in the server, because
        these code paths are not shared with any other storage engines.
    
    commit c634530390abc8f6099169d7da9553b2def45637
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 10:00:06 2016 -0700
    
        wl#9048: check whether a query field is a virtual generated column in MRR and SPJ query plans.
    
    commit e0b762b57c47281d870e34a1e3b6d30c1beab831
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:56:26 2016 -0700
    
        wl#9048: Check for virtual fields and use TableMap to relate field number to column number
    
    commit 9b4faa95263ff34341f9d8d14e06f78013858d7f
    Merge: 3375e48 24d181f
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Wed May 4 09:34:45 2016 -0700
    
        Merge branch 'mysql-5.7-cluster-7.5' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.7-cluster-7.5-wl9048
    
    commit 3375e48c9236982025b2fca9a89647d9b7444161
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:05:02 2016 -0700
    
        wl#9048: fix calculation of column number for hidden pk
    
    commit 1d7d830685361769c3c58dff5324c524cce01b5b
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 14:01:14 2016 -0700
    
        wl#9048: Handle virtual columns in CREATE TABLE
    
    commit db97a0019d4a57670a01004b625172861a634624
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 13:44:26 2016 -0700
    
        wl#9048 Create TableMap class.  http://rb.no.oracle.com/rb/r/12582
        Map between NDB column id and MySQL field id.
    
    commit 4c6f56537d11251bf778feda1879dc6d8de658b9
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:41:30 2016 -0700
    
        wl#9048: Commit gcol_ndb and ndb_rpl tests from original wl#8818 patch
        This creates suite gcol_ndb with some basic tests for stored generated columns
        and adds a simple generated column replication test to suite ndb_rpl.
        This commit does *not* include the ha_ndbcluster.cc implementation of stored
        generated columns from wl#8818, which is quite small and will be included
        in the wl#9048 implementation.
    
    commit 3a2cfc9b2175f6e5064499bddb8dff2a557e8483
    Author: John David Duncan <john.duncan@oracle.com>
    Date:   Tue May 3 11:17:57 2016 -0700
    
        wl#9048 Changes to mysql-test/suite/gcol/ -- http://rb.no.oracle.com/rb/r/11355/
        Update gcol suite for better reuse with NDB

commit 07cb5b3526f7b839204cf20773e85ce5ba57081a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 24 09:39:26 2016 +0200

    Bug21098142 7.4 MYSQLD HANGING IN SHUTDOWN
    
     - fix up
     - rewrite to avoid compiler warning about unused variable "ret"
       in release compile

commit 51023882c97789c406f5a02d0ac69ef5b8f5cfe1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 23 10:20:04 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove check for my_default.h(i.e HAVE_MY_DEFAULT_H etc)
     - code is now directly coupled to the current version of MySQL

commit 5d43aefe4ddff4d2434bc01f35c2f1d2569d1e92
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 15:12:12 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
    - remove #ifdefs for NDB_WITHOUT_DIST_PRIV since functionality is always there

commit 1cdd1f354d3fc0913fbd5bc8a8cfeee22ac896ae
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 15:09:30 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
    - remove NDB_NO_WAIT_SETUP #ifdefs since the hook now always is there

commit 492e6c05d977a9c65593a7e92c9ee75be3bcbef1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 15:02:07 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove remnants of code for NDB_WITHOUT_SERVER_ID_BITS

commit 6360d8fab456204b51789bb809a07f454ebc8e1e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 14:49:34 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove version dependent ifdefs, all code is now coupled directly to the current version of MySQL

commit 712e8157ef349bf0fe85a8e28d526b446509dced
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 13:03:04 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove "compatibility kit" for using mysql_mutex_* functions from 5.5
       based MySQL Cluster

commit e1a903fa460db8f171c4098ff39f69cf6f3c6fd9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 12:56:59 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - reomve NDB_NO_MYSQL_RM_TABLE_PART2 which is unused

commit 29ce2d3bb98a549c2d23f463df511ad62163d187
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 12:53:07 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove NDB_THD_HAS_NO_VERSION which is exclding use of code
       that was removed in 5.5

commit 2e6d6af8f0456159076dbc0305d6fb8f99aebe1e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 20 10:51:53 2016 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove  wrapper for old my_free(char*, flags) and fix the code to use the new function directly.
     - remove unnecessary casts to (char*) since the new function takes void*

commit d65e84dcc945cbf7c1b5700f7fd6fb520d5a5ff2
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat May 21 17:43:15 2016 -0700

    Update json test suite with latest changes from mysql-5.7
    wl#9007 JSON support for ndb
    
     Changes to be committed:
    	modified:   mysql-test/suite/json/inc/json_functions.inc
    	modified:   mysql-test/suite/json/r/json_functions_innodb.result
    	modified:   mysql-test/suite/json/r/json_functions_ndb.result
    	modified:   mysql-test/suite/json/r/json_no_table.result
    	modified:   mysql-test/suite/json/t/json_no_table.test

commit 423b589c19ae00bf31280d99acf42d4e436003bd
Merge: 6408a3b 1c80d39
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri May 20 15:32:13 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 1c80d39cac4fc632a60db6a12ca42626639697b1
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed May 18 17:46:45 2016 +0530

    Post push fix for Bug#22299443
    OBSOLETE INDEX DATA SENT TO GETNDBINDEXOPERATION() CRASHES NDBD
    
    The testcase was missing an expected error code which was causing it to
    fail. This commit fixes it.

commit 6408a3b6da34470f927f00c4d7459566c95f6542
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri May 20 10:23:32 2016 +0200

    Raise version number after cloning 7.5.2

commit ae99c433d0fb1ca44a7dd8b84bec4d9ba0d027c2
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 22:34:44 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Removed output of binlog file path to be file system independent.

commit f55da10eec2fa5bf101bd40c70c7e86f968ebf5a
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 13:57:02 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Make test case independent if binlog file names.

commit 038725d72f1450675cc12919482028b4bccd5253
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 08:46:29 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Updated tests case ndb_binlog_purge_lock/upgrade.
    Removed timing dependency when waiting for rows to be committed to binlog.

commit d75aee834dc7865791e284e3977ea3815fd35ec5
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 01:07:52 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Updated results file of test affected by an additional system table
    in InnoDB.

commit 1ae0261d5558a0969b07374a41f24e45ec595bf8
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 01:00:03 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Updated results files of tests affected by an additional system table
    in InnoDB.

commit 697f0e3c13311046b147361a22cab340fc289881
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 19 00:46:20 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Added missing STATS_PERSISTENT=0 declaration for ndb_binlog_index.

commit 0ef08ae70d8d8b6f97185fe4942980db7eb06932
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed May 18 18:28:51 2016 +0200

    WL#7162 Move ndb_binlog_index table from MyISAM to transactional storage
    
    Changing storage engine of ndb_binlog_index to use InnoDB.
    This gives better behavior when purging logs where large parts of
    the table can be deleted. Avoiding MyISAM table locking as well
    as using InnoDB lock-free reads will give better availability.
    
    Installation scripts mysql_system_tables.sql and mysql_system_tables_fix.sql
    are updated to define/alter the ndb_binlog_index table to use InnoDB.
    
    A new testcase ndb_binlog_purge_lock tests concurrent inserts
    during purging of the binary logs (which deletes rows in ndb_binlog_index).
    A new testcase ndb_binlog_purge_upgrade that first uses the mysql_upgrade
    script and then checks ndb_binlog_purge_lock.
    Updated ndb_rpl_circular to make scan order predictable.
    Updated ndb_binlog_index.result since it checks table engine.

commit 37457ba2f317d72e976591fe9d901dd7eac67b86
Author: Ole John <ole.john.aske@oracle.com>
Date:   Wed May 18 14:10:14 2016 +0200

    Bug#22758238 	'WAITING MAX 119 SEC FOR DISTRIBUTING' ON PARALLEL MYSQLD ACTIONS
    
    MySQL 5.7.6 has changed to use 'mysqld --initialize' to create the
    datebase schemas. That replaced the previous 'mysqld --bootstrap' which
    started a minimal mysqld instance *without a running ndbcluster* and
    used a script to create the schemas.
    
    With the introduction of 'mysqld --initialize' the schemas were created
    while connected to ndbcluster. Thus the schema operations were also
    distributed. However, when initializing a database, schema distribution
    is not required as the database schema must be created on all mysqlds
    prior to normal startup.
    
    The distribution of schema operations brought us into a MDL-deadlock. (Meta Data Lock)
    The root case for this deadlock still remains to be investigated.
    
    As a stopgap for fixing that bug, this patch ensures that a mysqld
    started with the --initialize option does not enable the plugin
    for the ndbcluster storage engine. Thus initialiuze of database
    schemas will not be distributed among the mysqld, which is similar
    to the pre 5.7.6 'bootstrap' behavior.

commit ff7b5c9beffc7006a6ba21ec416a017d4265f05a
Merge: ed96054 1b48638
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 18 13:21:00 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23006431)

commit 1b4863864f9ef4a1cd993926a0862017c86eb403
Merge: 8ab0ccc 00dccbe
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 18 13:20:29 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23006431)

commit 00dccbec4a4c1a7dd57f22f773134687c03721eb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 18 13:16:00 2016 +0200

    Bug#23006431 UNRELATED API FAILURE DURING ARBITRATION CAUSES ARBITRATION FAILURE
    
    Post push fix.
    Correcting test case testNodeRestart -n ArbitrationWithApiNodeFailure T1, by
    clearing error insert value at test end.

commit ed96054f9462138ec666d1b564e7550311747438
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 18 13:07:00 2016 +0200

    Post push fix for WL#9019 make fully replicated tests byte order independent

commit 33c8bda0726d8b265cb5ea0afed2c5e73b242b4a
Merge: 2c97c29 8ab0ccc
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue May 17 23:00:57 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 8ab0ccccac67f6ad464e4299dab64de967408bf0
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue May 17 22:56:18 2016 +0200

    Reduce undo buffer size to avoid OutOfLogBufferMemory error in some PB machines.

commit 8fb258607938fdd372b8252c83a19026ac44e441
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue May 17 21:47:21 2016 +0200

    Revert the trace to track the ndb_print_file failure

commit 2c97c29519258cdc3f842b2474b9bd940d3a3aa8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 9 16:15:32 2016 +0200

    WL#9019 Fully replicated tables in NDB

commit ccf1c6b4b056b0d7882517c8cc7f2c0451a80b27
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 16 14:58:40 2016 +0200

    Post push fix for WL#9018 making --ndb-data-node-neighbour dynamic.

commit 3370ae123539acb238c963da5a8a2eadb1793905
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue May 17 19:30:31 2016 +0200

    Post push fix for WL#9018 and WL#9020 correcting ndb version defines.

commit 7c3e74068e61d2361116047353e83bbc17168f89
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 16 13:13:19 2016 +0200

    Bug21098142 7.4 MYSQLD HANGING IN SHUTDOWN
    
     - followup fix found during code review
     - remove variable only used in DBUG printout

commit cf074df3ef99014fef2bfb7025a4466587e3ec70
Merge: a438906 6cef227
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 16 13:03:21 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 6cef227ffcd9334b3a5e9f707f424002cf086f3d
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Wed May 11 13:59:14 2016 +0530

    Bug#21098142 7.4 MYSQLD HANGING IN SHUTDOWN
    
    When we do a "shutdown" in mysqld, a deadlock occurs if there is a thread
    executing ndb_index_stat at the same time.
    
    The ndb_index_stat thread first takes a local lock and then tries to
    acquire a global lock. At the same time, the  shutdown thread takes the
    same global lock first and then tries to acquire the same local lock.
    
    Fixed the index stat code to separate the critical sections for the global
    lock and the local lock. Now the local lock is released before taking the
    global lock, so the deadlock is avoided.

commit a438906d41a5eb358b496007a058d4e6edba2523
Merge: 9ba3784 0a53ccf
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri May 13 15:32:26 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 0a53ccf05ff0cce0f2b776ff88d949ce5f18e2c4
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri May 13 15:29:59 2016 +0200

    Adding some more trace to track the ndb_print_file failure

commit 9ba3784e5f0722572d5bf254fb8323474d3cac73
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri May 13 01:12:54 2016 +0530

    Bug #23225849: NDB_JOIN_PUSHDOWN* TESTS FAILING ON 32-BIT MACHINES
    
    Problem:
    
    The ndb_join_pushdown* tests began failing on 32-bit machines after
    the recent server merge. The range optimization step is skipped
    in these tests. In commit 87152b59b563e2749f6ea21a772d9e1d4c6dc258,
    the 'range_optimizer_max_mem_size' was lowered to ensure that the
    limit was exceeded and the optimization step was skipped on 32-bit
    machines as well. However, this change was effectively undone in
    commit 4cdb516fe1261b601d48d8d30916299c1e68e37a in which the memory
    usage for range optimization was reduced.
    
    Fix:
    
    Further lower the limit such that it is triggered on 32-bit machines
    even in the light of the reduction of memory usage for range
    optimization.

commit 45c99c34869cee398c674e4a22d741bca1293945
Merge: 57e47f6 42b63e9
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu May 12 17:48:08 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 42b63e995c600ef8f5a597ccf8df4287c77f4467
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu May 12 17:46:10 2016 +0200

    Post fix to "Adding some trace to track the ndb_print_file failure in 7.4":
    Adding lacking ';'

commit 57e47f685af612bd79c875ecb221027b303fe074
Merge: 0cc2902 37db3f1
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu May 12 14:35:00 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 37db3f1f28127a8c9db92b344607126ca7caa8d6
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu May 12 14:32:12 2016 +0200

    Adding some trace to track the ndb_print_file failure in 7.4

commit 0cc29024bead263365783de213c0532d5090bfc8
Merge: 44e44c8 5fb0533
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 17:37:46 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23062205)

commit 5fb053331e4d47042e6e7e6c27c7dad30478ec9f
Merge: 208b01c 684d232
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 17:36:12 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23062205)

commit 684d232bd6dea924249967eadea229b42dd53e02
Merge: bccfb57 a44bff0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 17:34:31 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23062205)

commit a44bff0a610315a5d1e18c02c6aa0c49f5d7f666
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Apr 13 00:49:46 2016 +0200

    Bug#23062205 AUTOTEST UPGRADE TESTING DO NOT WORK SINCE LAB MOVE
    
    Introduce appendable long strings in parser for MGM and CPC protocol
    keeping the maximum line size to 512 bytes.
    
    Use LongString for CPC protocol 'define process' arguments 'env' and 'args'.
    
    These long strings are sent as:
    argname:"first-part-of-data..."\n
    +argname:"second-part-of-data..."\n
    ...
    +argname:"last-part-of-data..."\n
    
    Sending lines starting with '+' to old clients will make CPCD not defining
    process, in same way as specifing unknown argument.
    
    The use of quotes is to disable triming white spaces since they need to be
    kept while concatenating the parts.  Using quotes is an old feature.

commit 44e44c8fdc92d8e3e83143414193dfaeea0d7543
Merge: 0f93b1b 208b01c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 16:23:56 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23265447)

commit 208b01c622ef4405bd6389eec791672d4b8fac7d
Merge: 424d114 bccfb57
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 16:23:05 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23265447)

commit bccfb573f3953beac4d8af80c5e6038b3e1e9cc6
Merge: 15cecb3 b2350b2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 16:21:20 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23265447)

commit b2350b248b2abeb5f305cd7e79068488b8162c1c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 11:08:09 2016 +0200

    Bug#23265447 TEST_EVENT -N CREATEDROPEVENT_NF T1 [DBDICT (LINE: 18834)]
    
    The test 'test_event -n createDropEvent_NF T1' is expected to verify that
    dropEvent succeed even if master node crash at a specific time.
    
    This is tested by triggering a crash in Dbdict::execSUB_REMOVE_REF by an
    error 6125 insertion.
    
    Unfortunately it seems that the master node do not crash, or not seen
    crashing, before the test have ended.
    
    And then occasionally some other test that runs later fails instead.
    
    This patch adds a wait for the master node to stop during the test, this
    ensures that following test runs will not crash due to a late crash from
    error 6125 insertion.
    
    There can still be a failure in the test itself, this is not examined
    further in this bug which focus on removing the effect on other unrelated
    test runs.

commit 0f93b1b9355cd8ceaec908717af43c5d9ae566ca
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed May 11 16:18:43 2016 +0530

    Add mysqlxtest to test subpackage

commit 58cd8842b8bf837cd96a08187f053e9c12a8c74d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 11 10:57:48 2016 +0200

    WL#8726
    
    - automatically turn on building of NDB tests for "-devbld" debug
      builds in order to increase test coverage

commit 82a053ee16963bb69207588e63fc581f7daf95d8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 11 09:12:11 2016 +0200

    WL#8817 Post-push fix for build errors on OS X and Windows.
    
    storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp:658:37: error: invalid use of non-static data member 'elemScanned'
      enum { ELEM_SCANNED_BITS = sizeof(elemScanned) * 8 };
                                        ^~~~~~~~~~~
    storage\ndb\src\kernel\blocks\dbacc\dbacc.hpp(658): error C2327: 'Dbacc::ScanRec::elemScanned' : is not a type name, static, or enumerator
    
    storage\ndb\src\kernel\blocks\dbacc\dbacc.hpp(1132): error C3861: 'ffs': identifier not found
    storage\ndb\src\kernel\blocks\dbacc\dbacc.hpp(1146): error C3861: 'ffs': identifier not found

commit f9c5a36ada917fbdcc08bf11a784056b25d4dfd4
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Wed May 11 10:53:17 2016 +0530

    Bug #23249846: EMPTY SYS DATABASE PREVENTS MYSQL_UPGRADE OF SYS SCHEMA
    
    Post-push fix.
    Fixed memory leak.
    
    (cherry picked from commit ce191b73e439cc0e4ff6b1b5bff07fafc875303f)

commit b708ebf601b1ee4511a6fbe726778f79e31966ae
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Mar 22 22:39:09 2016 +0100

    WL#8817 Documenting Dbacc hash table with focus on scans

commit c7d8140883e5dfca1f47ffeb748d8715051e3bb3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 2 10:13:18 2016 +0100

    WL#8570 Enable fragments larger than 16GB in MySQL Cluster
    
    This patch removes the limitation on partition size for fixed size row
    data imposed by the use of short (32bits) dbtup pointers from dbacc.
    With this patch dbacc can use full sized (45bits) dbtup pointers, which
    means one can address 128TiB within a partition.
    
    There are no changes to table definition, so after upgrade of Ndb data
    nodes old tables partitions supports long dbtup pointers.

commit 215fb04f685394aeb31f986964b1d7e1ef5fa603
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 2 10:11:10 2016 +0100

    WL#8570 Make dbtup use long (45bits) tuple references.

commit 38d0e86985024c044543e4be7fd83dedeb729be6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 2 10:06:33 2016 +0100

    WL#8817 Remove element scanbits from element.

commit fcfe962b856dd3a7d39d0e4ae7f5db47cae04e1f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Feb 19 16:48:24 2016 +0100

    WL#8817 commitdelete,getLastAndRemove,getScanElement
    
    New scan state in Page8 and ScanRec.
    
    In Page8 one can see if a scan currently scan a container on page.
    In ScanRec the element scan bits are stored.

commit 28b503d4d6e8ab432c77a63fe4a4679a037043b1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 9 21:20:33 2016 +0100

    WL#8817 ContainerHeader::SCAN_IN_PROGRESS

commit 679da551635a9e49d5cf9724e7ad8e1cc1addd04
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 21 15:35:05 2016 +0100

    WL#8817 Dbacc::insertElement/insertContainer respect container scan bits

commit 362967e05828bef7681cd18c53c8099fa7df85eb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Feb 19 10:46:12 2016 +0100

    WL#8817 getLastAndRemove respect container scan bits

commit f9e5dca79302496a22c8c387e0b750fe113a99c6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Feb 25 11:22:34 2016 +0100

    WL#8817 Dbacc::commitdelete.

commit 20a8635ac7a5ff1681401fd1a34dc2d8597d22bd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 8 23:25:54 2016 +0100

    WL#8817 ACCKEYREQ insert

commit 61be89dfabcd9141081c37acdde3a80f1994db14
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jan 8 21:36:05 2016 +0100

    WL#8817 Use scan bits for container

commit 87c8d45ffece0df7dddf5c65a2751aed68b6f58e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Dec 14 16:52:56 2015 +0100

    WL#8817 Introduce scan bits for container

commit 609ce6c4c7d792a452b84f1daf76de067d8d360f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 8 21:42:15 2016 +0100

    WL#8817 On scan close make sure last bucket is marked as partial scanned
    
    This patch adds an extra releaseScanBucket on scan close.

commit de8b021b205e8a640c9fed05f34be0779939cdb9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Feb 3 18:04:36 2016 +0100

    WL#8817 Dbacc::releaseScanBucket, Dbacc::releaseScanContainer
    
    releaseScanBucket/releaseScanContainer using scan mask instead of single
    scan bit.
    
    New logic always scans expand/shrink buckets once for cleaning scan bits.
    Old logic scanned once for each scan bit to clear.  The need of this scan
    will be removed in later patches

commit 9b45dcf291ad57dcdbf10c0122b771d848e2ca46
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Feb 3 14:57:02 2016 +0100

    WL#8817 Dbacc::Fragmentrec::activeScanMask
    
    Keep track of all active dbacc scans in a fragment.

commit bba1cbf54eb3d7d08e4995df86fc96d740c50b3f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Feb 17 11:31:23 2016 +0100

    WL#8817 Refactoring Dbacc::ElementHeader.
    
    Add and use setInvalid/isValid instead of set element as unlocked.

commit 507f04f72c244490168cc8435cc408fb193a07e1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Feb 3 14:47:15 2016 +0100

    WL#8817 Dbacc::ElementHeader zero marks no element.
    
    An aesthetic refactoring making an ElementHeader with only zero bits usable as
    a placeholder for later valid ElementHeader value.
    
    Before this patch a zero value was interpreted as a locked element using
    operation record #0.
    
    Now it could be misread as an unlocked, and unscanned element with an invalid
    reduced hash value (which must always contain at least one set bit).

commit 0912c1eedb01d9684f567379bb1f0e388bf9adf6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 14 19:33:14 2016 +0100

    Bug#22926938 ACC TABLE SCAN MAY SCAN SAME ROW TWICE
    
    New autotest test cases demonstrating bug and fix.

commit 62c8e7ff08d651acaf38731c85a5b2a33f05fa6b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 14 19:33:14 2016 +0100

    Bug#22926938 ACC TABLE SCAN MAY SCAN SAME ROW TWICE
    
    While scanning a Ndb table using hash index some rows could be scanned
    twice if table grows and shrinks alternately.
    
    Each partition is a linear hash table which can expand or shrink by one
    bucket at the time during the scan.
    
    The old logic did not take into account that already scanned buckets could
    be split resulting in scanned top buckets which was later merged back.
    
    The old logic wrongly always cleared the scan state of merged back buckets.
    
    Furthermore it wrongly assumed that there could been any scanned buckets
    merged into buckets below the top bucket when scan started.
    
    This patch make sure that buckets only have the scan bit cleared when it is
    known to have undefined scan bits.

commit 8aff4bfe4e4e715462afdf230d070096e8e40833
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon May 9 15:52:35 2016 +0530

    Bug #23249846: EMPTY SYS DATABASE PREVENTS MYSQL_UPGRADE OF SYS SCHEMA
    
    Problem:
    
    Running mysql_upgrade on a mysqld which has an empty "sys" database
    refuses to create the sys schema saying that sys is a user created
    database and should not be overwritten.
    This is a little too strict and we should allow the sys schema to be
    created when an empty sys database already exists.
    
    Fix:
    
    Modified mysql_upgrade to allow successful upgradation even if an
    empty sys database already exists i.e. create the necessary database
    objects in the existing empty sys database.
    
    (cherry picked from commit aeefa58997ddd7fa214920d74538e6b7ea22e057)

commit 02a2f70b150d59b04e03e4176c4c44a3ea22c68f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 10 09:26:09 2016 +0200

    Bug#23202735 CLIENT PERFORMANCE REDUCED DUE TO THREADS WOKEN UP TOO EARLY
    
    This patch fixes two issues related to threads being
    woken up when not needed, and thus resulting in unnecessary
    context switches.:
    
    1)
    Avoid API Clients waiting in the poll queue to be woked up every 10ms.
    
    The 'poll-right' is given to (only!) one of the clients waiting
    for do_poll. The rest of the clients just wait there such that
    they can be woken up when the poller delivers something to them.
    However, a max wait time of 10ms is currently enforced, such that
    they may be woken to immediately be put back to sleep. This also
    implies dequeuing and requeing in the mutex protected poll queue.
    
    Iff the client threads waiting in the poll queue are properly
    signaled when signals are delivered, there should be no need to
    wake them up regularly. This patch removes the enforced 10ms max
    wait time, and instead wait the time specified by the callee.
    
    2)
    Fix a performance problem in ::do_poll() where the polling 'clnt' does not
    check whether it has been woken up *itself* before completing the poll.
    
    It is sufficient that only some trp_client's in the poll-queue
    received data. ::do_poll will then signal these clients and
    give up its poll right, even if the max specified wait_time
    have not expired.
    
    Thus, another of the clients in the poll-queue has to be
    appointed as the new poller, and a *thread switch* is required
    to wake up that thread for more do_poll work.
    
    This patch allows do_poll() to continue polling until
    either the max specified wait_time have expired, or
    the polling client itself has been woken up (by being
    delivered what it waited for) This avoid unnecessary
    thread switches between the client threads and thus
    reduce the overhead in the API client. This results
    in a ~10% performance improvement when the client
    threads does the polling themself.
    
    This is similar to the mechanism already implemented
    in the receiverThread, which explicit request to 'stay poll owner'
    when it has been activated. We still see that having the receiverThread
    doing the poll is faster than using the client thread. However,
    we believe that most of this is due to the receiver thread allowing
    more trp_client to have delivered signals before signaling them
    vs the client threads. (256 vs 16)

commit b01e4e8e086ebf3b03bdddcfc79017080cc8492d
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Tue May 10 11:53:32 2016 +0530

    Bug #11755512: WRONG ERROR REPORTED WHEN ATTEMPTING TO DROP TABLE DURING BACKUP
    
    Post-push fix.
    Included have_ndb_error_insert.inc in the test case to enable error inserts.

commit 721a24fb3489a35c6511767877957041e63b6c8e
Merge: 3512b9e 424d114
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 9 16:23:52 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 424d114d60992a84811dba47112a4a2ee2c89383
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 9 16:22:15 2016 +0100

    Bug #22819868       NDB : REMOVE 'HISTOGRAM BOUNDARY INFO' FROM NODE OUTPUT
    
    Remove debugging noise from node start logs.

commit a0d505edf3e2da8747cc30fbdd0ed14b7397dc15
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 9 16:21:05 2016 +0100

    Bug #21313546       NDB : DEBUG COMPILED ASSERTION FAILURE IN DBTUPVARALLOC.
    
    Use Uint64 for var size calculations, avoiding Debug-build assertion failure
    with > 4GB fragments.

commit 3512b9eabc317bc392a0269e0894b8c18dacf6d8
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon May 9 18:32:35 2016 +0530

    Bug #11755512: WRONG ERROR REPORTED WHEN ATTEMPTING TO DROP TABLE DURING BACKUP
    
    When a table is altered during an ongoing backup, mysql reports
    it as "Unknown error 762". This happens because my_error()
    is unable to fetch the correct error message for the error code 762.
    
    Hence, changed the error message being passed to my_error() to
    ER_GET_ERRMSG.
    
    The error is now reported as "Got error 762 'Unable to alter table
    as backup is in progress' from NDBCLUSTER".

commit 1a384c3f812bf1a5dbd5c5b4eaab82cf2ab149d4
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon May 9 16:39:47 2016 +0530

    Bug #23130084 - Post Push Fix
    
    Removed deallocation of a couple of resources used outside the
    function.

commit 259f2f41899040c043e652fe28a64b33e64d0f8d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu May 5 17:23:30 2016 +0530

    Bug #23130084: MEMORY LEAK IN NDBDICTINTERFACE::PARSETABLEINFO()
    
    Fixed a number of memory leaks in NdbDictInterface::parseTableInfo

commit a19caf362cc6dceac1b9b7e9a68aa1a701c60a87
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Mon May 9 11:45:35 2016 +0530

    Bug #21097957 IMPROVE NDB_RESTORE OUTPUT/LOGGING
    
    Added more log prints for every stage of restore.
    Also attached timestamp with the logs.

commit 7d39ec031f545849891f3dd19d7b33c8bfc542c0
Merge: 24d181f 4fc8275
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 5 16:29:38 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 4fc827507284af7b47cf8750a6d062aac9ef86a0
Merge: b23bc66 15cecb3
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 5 16:29:10 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 15cecb3c862554e888c5907142905f0938be5c1b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 5 16:27:12 2016 +0100

    Don't run ndb_fk_restart on embedded mysqld (libmysqld).
    
    libmysqld has some issues with disconnect + reconnect.
    See
    Bug   23234685 NDBAPI : CERTAIN SEND FAILURES CAUSE CLEANUP PROBLEMS

commit 24d181fa8803271077e0ead80bb005bd5c5458f8
Merge: 0e9ffb8 b23bc66
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed May 4 17:16:05 2016 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit b23bc665303800b8d965b74b5daef20537002d82
Merge: 5cc53e0 bf736bf
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed May 4 17:14:06 2016 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit bf736bfb18488bfae2441db9036dfd73140ddfec
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed May 4 17:12:16 2016 +0100

    Bug #23068914 DATA NODES CRASHED AT EXECUTEFKCHILDTRIGGER
    
    Foreign keys use triggers to check that referential
    integrity is maintained.
    
    Triggers fire when data changes are made at distributed
    Local Data Manager(LDM) components, resulting in signals
    being sent to the causing transaction's Transaction
    Coordinator (TC) component which executes further operations
    to ensure integrity.
    
    When a node restarts, these distributed triggers must
    be recreated, and it is important that all distributed TC
    and LDM component instances agree on trigger identities.
    
    This was not guaranteed by the implementation.
    
    To fix this, an extra step is added to Node Restart, where
    trigger identities are determined from the current
    running Master node.
    
    A new testcase ndb_fk_restart is added to the ndb MTR suite

commit 0e9ffb8b60e5a31f3c0d7adf40cac44300871e98
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 4 09:05:14 2016 +0200

    Bug 21098142 prepare
    
     - make it clearer what Ndb_index_stat_thread::LOCK and COND are
      doing by renaming them to LOCK_client_waiting and COND_client_waiting
     - also avoid name clash with Ndb_util_thread::LOCK and COND

commit 14c125ec9be22cbb2046779db86b0409b76a9ba6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 3 10:41:39 2016 +0200

    WL#9018 turn ndb_read_backup off and on in tests
    
     - when running mtr.pl --mysqld=--ndb-read-backup=1 some result diff
       appears and tets had to be skipped.
     - fix by instead turning ndb_read_backup off in tests where the result
       differs due to different number of partitions etc. This shows up
       in tests running explain, show create table or ndb_desc.
     - move file include/have_not_read_backup.inc to
       suite/ndb/include/turn_off_ndb_read_backup.inc
     - add file suite/ndb/include/restore_ndb_read_backup.inc
     - remove r/have_not_read_backup.require

commit 9fd639c6e4285751be9343030181c8cfc09a7497
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 3 09:29:44 2016 +0200

    WL#9018 fix test result
    
     - now when test runs it was noticed that the result diff slightly
       since another WL modified the error message when an inplace alter
       is refused.
     - fix result file

commit 438177d100469087ab79371137ac81b431e0e4f6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 3 09:26:32 2016 +0200

    WL#9018 Turn on ndb_read_backup as part of test
    
     - making the test run as part of the test suite
       with ndb_read_backup turned on
     - removing the need for include/have_read_backup.inc
     - remove files
         include/have_read_backup.inc
         r/have_read_backup.require

commit 7aba4a0c29e316e51f35104e7c3ad1f8687cdc70
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 3 09:05:25 2016 +0200

    Revert "WL#8500 Adapt MySQL Cluster to 5.8"
    
    This reverts commit 144cc215409fa964f5361472342a6ab07f13669d.

commit b907f76e71a4ceb648cce1329f4a62b80732ae30
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 2 14:08:38 2016 +0200

    Remove temporary hack for mtr.pl
    
     - get rid of the hack to set max para on valgrind to 4

commit 7232bc18ab7773ff3fd1a5673d920a160fb602c2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 2 14:05:39 2016 +0200

    WL#9007
    
     - remove development artifact file

commit 144cc215409fa964f5361472342a6ab07f13669d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 2 14:00:19 2016 +0200

    WL#8500 Adapt MySQL Cluster to 5.8
    
     - remove unnecessary mtr include files from non ndb namespave
     - files were used to check if the mysqld was started with or
        without --ndb-read-backup, must be development artifacts

commit 34ca1bb0663acf77fb44e092883a7cd12874393e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 27 17:02:57 2016 +0200

    BUG#23142945 follow up fix
    
     - fix indentation
     - rename functions
       ndb_binlog_index_table__open -> open_binlog_index_table
       ndb_binlog_index_table_write_rows -> write_rows_impl
     - fix spelling error, of -> off

commit 71919284deed4b92969a90aa651abd252e6051f8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 27 16:56:17 2016 +0200

    BUG#23142945 NDB_BINLOG_MULTI_DDL DEADLOCK WHEN SHUTTING DOWN MYSQLD
    
     - problem occured when write to the ndb_binlog_index table failed during
       mysqld shutdown. While shutting down the mysqld will kill all THD's in it's
       list of global threads and the ndb binlog thread is registered there in order
       to show up in SHOW PROCESSLIST.
       There is an old workaround for this problem which set the THD::killed flag
       back to NOT_KILLED and retries the write operation. With the introduction
       of more and more mutexes protecting different parts of the THD internals
       (where "killed" is one) the workaround ends up creating a deadlock while
       trying to take the THD::LOCK_thd_data.
     - fix by rewriting the workaround to instead use a newly created THD which
       is not in the list of global threads and thus can't be killed. It's not possible in
       any other way to prevent the original THD from being killed again.
     - also encapsulate the code which writes to ndb_binlog_index table in a utility
      class Ndb_binlog_index_table_util encapsulating the related code.

commit 6610149b3f3efd2957a39aa1e7bc5af2bb630143
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 2 13:29:45 2016 +0200

    WL#9007 Follow up fix
    
     - move releated code together
     - avoid exposing internal implementation details

commit 2fc58e68f8b529df2f57ea53d81eb9a10a02d4f7
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon May 2 12:11:17 2016 +0530

    Yet Another Post Merge Fix
    
    Added a closing parantheses which was accidentally removed.

commit 068890b3e01996a9800fe03739e382ab3a5fa368
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Apr 28 17:32:04 2016 +0530

    Post Merge Fix
    
    The commands to configure certain files related to the rpm build for
    cluster was removed as a result of the merge.
    
    Added back the commands for the relevant files.
    
    (Approved by Bala over IM)

commit 2150f31bb7e954483fb33623958a9b4f24f39177
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Apr 28 17:22:25 2016 +0530

    Revert "Post Merge Fix"
    
    This reverts commit d82d389a3d5b54d853017ea24331c07acff364f2.
    
    The above commit was a stop-gap solution to ensure that the 7.5 build
    on PB2 was not broken.
    
    (Approved by Bala over IM)

commit 1116b88567c49199b7c65834152e4b6efb6803bc
Merge: e20cae2 5cc53e0
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Apr 29 08:55:19 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 5cc53e020efdccb43f387991846297a6b39b6eef
Merge: 813cdbd 58766e4
Author: Ole John <ole.john.aske@oracle.com>
Date:   Fri Apr 29 08:54:41 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e20cae2ffec620a7b1180671ef3b33c6ba5e105e
Merge: 4adef35 7305183
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Apr 28 07:19:29 2016 -0700

    Merge ../mysql-5.7-cluster-7.5-wl9007 into mysql-5.7-cluster-7.5
    wl#9007 JSON column support

commit 4adef3557d535397bc75f85734f98e780bc4dba4
Author: kari juul wedde <kari.wedde@oracle.com>
Date:   Thu Apr 28 12:39:12 2016 +0200

    Bug#22502247 MCC DOES NOT WORK WITH CLUSTER 7.5
    
    - start mysqld with --initialize-insecure
    - append /data as mysqld datadir to the MCC data directory
    - drop myisam as default database

commit 58766e48b0d3d90d6b26bee7587995f36a23cad8
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Apr 28 11:29:08 2016 +0200

    Bug #22986823 HIGH CPU USAGE FOR ~NDB
    
    Patch fixes a problem with 'unfairness' in how
    TransporterRegistry::performReceive() receives and delivers
    signals from the different transporters.
    
    Received data is 'unpacked' before being delivered to its
    trp_client. In order to reduce the context switch overhead
    between treads (or trp_clients), we attempt to deliver multiple
    signals to the trp_clients before waking them up. This is
    implemented as an array of trp_client* which has to
    be signaled after the Transporter polling has completed.
    
    If this array is filled to its maks size, we have
    to interupt the transporter polling and wakeup the trp_clients
    before resuming our activity.
    
    However, when performReceive() resumed, it started over again
    on the first Transporter (from the node with the lowest NodeId).
    Thus, with sufficient traffic, we could end up in a situation
    where performReceive always is interupted before we have received
    from all Transporters. This could effectively block all
    communication from the higher numbered NodeId
    
    For this particular bug it caused the destruction of
    Ndb objects to become stuck as ::close_clnt() required
    the (high numbered) API-client to send a signal to itself.
    This signal was (almost) never delivered as ::performReceive()
    was interupted while receiving from the lower numbered data nodes.

commit 730518399004daeceb6bf2a741cdcd660ee6bb37
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Apr 27 16:50:34 2016 -0700

    Adapt test cases for Bug 22026278 JSON PARSING ERROR MESSAGE DISPLAYS TOO MUCH DATA

commit 32934a3f20920324acb040ae3254c7b50799db37
Merge: 49cbc18 3f46bd3
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Apr 27 13:05:31 2016 -0700

    merge with 7.5

commit 49cbc186ea27bedd215ae330fb7bbb90ea559fd0
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Apr 27 11:32:38 2016 -0700

    mysql-test/suite/json/inc/json_ddl.inc
      Add order by clause to select statement in order to avoid
        inconsistent results based on order of evaluation.

commit 3f46bd3ae5b38df046d3ab99c29259078e4ddf7f
Merge: ff67c8b 813cdbd
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Apr 26 08:28:57 2016 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    update clusterj cnf to avoid out of memory

commit 813cdbd14d7bb705ce581c133e37c2e8c0cefa97
Merge: 905d7ec 9ecbdbd
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Apr 26 08:27:09 2016 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    update clusterj cnf to avoid out of memory

commit 9ecbdbdbad2bda4da2f52a3cb2b6987ff4e2d968
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Apr 26 08:25:58 2016 -0700

    Update clusterj cnf to avoid out of memory

commit ff67c8b7a20c026ce53196a8c8411ddf6137b2d0
Merge: 123e516 905d7ec
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 20:26:03 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 905d7ec1c6fffe86bb66ebea793ce89d2e5f7a09
Merge: a10bc4f ecbe41b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 20:24:05 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ecbe41b3b967495c8d8e03fca4d21af80baf7e20
Merge: ea1ce69 e77ce33
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 20:22:24 2016 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 123e51622f09a944a43622b05f66f5a438886374
Merge: d82d389 a10bc4f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 18:24:55 2016 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a10bc4f9d08a77acfe5c0907fa179caa3905cc01
Merge: 6b687e4 ea1ce69
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 18:22:02 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ea1ce69eb2156d7a2d16f0a4ac1e0dfc37a1102e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 18:19:29 2016 +0530

    Post Merge Fix
    
    The server merge threw up a few result content mismatches in the
    join_pushdown* tests. Updated the corresponding result files.

commit b76e099864162f36ead0325bb00c3d747c317429
Merge: b453b4d 6343624
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 17:33:28 2016 +0530

    Merge tag 'mysql-5.6.30' into mysql-5.6-cluster-7.3

commit d82d389a3d5b54d853017ea24331c07acff364f2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 16:04:19 2016 +0530

    Post Merge Fix
    
    Manually remove a code snippet that was removed in the server branch
    after git strangely didn't throw up a conflict in the original
    merge.

commit 29b67247ce524181f9eae724be291fec6ece4248
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 11:45:43 2016 +0530

    Post Merge Fix
    
    The server merge threw up a few result content mismatches in the
    join_pushdown* tests. Updated the corresponding result files.

commit bb64a1e264e1937f1a88d402c5bd1fac08ce609c
Merge: 94cb6ff b5b62f8
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 26 11:14:34 2016 +0530

    Merge tag 'mysql-5.7.12' into mysql-5.7-cluster-7.5

commit 94cb6ff2436a2f61aa9550aa70d2348357319128
Merge: 00c34e1 6b687e4
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 15:02:55 2016 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 6b687e44a59001683146a275ed884e6a6c7bec9c
Merge: 30f3bce b453b4d
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 15:02:20 2016 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit b453b4d2dbc10d23177b06e5b5681d6699af6b24
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 15:01:37 2016 -0700

    Bug#22353594 - MYSQL CLUSTER 7.4.8 - CLUSTERJ HIGH AVAILABILITY PROBLEM
    
    clusterj/SessionFactory.java
      Add getConnectionPoolCounts to api so users can get pool counts
        without casting to SessionFactoryImpl
    
    clusterj/core/SessionFactoryImpl.java
      If there are multiple connections in the pool, get a session
        and complete a transaction on all of them before returning
    
    clusterj/core/Bundle.properties
      Add error message if initial sessions cannot be obtained
    
    testsuite/clusterj/ConnectionPoolTest.java
      Remove cast of SessionFactory.java to SessionFactoryImpl.java
    
    clusterj/tie/ClusterConnectionImpl.java
      Correct the session pool counts by not counting internal session
    
    clusterj/tie/DbImpl.java
      If there is an error getting a table, report the error from
        ndbDictionary instead of ndb object

commit 00c34e1fabf0644d7099e30fac923b62ed3514b7
Merge: 415e793 30f3bce
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 14:07:31 2016 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 30f3bce436727568d82d445752e04c8bcf979483
Merge: 1d2aba1 38eeb74
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 14:04:01 2016 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 38eeb742832dbcb32edcff1187cc30435b71e024
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon Apr 25 14:02:15 2016 -0700

    Bug 23155061 - CLUSTERJ STORES WRONG VALUES FOR JAVA.SQL.TIMESTAMP FOR TIMESTAMP(N)
    
    clusterj/tie/Utility.java
    
    Change behavior of packFractionalSeconds and unpackFractionalSeconds
      TIMESTAMP(1) truncate all but tenths
      TIMESTAMP(2) truncate all but hundredths
      TIMESTAMP(3) no truncation; all values fit
      TIMESTAMP(4) truncate all but milliseconds
      TIMESTAMP(5) truncate all but milliseconds
      TIMESTAMP(6) truncate all but milliseconds
    Add debugging statements
    
    mysql-test/suite/ndb/t/clusterj.test
    
    Add timestamp2types to clusterj.test cleanup
    
    testsuite/clusterj/tie/Timestamp2AsSqlTimestampTypesTest.java
    testsuite/clusterj/Timestamp2AsSqlTimestampTypesTest.java
    
    Add test for writing and reading TIMESTAMP(n) types
      millisecond values are all stored
      TIMESTAMP and TIMESTAMP(0) all millisecond values are truncated
      microsecond values are truncated to millisecond
      java.sql.Timestamp includes getNanos and setNanos
      methods to read/write via JDBC are commented and might be
        implemented in future
    
    testsuite/clusterj/model/Timestamp2AsSqlTimestampTypes.java
    
    Model class that maps all supported timestamp(n) types
    
    main/resources/schema.sql
    
    Schema file adds timestamp2types

commit e77ce33cf1ce4fb2268a559b8f2aedd0d1912e9c
Merge: 0f7be85 6065dbb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Apr 25 18:16:41 2016 +0530

    Merge tag 'mysql-5.5.49' into mysql-5.5-cluster-7.2

commit 415e7932b10aa232776bffb0591bad488f85df85
Merge: c42c385 1d2aba1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 22 14:55:05 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23006431)

commit 1d2aba1d4ba7cc6c6481b04d18aa25a2d08cbfd6
Merge: a2a4e51 b805a34
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 22 14:54:08 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23006431)

commit b805a347dfc54154b95e9d99a7c95e562bf74e11
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 18 18:59:22 2016 +0200

    Bug#23006431 UNRELATED API FAILURE DURING ARBITRATION CAUSES ARBITRATION FAILURE
    
    Problem:  A new master could fail arbitration if an api node failed while
    arbitration was in state WinChoose, even if the api node was not arbitrator.
    
    Fix:  Patch adds condition that api node failure may only fail arbitration
    if api node is arbitrator.

commit 166d878dfd1a56b69866583da959e8937ef373a2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Apr 18 18:58:42 2016 +0200

    Bug#23006431 UNRELATED API FAILURE DURING ARBITRATION CAUSES ARBITRATION FAILURE
    
    Test case demonstrating bug.

commit c42c38558a005331476b6f00ddbf845ed3f9e5a3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 21 09:54:21 2016 +0200

    Bug#23016432 HA_NDBCLUSTER::PRINT_ERROR REMOVE USELESS ELSE
    
     - fix DBUG_VOID_RETURN which got lost

commit 80a111fda8439827f4f4bc0ecf7bfd016dafed63
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 15 10:09:34 2016 +0200

    Bug#23089566 HA_NDBCLUSTER::OPEN_INDEXES MEMORY LEAK
    
     - memory is lost when error occurs in ha_ndbcluster::get_metadata()
       or one of the functions it calls, the list of index and it's
       resources are not released
     - fix by releasing the resources allocated by ha_ndbcluster::get_metadata()
       before returning from the function
     -- Factor out the code which loops over and releases all index
        into new release_indexes() function
     -- call release_indexes() to release the resources allocated for indexes
     -- remove code from ha_ndbcluster::open_indexes() which deallocated
        some index memory when that function failed. Same thing
        has to be done also if subsequent function is called by
        get_metadata() fails so it's duplicated code now.
     -- free the the NdbRecord memory allocated in m_ndb_hidden_key_record and m_ndb_record

commit 47134fec7bccd73fec439adb3d9bacc2e760d17d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 15 11:31:38 2016 +0200

    Remove mystery while loops
    
     - from ha_ndbcluster::add_index_handle

commit cafb48c6d31dabfbae27ad32a096e1d6befc2192
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 15 09:23:02 2016 +0200

    Remove unnecessary check of return code
    
     - the function 'bitmap_init' can never fail when
       the "buf" argument is provided.
     - remove the check of return code
     - add wrapper function 'ndb_bitmap_init' which requires buffer to
       be provided and adds automatic checking of the buffer size and also
       provides type safety
     - starting new file intended to contain wrapper functions for working
       with MY_BITMAP

commit 4745ae898da9f749589260e22af6783701d39071
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 13 11:30:13 2016 +0200

    Remove impossible condition
    
     - remove test for error == 0 since error can't be anything else than
       zero at that point(the function would do a break and bypass this code).
     - add temporary assert() proving the point

commit d13f4047168986e605c7e5e5e60ddb2becc921e1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 12 15:39:49 2016 +0200

    Remove constant argument "ignore_error"
    
     - remove argument "ignore_error" from ha_ndbcluster::open_indexes
       since it's always called with false value.

commit 60642f155d763c71dbfedd8f58f85416f8295bee
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 12 15:32:40 2016 +0200

    Remove unused thd arg
    
     - remove unused argument "THD* thd" from
       ha_ndbcluster::open_indexes(),
       ha_ndbcluster::add_index_handle() and
       ha_ndbcluster::release_fk_data()

commit ed1e3e5732c0f144feafefaedb54840eee34a7fe
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 20 13:51:11 2016 +0200

    Bug#23016432 	HA_NDBCLUSTER::PRINT_ERROR REMOVE USELESS ELSE
    
      - cleanup code by removing the useless else

commit 2908f7a4d0f842fc4caa138fc1a07f304a8d48db
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 21 07:58:12 2016 +0200

    WL#8573 follow up
    
    - fix reason also in the .result files for
      alter_partition_mgm and alter_rename_inplace

commit 881bc12979a83a7f7b0d5520567f5c153e981b79
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Apr 20 11:45:50 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Chnaged return reason to always be a literal string due to
    potential conflicts during parallel ALTER TABLE statements.
    Added user warning with additional information.

commit d36bd0f10bb5b15b13b349ca49bc58cd7e5f3791
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 20 10:48:49 2016 +0200

    Bug#22566368 MISSING DEPENDENCY FOR MCC HOST_INFO VS INSTALL
    
     - final step
     - add dependency from mcc_install to host_info target, this
       should cause the host_info to always build before mcc_install(the dev
       target)
     - change ADD_SUBDIRECTORY to use uppercase and remove string literal
       markers

commit adc6917a6ae70291a412265fe0df10cf68616fc7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 20 10:30:04 2016 +0200

    Bug #22566368 MISSING DEPENDENCY FOR MCC HOST_INFO VS INSTALL
    
     - step three
     - hide the remaining "dev targets" with a new configuration
       option WITH_MCC_DEV which is off by default. Thus the normal
       build doesn't trigger a 'install_mcc' anymore. Still it's
       possible to create also the dev targets. Print message
       when "dev targets" are created thus making it possible to
       see in build log.
     - rename the "dev targets" to use mcc_  as prefix. ie.
         run_mcc -> mcc_run, install_mcc -> mcc_install etc.

commit f765ce25a95778a0e78609c33f127cdede2a3a20
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 19 16:40:37 2016 +0200

    Bug#23135134 UNNECESSARY PORTABILITY CODE IN MGMAPI.CPP
    
     - the mgmapi.cpp implementation used #ifdef's for
       windows unnecessarily. This causes duplicated code.
     - fix by using the ndb_socket functions and remove
       the duplicated code

commit 448755bd0cc0c17bd41f003bdeea2c106b7607da
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 19 16:33:43 2016 +0200

    Bug#23135093 test_event compilation failure on Windows
    
     - compilation error occured because of non portable code which
       assigned to ndb_socket_t::fd which is called
       ndb_socket_t::s on Windows in order to catch errors like
       this
     - fix by introducing new ndb_socket_create_from_native() function
       which can be used to create a ndb_socket_t from ndb_native_socket_t
       in a portable way without using #ifdefs.
     - also replace usages of SOCKET and int with ndb_native_socket_t

commit 7a8d8b4a0798d9f16804a169d5bd7cdf8573ef0d
Merge: 1af9424 a2a4e51
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Apr 20 09:25:38 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Null merge.

commit a2a4e5189d1b8ada695c22bfce768d83c13039a2
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 19 17:58:09 2016 +0200

    Remove tests Creating LogfileGroup from daily devel, since they will fail
    always, since the log filegroup is created by the test already.

commit 1af94241960273ddb36f57c566494fd00adc437b
Merge: 229612b 2e4538c
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 19 18:02:33 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Null merge.

commit 2e4538c1e19e366594e1c9bdb1aa575996801d94
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 19 17:58:09 2016 +0200

    Remove tests Creating LogfileGroup from daily devel, since they will fail
    always, since the log filegroup is created by the test already.

commit 229612b00214349dc58cd5aad7889fdb5531b6d5
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 19 17:45:36 2016 +0200

    Remove tests Creating LogfileGroup from daily devel, since they will fail
    always, since the log filegroup is created by the test already.

commit 5f4b1315d84ffaadd29b30e358a9671c7a357800
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 18 20:50:42 2016 +0200

    Bug#23016390 	REMOVE UNUSED NDBMAIN.H
    
     - Remove usage of macro NDB_MAIN(name), not used
     - Remove usage of NDB_COMMAND(name, str_name, syntax, description,
        stacksize)
     - Fix readArguments to take "char**" instead of "const char**"
     - Remove the file storage/ndb/include/NdbMain.h
     - Remove unused and outdated test files

commit 0f37e219556cc33b7ce2c6194c98da12b3bba48e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 19 10:35:48 2016 +0200

    Bug#23127872 REMOVE NDBMEM WRAPPERS
    
     - Remove usage of NdbMem_Allocate() and NdbMem_Free() and instead
       call malloc() or free() directly
     - Remove functions NdbMem_Allocate() and NdbMem_Free()
     - Remove NdbMem_Create() and NdbMem_Destroy() which had no effect
     - Remove unused NdbMem_AllocateAlign()
     - Remove unused test code
     - Remove unnecessary usage of "#include <NdbMem.h>"
     - Only functions which locks memory are now left in NdbMem.h
       and uses NdbMem.h

commit 8c707f49e66c39000b28488aee507a7af032bda9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 19 07:40:11 2016 +0200

    Bug#23127824 TRANSPORTERFACADE USELESS USAGE OF DYNAMIC MEMORY
    
     - when creating names for TransporterFacadese send buffer
       mutexes dynamic memory is used unneccessarily.
     - since length of string is well known, use
       stack allocated buffer instead.

commit 6e5ede9d4e935e7355279e6f7583fdf238bbc045
Merge: e243f6e db28075
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Apr 18 17:45:31 2016 +0530

    Null merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit db28075c6f3e48451f5c58b48edd783d9de29382
Merge: f4beeca 01b5c49
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Apr 18 17:43:13 2016 +0530

    Null merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 01b5c49e917e08e215383a17547cb67cd46115a6
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Apr 18 17:42:26 2016 +0530

    Bug#22016081 NDB : BACKPORT FIXES FOR API SENDBUFFER OVERLOAD BUGS TO 7.3
    
    21651400 NDB : LOOPBACK TRANSPORTER CAN DISCONNECT
    21664515 NDB : RESERVED SENDBUFFER FOR LOOPBACK_TRANSPORTER
    21683144 NDB : CLUSTERMGR DOES NOT  CORRECTLY HANDLE DISCONNECT DURING
    CONNECTION SETUP
    23093656 NDB : LOOPBACK RESERVED SEND BUFFER CALCULATION

commit e243f6e57704af5175f01dc4031edd9d37551fab
Merge: 1a714df f4beeca
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Apr 18 17:05:17 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit f4beeca90993af2c48b0fce825db3f0f5e489d24
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Apr 18 17:04:29 2016 +0530

    Bug #23093656 NDB : LOOPBACK RESERVED SEND BUFFER CALCULATION
    
    Init sendbuffer page size for reserved sendbuffer size calculation.

commit 9a6a70b04dd1198a6b40a8998d2bdf623c718cf7
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Apr 16 08:03:23 2016 -0700

    - add json to default suites to run
    - make json_conversions a big-test to minimize impact on tiny systems
    - moved include/sql_vs_json* include files from top level to suite/json
    - moved include/json_vs_json_comparator.inc from top level to suite/json
    - restored Bug#22278524 tests that were omitted originally
    - renamed "json_notable" to "json_no_table"
    - removed top level json* tests

commit 1a714dfde00b766b4c4190c865d5453da0f0b685
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu Apr 14 11:22:12 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Moved testing of backward compatibillity of column properties into
    a separate test since it currently only works on a case sensitive
    file system.

commit 088e1371fbff4cc79ced0d76f334b15b3ee1f93e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 13 11:22:40 2016 +0200

    New ndbcluster.binlog_index_table test
    
     - Preparing for Bug22874872 TABLE NDB_BINLOG_INDEX CREATED
       EVEN IF NDB IS NOT PRESENT
     - Add test checking that mysql.ndb_binlog_index exists and contain
       expected columns.

commit ceb31720f1ffe32ddfdbf79b9a6a36235fb7d164
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 11 12:05:30 2016 +0200

    Bug#23081045 RPL_SHOW_SLAVE_HOSTS USES TOO LOW SLAVE-NET-TIMEOUT VALUE
    
     - slave fails to connect to master due to too low slave-net-timeout
       value, occurs on slower hosts or when running mysqld in valgrind.
     - fix by removing the low slave-net-timeout value and instead force
       the master's dump thread to wake up and detect that slave
       disconnected by running some dummy DDL.

commit f8cd70be7c628115ff8f6d4bca6c412212fd7944
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 11 09:28:06 2016 +0200

    Revert "Bug#22826700 Enable test NDB_RPL.NDB_DIST_PRIV_NDB FAILS."
    
    This reverts commit 043754993cd663919d6fc4ee09bfbc17d66126bc.

commit 06effac62fa88b98f0afa4ab965951a033cdb8f1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Mar 11 12:21:47 2016 +0530

    Bug #21082710: NDB : INCREASE ERROR LOG SPACE PER MESSAGE + OTHER IMPROVEMENTS
    
    The error logging mechanism had the following problems:
    
    1. The message slot size was 500 bytes which led to messages being
       truncated or running into each other
    2. The trace file number was being truncated due to a long path
       to the trace files
    3. In case of ndbmtd, the causing thread trace file was not logged
       explicitly
    
    Fix:
    
    1. Increased the message slot size to 999 bytes. In the old scheme
       the offset value between messages was actually 500 - 1 = 499.
       To cleanly overwrite two messages of the old length, the new offset
       has to be 499 * 2 = 998. Thus, a message length of 998 + 1 = 999
       was chosen.
    2. Added a field "Trace file name" which logs the trace file name
       (along with the number) explicitly prior to the path
    3. The causing thread trace file is logged under the above field,
       when applicable

commit 98561defd71ffd8b663cb6ea3b48480994b0b9b6
Merge: 56d553c d0e0ea5
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Apr 12 14:15:12 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit d0e0ea56e1c43da3a5d68dcb0121e933d62e7f61
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Apr 12 14:12:57 2016 +0530

    [PATCH] Bug #20368450   ADD DEBUGGING FOR GETTABINFOREQ QUEUEING AT DICT
    
    Optional debugging output is added to NdbApi and DICT. Ndbapi output can
    be enabled using ApiTrace>=2 in the config file for the relevant API
    'slots'. DICT output can be enabled using DictTrace>=2 in the config file
    for the relevant ndbd 'slots'. These will dump information about DICT
    wait timeouts, that may help solve problems in this area.
    
    Debugging info will be output periodically until the causing condition(s)
    clear.

commit 56d553c4da3ece03f4a8bf55fb09c1653da2ddbb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Apr 5 11:41:59 2016 +0530

    Bug #22513381: NO PROGRESS INFORMATION WHILE THE DISK DATA UNDO LOG IS APPLIED
    
    Problems:
    
    1. There is nothing to indicate the amount of Undo log to be applied
       at the start when a data node using disk data is restarted
    2. There is no progress information provided during the application
       of the Undo log. This lack of information makes it look like the
       restart of the node is stuck
    
    Fix:
    
    1. Information about the amount of Undo log to be applied is provided
       in the form of total number of pages present in the log. This is a
       worst case estimate
    2. Added progress information in terms of the number of records and
       number of pages of the Undo log applied. Information is logged at
       intervals of 30,000 records

commit b46046dc5e9b3f8daccc179b2dea1d61c4abe3c1
Merge: b075ba0 75ca336
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 23:17:33 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23062205)

commit 75ca336bddaf59d27a58bdb49b03c1eff8c4e98f
Merge: 59d1e5d4 3474082
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 23:16:27 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23062205)

commit 34740821b3b97271f2e33e1fde5106ea14c77d6d
Merge: e12cb3c 0f7be85
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 23:16:04 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23062205)

commit 0f7be859dcda8318eec6d3219bd01e2d5144cbc9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 8 09:56:04 2016 +0200

    Bug#23062205 AUTOTEST UPGRADE TESTING DO NOT WORK SINCE LAB MOVE
    
    Need support for longer command lines in CPC.
    
    Line size supported by Parser class is increased to 8192 bytes.
    
    This will affect both the MGM and CPC protocols.

commit b075ba0fe9d2b657b0a1a7b4e8bef9adba278d8d
Merge: a25928a 59d1e5d4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 17:17:44 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23062205)

commit 59d1e5d409aed427a3b8a393befab03c334b0f05
Merge: 9e8ba3e e12cb3c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 17:16:43 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23062205)

commit e12cb3cdec1581091df5b12ee3ac098b2d22c0db
Merge: 5122f76 1b33b6c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 9 17:15:32 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23062205)

commit 1b33b6c9e4d7cd9b2c04027063534671c4936032
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 8 21:32:06 2016 +0200

    Bug#23062205 AUTOTEST UPGRADE TESTING DO NOT WORK SINCE LAB MOVE
    
    Add prefix to use when ATRT look for atrt-scripts.

commit a25928a68e8a53312ecf7ec288ef012a2d983856
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Apr 8 21:29:41 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Made reason_buf static since the handler object is deleted before
    error message is printed out.

commit 09bfb4f6a531a265893545bce6ca8b4f498acabd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 18:45:28 2016 +0200

    Follow up patch: WL#8351: Use statistics to determine #objects in Ndb_free_list_t
    
    Revert previous changes to Ndb::get_free_list_usage() which
    were based on a missunderstanding of how this method was
    supposed to work.
    
    Addapt testcase.

commit f8d20b5ff030bd7945918bfeac064d48fd61a50d
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Apr 8 17:23:45 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Moved reason_buf to be allocated with the handler object.

commit f3df75a605e7214bda712c1e0747db992e00a30d
Merge: 6853f8d 9e8ba3e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 8 15:33:22 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#23062205)

commit 9e8ba3e256813e6a6c7d06d36d271e5be8e4fe52
Merge: f84c9d4 5122f76
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 8 15:32:39 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#23062205)

commit 5122f7655a9abca9fc6645c93f2796f718c1803f
Merge: 4ebaa28 7120a3c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 8 15:31:56 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#23062205)

commit 7120a3c412f7a830ff5a0b8b20b3f26b15ffac87
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Apr 7 22:07:01 2016 +0200

    Bug#23062205 AUTOTEST UPGRADE TESTING DO NOT WORK SINCE LAB MOVE
    
    When mysqld is not installed in the built in DEFAULT_BASEDIR one need to
    provide the correct basedir on command line or configuration.
    
    In this patch atrt adds the basedir via command line.

commit 6853f8d86e84e07f17bf02acfcede8be6fa866ce
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Apr 8 14:02:20 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Added alter table algotithm copy to make scripts independent of config settings.

commit 2218f8821b935dcdadad57603f733b4d1a5dd0a8
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Apr 8 14:01:01 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    - Changed COLUMN_FORMAT default to be DYNAMIC when defining new tables.
    - If COLUMN_FORMAT is omitted or defined as DEFAULT the column will
      now use variable-width storage unless it is overridden by a ROW_FORMAT
      specifier or if the column is defined with COLUMN_STORAGE DISK.
    - Old tables (restored from backup) still keep the old FIXED COLUMN_FORMAT
      as default.
    - Added warnings if user does an ALTER TABLE with implicit copy that will
      change the COLUMN_FORMAT (if table was created in older version and with
      no specific COLUMN_FORMAT defined).
    - Added a new configuration option --ndb-default-column-format = [FIXED|DYNAMIC]
      to allow user to overide the new default value.

commit 6a8d45114c93ef695473f3cac7e59376cccb4467
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Fri Apr 8 08:24:48 2016 +0200

    WL#8573 Improved dynamic field support in MySQL Cluster
    
    Added return of reason information (ER_ALTER_OPERATION_NOT_SUPPORTED_REASON)
    for failed inplace ALTER TABLE.

commit fc80262106b670688d1f3732bdcbf98996f0a862
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 12:31:19 2016 +0200

    WL#8351: Use statistics to determine #objects in Ndb_free_list_t
    
    The utility 'class NdbStatistics' is added which allow
    incremental statistics to be calculated over a sliding windows
    of statistics samples.
    
    A member of type 'class NdbStatistics' is then added to
    each instance of 'template<class T> Ndb_free_list_t'
    and used to sample the max number of objects in use
    each time a peak is reached.
    
    An upper 95% percentile of objects in use is then
    calculated for the statistics window, and used to determine
    if a released objects should be stored in the free_list
    for later reuse, or returned to the heap manager (deleted)
    
    This should avoid that temporary peaks in NdbApi object
    allocated, cause a permanently increase in the memory
    footprint of the API client / mysqld.

commit eb0d6ce99ca9bbce05ca31f36efe96f67c59926f
Merge: 22e1e1f f84c9d4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 09:30:47 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit f84c9d4063a0f82791dfb00105df908695dc0f20
Merge: d957f4a 4ebaa28
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 09:30:19 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 4ebaa28016ba243e3d7e78a5a3292d8d3f307fa7
Merge: 5e23597 58ec709
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 09:29:51 2016 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 58ec70955f68286b6b734d6244f5bc58556ac38c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 8 09:27:53 2016 +0200

    Bug #23049170 SPJ MAY MISREPORT NODEFAILURE DUE TO PARTIAL CONNECTIVITY
    
    If datanodes are only partially connected to the API nodes, a
    particular SPJ node might get its request via a TC on another
    node, without (yet) being connected to the API node itself.
    
    The NodeInfo for the requesting API node will then not have
    any valid info about the API nodes 'm_version', which then
    is reported as '0'.
    
    This caused DbSpj::abort() to incorrectly assume that the API
    node is of version <= 7.2.5, which require a backward compatability
    mode to be used during query abort. That involved sending
    a 'nodeFailure' error instead of the real error as abort reason.
    
    This patch assume that if m_version is not yet available,
    the API node is of a more recent version that 7.2.4.
    There are hardly any customers (none?) left on older
    versions, so this should be a rather safe assumption.
    
    In addition to the testcase, this patch extends the HugoQuery
    framework such that the NdbError causing a failure can be get'ed.
    
    It also fixes a potential issue where the Node_info::m_connected
    member was not initialized by the Node_info constructor.

commit 22e1e1f2b7c3354668f3a4a2670af8d655bbf27b
Merge: 0a1ede9 d957f4a
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Apr 7 15:27:26 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit d957f4a33e666dba0c9604efafd3012734adaa6d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Apr 7 15:21:49 2016 +0200

    Bug 22982618 - PRINT_FILE TEST: CREATE LOGFILE GROUP FAILS: DBDICT (LINE: 30804)
    
    One of the dict participants fails to create logfile group and thus
    the transaction is aborting.
    1) CreateFilegroupImplReq ends prematuerly before the other
    participant cleans up the created LFG, causing wrong state transition
    and node failure.
    2) The cleaning participant's tsman receives wrong type, so it does
    not clean up the created LFG.

commit 0a1ede92f0b4f5f0c3a30711ee9220e164e96000
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 7 14:51:19 2016 +0200

    Increase limit of para to 4 in hack of mtr.pl
    
     - set new max para to 4, the host(s) manage more than 1

commit d44f078dd7f7fdeaac532a977ab41c6e144d7ef5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 7 14:37:40 2016 +0200

    Post push fix for WL#9096 return code check
    
     - The return codes for SetThreadGroupAffinity() and
       SetThreadPriority() were not always handled correctly
     - Fix by reversing the logic since zero normally
       means error for these functions.

commit d03ad63e4262168ce857659233af5c26d4301af6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 7 13:55:03 2016 +0200

    Bug#23014820 NDB_MGMD FAILS TO START FOR WIN32 BUILD IN PB2
    
     - ndb programs using ndb_init() crashes on startup when
       calling functions dynamically loaded from kernel32 due to
       a faulty function pointer prototype, the GROUP_AFFINITY
       parameter should be passed as a pointer.
     - fix by ripping out the dynamic loading of functions
       since all the Windows versions targeted all support
       these functions. We use _WIN32_WINNT = 0x0601.
       Instead use the functions directly from the windows header files.
     - This improves code readability and eliminates a few cases
       that need to handle "not supported"

commit 595483c04a9cef8736e92636955b22c573c59bb6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 6 15:16:32 2016 +0200

    Bug#23062494 COULD NOT LOAD NDB_MEMCACHE_METADATA.SQL FILE
    
     - usage of the include/force_myisam_default.inc in only some tests
       of ndb_memcache/ suite causes mysqld restarts without restarting
       the rest of the cluster. This introduces a race condition between
       when the restarted mysqld synchronizes dictionary with the cluster
       and when mtrpl checks if the ndb_memcache database exists or not.
       Thus causing the ndb_memcache_metadata.sql file to be loaded
       although the ndb_memcache database already exist.
     - Fix by removing the usage of include/force_myisam_default.inc from
       the ndb_memcache suite as none of it depends on myisam. This
       avoids the restarts and thus hides the race condition.
     - Leaving as an exercise for the future the good idea to
       fix mtr.pl to restart the whole configuration for ndb_memcache tests
       if they need to run with different mysqld options.

commit 043754993cd663919d6fc4ee09bfbc17d66126bc
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Apr 6 12:19:54 2016 +0200

    Bug#22826700 Enable test NDB_RPL.NDB_DIST_PRIV_NDB FAILS.
    Enable the test and collect the logs for analysis.

commit 9600d3fb1c740433ca2a8b8cba06f71a2506e2f2
Merge: de92c30 efdc483
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Apr 6 02:57:02 2016 +0200

    Upmerge of the 7.2.24 build

commit efdc483e4046cfab603878e6815b9232073defe4
Merge: c4450a9 5e23597
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Apr 6 02:54:11 2016 +0200

    Upmerge of the 7.2.24 build

commit 5e2359741d60c49ed541ff0afc09f4408a393ccf
Merge: 74d4620 fd16638
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Apr 6 02:52:19 2016 +0200

    Upmerge of the 7.2.24 build

commit fd1663883f06952d63d2baaeb981942cba509698
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Apr 6 02:48:21 2016 +0200

    Raise version number after cloning 7.2.24

commit de92c305e7349a3eecadc22ec82b14f4b8100f1d
Merge: d74c4ad c4450a9
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Tue Apr 5 20:50:10 2016 +0200

    Upmerge of the 7.3.13 build

commit c4450a993749bb569b5fc1d8433ee5d1718ca921
Merge: 29037f6 74d4620
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Tue Apr 5 20:41:06 2016 +0200

    Upmerge of the 7.3.13 build

commit 74d46201fb111b1c632e96878d4d19e3312ae236
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Tue Apr 5 19:57:16 2016 +0200

    Raise version number after cloning 7.3.13

commit d74c4adfc3d16321514187f9d56f98a95356e957
Merge: 40c29df 29037f6
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Apr 5 12:12:04 2016 +0200

    Upmerge of the 7.4.11 build

commit 40c29df4522250f334e809d8592dc285f105b983
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 5 12:06:37 2016 +0200

    Temporarily hack mtr.pl to reduce load on valgrind host
    
     - set --parallel to 1 on valgrind host

commit edec38aaaa818d797af3b2fcba70c1b58ceee4c2
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Mar 10 10:55:22 2016 +0000

    BUG#22558874 I_RPL.RPL_SHOW_SLAVE_STATUS_HANG TEST FAILS IN TEST
                 ASSERTION
    
    This is a post-push fix. The test case was still failing sporadically.
    
    Analysis:
    
    In the previous fix we made the applier to sync with the receiver thread
    after the restart of the slave server, but the restart procedure is
    using the relay-log-recovery options that will purge all the relay log
    during restart, leading the sync between applier and receiver to be
    possible to happen before the receiver be in sync again with the master.
    
    Fix:
    
    Instead of syncing the applier with the receiver thread, the test case
    now sync the applier with the master before continuing with other
    assertions.
    
    (cherry picked from commit 1f19d396fd65e62b6d1dc340cd6ed98d0d3d5d65)

commit 29037f62cd597a4ce766a01b8cd9598d51b81416
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Apr 5 11:51:26 2016 +0200

    Raise version number after cloning 7.4.11

commit d634286c2ae7a733ec922f9ae7335a5c1bb4754b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 4 14:31:40 2016 +0200

    WL#9020 Fix up
    
     - add missing "const" for ha_ndbcluster::parse_comments()
     - actually the function does not need to be ha_ndbcluster
       member at all but that can be a later fixup.

commit 9cf1b7da77dc6f812a76e9d3af8fba146778e809
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Apr 4 10:31:19 2016 +0200

    wl#9207 Refactor EventBuffer EventData- and Gci_ops-list

commit 1dad47ba69d63d7c1d3e5f5967b1302525255c81
Merge: b8697f3 f260839
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sun Apr 3 11:59:13 2016 -0700

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.5-wl9007

commit b8697f3bfd88e38480938cc0a8951e96e0d5aab0
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Apr 2 14:12:08 2016 -0700

    Normalize group by functions with json.

commit f9bc3cae666233179a05fa94caffb9aeb0335543
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 10 10:45:15 2016 +0100

    Bug#22906956 REMOVE DUBIOUS SYNC_DROP CODE FROM HA_NDBCLUSTER_BINLOG.CC
    
     - remove the outdated else branch of #ifdef DROP_SYNC_
     - fix comment

commit f260839bef76677775daf68f00bc6f08cbf694a0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 1 14:25:23 2016 +0200

    WL#8331 follow up fix
    
     - compilation error caused by warning about function which is only
       used in debug build
     - fix by adding #ifndefs to compile the function only in debug build

commit 78e0ac90b3f934edaeb6a59942b32832d1a915f8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 10 10:29:56 2016 +0100

    Bug#22906839 REFACTOR NDB_BINLOG_SETUP INTO OWN CLASS
    
    The ndb_binlog_setup() code in ha_ndbcluster_binlog.cc consists of
    a couple of functions. In order to make it clear that those belong
    together we should convert them into a Ndb_binlog_setup class. This will
    allow to remove duplicated repetitive code as well as simplify the
    existing code over time.
    
    Fix by encapsulating ndb_binlog_setup(), ndbcluster_find_all_files(),
    ndbcluster_find_all_databases() and clean_away_stray_files() into a new
    Ndb_binlog_setup class. The class is then instantiated from existing
    ndb_binlog_setup() function and the new setup() function called.
    
    Add const member variables for m_thd and m_thd_ndb which are constant
    and the same for the duration of Ndb_binlog_setup's lifetime.
    
    Remove unnecessary usage of get_thd_ndb() and check_ndb_in_thd()

commit 3afc826bf783461fba186a0feb30370803afa0c0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 1 12:20:50 2016 +0200

    Fix compilation problem in ndb_thd_ndb.h
    
     - error: invalid use of non-static data member 'options'
     - fix by referencing the member variable in the assert

commit 75644d5773d4f47a8cfc23e0e6d85faf970d34c6
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Mar 31 16:41:41 2016 -0700

    Updates to fix discrepancies in json tests
      - add disable/enable warnings to some queries
      - replace regex 010 with 01 for some queries
      - remove 1e-16 which is getting confused with 0000000000001
      - add ordering to json_keys test so NULL appears in the same place

commit 103898441b08957383887aa96391704d43d4cf83
Merge: 77f65f8 c65a847
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Mar 31 11:21:34 2016 -0700

    Merge remote-tracking branch 'origin/mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.5-wl9007

commit 695a6010d1b355231964532b0d18bbe331b70bbf
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 25 13:48:04 2016 +0100

    Remove unused retry_time argument from gsl_unlock_ext
    
     - Function always called with -1 which means infinite
     - Remove function argument and conditional logic
       implementing various retry options.
     - Improves code clarity and reduces obfuscation

commit 4b164a971103b76aff2fe60843017a404278205f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 24 12:18:20 2016 +0100

    Change ndb_global_schema_lock.cc to use ndb_log.h
    
      - Reduces dependency on MySQL internals and reduces LOC
      - Slightly improve error messages

commit 6a4e9fe0e19c8920bce667c819fc3015eab09727
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 24 12:11:22 2016 +0100

    Move Thd_ndb gsl member initialization to constructor
    
     - simple member variables should be initialized in initializer list

commit e5fbe674f67f990ea407dd290e4760c581ca7cf5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 24 11:58:49 2016 +0100

    Mark pointers to THD as being const
    
     - Both Ndb_global_schema_lock_guard and Thd_proc_info_guard
       have member variables to THD which are intialized in constructor
       and thus can be marked as being a const member pointer

commit 1610f641756b6656346e686cabeedbead8f49ef3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 24 08:30:20 2016 +0100

    Remove unused no_lock_queue
    
     - Remove the now unused "no_lock_queue" argument and related code
       from ndbcluster_global_schema_lock() function which was previosly
       used for ALTER TABLE in combination with LOCK TABLES
     - This functionality is now handled by MDL subsystem
     - The combination of LOCK TABLES and GSL is tested in ndb_global_schema_lock.test

commit 7f123e5f97fd6fc234adb750cad4417a761dd50c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 14:57:20 2016 +0100

    Fix global_schema_lock_error
    
     - Fix the testcase to accept that pushed warnings now appear in slightly different
       order since ha_discover() now are done before GSL lock is attemped. This is fine
       as a shared MDL lock has been taken and since the tables does not exist
       in the mysqld no one can be using it. After this first step the MDL lock
       is upgraded to exclusive and as part of that the GSL lock is taken(or at least
       attempted to be taken).
    
       This means the current call chain is as:
    
       mysql_create_table
         <take shared mdl lock>
         ha_discover()
           ndbcluster_discover()
             <first 4009 error>
         <upgrade to exclusive mdl lock>
            ndbcluster_global_schema_lock()
              <failure to lock GSL, second 4009 error>
         ha_table_exists_in_engine()
           ndbcluster_table_exists_in_engine()
             <third 4009 error>
    
     - It may seem weird that we allow execution to continue after failure to lock GSL
       since it may be due to a _different_ error than 4009. But that is currently
       safe since each function in ha_ndbcluster which requires GSL checks by using
       Thd_ndb::has_required_global_schema_lock() if it has been taken and errors
       out in case it's not taken. Thuse it's safe to allow execution to continue.

commit 31986de3673fb01232b7866585d47c1210668807
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 14:45:15 2016 +0100

    Remove redundant function thd_get_thd_ndb
    
     - since 99% of code use get_thd_ndb which is a wrpper around
       thd_get_thd_ndb()

commit d7aa774ce1d12b46045a6c509a415368f5a4f6d3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 14:29:53 2016 +0100

    Convert skip_binlog_setup_in_find_files to use Thd_ndb::options
    
     - removing the Thd_ndb::m_skip_binlog_setup_in_find_files
       member variable and making use of Thd_ndb::options
     - This saves one "bool" for each Thd_ndb instance (ignoring alignment)

commit db0644b30f79e05d806bf5cc79f75c7d2e2ba8f5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 14:10:20 2016 +0100

    Move and rename THD_NDB_OPTIONS
    
     - encapsulate the options enum inside Thd_ndb showing
       better where it belongs and getting rid of confusing
       TNO_ prefix(i.e TNO_NO)
     - rename the options slightly to make it easier to understand
       what they mean and distinguish them from each other

commit 0ac449d7b310fe5c51b3674313a8c64cf3cae5b4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 13:12:49 2016 +0100

    Refactor Thd_ndb options
    
     - make Thd_ndb::options a private member variable thus requiring
       use of set/getters for accessing it.
     - Fold the Thd_ndb_options_guard into Thd_ndb thus showing where it belongs
       and at the same time giving it acess to the private member variable. This
       also allows anyone including ndb_thd_ndb.h to use the guard class.
     - This ensures type safety and improves encapsulation

commit 7806900dc22e0c3e65044ab494c85fdc6241820f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 22 13:11:23 2016 +0100

    Remove MCP_GLOBAL_SCHEMA_LOCK patch

commit 53514735fc4da0ede2fa65d4580078ea1cea40f1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 23 12:25:45 2016 +0100

    The schema dist participant should not take GSL
    
     - the schema dist protocol requires that only the schema dist
       client takes the global schema lock for the duration of it's DDL
       operation.
     - with the new callbacks hooked into the MDL subsystem the schema
       dist code on participant (who takes MDL lock in rename and drop table)
       will now also take GSL. This causes deadlock.
     - fix by setting Thd_ndb flags for the ndb binlog thread (and thus
       the schema dist participant) telling it not to take GSL
     - remove the code which already set the option in various places of
       the schema dist participant and replace those with asserts
       verifying the requirement that no GSL lock should be taken.
     - add new Thd_ndb::set_option() and Thd_ndb::check_option()
       functions for accessing Thd_ndb::options

commit 37947e42b1e234ae300676c0cab60dde16921070
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 22 15:03:45 2016 +0100

    WL#8331 ndbcluster should use metadata callback functions
    
     - use metadata callback functions to lock/unlock global
       schema lock.
    
     - there are two callback functions
       1) notify_exclusive_mdl() which is called when an exclusive MDL lock
          is taken or released on an object. This callback is used to
          lock the GSL if the sesssion does not already have the GSL
       2) notify_alter_table() which is called when an ALTER TABLE start and end. This
          callback is different and was added in order to allow early acquisition
          of the resources necessary for the ALTER, thereby avoiding a potential late
          expensive rollback of the ALTER TABLE in case resource aqcuisition failed.
          This callback is also used to lock the GSL if the session does not already have
          the GSL.
    
     - NOTE! The old callbacks return error but the error was ignored higher
       up in the MCP_GLOBAL_SCHEMA_LOCK patch and execution continued
       even if failure to aqcuire global schema lock occurred. This allows
       user to work with non NDB objects even without connection to NDB.
       This behaviour is safe since all of the DDL functions in ha_ndbcluster
       uses the function Thd_ndb::has_required_global_schema_lock() which detect
       the GSL lock error and thuse the function returns an error.
    
       With the introduction of the new MDL hooks the error is not ignored
       and the DDL operation is refused with a error message saying "Lock
       acquisition refused by storage engine.". Since intention with this WL
       is to preserve existing behaviour the callbacks are written to not return error
       in case GSL lock fails. We could change this behaviour, but that should
       be a separate WL as that would require changes to the MySQL Server code
       in ha_discover, ha_table_exists_in_engine etc. which currently have bugs
       which causes any errors returned from the engine to be ignored or overwritten
       by the return code from other plugins. This is changes which preferrably are
       done before the upstream MySQL Server is not yet GA.

commit c65a847ac15a61dca1c3e685cd9c03cfc04784d3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 31 12:57:53 2016 +0200

    WL#9096
    
     - Hide implementation details of the new interface
       that isn't needed as it turns out

commit 77f65f8687d9c4726a45ad7f8ab0c451b9887335
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Mar 30 23:07:53 2016 -0700

    Update JSON tests to comment tests affected by bug 22353594

commit 12add2460cca803cf70fc13585a7d12b6a0c78a1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Mar 29 15:24:25 2016 +0200

    WL#9096 fix for when ThreadConfig nor MaxNoOfExecutionThreads are set

commit 98496c9b5736fbe5ba167889a815684f4dac4dc0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 29 13:02:50 2016 +0200

    Bug#22842538, follow up patch due to Windows build break.

commit 8985f20d57495ee144c638d50fd403b68f2d82b5
Merge: d7f76ad c509a1a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 29 11:39:28 2016 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit c509a1a5b0c45e8f4d4a3467879c663acf000c0f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 29 11:16:28 2016 +0200

    Bug#22842538 BINLOG SCHEMA DISTRIBUTION TIMEOUT AND FAILS WHEN ANOTHER MYSQL NODE START
    
    When another mysqld node is started, and joins (subscribe to)
    the schema distribution protocol, another mysqld which is
    waiting for a schema change to be distributed will timeout
    during that wait. That happens as we incorrectly assumed
    that the new arriving mysqld node would also 'ack' the
    schema distribution. However, it arrived too late to be
    a participant in it.
    
    This patch fixes 3 issues all contributing to this failure:
    
    a) There is a potential race between an 'inflight'
       subscribe event, and the start of a schema distribution.
       The subscribing node might or might not take part in the
       schema distribution, and its role is actually unknown at
       the point in time where the schema operation is started by
       the coordinator.
       The set of participating servers could only be determined
       when the Coordinator acks its own schema op: If the subscribe
       event arrived before it own schema up, then the subcribing
       node is a participant.
       This patch modifies the Coordinators ack to also modifying
       the acked slock_bitmap to clear the servers *not* participating.
    
    b) check_wakeup_clients() called get_subcriber_bitmask() to get the
       current set of subscribers. However, 'self' was not included in the
       subscribers, which it always should be. Fixed this by letting
       Ndb_schema_dist_data::init() add 'own_nodeid' to subscribers.
       Furthermore, this enables us to clean up a couple of places
       where we used to add own_nodeid to the set retrieved from
       get_subscribers_bitmask().
    
    c) handle_clear_slock() copied schema->slock into
       ndb_schema_object->slock_bitmap, thereby overwriting the intersect
       done as part of a). Changed the copy to do an intersect instead.
    
    This patch also modifies several places where schema distribution
    progress is printed:
    - Always print more significant part of bitmask before the less significant.
    - Adds some formating when printing the bitmasks.
    
    Also removes a few clear of bitmasks immediately after an init,
    which is redundant as ::init() also cleared it.

commit d7f76ad69746bb9bc72c49b98adc2f9f7f3d8507
Merge: dbd5e31 281b45a
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Mar 29 12:04:22 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 281b45aa1ae6db0277e0ef55d9f246aa71c362f6
Merge: 8b2a296 4ae416b
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Mar 29 12:03:33 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 4ae416b6ab4b4173fc648f4111f98bdc647381fe
Merge: 64a5cb4 b6de318
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Mar 29 12:03:07 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit b6de318dac0ddf7e69f8228eda9ac3206b3e660c
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Mar 29 11:52:01 2016 +0530

    Fix ndb_lock mtr failure

commit dd3a3b061bf4dc5da2deaaa3ff8587adc5f952d0
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sun Mar 27 18:31:33 2016 -0700

    Add suite=json to push collections/mysql-5.7-cluster-7.5-wl9007

commit dbd5e314ed2238b0af8d1d1fb73ed30900ebbdd9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 25 19:56:05 2016 +0100

    WL#9018: Read backup flag set to 0 was taken as setting it to 1

commit a7c8e85c4afea760a1787ccb9dee508fecc62e54
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 24 19:13:38 2016 +0100

    WL#9096 Windows build fix, also removes a new interface that isn't needed as it turned out

commit b5d3a3746813e3beacde7160a3175acfd7a79bad
Merge: 173aef2 8b2a296
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 24 16:06:54 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (bug#22579581)

commit 8b2a296c90b1574a339af3d78b48d88da353e254
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 24 11:38:32 2016 +0100

    Bug#22579581 NDB_PRINT_FILE CORE DUMP ON SOLARIS
    
    An pointer to a 32 bit word was accessed via time_t pointer.
    
    On sparc-v9 this cause bus error since time_t was 64bit and word was not
    64bit aligned for File_formats::Zero_page_header::m_time.
    
    On other platforms there 64bit time_t is used, the high word of the time_t
    could be non zero resulting in bogus timestamp.

commit 173aef22347ab22b19c705a3ca08b76443969c4b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 24 10:59:12 2016 +0100

    Post push fix for WL#9096 fixing build error on Windows.
    
    storage\ndb\src\common\portlib\ndbthread.c(1101): error C2084: function 'int NdbThread_SetThreadPrio(NdbThread *,unsigned int)' already has a body

commit 87d19e71457518dafbac6c73db2004cc945516f3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 24 10:17:13 2016 +0100

    Post push fix of WL#9096. Fix build error for linux 32bit by use my_strtoll instead of strtol.

commit dafbd1f2a01097d429d6d487a65892f218c7f0f8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 24 09:11:29 2016 +0100

    Post push fix of WL#9096.  Reverting change of return type of ndb_init() in public api.

commit 07ec2390b8475b79eba54a52c89db2af4dfbb7f4
Merge: cc530de 3369d1f
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Mar 24 13:08:02 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 3369d1fd98609fc9d0993a2a4f769ad8386e01ac
Merge: 455328b 64a5cb4
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Mar 24 13:06:09 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 64a5cb482c76a87b6ca8e8bc59610da9dcc30057
Merge: f00c8c6 b20592d
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Mar 24 13:03:56 2016 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit b20592dbf388cf3e9f95d9d4e601b23a08636088
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Mar 24 13:03:09 2016 +0530

    Bug #21178339: 'NDB_RESTORE -M' SOMETIMES: "FAILED TO CREATE INDEX `ENTRY_KEY$UNIQUE`" ERROR 1
    
    Unique index creation requires a DBUTIL PREPARE which is initiated
    from TRIX. DBUTIL allows only one PREPARE at a time. If a PREPARE
    request is received in DBUTIL while a PREPARE is already running,
    a PREPARE_SEIZE_ERROR is returned. This occurs if a CREATE_EVENT
    has requested a PREPARE before unique index creation. For unique
    index creation, the PREPARE_SEIZE_ERROR is not mapped to an
    equivalent error code, so an error 1 "Unknown error" is returned.
    
    Mapped PREPARE_SEIZE_ERROR to error 748 "Busy during read of event
    table". Fixed ndb_restore to retry index creation on temporary
    errors.

commit cc530de6859fe5d37c4f6860b701b6a468e7529a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 23 15:40:28 2016 +0100

    WL#9096 Add thread_prio to ThreadConfig, add cpubind_exclusive and cpuset_exclusive to ThreadConfig, add support for CPU locking on FreeBSD and Windows, add support for non-exclusive CPU locking on Solaris, add support for setting thread_prio on FreeBSD and Linux using setpriority, add support for setting thread prio on Windows, add support for setting thread_prio on Solaris using FX prio class. thread_prio set to 10 on Solaris gives FX60 which is interpreted by Solaris as meaning attempt to run thread on its own CPU core. Add support for realtime setting on Windows

commit 0c1860fa9058e6e8d5db8e10a46fd9b9a7c08f18
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 22 12:43:36 2016 +0100

    Bug#22579927 THE NDBCLUSTER TEST SUITE BROKEN FOR REGULAR USERS
    
     - followup fix which revert the usage performance_schema to
       read session_status since p_s is not available in embedded mode
     - instead turn on show_compatibility_56 for not embedded to enable
       the information_schema.session_status table

commit 14fefdd2112a423c92f852db4e9cfcb61fcb1e22
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 22 10:52:32 2016 +0100

    Follow up fix for Bug#21441297
    
     - fix minor issues found while hunting the bug
     - const correctnes
     - remove unused Clean::m_boundCount
     - remove unnecessary "struct"

commit 2ce4577c17047536f7f852f397888fa65cfddbb5
Merge: 99d683a 455328b
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Tue Mar 22 12:23:28 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 455328b9bdf5e23f17d893dd904b61755614a110
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Tue Mar 22 12:21:26 2016 +0530

    Bug#21441297  INVALIDATTRINFO RETURNED FROM EXECTUX_BOUND_INFO WHILE SCANNING
    
    When we perform "analyze" command in a table with index, ndbmtd crashes
    and throws "InvalidAttrInfo" error due to corruption in the signal.
    
    The problem was there in the Trix block.Here we use stack variable in
    building up a signal, hence it goes out of scope when the signal is
    refereed in other modules. As the memory is invalid it gives a crash
    when signal is de-refereed in other modules.
    
    Code was modified such that the signal is now build with pooled
    variable.As this is a global variable too it can be refereed in other
    modules.

commit 99d683a188202bb7fed95bb536b8a6a2734d2db3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 21 12:55:38 2016 +0100

    WL#9020 Fix: NDB comment parser released memory pointed to by objects before end of use

commit c9b8f642c37ed9fc16f6ae8afc4ae2ec40dfb098
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 21 12:54:47 2016 +0100

    WL#9020: Fix a few autotest failures, need to set FragmentCountType also when creating tables from NDB API when changing to specific fragment count

commit 264073261934236c9c6ac7a8d2dece644a104226
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 18 16:19:52 2016 +0100

    WL#9018: Enable Read backup functionality as a table property

commit 2614f1d9627646d055a26532a402d32e7b34327d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 17 16:36:07 2016 +0100

    WL#9020: Add new default partitioning types for MySQL Cluster, standardise table distribution for standard tables, add more flexibility to standard partitioning types, document table distribution algorithm a bit more

commit b9a170ec29aee10dcb11bc2543be630cc7f446ef
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 18 11:45:32 2016 +0100

    wl#7677 followup
    
    Fix issue on Sparc due to EventBuffer memory not always being
    allocated on an address sufficiently alligned.

commit c003ee75023a51337b0e737f1c4b8a57f2b9fb7f
Merge: 9d62db3 ffe55c6
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Mar 18 15:49:57 2016 +0530

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

commit ffe55c6069f91fc12a4c951dbac04186705b0600
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Feb 16 15:07:30 2016 +0200

    Addendum to bug #22722946: moved the test into a separate file and added
    checks for deubg code.
    
    (cherry picked from commit afa239a30424e42747dd3d92be3fbd6458340b30)

commit 9d62db39ccf3dbe80922b0b852ddb5fded39bd65
Merge: 89e1c43 93b0eb2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Mar 18 15:46:44 2016 +0530

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

commit 89e1c439eea1773e454f71fc9b48d9bb682a2544
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Mar 18 11:11:45 2016 +0100

    Bug#22157845 - TE_EMPTY EVENT TYPE CANNOT BE FILTERED BY "ADDTABLEEVENT"
    
    Queuing empty epochs is disabled by default. To turn it on, use the ndb API setEventBufferQueueEmptyEpoch(true).

commit e5c89efe4548405937c4956e8d3f9db0c6f15d3f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 18 09:45:08 2016 +0100

    Disabled the testcase ndbcluster.pushed_join.test when
    running 'embedded'.
    
    The testcase used the perfschema tables not being available
    for embedded.

commit 6089fe509086b2ca0679aacd35b343245c9d2c2d
Merge: ebb8b7d 4ade89d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 18 10:12:43 2016 +0530

    Merge from mysql-cluster-7.5.1-release

commit ebb8b7d4882964d78b1b9664e9e0d91b59f2fb00
Author: Ole John <ole.john.aske@oracle.com>
Date:   Thu Mar 17 15:11:15 2016 +0100

    WL#7677 follow up patch
    
    Fixed stupid typo causing memory to be mmap() allocated and later free'd.

commit f355bd7967f94aff3a01978dc970532f25bd93e0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 16 15:51:10 2016 +0100

    WL#8968 fix, ensure that we check for both neighbour nodes and non-neighbour nodes, needed to toggle variable for get_node loop to work correctly

commit 4817a7913c8f9fafc052c8fc7722633caec5fcd6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 16 13:51:28 2016 +0100

    wl#7677, Yet another followup patch... sigh
    
    This time the usage of MAP_ANONYMOUS caused build break on
    osx and Windows, which seems to not support this. On windows
    as my_mmap() is not natively supported by Windows, and we
    use a my_mmap() function instead. That does not implement
    MAP_ANONYMOUS functionality. (Possibly could be implemented
    later, but that is out of scope for this patch)
    
    On osx it is ,,,, well not supported.
    
    non-ANONYMOUS mapping would have required is to create
    a file to map agains. That does not seem like a favourable
    solution for allocating this kind of buffer memory.
    
    Instead this fix let platforms not supporting ANONYMOUS mapping
    use plain malloc instead. Should not really matter much as
    long as Linux (and Solaris) use mmap().
    
    Also fixes a few compiler warnings seen on Windows.

commit 19e27e27f302b711e4f3289c277971fedd7613e3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 16 11:42:13 2016 +0100

    wl#7677: Another attempt of fixing build breaks.
    
    Use my_offsetof() instead of offsetof().
    The later caused a warning which was promoted to an error in 7.5

commit 93b0eb29286e919f9c0190fe1267f4729f13f115
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Feb 12 13:51:52 2016 +0200

    Bug #22722946: integer overflow may lead to wrong results in get_56_lenc_string
    
    (cherry picked from commit aa85102dd89b004f0b86d9146cfd133793a922f9)

commit dd01c2f8a385598482328f569b5064888afaed70
Merge: e74ca6b d5c5604
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 16 10:19:49 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit d5c560461a34773ee463353e8f46ccc64ef2597c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 16 10:15:30 2016 +0100

    Bug#22932982 EXCESSIVE RECREATION OF NDB OBJECTS DUE TO FALSE FAILURE OF THD_NDB::VALID_NDB
    
    Thd_ndb::recycle_ndb() does not update m_connection_count when recreating the
    Ndb object. Thus ::valid_ndb() will still fail even if a fresh Ndb object
    was just constructed. Causing another ::recycle_ndb, possible recreating the
    Ndb object over and over again after the first failed validate.

commit e74ca6b6ea5ddaf723a66fce70d2ceaa98bf5b66
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 16 09:38:00 2016 +0100

    WL#7677 followup: Fix build problems on osx and windows.
    
    Also fixes a potential problem by using sizof() + sizeof() ...
    to calculate the sizeof the EventMemoryBlock header.
    Replaced that with offsetof(EventMemoryBlock, m_data).

commit 9f5c806c3fcee16df1207eb283e0877076132ca3
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Tue Mar 15 12:31:49 2016 -0700

    wl#9007 JSON ndb support

commit a8b6cfcaa60ca18ce95928dd665470ad8ad743dc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Mar 15 18:19:41 2016 +0100

    WL#8968 Send thread redesign, introduced CPU measurements in thrman.cpp with similar capabilities to top, introduced 5 new ndbinfo tables: threads, cpustat, cpustat_50ms, cpustat_1sec, cpustat_20sec

commit 4e8f9f39e79aeb93f71ed28da134196569255447
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 15 16:08:42 2016 +0100

    WL#7677: Improve event buffer memory allocation
    
    The existing event buffer allocation algorith hardly ever
    deallocate any memory, but keep it in its own free-list
    for later reuse.
    
    This result in the total memory usage accumulating to
    the total max ever used.
    
    This WL fix that by allowing the event memory buffers to
    be returned to the operating system when the events has
    been consumed.

commit 2796737dc77aff8f5f04799bdb19ce9e7e7ea132
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Mar 12 09:55:49 2016 +0100

    BUG#22908696: Problems with gethostbyname on Mac OS X in ndb_config when calling with empty string as input hostname

commit c71d4c13a66a155d018c424295909c8656fa3004
Merge: fde2198 24a4e27
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Mar 11 18:29:05 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 24a4e27a60293d6421e9198ab01637a09cb788bd
Merge: 6caa8cc f00c8c6
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Mar 11 18:27:53 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit f00c8c6c52083c0d1f9194462327bb65f1caeda9
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Mar 11 18:26:39 2016 +0530

    Bug#22299443
    OBSOLETE INDEX DATA SENT TO GETNDBINDEXOPERATION() CRASHES NDBD
    
    When a transaction with a NdbIndexOperation based on an obsolete unique
    index is executed, it causes a segfault in ndbd. This is due to the
    access of the unseized or already dropped index from c_theIndexes
    ArrayPool in Dbtc::readIndexTable(). The index was not being validated
    by the readIndexTable function.
    
    The fix is to check if the index is in use or not during the execution
    of the transaction. Since the indexState enum doesn't have a separate
    value to mark the not in use indexes, a new value IS_OFFLINE is now
    added to the enum.
    
    During the initialisation of Dbtc, all the indexes are seized, marked as
    IS_OFFLINE and then released. Also when an index is dropped, it is
    marked as IS_OFFLINE.
    
    So now when an obsolete index is passed to obtain an NdbIndexOperation,
    its state is checked and the transaction goes through only if it is not
    IS_OFFLINE. If the index state is found to be IS_OFFLINE, the resources
    are freed and a proper error is sent back.

commit e4fe1c39d4c63dfb2123a3b455d7b8ad453b6f4b
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Mar 11 18:26:25 2016 +0530

    Bug#22299443
    OBSOLETE INDEX DATA SENT TO GETNDBINDEXOPERATION() CRASHES NDBD
    (pre-patch fix)
    
    The Dbtc::readIndexTable function's argument has been changed from
    ApiConnectRecord* to ApiConnectRecordPtr. This is done because the
    abortErrorLab function requires both the pointer and the id of the
    ApiConnectRecord and the actual fix for the BUG#22299443 will be
    calling abortErrorLab function to abort erroneous transactions from
    inside readIndexTable.

commit fde21983f6feef9e61f8ed82d76c2b12a5b073b7
Merge: 1782089 6caa8cc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 10 10:29:16 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#22888980)

commit 6caa8cc7016917b2520287481c62f2563cf15b64
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Mar 8 00:02:48 2016 +0100

    Bug#22888980 TESTNODERESTART -N BUG18612SR T1 FAILS IN STARTPHASE 0 BY SIGNAL 11
    
    This patch fixes a crash in debug printout introduced in
    Bug#22084822 AUTOTEST TESTNODERESTART -N BUG18612SR SOMETIMES DID NOT CLEAR ERROR
    due to use of an old replaced pool, Dbdih::replicaRecord, of Dbdih::ReplicaRecord.
    
    Replacing use of Dbdih::replicaRecord with Dbdih::c_replicaRecordPool.

commit 4ade89dd0d6d1d283bd5949c73dd7ec623e8c97f
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 9 17:28:23 2016 +0100

    Bug#22901309 - DISABLE 'EVENT BUFFER STATUS REPORTING' FOR THE SLIP-THRESH CASE,TO REDUCE NOICE
    
    (cherry picked from commit 17820897322ce7c2fc390a0bffbd4fe0d28fc289)

commit 55b8d315c1d1b71d293f9d1114685d86961070e5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 9 12:07:48 2016 +0100

    BUG#22884995: Problem with multiple LIST_TABLES_CONF signals, table put in list multiple times, fix of WL#8937
    
    (cherry picked from commit 847b2e0a81a06fb685bb423524cea5ebbcded018)

commit 17820897322ce7c2fc390a0bffbd4fe0d28fc289
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 9 17:28:23 2016 +0100

    Bug#22901309 - DISABLE 'EVENT BUFFER STATUS REPORTING' FOR THE SLIP-THRESH CASE,TO REDUCE NOICE

commit 847b2e0a81a06fb685bb423524cea5ebbcded018
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 9 12:07:48 2016 +0100

    BUG#22884995: Problem with multiple LIST_TABLES_CONF signals, table put in list multiple times, fix of WL#8937

commit 84e16ac8d6f05d84e0f1f6768ad7e7b27dc58a17
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Mar 7 20:42:47 2016 +0530

    Post push fix for Bug #21128318
    
    Fix for problem introduced in commit
    c811c98d70b003721ebdf58504cb0531e4404531 which caused build failures
    on windows and solaris.
    
    Replaced __STRING(check) with platform independent #check

commit 843ef0f3d9c375d560301306983281d6e9e8080a
Merge: c811c98 9a509ac
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Mar 7 14:42:27 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 9a509acad37d5c56994dbc5867ed96a0d1e6acfd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Mar 7 14:39:09 2016 +0100

    Fixed faulty ATR testcase 'test_event -n Apiv2EventBufferOverflow'
    
    wait_to_fill_buffer() always waited until 'retries'
    expired before it completed the 'fill'.

commit c811c98d70b003721ebdf58504cb0531e4404531
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Feb 25 15:25:27 2016 +0530

    Bug #21128318: NDBREQUIRE() SHOULD REPORT ACTUAL CONDITION EXPRESSION LIKE ASSERT() DOES
    
    ndbrequire() evaluates a given expression and terminates the process if
    the expression doesn't evaluate to true but does not preserve the failing
    expression. The relevant error object field in the error log is logged as
    follows:
    
    <snip>
    Error object: <block name> (Line: <line number>) <config variables' status>
    
    Updated the working of ndbrequire() to preserve the expression and
    include it in the error logs. The updated error object field in the error
    log is now as follows:
    
    <snip>
    Error object: <block name> (Line: <line number>) <config variables' status>
                   Check <failed expression> failed

commit a509bf212dc2542130fe1586afd31113e4e7f49d
Merge: 7403c09 7b8b5b7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 5 18:38:40 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#22880866)

commit 7b8b5b74c296f5b9b7b524350fc2709e041287ff
Merge: 617d178 46011f2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 5 18:37:00 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#22880866)

commit 46011f20a1f9cfa0298de653004fafbc0311904e
Merge: 5b16235 6acd92a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 5 18:36:16 2016 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#22880866)

commit 6acd92a905a26949782fd7aa9057ae04dc75a788
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 5 18:03:49 2016 +0100

    Bug#22880866 AUTOTEST (ATRT) FAILS SETTING UP DATABASE USING MYSQL_INSTALL_DB
    
    Background:
    
    atrt program uses the usually non-empty current working directory as data
    directory when it sets up anew MySQL server.
    
    It also connects to the new server using the test database as default
    database.
    
    Problem:
    
    The current mysql_install_db from MySQL 5.7 no longer allow non-empty data
    directories to be installed, nor does it creates the test database any
    longer.
    
    Solution:
    
    The atrt program is modified to use a new directory 'data' under the
    current working directory as data directory instead.
    
    And also to use no default database when connecting to the server.

commit 7403c09f6cd22dd646919984b0daf32b9ce11016
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Sat Mar 5 08:31:40 2016 +0100

    Raise version number after cloning 7.5.1

commit 034a0f53ca037725309f6f491fc0f8290f756323
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 2 15:37:50 2016 +0100

    Bug#22859657 TESTNODERESTART -N TESTLCPFSERR FAILS DUE TO UNKNOWN VARIABLE 'RECORD=100000'
    
    The test case argument --record=100000 are changed to --records=100000.
    
    The argument name has always been records, but prefix of long option names
    have been allowed prior MySQL 5.7, see bug#16996656.

commit 8f1f970c8f449ec641fb9b9ec28ef8f25dce6473
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 2 14:12:24 2016 +0100

    WL#8937: Fix for local list handling and an extra return causing scans to hang at times

commit f3634f4a385a9a4cecb12650d8013b66c778d14d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Feb 26 15:22:45 2016 +0100

    Bug#22024947 - PLAIN UPGRADE FROM 7.4.7 TO 7.5.0 LEADS TO FORCED DATANODE SHUTDOWN
    
    Adding an upgrade path to 7.5 to the version compatibility table.

commit 86eb11712042f7b0d3b311c94fcf2841052eddf0
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Feb 25 19:33:03 2016 +0200

    EXECUTE_DIRECT typo using JBB instead of instance number.
    
    EXECUTE_DIRECT sometimes was called with JBB (1) instead of instance
    number (0).  This caused instance-not-found crash in single-threaded
    ndbd.  Multi-threaded ndbmtd was ok because it maps instances so e.g.
    non-existent DBDIH instance 1 was mapped to instance 0.
    
    Probably introduced in wl#8937 patches.

commit 5d2b3e5c0d1e0d18854aa408a2d4b0d7c91540dc
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Feb 25 16:29:37 2016 +0100

    Bug#22826700 - TEST NDB_RPL.NDB_DIST_PRIV_NDB FAILS.
    Disabling test.

commit b6d6d913978416f56ffab806d87ea0cb5eab8ed1
Merge: a939444 617d178
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Feb 25 15:57:54 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 617d1783e4d3aef6bcf1bc81f6dcf4922f5b0b9d
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Feb 25 15:51:18 2016 +0530

    Bug#22173891 : CIRCULAR FOREIGN KEYS + INDEX = FAILURE
    
    After a `create index` query on a table with foreign keys, the foreign
    keys are either lost or made inconsistent. But the same query using
    `alter table` runs without causing any problems. This is due to the
    difference in the type of sql_command values these queries are mapped
    to. The create index query's value, SQLCOM_CREATE_INDEX is not handled
    properly along with the SQLCOM_ALTER_TABLE command. This causes the
    above said problem. This patch fixes that by additionally also handling
    SQLCOM_CREATE_INDEX wherever SQLCOM_ALTER_TABLE/SQLCOM_DROP_INDEX are
    handled.

commit a939444bf269c32ec491c0dc87a6ef5bcabd2c5b
Merge: 70f25a5 686ede7
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Feb 25 11:29:02 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 686ede7b2c0ef478793640fa32e680298490da06
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Feb 25 11:18:37 2016 +0530

    Added line breaks for readability

commit 70f25a537897f406d8833e5da5b959fc3f2d08a4
Merge: bee9d54 9583b27
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Feb 24 11:05:33 2016 +0000

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 9583b27d79777d28a3347d34dbb9e999f94a9124
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Feb 24 11:03:57 2016 +0000

    Bug #22749509 NDB : ALLOW SMALLER BACKUPDATABUFFER
    
    Allow smaller backupdatabuffer sizes as these can help smooth the
    LDM CPU usage of LCP + Backup.
    
    Lowerbound is 512kB as 256kB is too low with default write size
    of 256kB.
    
    Add check to ensure that BackupDataBuffer is big enough to avoid
    producer + consumer deadlock.

commit bee9d5493bee88de1a93a494f05eb94e4d72fc1a
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Nov 12 14:17:33 2015 +0100

    Remove unnecessary diffs between 5.7.11 vs 7.5
    
     - cherrypicked the below commit. It has apparently already
       been applied and cherrypicked a little here and there and that explains
       why something differed in the end.
    
    Bug#22147191	NO PACKAGE FOR UBUNTU 15.10
    
    * Adds wily (15.10) packaging
    
    (cherry picked from commit 5485716b211ff55536a26c98ec654dd8ff6e2b55)
    (modified by manually copying commit beb2ed52a4aa111cc759533232d15f4da7fa7cda)

commit 659a0702e46e12bb8be7632875bb21e30d4d736b
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Sat Jan 9 16:29:29 2016 +0530

    Remove unnecessary diff vs 5.7.11
    
     - cherry pick missing file plugin/keyring/keyring-test/CMakeLists.txta
     - cherry pick revert diff in packaging/deb-wily/extra/mysql-systemd-start

commit 4c35466b7638eaeec76890ddd06a9fa8d609d8f8
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Feb 3 15:54:23 2016 +0000

    Bug#22558874 I_RPL.RPL_SHOW_SLAVE_STATUS_HANG TEST FAILS IN TEST ASSERTION
    
    Problem:
    
    The test case was failing an assertion used to ensure the slave's
    GTID_EXECUTED set was equal to master's GTID_EXECUTED set.
    
    Analysis:
    
    The test case expected that the slave server had received two
    transactions before restarting it, but didn't added verification or
    sync routines to ensure the I/O thread had actually received the two
    transactions before restarting the server.
    
    Fix:
    
    Added a line to wait for the slave's I/O thread to be in sync with the
    master before restarting it.
    
    Added a line to wait for the slave's SQL thread to be in sync with its
    I/O thread just after restarting.
    
    (cherry picked from commit 86a1cb8c92b14d77be1e34cfb2e704472503c213)

commit 01e707457fd00934dbcc8f41f5c9ab09f2dcc395
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Mon Jan 25 08:11:32 2016 +0000

    disabling func_regexp-bug20642505 as the test is resource intensive
    and fails on some equipment
    
    (cherry picked from commit 85933f9448116dc78c5d32fc82902b2dfaf0afc5)

commit 24d815cd791206408f8cedb332ddcfbec7d6685a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 19 11:33:48 2016 +0100

    Remove unnecessary change in events_1.test
    
     - we used to have a patch for this test case but it have now been fixed upstream
     - revert the patch and make test case and result same  as in 5.7.11

commit 37f1a186741f29c1997a99cf6eec2bcfcb54d5a4
Merge: 27f2dfb 8322d22
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 19 09:27:21 2016 +0100

    Merge 7.4 -> 7.5

commit 8322d220f15082d842a52183271f6b1ba7239c28
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 18 15:33:33 2016 +0100

    Bug#22670525 NDBCLUSTER EMBEDDED FAILS TO START WITH VS2015
    
     - starting from VS2015 the function vsnprintf has been implemented
       and at the same time the _vsnprintf function seems to have changed
       slightly thus showing different behaviour causing unexpected
       differences in lengths of formatted string.
     - fix by using vsnprintf() starting from VS2015(i.e _MSCVER >= 1900)
     - no functional change unless using the newer compiler

commit 27f2dfba8c24f8297acd8e88cfd41d24a0cd10bf
Merge: 3ddb771 6d1f9e2
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Feb 19 12:41:26 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 6d1f9e201540a29a855fc7d6cf29f62ab9a34712
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Feb 19 12:40:12 2016 +0530

    Bug #20368354 REDUCE THE DICTSIGNAL TIMEOUT (GETTABINFOREQ) FROM 7 DAYS TO MINUTES
    
    Reorganised timeouts for DICT signals. Introduced short timeout
    of 2 mins for parse phase signals. Retained 7-day long timeout
    for remaining signals.
    1) parse phase signals: short timeout
    DDL ops use schema transactions (prepare+commit), so all actual
    DICT work is done by SCHEMA_TRANS_END_REQ. All other DDL signals
    are 'parse phase' signals, which prepare work for
    SCHEMA_TRANS_END_REQ. So they should complete quickly.
    2) SCHEMA_TRANS_END_REQ: long timeout
    Does all actual schema transaction work.
    3) event and subscription ops: long timeout
    Executed inline, causing work to be done across nodes. Max time
    for Event/Sub ops may be dependent on other factors, e.g.
    configurable timeouts.

commit 3ddb7717e1395ed25cc2360d63fd63ccfd73bdc2
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Feb 18 16:52:42 2016 +0100

    Followup patch for WL#8626 Ndb replication : Improve event buffer log messages
    
    Fix compiler warnings on windows and remove a test case which is relevant only for pre-wl versions.

commit ea340186854cd033e532e414ec8f09ba1f85fca4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 16 15:24:52 2016 +0100

    Bug#22674329 CHECK OF TESTCASE FAILED FOR: NDB.NDBINFO_UPGRADE
    
     - The "sys" schema SQL code switches to utf8 and thus all subsequent
       objects are created with utf8.
     - ndbinfo should continue to use latin1 for now
     - Switch back to use the traditional setting for ndbinfo
       before creating the objects.

commit 024d84f99163f9d1cbbd2b2244bafd058d8c0332
Merge: cbe9f99 86c592f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 18 10:32:14 2016 +0100

    Merge 7.4 -> 7.5

commit 86c592fd354b694e5ddeff2308e657bc1d8d5852
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 18 10:09:35 2016 +0100

    Bug#22753836 NDB.NDBINFO_UPGRADE CLOBBERS DATADIR
    
     - remove the upgrade info file from mysqld datadir before
       test ends

commit cbe9f99777f396099f3aa85d64741f55db72c1c8
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Feb 17 17:58:15 2016 +0100

    WL#8626 Ndb replication : Improve event buffer log messages
    
    This wl improves the event buffer memory usage reporting by:
    
    a) giving more explanatory, less confusing report fields
    b) adding the ndb object id to show which ndb event buffer reports the usage
    c) adding the reason for reporting event buffer memory usage status

commit 13e9d3287b252bea2af934532ce11280328790fd
Merge: 5ab601f 60f6a2f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 17:15:28 2016 +0000

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 60f6a2fc3633a88c8a51676aa1445d51d60d6ef4
Merge: 9dd32ee 5b16235
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 17:14:50 2016 +0000

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 5b16235b84e803dceeb17b0fe4d0058a44644cdd
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 17:13:28 2016 +0000

    Fix missing semicolon in patch for
     Bug #22643129 FULL CLUSTER FAILURE DUE TO ISSUE IN DBSPJ (LINE: 7255 )

commit 5ab601fdac6a0e38a84ef82520088cbf3fc559d4
Merge: 95a5447 9dd32ee
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 16:17:40 2016 +0000

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 9dd32ee9c8c46b4c64b5f346346fb2d46b01dca1
Merge: 2ef1d7a d80fcfb
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 15:58:47 2016 +0000

    Merged 7.3->7.4

commit d80fcfb5c05272d363e0f4ff5e306d86ce3c9b65
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 15:35:22 2016 +0000

    Bug #22643129 FULL CLUSTER FAILURE DUE TO ISSUE IN DBSPJ (LINE: 7255 )
    
    SPJ requests with prunable scanIndex child scans did not always
    maintain the child scan fragment states correctly.
    
    This had no impact during normal operation, but caused problems during
    node failure handling when the child scan fragment states were used
    to control the request cleanup, and compared to related counters.
    
    The scanIndex child scan fragment states are now correctly
    maintained.
    In addition some extra invariant checking has been added to SPJ to
    more easily bring dormant request state inconsistencies to the
    surface in future.
    
    Tested using mtr ndb_join_pushdown_default (et al) with invariants
    enabled, leading to node failure.

commit e014e62abd2fbfc248ad52a7fa254b0dae240ba5
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Feb 16 15:34:35 2016 +0000

    Bug #22511846 NDBT FRAMEWORK CAN LEAK NDB OBJECTS
    
    ~ndb_cluster_connection now waits for all subtended Ndb objects
    to be deleted.
    
      Bug  19999242 DELETEING NDB_CLUSTER_CONNECTION WITH NDB INSTANCES
    
    This requires that NdbApi applications delete their Ndb objects
    before the ndb_cluster_connection.
    Some applications and test programs based on the NDBT framework
    have been observed not to do this, particularly on exit
    paths.
    
    This patch adds cleanup of NDBT allocated Ndb objects on error
    paths.

commit 95a544773fec069609fa0d059e786ef4825510ec
Merge: d3bf932 2ef1d7a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 16 11:36:06 2016 +0100

    Merge 7.4 -> 7.5

commit 2ef1d7a20adbff7fbeb8d2d1a643ae26057c908a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 16 11:29:27 2016 +0100

    Bug#22389653 BACKPORT BUG #22336527 TO CLUSTER 7.4
    
     - follow up fix to give the new mysql_option value a rather high
       hardcoded value in order to avoid that it fluctuate between
       minor versions where the SHARED_LIB_MAJOR_VERSION does not change
       either.
     - improve comment
     - fixup MCP to become slightly more self contained with it's own comma.

commit d3bf93226650148c96ab6e2c0201466775792254
Merge: 1fba309 2fb2dde
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Feb 16 10:04:58 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 2fb2ddef5b9303777755a57af6d5e5e433120612
Merge: c2b4400 80d376c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Feb 16 10:04:28 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 80d376c955ba49d7449ad2c52c36eb2b6fdcc7aa
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Feb 16 10:02:45 2016 +0100

    Bug#22494024 SQL NODE FAILS TO RECONNECT AFTER NETWORK OUTAGE; BLOCKS OTHER NODES
    
    Addendum patch to the above bug#:
    
    The patch for that bug removed a check for any nodes being
    connected, before ndb_binlog_setop() tried to create the
    system tables 'ndb_schema' and 'ndb_apply_state'. The idea
    was that ndb_binlog_setup() should only ignore any such errors
    as it would retry later anyway.
    
    However it turns out that there are MTR tests failing due to this:
    
    016-02-12 04:37:25 18291 [ERROR] NDB: Query 'CREATE TABLE IF NOT EXISTS mysql.ndb_schema ( db VARBINARY(63) NOT NULL,name VARBINARY(63) NOT NULL,slock BINARY(32) NOT NULL,query BLOB NOT NULL,node_id INT UNSIGNED NOT NULL,epoch BIGINT UNSIGNED NOT NULL,id INT UNSIGNED NOT NULL,version INT UNSIGNED NOT NULL,type INT UNSIGNED NOT NULL,PRIMARY KEY USING HASH (db,name) ) ENGINE=NDB CHARACTER SET latin1' failed, error: 157: Could not connect to storage engine
    
    (Observed so far: ndb_fk_no_fk_legacy, ndb_discover_db, ndb_share,
    ndb_index_stat_restart)
    
    This patch revert the removal of the 'any nodes connected'-check
    of the previous patch.

commit 1fba309665b7cc0d2335550012361ac3078f7da3
Merge: a7ebaec c2b4400
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 15 22:57:10 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit c2b4400e643734b9b1cfb0de05b57b1f0f0faaa2
Merge: b7af256 10367a3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 15 22:56:11 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 10367a31b46c2147a719ffaf262521e67c2b1b75
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 15 22:37:30 2016 +0100

    bug#22615274: API CRASHES WITH SIGNAL 6 AT TRANSPORTERFACADE.CPP LINE 2170
    
    Follow up patch for this bug:
    
    The previous patch introduced setting of the m_open_close_mutex
    from TransporterFacade::expand_clnt() and
    TransporterFacade::perform_close_clnt().
    
    These methods are called from ::deliver_signal() which may already
    have locked the trp_client::m_mutex.
    
    Both TransporterFacade::open_clnt() and TransporterFacade::close_clnt()
    are also locking these mutexes. However, they took the mutex locks
    in the opposite order 1) m_open_close_mutex, 2) trp_client::m_mutex.
    
    That resulted in a possible deadlock on these mutexes between
    a thread waiting for open/close in a do_poll-loop, and the
    thread doing deliver_signal() to the same client.
    
    This patch ensures that the lock order of these mutexes are:
    
    1) Lock trp_client::m_mutex.
    2) Lock m_open_close_mutex.

commit a7ebaec0f2e70a2453012751482c6b86ec9b8fb8
Merge: 5de039b b7af256
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 12 01:12:26 2016 +0100

    Merge ../push74 into mysql-5.7-cluster-7.5

commit b7af25629d24b3b92b32dba2385d637a594dc7d7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 12 01:11:02 2016 +0100

    BUG#22712481: Fix that enables SchedulerResponsiveness config variable

commit 5de039b0a0b9f89fe7028daa75bf345390e5d07d
Merge: 548c0fd b0f594c
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Feb 12 00:29:57 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit b0f594c8ac6656eb01c8c601a21c4c590d25971a
Merge: a4e92d4 ca13c36
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Feb 12 00:29:24 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/test/ndbapi/test_event.cpp
    	storage/ndb/test/run-test/daily-devel--06-tests.txt

commit ca13c366c9c4971aa3276ef83729176c7a4c8acc
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Feb 12 00:08:58 2016 +0100

    Bug#18753341 - NDB : SLOW NDBAPI OPERATIONS CAN CAUSE MAXBUFFEREDEPOCHS TO BE EXCEEDED
    
    Optimizing signal sending, by buffering and sending them when the
    buffer gets full or periodically, may not suit for
    SUB_GCP_COMPLETE_ACK. Without the ack, Suma buffers may overflow, and
    as a consequence, the API node will be disconnected. The fix sends the
    ack without delay.

commit 548c0fdad02d369de2b6f2170df831d8161266e7
Merge: 74f6c50 a4e92d4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 15:11:11 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a4e92d4fa385076e05d7a9fc4087f65bacd96c09
Merge: 446f3e0 ac0dbed
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 15:10:29 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ac0dbed0764c361b7e4c6c48beabbcb3a2936b48
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 15:05:40 2016 +0100

    Bug#22615274: API CRASHES WITH SIGNAL 6 AT TRANSPORTERFACADE.CPP LINE 2170
    
    Root cause for this bug was a misconseption of how
    TransporterFacade::do_poll() worked: The sequence of
    'poll' calls needed related to do_poll() are:
    
    - ::start_poll()
    - 'construct signal' -> raw_sendSignal()
    - 'do_forceSend()
    - **do_poll()**
    - complete_poll()
    
    That has led us to belive that do_poll() would force *this* thread
    to grab the poll-right and perform the transporter poll, whicheventually should
    end up in ::trp_deliver_signal() calling
    TransporterFacade::expand_clnt().
    
    However, as it turned out, all do_poll() does for us is
    to ensure that *some thread* will get the poll-right. That
    could be this thread if no other had the poll-right, or it
    could be someone else already holding it.
    
    That ripped away the foundation for how the m_open_close_mutex
    was used to protect the TransporterFacade::m_threads members.
    We used to grab that lock early in TransporterFacade::open_clnt(),
    and held it across do_poll() while waiting for the EXPAND_CLNT
    signal to be executed. However, if another thread had the
    poll right and executed that signal for us, that broke down
    the entire open_close_mutex protection 'protocol'.
    
    This patch temporary unlocks the m_open_close_mutex while ::open_clnt
    wait for the EXPAND_CLNT signal to be executed. The thread
    executing that signal will then grab the lock instead in
    TransporterFacade::expand_clnt().
    
    A similar defect in the m_open_close_mutex protection was
    also identified in TransporterFacade::close_clnt().
    That is also fixed by this patch.

commit 74f6c502a2e4b96866fbdf4b394c409f11457975
Merge: 229d7ab 446f3e0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 14:20:35 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 446f3e083de2d4972b6669cd0ec929d4ba5967ff
Merge: 7631540 35d980e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 14:18:37 2016 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 35d980e1611874bef12417ff2c0d3cff5d85faa8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Feb 11 14:15:03 2016 +0100

    Fix up failing MTR testcase ndb_binlog_restart.test
    
    The --errro statement was misplaced sich that it was
    consumed before reaching the select stmt it was intended for.

commit 229d7ab6f83f95370bc4f7a4e5b8068f4b8b4460
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Feb 11 16:10:24 2016 +0530

    Post Merge Fix.
    
    The failure is a result of a new default value for sql_mode
    in version 5.7. The result file has been re-recorded.

commit 93e4f7991ece78bcfa7770a863feca0842c301d4
Merge: 3d4b0ef 7631540
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 14:34:49 2016 +0530

    Null merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7631540017c29b40fa8225223a96899508a6f4cf
Merge: 8a0bd8d 0d30ed1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 14:33:17 2016 +0530

    Null merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 0d30ed19b752e00538448b28a2a9ceb5e8c4fb6a
Merge: 460fd93 4dd1215
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 14:26:55 2016 +0530

    Null merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 4dd121596cfeae145637d60c8088e521a9f87a67
Merge: 4676f14 b776367
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 14:09:58 2016 +0530

    Merge tag 'mysql-5.5.48' into mysql-5.5-cluster-7.2

commit 3d4b0ef7fd5162fbde8ca0012b8d8dd8eb671d8f
Merge: 719886f 8a0bd8d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 12:46:37 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 8a0bd8d8af9b2800f9ebd31f6e440f23cb3c692e
Merge: 52b549e 460fd93
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 12:34:52 2016 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 460fd93e7a28b56e71438658c9ec5da075507d54
Merge: 5926b0e 772309f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 11:59:24 2016 +0530

    Merge tag 'mysql-5.6.29' into mysql-5.6-cluster-7.3

commit 719886f1f04c5cb4f567199fdcfa51f4f2ac5eed
Merge: 61062a4 e568562
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Feb 10 11:38:33 2016 +0530

    Merge tag 'mysql-5.7.11' into mysql-5.7-cluster-7.5
