commit a9da615e9ff5b0cfa096e7694e423c103f230394
Author: Bin Su <bin.x.su@oracle.com>
Date:   Tue Sep 19 18:07:40 2017 +0800

    Bug#26779650 - LONG SEMAPHORE WAIT CAUSED BY DROP TABLE
    
    This is due to the for-loop in btr_drop_ahi_for_table() will skip
    pages of status BUF_IO_WRITE, and re-check it again later. But there
    are some other reasons the status can't be changed to BUF_IO_NONE quickly.
    Thus it continues to iterate over LRU list over and over. This may
    last for severl seconds or even minutes.
    
    Current fix is to relax the condition to drop AHI for pages of
    BUF_IO_WRITE too, and it will yield for a while after every iteration
    over all LRU lists.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 9aaa8e0aac03cc99955a1619e07fed92b640f4e6
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Tue Sep 19 08:59:30 2017 +0800

    Bug #26730000 	SERVER_ID LOOKS SET TO VALID VALUE STILL START SLAVE FAILS WITH ER_BAD_SLAVE
    
    Now, default server_id is set to 1 and user gets a warning
    if it is not set during server initialization. But, there
    is no WARNING and starting slave fails when server-id is
    not supplied by users during server starts.
    
    To fix the problem, remove the check on server_id_supplied
    on starting slave, and report a warning if the server-id
    is not supplied by users during server starts.

commit 306d22535667c7c233e2e269e3a3b3663ad7d0a6
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Sep 7 10:14:09 2017 +0200

    Bug#26666274 INFINITE LOOP IN PERFORMANCE SCHEMA BUFFER CONTAINER
    
    Problem 1
    =========
    
    Under load, the performance schema code can execute
    an infinite loop in
      PFS_buffer_default_array::allocate()
    
    Root cause 1
    ============
    
    Consider the following loop:
    
      size_t monotonic;
      size_t monotonic_max;
    
      monotonic = m_monotonic.m_u32++;
      monotonic_max = monotonic + m_max; (a)
    
      while (monotonic < monotonic_max)
      {
        ...
        monotonic = m_monotonic.m_u32++; (b)
      }
    
      When the value of monotonic gets close to 2^32,
      the value of monotonic_max gets beyond 2^32 in (a)
      This is ok, as both variables are 64 bits integers.
    
      However, in the loop,
      m_monotonic.m_u32++ is only a 32 bits value (b),
      so that when incrementing to the next value,
      the monotonic counter will never get passed 2^32,
      and therefore will never reach monotonic_max.
    
      The while loop never ends, causing the bug.
    
    Fix 1
    =====
    
      The solution is to change m_monotonic to
      be a PFS_cacheline_atomic_size_t,
      to match the type (size_t) of monotonic and monotonic_max.
    
      With this fix, the loop works properly beyond 2^32.
    
      However, another issue was found by analysis.
    
    Problem 2:
    ==========
    
      When the value of monotonic gets close to 2^64,
      the value of monotonic_max gets beyond 2^64,
      causing an overflow, and wraps to a low integer (a).
    
      In this case, the while loop is never entered,
      because monotonic is near 2^64 and monotonic_max is near 0.
    
      The buffer is declared full, without looking at it.
    
      While theoretical (2^64 is a big value, the server needs
      to be up for a long time to get to this state),
      this can potentially lead to extra allocation
      of new container pages, consuming more memory than necessary.
    
    Fix 2
    =====
    
      Add logic that detects the overflow on monotonic_max,
      and reset the monotonic counter to 0.
    
    Misc
    ====
    
      This fix also changes several integer computations
      to use size_t, to clean up the code to avoid other overflows.

commit 2fb2acba6b8b611fc50c7d18c6c418a907486f8c
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Sun Sep 10 11:00:11 2017 +0200

    Revert WL#10475

commit ff0976c4f7dc738a7d511d5b1f494d1d82599f01
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Sun Sep 10 06:54:14 2017 +0200

    Revert WL#10942

commit 819dcc8c354b7c105693b39845363b83cd92f8ba
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Sun Sep 10 06:53:15 2017 +0200

    Revert WL#11009

commit 4830b36bebf620e9017a2b7c53c1054884e94bf2
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Sep 6 22:55:30 2017 +0530

    Bug#26203731 : INFORMATION_SCHEMA.TABLES TABLE STATISTICS ARE NULL
    
    Post push fix:
    
    Compilation with clang fails with error 'class member cannot be redeclared'
    for class Attachable_trx_rw.
    
    Definition of class Attachable_trx_rw is moved inside class THD.
    Remove forward declaration of class Attachable_trx_rw and declaration
    of class Attachable_trx_rw_i_s from class THD.

commit 95be608be06778741b9ca3380426d2c176a98675
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Sun Aug 27 15:59:06 2017 +0300

    Follow-up to WL#6049 Meta-data locking for FOREIGN KEY tables.
    
    Fixed perfschema.transaction_nested_events test failure.
    
    Changes to cache invalidation which were done as part of this
    WL resulted in less data-dictionary lookups in one of parts of
    this test.
    
    Recorded new test results after checking that they are correct.

commit d898b557217af4e545677a596dcb115184b70e04
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Sep 6 18:17:07 2017 +0530

    Bug#26203731 : INFORMATION_SCHEMA.TABLES TABLE STATISTICS ARE NULL
    
    In MySQL 8.0, SHOW TABLE STATUS ...  and SELECT * FROM
    INFORMATION_SCHEMA.TABLES ... do not return meaningful data for the
    fields rows, avg_row_length, data_length, max_data_length, index_length,
    data_free, update_time. Instead they return NULL. On MySQL 5.7 these
    statements return valid data. Same behavior is observed for cardinality
    column in INFORMATION_SCHEMA.STATISTICS table.
    
    New implementation of information schema in 8.0 introduces two modes for
    dynamic table statistics retrieval for information schema - `cached` and
    `latest`. In cached mode, dynamic meta-data is fetched from
    mysql.table_stats and mysql.index_stats tables. The data is populated
    and refreshed in the stats table by explicit ANALYZE command on the
    tables. If data is fetched from information schema in `cached` mode
    without first executing ANALYZE, user will get `NULL` or stale data
    for dynamic table statistics.
    
    Fix:
    
    - Implement time based caching of the dynamic metadata in mysql.table_stats
      and mysql.index_stats.
    
    - Time based caching will fetch data from Storage engines when retriving
      data for first time. User will never get NULL value.
    
    - Remove 'cached' and 'latest' modes for data fetching from information
      schema. Remove information_schema_stats variable.
    
    - Add SESSION variable `information_schema_stats_expiry` to specify the
      value of timeout for cached data.
    
    - Default value of information_schema_stats_expiry variable is 24 hours
      (86400 seconds).
    
    - If information_schema_stats_expiry is specified as ZERO, always retrieve
      latest data from storage engine.
    
    - Do not store the retrieved dynamic data in mysql.table_stats and
      mysql.index_stats if any of the following condition is satisfied:
      - information_schema_stats_expiry value is ZERO.
      - innodb_read_only is ON.
      - transaction_read_only is ON.
      - read_only is ON.
      - super_read_only is ON.
      - data is retrieved for performance schema table.
    
    - For other values for information_schema_stats_expiry, store the data
      retrieved from storage engine in mysql.index_stats and mysql.table_stats.
      The stored data will be used for further queries on information_schema.tables
      and information_schema.statistics till data expires.
    
    - Remove internal system views TABLES_DYNAMIC, STATISTICS_DYNAMIC and
      SHOW_STATISTICS_DYNAMIC.
    
    - The metadata of columns of information schema which store dynamic
      information now depends directly on the UDF implementing them. Add
      'unsigned' flag the UDFs to maintain unsigned property of the columns.

commit 4c98a79396a114e190203be016ba312dfcec6a0e
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Aug 23 12:51:37 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS
    
    There is multiple use of class name
    dd::Info_schema::MDL_deadlock_error_handler in two translation
    units (table_stats.cc and tablespace_stats.cc). This is not
    caught by usual compilation options and even by pb2 builds. The
    problem was seen with the linker option -flto. This patch
    combines both of implementation into class
    Info_schema_error_handler and moved to translation unit
    error_handler.cc.

commit 04c41f6d8aad7c9026503a53b1756cec53ef7791
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Sep 6 10:43:07 2017 +0100

    BUG#26729635 SLAVE HANGS - WAITING FOR SQL THREAD TO FREE ENOUGH RELAY LOG SPACE
    
    Problem:
    The I/O thread is blocked waiting for the SQL thread to free relay log
    space when MTS is enabled. According to the source code, the I/O thread
    is actually waiting for the SQL thread to set the variable
    ignore_log_space_limit=true before it can progress.
    
    Analysis:
    The deadlock should be avoided by the coordinator setting
    ignore_log_space_limit=true before going to sleep. However, the
    coordinator only sets ignore_log_space_limit=true in case
    log_space_total > log_space_limit. But, when the coordinator reaches
    this condition, the IO thread may have not yet updated log_space_total.
    Also, the threads do not use the same locks to protect log_space_total,
    so even if the IO thread has updated log_space_total before the
    coordinator reads it, the IO thread may read a stale thread-local
    value.
    
    Fix:
    Moved the call to harvest_bytes_written (which updates log_space_total)
    to earlier, so that it happens while the IO thread still holds
    end_pos_lock.

commit b6328e0269156f7e4617f2cbc489d746b6cd20cc
Author: Prabeen Pradhan <prabeen.pradhan@oracle.com>
Date:   Wed Sep 6 14:04:28 2017 +0530

    Bug#26695153: SEVERAL TESTS FAILS WITH "[ERROR] [004143] INVALID (OLD?) TABLE OR DATABASE NAME
    
    The statement "UNINSTALL keyring_file" was leaving footprints.
    Subsequent tests were failing due to this. Added restart statement
    at the end of the test so that all footprints are cleaned.
    Identified few other tests which had similar statements
    and added restart statement at the bottom of those tests.

commit 25dec8f9629e5814b2d4e362781893fcbecbf613
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Mon Sep 4 21:05:11 2017 +0800

    Bug #26729602 	UPGRADE 5.7->8.0.3: REPLICATION MAY NOT START DUE TO INDEX FILE NEW DEFAULT NAME
    
    Problem
    =======
    - User does not set log-bin nor log-bin-index (or the relay-log
      counter parts).
    - 5.7 server randomly picks a filename prefix - hostname ("H").
    - 8.0 server picks a hardcoded filename prefix ("A").
    - On upgrade, 8.0 server does not find A.index because it is named
      H.index.
    - Conclusion: a different default value for index filename prefix in
      8.0 causes disruption later on.
    
    Fix
    ===
    Enable binary logging and binary log basename defaults to
    "`hostname`-bin" name prefix if --log-bin is not configured,
    then the `hostname`-bin.index is generated for binary log
    index file name if --log-bin-index is not configured.
    Relay log basename defaults to "`hostname`-relay-bin"
    name prefix if --relay-log is not configured, then
    the `hostname`-relay-bin.index is generated for relay log
    index file name if --relay-log-index is not configured.
    Then on upgrade, the 8.0 server can find the two index
    files, since it is generating the same index file name
    with the 5.7 serever.

commit 467335c717ecba546370002b5c1536ad7de23d18
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Sep 4 15:16:18 2017 +0200

    BUG#26277771: BAD WRITE SET TRACKING WITH UNIQUE KEY ON A DELETE FOLLOWED BY AN INSERT
    
    Revert the fix since it was incomplete.

commit a4df5a93ad1105a3c6209be86b1103ddbd649c68
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Sep 1 09:33:13 2017 +0200

    BUG#26671847: GROUP_REPLICATION.GR_APPLIER_THREAD_FAILURE_DETECTION IS UNSTABLE ON PB2 [Post-Fix]
    
    Problems appeared on PB2 with same symptom, not able to DROP a table after
    waiting for member change state for ONLINE.
    
    The wait for super read only be off, applied to start_group_replication was
    ported to be used on gr_wait_for_member_state.inc.

commit 630f697b8e59fd5f09d708a8f4fca4ea347c9baf
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Aug 28 15:49:18 2017 +0200

    BUG#26671847: GROUP_REPLICATION.GR_APPLIER_THREAD_FAILURE_DETECTION IS UNSTABLE ON PB2
    
    The test gr_thread_failure_detection was failing with the server on
    super_read_only mode after start_group_replication, not being able
    to remove a table.
    
    During WL#10622: "MySQL GCS: Instrument threads in GCS/XCOM" we
    needed to change the way we interact with SQL API, which did
    introduce some delays on the member flow of status update and
    super_read_only unset.
    Before WL#10622 the order was:
      1) unset super_read_only
      2) set member state to ONLINE
    both actions were instantaneous and did not cause thread context
    switch.
    
    After WL#10622, the unset super_read_only, due to the thread
    instrumentation on GCS does cause thread context switch. That was
    causing the situation on which the member was not yet ONLINE but
    super_read_only was disabled. This was, on its turn causing on some
    scenarios DDL to be rollback.
    So we did switch the order to:
      1) set member state to ONLINE
      2) unset super_read_only
    This way the state change is instantaneous, and during the period on
    which the member is ONLINE and super_read_only is being unset,
    transactions or DDL are not allowed to execute.
    This is the correct approach.
    
    The issue here is that WL#10622 forgot to consider that window on
    MTR include files. Now we are seeing sporadic test failures due to
    this order change.
    
    To solve these sporadic test failures, we did extend
    mysql-test/include/start_group_replication.inc to apart from waiting
    from the expected member state when it is called also consider the
    cases:
      - when we are starting the primary in the single-primary mode;
      - when we are starting a server on multiple-primary mode.

commit 3adc35a8e8f0cdd633785c49ae5d6c5309bf341e
Author: Libing Song <libing.song@oracle.com>
Date:   Fri Sep 1 20:30:49 2017 +0800

    BUG#26666609 SLAVE HANGS - WAITING FOR TABLE METADATA LOCK
    
    ANALYSIS
    ========
    REPAIR/OPTIMIZE/ANALYZE TABLE and
    ALTER TABLE ... REPAIR/OPTIMIZE/ANALYZE PARTITION
    statements maintain the tables one bye one. The metadata lock
    of the table is released immediately after it is maintained. That is
    earlier than the statement is binlogged and committed. That means
    the following statements which updates the same table may be binlogged
    earlier than it. Or they go into the same binlog flush queue. That
    meant they could be applied on slave parallel. It would cause a
    deadlock if --slave-preserve-commit-order is ON.
    
    For example:
    REPAIR TABLE t1;
    INSERT INTO t1 VALUES(1);
    go into to the same flush queue. They were binlogged with below information.
    
    REPAIR TABLE t1;
    INSERT INTO t1 VALUES(1);
    
    FIX
    ===
    m_last_blocking_transaction is added to store the sequence_number of the
    transactions which may not safe to parallel with the following transaction.
    The last_committed of the following transactions will be reset to
    m_last_blocking_transaction if their original last_committed is smaller
    than m_last_blocking_transaction.

commit bec3db599de61c807f4ebfdc04b8f78a00101c58
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Fri Sep 1 17:54:18 2017 +0300

    Bug#26719289 "8.0.3-RC SHOWS UP TO 25% PERFORMANCE REGRESSION WITH WL6049 PUSH".
    
    The problem was that WL6049 introduced heavy performance regression
    for write related tests. The source of this regression was new
    process_table_fks() function. This function is called for each table
    modified by typical DML statement to determine on which tables related
    through foreign keys to table modified we need to additionally acquire
    metadata locks. This function used dd::Dictionary_client::acquire()
    method to get information about table's foreign keys and this method
    is known to be scalability bottleneck since it acquires global
    (actually per object type) lock. Additionally when validating elements
    of prelocked set for foreign keys with cascading updates or deletes we
    acquired global LOCK_open lock and locks on all table cache partitions,
    which devasted scalability for statements causing such actions.
    
    This patch solves the problem by not using dd::Dictionary_client::acquire()
    in process_table_fks() and instead relying of information about foreign
    keys caches in TABLE_SHARE object. In the most common scenario it is already
    available when we call process_tables_fks(). In another case it can be
    easily accessed through table cache which is protected by partitioned
    lock. This patch also introduces caching of necessary information about
    foreign keys in the table share. We also use this TABLE_SHARE for
    prelocking set validation when necessary and thus avoid unnecessary
    locking for statements with cascading deletes or updates.

commit c8fea6afe9636309e47d576516ca3223f2bb81ad
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Aug 31 12:11:14 2017 +0200

    Bug#26664112	FAILED TO SET CAPABILITIES ON FILE `MYSQLD' (INVALID ARGUMENT)
    
    The setcap command did not have the full path to the mysqld binary.
    Additionally, it was missing from the apparmor profile

commit 59c5c1314953c4b15a99c01b0f229dcdab04e256
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Aug 24 17:42:42 2017 +0530

    Fixed the changelog in rpm packages

commit b5f62203454d74c07a8a8962ee74eaf3509bbc12
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Mon Aug 28 14:43:54 2017 +0700

    Bug #26667007 -- MYSQL UPGRADE TO 8.0.3 USER WITH RELOAD GRANTED BACKUP_ADMIN WITH GRANT OPTION
    
    As part of wl9451, when a user has RELOAD privilege in 5.7 and the mysql server is
    upgraded to 8.0.3, the user is granted privilege BACKUP_ADMIN in order to be
    able to perform some backup duties.  This privilege is granted with admin
    option in all cases, regardless of whether the RELOAD was granted that way.
    
    The reason for the bug was the fact that a grant_priv column's value
    didn't take into account when inserting a record about the BACKUP_ADMIN privilege
    into the table mysql.global_grants.
    
    To fix the bug the INSERT statement in the sql script file scripts/mysql_system_tables_fix.sql
    was modified in order take into account a value of grant_priv column of the table mysql.user
    when the privilege BACKUP_ADMIN is added for a user having the RELOAD privilege assigned.
    
    Similar modification was done for the privilege XA_RECOVER_ADMIN.

commit b742b5c004e31b1c97d334e3225f8556e705b211
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Aug 30 15:09:12 2017 +0200

    Bug#26723617 - X PROTOCOL CONTENTTYPE IS MUST HAVE FIELD-TYPE IN ITS NAME
    
    Description
    ===========
    Enum "ContentType" gives the additional hint/description about data
    transmitted under BYTE type. In future the enum may describe other
    types. Current approach makes it impossible to implement it for other
    types.
    
    Fix
    ===
    Renamed type "Mysqlx::Datatypes::ContentType" to
    "Mysqlx::Resultset::ContentType_BYTES"
    
    RB:17253
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>

commit c08c83be060b40727a4785822dbba7e9da0893b7
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 30 14:41:23 2017 +0530

    Bug#26721433 - NOT ABLE TO START MYSQLD WITH RPM BUILT FOR DOCKER IMAGES
    
    The server doesn't actually need this to function, but uses it if the setcap
    command is run. The problem is that Docker blocks this by default, so the server
    immediately throws a permission error (even for something like mysqld --version),
    making the image unstable.

commit de27464a3729f28ed593813b2a3175193312c20b
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Wed Aug 30 13:23:25 2017 +0800

    Follow-up to WL#6049 Meta-data locking for FOREIGN KEY tables.
    
    Post-push fix for memory leak reported by ASAN build.
    
    Approved by Jimmy Yang <jimmy.yang@oracle.com> over IM.

commit 1d2f6e4c16359d0886d78e11c3acfeeee1925c38
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Aug 29 10:05:57 2017 +0200

    Follow-up to WL#6049 Meta-data locking for FOREIGN KEY tables.
    
    Reload FK parent information also during --initialize.
    Make test dd_bootstrap_debug pass.

commit 1ba331651685fb06d5e0e65d257551116e4915a2
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Fri Aug 25 14:08:44 2017 +0300

    Follow-up to fix for bug#25817660: Combination of virtual index, foreign key and trigger asserts
    
    The problem which was solved by original patch for
    handler::my_eval_gcolumn_expr_with_open() call affected
    handler::my_prepare_gcolumn_template() call too.
    
    The latter call too tried to initialize current LEX object
    before trying to open table. This happened even during regular
    processing and, indeed, destroyed the current statement context,
    causing an assert error in dispatch_command().
    
    Similarly to the original patch we solve the problem by
    removing the calls to lex_start() and lex_end() from the
    handler::my_prepare_gcolumn_template().
    This is safe since neither of thd->dd_client()->acquire(),
    open_table_uncached() nor innobase_build_v_templ_callback()
    use the current LEX object.

commit c6a2cdb9d1547b1d39a384c580405bf4087eebba
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Fri Aug 25 16:49:47 2017 +0700

    Bug #26665851 - USING FLUSH TABLES WITH READ LOCK AND LOCK INSTANCE LEADS TO A CRASH
    
    The problem was that FLUSH TABLES WITH READ LOCK statement could trigger
    a debug  assert if the current connection had acquired BACKUP LOCK.
    This had no consequences for release builds.
    
    This patch fixes the problem by adjusting the assert so
    that it takes the possibility of holding backup lock into account.

commit c023fccefd26f6969ed6a3c7284440fcea8b2c1a
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Thu Aug 24 21:13:52 2017 +0300

    WL#6049 "Meta-data locking for FOREIGN KEY tables" and WL#11059
    "Implement INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as a system
    views over dictionary tables."
    
    WL#6049 Meta-data locking for FOREIGN KEY tables.
    
    The primary goal of this task is to ensure that foreign keys checks,
    which are performed by storage engine (e.g. InnoDB), do not access
    tables which are concurrently modified by DDL statements.
    
    Such an isolation of FK checks/actions from DDL statements can be
    achieved by ensuring that FKs are taken into account when we acquire
    metadata "operation-type aware" locks for DML and DDL statements.
    
    This is done by:
    
    1) Extending prelocking algorithm/process to take into account
       foreign keys and acquire metadata locks which are appropriate
       for the operations involving them (checks in parent or child
       tables take SR lock, cascading updates or deletes take SW lock,
       LOCK TABLES takes SRO or SNRW locks correspondingly).
    
    2) Changing DDL statements which add or drop foreign keys to the system
       to X lock on FK parent table before child table definition changes.
    
    3) Changing DDL statements which otherwise affect FK-related metadata
       (like RENAME TABLE on child or parent table) to acquire X lock on
       tables participating in the FK.
    
    4) Changing ALTER TABLE to acquire SU metadata lock on parent tables
       for newly added FKs so it can properly check them.
    
    The secondary goal of this task is to ensure that DDL on parent tables
    correctly updates foreign key metadata. Specifically we now correctly
    update the following metadata:
    
    I)   Name of unique constraint in parent table for the FK.
    
         Old code misused DD.FOREIGN_KEYS.UNIQUE_CONSTRAINT_ID to store
         id of supporting index for the FK in the child table. This WL replaces
         this column with VARCHAR(64) field which stores name of unique
         key in the parent table used for the FK -- UNIQUE_CONSTRAINT_NAME.
         DDL statements code was adjusted to keep this value correct on
         changes to parent table definition.
    
    II)  Referenced schema and table names (DD.FOREIGN_KEYS.REFERENCED_TABLE_SCHEMA
         and DD.FOREIGN_KEYS.REFERENCED_TABLE_NAME) during ALTER TABLE RENAME/
         RENAME TABLES on parent tables.
    
    This WL introduces some new temporary limitations:
    
    - We temporary disallow renaming of parent columns in FKs.
    
    - ALTER TABLE ... ALGORITHM=COPY acquires SRO locks on the parent
      tables for newly added FKs. This is temporary workaround for
      InnoDB SE making information about such FKs to other connections
      before DDL commit.
    
    - We disallow ALTER TABLE ... RENAME under LOCK TABLES on tables
      which have or will have foreign keys. This limitation should
      be weakened soon.
    
    WL#11059 Implement INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as a system
             views over dictionary tables.
    
    This patch implements I_S.REFERENTIAL_CONSTRAINTS as a system view over data
    dictionary tables, and remove 5.7 code that uses a temporary
    table to represent I_S view.
    
    Following changes are made in the patch:
    
    * Define a system view over data dictionary tables representing
      I_S.REFERENTIAL_CONSTRAINTS.
    
    * Remove 5.7 code from sql_show.cc for I_S.REFERENTIAL_CONSTRAINTS.
    
    * The result file for main.information_schema_inno shows the
      unique_constraint_name as PRIMARY. This is expected change added in
      wl6049. We get 'PRIMARY' as constraint name if a key is promoted as
      primary key. If a unique key is not a primary key, then the constraint name
      does show the unique key name.
    
    * Fixed upgrade code to return just the constraint name and avoid prefixing
      the constraint schema name with it. We also check that the constraint
      name is not more than 64 characters, before continuing further.
    
    * Added ORDER BY clauses in some of I_S query to force order of
      tuple returned. Because, now the optimizer returns the rows and
      not read from temporary table as in 5.7 I_S design.
    
    * Remove part of test case in main.information_schema. Because,
    
      - The problem reported back then is only applicable for 5.7
        code.
    
      - The output of EXPLAIN ... <select on I_S system view> goes
        through optimizer and then plan return might vary.
    
    * Fixed InnoDB upgrade code, which ignored setting RESTRICT flag for
      update and delete rule.
    
    * Recorded result files with I_S column names being capitals now,
      this is expected, see wl6599 for more info.

commit 3084bd6bcc1ec317538528b35435e6c1ea4979de
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Aug 24 14:26:16 2017 +0530

    Bug#26482173: TLS CIPHER NEGOTIATION INCORRECTLY MATCHES ON LAST BYTE ONLY (YASSL)
    
    Description:- TLS cipher negociation happens incorrectly
    leading to the use of a different
    
    Analysis:- YaSSL based MySQL server will compare only the
    last byte of each cipher sent in the Client Hello message.
    This can cause TLS connections to fail, due to the server
    picking a cipher which the client doesn't actually support.
    
    Fix:- A fix for detecting cipher suites with non leading
    zeros is included as YaSSL only supports cipher suites with
    leading zeros.

commit 286db2001b185c1582d99ee20a40b73ae4cbd7c2
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Aug 24 09:27:00 2017 +0200

    WL#9193 : Autoscale InnoDB resources based on system resources by default
    
    Turn the feature off by default for RC 1.

commit 74294cc8b30b5ad8b7c05fba5918e9f7cb11b5ad
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Aug 23 21:52:12 2017 +0800

    BUG#26672689 - INNODB: ASSERTION FAILURE: DICT0UPGRADE.CC:573:AUTO_INC_VALUE != (18446744073709
    
    During upgrade, The max autoinc of partitioned tables were not set properly
    because all of them were compared with a max value, then none of them were
    picked.
    
    So the fix is comparing to a base value 0.
    
    Approved by Satya Bodapati <satya.bodapati@oracle.com>

commit 5f5bce5e01556426f3b118fc678f7f11abebaba9
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Tue Aug 22 12:12:55 2017 +0200

    WL#9223
    
    Post-push fix: The test perfschema.threads_history gave a different
    result in release and debug builds. The root cause for this was that
    the default size for performance_schema_events_waits_history_long_size
    is 10000. The server creates a different number of events_waits markers in
    release and debug, and in debug it exceeds 10000 for the table
    events_waits_history_long. The result is that the performance schema
    table starts to eat up itself, since it is implemented as a ring buffer.
    This would give a different result in the test file for release and debug
    builds.
    
    The fix is to increase the size of the variable
    performance_schema_events_waits_history_long_size to ensure that the
    performance schema table doesn't start to eat up itself.
    
    Change-Id: I354bc1ae48630639c947d85a5fdf3e65c4d878ed

commit dc5749d63ce08fb4d06ef03820e17d910f3ddc2f
Author: Vitor Oliveira <vitor.s.p.oliveira@oracle.com>
Date:   Tue Aug 22 16:21:24 2017 +0200

    BUG#26537497: GROUP REPLICATION: FLOW CONTROL MESSAGE ALWAYS SENT EVEN WHEN DISABLED
    
    WL#9838 featured the ability to have some members in a Group Replication
    group that would not affect the minimum throughput of the flow-control
    mechanism, effectively ignoring those members in case they would be blocked.
    
    With the addition of WL#10380, WL#9838 no longer properly ignores those
    members, because of the way that feature was implemented - flow-control
    messages now need to be sent even when flow-control is disabled. This bug
    fix corrects the behaviour to be as specified in the WL.

commit d2ebc6232a3c35f2b914e22c1b0f6d12fed0e235
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Aug 21 12:06:40 2017 +0300

    Addendum to fixing bug #26173244:
    Fix for a failing test udf_skip_grants
    Rased the flag for UDF initialiation at the right time to indicate
    if SQL UDF definition/removal is allowed.
    The flag is no longer used to indicate if the global structures
    are allocated or not (as they are always allocated).

commit eb1defa432365dd74142f561b1fad705cf15930b
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon Aug 21 22:16:14 2017 +0800

    InnoDB NewDD worklogs(WL#9535 and WL#9536)
    
    Post-push fix: Fix valgrind issues for virtual_debug and innodb_bug19164038.

commit 105fd1f9caa8e3280b66f65d3b1d037a6ad43110
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Aug 21 13:56:33 2017 +0200

    Bug#25817660: Combination of virtual index, foreign key and trigger asserts
    
    The problem is with handler::my_eval_gcolumn_expr_with_open().
    This function is designed to work from purge threads, but here it is
    used in regular execution of foreign key processing.
    From a purge thread it needed to initialize the current LEX before
    evaluating a generated column. But in regular processing, this will
    destroy the current statement context, causing an assert error
    in dispatch_command().
    
    The fix is to remove the calls to lex_start() and lex_end() in
    handler::my_eval_gcolumn_expr_with_open(). This is safe since neither
    of thd->dd_client()->acquire(), open_table_uncached() nor
    my_eval_gcolumn_expr_helper() affect the current LEX object.
    
    Apparently, this is also safe when called from a purge thread.
    Existing tests are unaffected by this change.

commit 56e056f5e76ec81488dc79a94635b7e917451334
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Aug 21 12:06:40 2017 +0300

    Addendum to fixing bug #26173244: Fix for a failing test udf_skip_grants Rased the flag for UDF initialiation at the right time to indicate if SQL UDF definition/removal is allowed. The flag is no longer used to indicate if the global structures are allocated or not (as they are always allocated).

commit a1882d1dff4ff194c137081e4fd03e64a97df252
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Mon Aug 21 10:57:02 2017 +0200

    WL#9223
    
    Post-push fix: Fix an UBSAN warning caused by integer overflow.
    Force the calculation to be done using double arithmetic.
    
    Change-Id: I92937f0f33be4582aec3970f3abdca4ee642754e

commit fe46a88769281dc382f74df8646dc0b92f8dc129
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sun Aug 20 11:54:28 2017 +0200

    WL#10827: Fix memory leak
    
    Post-push fix to close a memory leak of SRS objects from dict_index_t
    structs.
    
    Change-Id: Ib64dff90f6013db64a3c14b80c6012847a9127f0

commit 3d0647701e804767f74a1e2706e86c820908d8d8
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Sun Aug 20 06:52:39 2017 +0200

    WL#9467 - Resource Groups.
    
    Post-push fix: main.dd_schema_definition_debug_ci and the non-P_S build

commit 44fc07918777db863feffa052253357b2b176d59
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Sun Aug 20 06:16:00 2017 +0200

    WL#10475 Defaults: Enable Parallel Replication Applier
    
    Post-push fix to two ndbcluster tests and to main.binlog_partial_json_warnings

commit b0dc2c60b142040cd6ec7c01e75e8638ab75c7a9
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Sun Aug 20 00:00:06 2017 +0200

    Post-push fix: WL#2955: RBR replication of partial JSON updates
    
    Remove assertion that would be hit in a corner case.
    
    Valid JSON documents cannot have length 0.  However, when strict mode
    is disabled, user is allowed to insert NULL in a JSON NOT NULL column,
    and this will result in a zero-length string being inserted.  That
    lead to an assertion.  This patch relaxes the assertion so it allows 0.

commit 9df957316d57a4d4c58818139772d25470c319a8
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Sat Aug 19 21:00:17 2017 +0200

    Post-push fix: WL#2955: RBR replication of partial JSON updates
    
    Fix link error on UBSAN.

commit 4f6736094492742bf0c270871db8a733b4f6250b
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sun Aug 20 07:12:58 2017 +0200

    WL#9223 Using histogram statistics in the optimizer
    
    Post-push fix: rerecord perfschema.transaction_nested_events

commit cf8ecdc78889f3fb3f1643ebcac34f9af0d136a8
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sun Aug 20 06:41:28 2017 +0200

    WL#11009: Logging services: log writers: add error ID to traditional error log
    
    Post-push fix to rpl_nogtid.rpl_parallel_worker_error

commit 582032ad01263f53b6383a010fd22695106e0176
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:55:00 2017 +0200

    WL#10827: [30/30] Bug #26615824 SELECT QUERY WITH LIMIT 1 RETURNS ZERO
    NUMBER OF ROWS
    
    Add SRID and SRS info to dict_index_t structures in a few places that
    appears to have been forgotten in WL#10439.
    
    Change-Id: I6211f2cfcdc3e951c9e7a7648690a48a7e7ae9b2

commit 04db2fc8e79aaf503663b492c63dfc912ef4a3d6
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:53 2017 +0200

    WL#10827: [29/30] MTR tests for spatial relops
    
    Add tests for ST and MBR spatial relation functions, comparing results
    with and without R-tree searches.
    
    Change-Id: Iea14336dac932e4479ac1ce2ec31519359b59743

commit c85c7e8e7e3caa1ef86f6092d291b54644b19375
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:48 2017 +0200

    WL#10827: [28/30] Enable geographic spatial relations
    
     - Enable geographic R-tree computations.
     - Enable geographic spatial relation operations (implemented in
       WL#8685).
    
    Change-Id: I5908189ac13f958e422bd10f4a9fcdf06d32caa8

commit 97b9d57e4dac15767333da2cb09d94efc66aed70
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:44 2017 +0200

    WL#10827: [27/30] rtree_area_overlapping
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I9d42551311f1bc50f737ca731814ee6dd93fe7f9

commit eb00bf6a0243b24467fc44299a872e1d5b9ef400
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:40 2017 +0200

    WL#10827: [26/30] rtree_area_increase
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I94f07c3af7146536d22537106632f0a90ea07525

commit 0a781a66b047671d83aa2d69939f7da0d0495f92
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:35 2017 +0200

    WL#10827: [25/30] get_mbr_from_store
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I5bf1a368fbd5fafb578577d85a71355cb175fa54

commit ccf3b476e74b3b8a9d9263e21fb3b060c5f97f61
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:31 2017 +0200

    WL#10827: [24/30] compute_area
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I75afe6d9b7551ae66d5d337d7d099d1b09d2c402

commit d2fa76252be7c2f030db54d2ca5e09f8995020e4
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:26 2017 +0200

    WL#10827: [23/30] mbr_join_area
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I0235d15f07dce95aee89c3f28f26e00e5960f278

commit e73856c0be061f35bd99e03ce8cbbec84b5bd446
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:22 2017 +0200

    WL#10827: [22/30] mbr_join
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: Ief2de037389f2435c5224b99b17cd36e8cc3cbe3

commit 124c337916c16b66d5f5e241e5b9de4f2ffeb500
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:17 2017 +0200

    WL#10827: [21/30] mbr_within_cmp
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: Ib8e748dfd4e52fb40dcc9853a6002cd67882eab6

commit 4eb41bc88b4a96bf92a1e26c4e80949cd49e76ef
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:13 2017 +0200

    WL#10827: [20/30] mbr_disjoint_cmp
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: Ice5480c9235953c18223ecbc8e93f0278a6b971a

commit e8f434955998419b001d23bb47ab06c1009e0987
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:08 2017 +0200

    WL#10827: [19/30] mbr_intersect_cmp
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I5bd1edc10d14d501b8218a4dc7f5e8b95b3e8513

commit 6167a95235cfb98a7819b67e0b8bd45b6cb48740
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:04 2017 +0200

    WL#10827: [18/30] mbr_equal_cmp
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I30d65c059f320053bd8a7e4cb21fae1124b35e99

commit 7970c31cba84537b7512c9feabfd7597c84ab4c4
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:54:00 2017 +0200

    WL#10827: [17/30] mbr_contain_cmp
    
    Reimplement the function in a way that supports both Cartesian and
    geographic geometries.
    
    Change-Id: I43548b03c14de057fecf99cbaed4f98fd1d49a34

commit b51c20251596e680c60dce95c246b8b9b2471ec9
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:56 2017 +0200

    WL#10827: [16/30] Change parameters to rtree_area_overlapping
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I59ce1d23561d9fe345a9443f634c2cf47a004ed2

commit ec5b2f6291aed9c20baba519d705453b250379af
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:52 2017 +0200

    WL#10827: [15/30] Change parameters to rtree_area_increase
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: Ifee64e59b83f2bff0dcee993bc95672748c6fb5b

commit 6b0552e7566b17aef126a05dec6a4619716d2402
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:47 2017 +0200

    WL#10827: [14/30] Change parameters to get_mbr_from_store
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: Ica6284d8dbd7e5ff31f3cb5c454a8a707cae1a94

commit f2bc40aceb1fbf778ea29847a335f811b891347b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:42 2017 +0200

    WL#10827: [13/30] Change parameters to compute_area
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: Ib816d8e3d9dda787aa567aa3679f8fb5bb18c29b

commit 86cce3bacf975360db9fda4a6e13633d17189c26
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:38 2017 +0200

    WL#10827: [12/30] Change parameters to mbr_join_area
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I45a69748ab7de50e80b70bece553f8edec5f1f14

commit 19e473ef785bcfdff42f0ec54037a60ab1abca84
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:33 2017 +0200

    WL#10827: [11/30] Change parameters to mbr_join
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: Ib459eec57e9c5ba5688cdfe1efe33bde9d8df303

commit 7b8ac885368917e8692d1944ce7e6f952efac30f
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:26 2017 +0200

    WL#10827: [10/30] Change parameters to mbr_within_cmp
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: Id00a5d6e717362877d8a42349f0b19780ae1376e

commit 82c41a97d455355380830c8e486201ed72388710
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:22 2017 +0200

    WL#10827: [09/30] Change parameters to mbr_intersect_cmp
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I47bd6aad13027535c015d10283ea11240697accc

commit 42f924de41b9f05ae2f83a54cb526af308d021e0
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:17 2017 +0200

    WL#10827: [08/30] Change parameters to mbr_disjoint_cmp
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I9f8340e32b9f45996be62171652df3fbbbe9445e

commit e0d45f6ca706447194a8e4c715248bf0ae8bfc57
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:13 2017 +0200

    WL#10827: [07/30] Change parameters to mbr_equal_cmp
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I35178ec1aef8ebc1c11646993b98532c8fc8f316

commit 6e160e5d016c5c04d56f22b6ae3177f1fb973e63
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:08 2017 +0200

    WL#10827: [06/30] Change parameters to mbr_contain_cmp
    
    Change the spatial reference system input parameter from an SRID to a
    pointer to an SRS.
    
    Change-Id: I2de16ec679264810b99ff85d40b4a636c73f0e4a

commit cf116687271f5ac6128c71fd890e4397811aa838
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:53:03 2017 +0200

    WL#10827: [05/30] Add dict_index_t fields to cache SRS info
    
    Add the SRS info to the index memory structure. Each index has a
    complete copy of the SRS.
    
    SRID 0 is hard-coded for all indexes until geographic operations are
    enabled.
    
    Change-Id: I0fc221ec170d4508bcfc47e6632a5aac413c79db

commit 50c94bfcf75b8a4b86f3ef3fcc51aeda8a350e52
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:52:58 2017 +0200

    WL#10827: [04/30] Add SRS lookup function to R-tree support API
    
    Add function fetch_srs() to look up an SRS entry in the data dictionary
    and return a clone of the dictionary object.
    
    Change-Id: Iea053eb8cbc22d28177b7e2139f6c9a2e6aa1709

commit 60d77bb1f3f29fa190196b59a78c1b04aafc5c6c
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:52:53 2017 +0200

    WL#10827: [03/30] Reformat rtree_support.{h,cc}
    
     - Reformat using clang-format.
     - Reformat comments from C style to C++ style.
     - Put Doxygen comments at the place of declaration.
     - Remove Doxygen comments at the place of definition.
     - Include the correct header files.
     - Change to standard include guard format.
    
    Change-Id: I914efda1e7820de971247131dda6d7c27940d220

commit 6dafbf503ac3c05482b309391d070e2ef06a366d
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:52:48 2017 +0200

    WL#10827: [02/30] Add build dependencies to sql_rtree
    
    The sql_rtree module depends on GIS code. Add build dependencies to
    avoid sporadic build failures.
    
    Change-Id: I31b7001f539e3aa8eecf65d875f619100b7858cd

commit 6f12772aad8c585e192b7cee1f731eb35fd6c99e
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Sat Aug 19 18:52:36 2017 +0200

    WL#10827: [01/30] Bug #26135876 CONDITIONAL JUMP OR MOVE DEPENDS ON
    UNINITIALISED VALUE(S)
    
    Temporary fix while we wait for upstream to release a new version that
    includes the bug fix.
    
    This patch has been merged into Boost.Geometry's develop branch.
    
    Change-Id: I42c294d3d2ee823d18c508eb3111ae433c35d56e

commit e03b3ba1c1fde69bb96552683193595f9b3dae97
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Sat Aug 19 17:54:43 2017 +0200

    WL#9467 - Resource Groups.
    
        The WL provides the resource group functionality. It meets the
        following functionality requirements:
        1. It provides functionality to create, drop and alter resource groups.
           The resource group associate a set of controllers which can be applied to
           resources of the system. This is to manage and throttle the resource usage
           consumption for different workloads. In the current WL, resource groups
           contain specification of CPU affinity and thread priority which can be
           applied to threads (which are representatives of workloads).
    
        2. Resource groups have the attributes name, type (SYSTEM or USER), resource
           group state (enabled or disabled), CPU ID list and thread priority. Resource
           groups can be managed by CREATE RESOURCE GROUP, ALTER RESOURCE GROUP and
           DROP RESOURCE GROUP statements.
    
        3. Resource group can be associated with a thread, a session and a group of
           threads. We can provide a hint to run a particular query using a resource
           group. The SET RESOURCE GROUP and the hint specification allow to do it.
    
        4. Every thread in the system by default is associated with USR_default or
           SYS_default resource groups. These resource groups by default allow a
           thread to be run on all CPUS and have the normal (0) thread priority
           of the system.
    
        5. There is a FORCE option associated with ALTER and DROP RESOURCE GROUP
           statements. It has the following semantics:
           (i). FORCE allows a resource group to be disabled even when some threads
                are using the resource group. It moves the threads (of that
                resource group) into their respective default resource groups.
           (ii). FORCE allows a resource group to be dropped while some threads are
                 associated with the resource group. The threads of this resource group
                 are moved to respective default resource groups.
    
            Without FORCE, if some threads are using the resource group, then an error
            ER_RESOURCE_GROUP_BUSY shall be returned.
    
        6. RESOURCE_GROUP_ADMIN privilege is required for CREATE, DROP and ALTER RESOURCE
           GROUP operation. In addition, this privilege allows assignment of system
           and user resource groups to system & user thread respectively.
           RESOURCE_GROUP_USER privilege is required to assign user resource groups with
           user threads.
    
        7. Resource group feature is not supported on MacOS and the error ER_FEATURE_UNSUPPORTED
           shall be returned on this platform if user attempts to use the resource group related
           actions. Thread priority is unsupported on FreeBSD and Solaris. In linux, the mysqld
           executable need to have CAP_SYS_NICE capability (to have thread priority tuning available).
           On this platform, if user attempts to set/tune the thread priority, a warning
           indicating the attribute shall be raised.
    
        8. Performance schema table threads is augmented with a RESOURCE_GROUP column
           and this functionality is provided by the WL#8881.
    
        9. The resource groups are persisted in the the data dictionary mysql.resource_groups and
           shall be available across reboots and future upgrades.
           The INFORMATION_SCHEMA.RESOURCE_GROUPS view shall expose the resource groups
           defined.
        A common function to validate UTF8 string is provided and this function is used
        from other subsystems in addition to it's use in resource group.

commit 56c0adcab80470b787b81d9cd20e9cdb16af99a9
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Sat May 6 14:33:42 2017 +0200

    WL#2955: RBR replication of partial JSON updates
    
    This worklog enables the replication of small updates of big JSON
    documents more space-efficiently.  More precisely, when using RBR, we
    will write only the modified parts of JSON documents, instead of the
    whole JSON document.
    
    The patch includes the following major components:
    
    - Implement the new option binlog_row_value_options
    
    - Implement logic to generate JSON diffs only when needed
    
      Before, JSON diffs were generated unconditionally by the optimizer.
      We changed so that JSON diffs are only generated when the option is
      enabled (unless inhibited by other options).
    
    - Implement new event type and use it when the option is enabled
    
    - Refactor: make max_row_length a private member of Row_data_memory
    
      This function was only used internally in class Row_data_memory, but
      was defined as a global function in table.cc.  Moved it to a private
      member of Row_data_memory.
    
    - Refactor: simplify pack_row and unpack_row
    
      Made several refactorings in these functions, including:
    
      New utility classes for handling null bits: When reading and writing
      a row in a row event, the logic for iterating over fields was
      interleaved with low-level bit operations to maintain a bitmap of
      null fields.  This made the code error-prone and hard to understand
      and edit.  This refactoring encapsulates the bitmap handling in
      utility classes, and simplifies pack_row / unpack_row accordingly.
    
    - Refactor: add const to integer decoder functions in pack.cc
    
      Functions in mysys/pack.cc that read from a buffer did not declare
      the buffer as const.  This patch makes net_field_length_size use a
      const parameter and makes other functions use const internally.
      Since these functions are part of the ABI, we also have to update
      include/mysql.h.pp.  (We do not const-ify pointers-to-pointers in
      function declarations, since that breaks compilation on other places
      that call the functions using non-const arguments.)
    
    - Refactor: change Json_diff_vector from a type alias to a class
    
      This was needed because extend Json_diff_vector with more member
      functions.  It also simplifies some forward declarations.
    
    - Refactor: do not overload global identifier TABLE in rpl_tblmap.h
    
      Class table_mapping in rpl_tblmap.h is used both in mysqlbinlog and
      in the server.  In the server, it maps numbers to TABLE objects.  In
      mysqlbinlog, it maps numbers to Table_map_log_event objects.  This
      was implemented by using the type name TABLE, and in mysqlbinlog use
      a typedef that makes TABLE an alias for Table_map_log_event.
    
      This patch changed rpl_tblmap.h so that it does not use the
      identifier TABLE.  Instead, it uses the new typedef Mapped_table
      that maps to TABLE in the server and to Table_map_log_event in
      mysqlbinlog.
    
    - Refactor: remove unused variable Rows_log_event::m_master_reclength
    
      There was a member variable Rows_log_event::m_master_reclength that
      was set to a (strange) value which was never read.  Removed this.
    
    - Refactor: simplify Rows_log_event::read_write_bitmaps_cmp
    
      This member function was implemented only in the base class, but had
      a switch that made it execute differently depending on the
      instance's subclass.  Changed to use a pure virtual function in the
      base class and implement the different logic in each subclass.
    
    - Implement encoder of new event format
    
      Outline of the pipeline:
    
       1. In binlog.cc:Row_data_memory, take a new argument in the
          constructor having two 'data' pointers (this constructor is used
          for Update_rows_log_event and is invoked in
          binlog.cc:THD::binlog_update_row).  This the value of the new
          server option binlog_row_value_options.  Based on this variable,
          determine if Json diffs may be used, estimate how much memory
          will be used (using the new function
          json_diff.cc:Json_diff_vector::binary_length), decide if full
          format or partial format will be used, and adjust the allocated
          memory accordingly.
    
       2. In binlog.cc:THD::binlog_update_row, pass two new arguments to
          pack_row:
    
          - row_image_type, which specifies if this is a
            Write/Update/Delete, and if it is a before-image or
            after-image.
    
          - value_options, which contains the value of
            binlog_row_value_options for update after-images.
    
       3. In rpl_record.cc:pack_row, accept the two new arguments.  If
          this is an update after-image and the bit in value_options is
          set, then determine if any column will use partial format.  If
          any column will use partial format, write the value_options
          field, followed by the partial_bits, to the output.  Otherwise,
          just write value_options=0 to the output and skip the
          value_options.
    
       4. From rpl_record.cc:pack_row, invoke the new function
          rpl_record.cc:pack_field to write a single field.  If the column
          is JSON and this is the after-image of an Update and the bit in
          value_options is set, invoke the new function
          field.cc:Field_json::pack_diff.  Otherwise, or if
          field.cc:Field_json::pack_diff returned NULL, fall back to the
          usual non-diff writer.
    
       5. In Field_json::pack_diff, determine again if this field will be
          smaller in full format or in partial format.  If full format is
          smaller, just return NULL so that rpl_record.cc:pack_field will
          write the full format.  Otherwise, invoke the new function
          json_diff.cc:Json_diff_vector::write_binary.
    
       6. In json_diff.cc:Json_diff_vector::write_binary, write the length
          using 4 bytes, followed by all the diffs.  Write each diff using
          the new function json_diff.c:Json_diff::write_binary.
    
       7. In json_diff.c:Json_diff::write_binary, write a single diff to
          the output.
    
    - Implement decoder of the new format
    
      The pipeline is now:
    
       1. Add a parameter to
          log_event.cc:Rows_log_event::unpack_current_row, which says if
          this is an after-image or not.  Set the parameter from all the
          callers in log_event.cc.
    
       2. Move Rows_log_event::unpack_current_row from log_event.h to
          log_event.cc and make it pass two new arguments to
          rpl_record.cc:unpack_row: row_image_type, which indicates if
          this is Write/Update/Delete and before-image or after-image, and
          has_value_options, which is true for Update events when
          binlog_row_value_options=PARTIAL_JSON.
    
       3. Make rpl_record.cc:unpack_row accept the two new parameters.
    
          First make a few small refactorings in rpl_record.cc:unpack_row:
    
          - Clarify some variable names and improve the comment for the
            function.
    
          - Remove comments about unpack_row being used by backup, having
            rli==NULL.  This may have been an intention at some point in
            time, perhaps in 5.1, but probably never was true.  And rli is
            unconditionally dereferenced in the main loop, so it cannot be
            NULL.  Instead assert that it is not NULL.  Also assert that
            other parameters are not NULL, as well as other preconditions.
    
          - Improve some debug trace printouts.
    
          - Return bool instead of int since the caller does not need to
            distinguish more than two different return statuses.
    
          Then implement the new logic:
    
          - When partial format is enabled, read partial_bits before the
            after-image (from within the main loop, as well as from the
            loop that consumes unused fields), and also read partial_bits
            after the before-image (after the main loop).  For the
            before-image, leave the read-position before the partial_bits.
            Use the new auxiliary function start_partial_bits_reader to
            read the value_options and initialize the Bit_reader
            accordingly, in the two places (after before-image and before
            after-image).
    
          - In order to read the correct number of bits before the
            after-image, start_partial_bits_reader needs to know the
            number of JSON columns on the master.  This is known from the
            table_map_log_event via the table_def class.  For convenience
            (and reuse in the mysqlbinlog patch), we add a member function
            rpl_utility.cc:table_def::json_column_count.  This function
            also caches the computed column count, to speed up successive
            calls (e.g. for many-row updates).
    
          - For the before-image, set the corresponding bit in the table's
            read_set, for any column having a 1 in the partial_bits.  This
            tells the engine to fetch the blob from storage (later, when
            the engine is invoked).  The blob will be needed since we have
            to apply the diff on it.
    
          - Call an auxiliary function rpl_record.cc:unpack_field to read
            each field move some special case handling for blobs into this
            function too.
    
       4. In rpl_record.cc:unpack_field, call
          field.cc:Field_json::unpack_field for partial Json fields.
    
       5. Add new function field.cc:Field_json::unpack_field, which
          invokes the new function
          json_diff.cc:Json_diff_vector::read_binary to read the
          Json_diff_vector, and the pre-existing (since WL#10570) function
          apply_json_diffs to apply the diff.
    
          The Json_diff_vector uses a new MEM_ROOT rather than the one of
          the current_thd, because that allows memory to be freed for each
          value, which saves resources e.g. in case of many-row updates.
    
          Before apply_json_diff can be invoked, we need to call
          table->mark_column_for_partial_update and
          table->setup_partial_update, in order to enable the *slave*
          server to generate JSON diffs in the *slave's* binary log.
    
       6. Add the new function json_diff.cc:Json_diff_vector:read_binary.
          This function reads the length of the field, then iterates over
          the diffs, reads each diff in turn, constructs Json_path and
          Json_wrapper/Json_dom objects, and appends them to the
          Json_diff_vector.
    
          We implement the auxiliary function net_field_length_checked,
          which reads an integer in packed format (see mysys/pack.cc),
          checking for out-of-bounds conditions.
    
    - Implement decoding and pretty-formatting of JSON diffs in mysqlbinlog
    
      mysqlbinlog outputs row events in two forms:
    
      - BINLOG statements that a server can apply.  There is nothing to
        change to make this work for the new event type.
      - "Pseudo-SQL" that humans can read, in case mysqlbinlog is invoked
        with the -v flag.  This is what the present patch implements.
    
      The pipeline in mysqlbinlog is:
    
       1. log_event.cc:Rows_log_event::print_verbose invokes
          log_event.cc:Rows_log_event::print_verbose_one_row with the new
          argument row_image_type, which indicates if this is a
          Write/Update/Delete and whether it is a before-image or
          after-image.
    
       2. In log_event.cc:log_event.cc:Rows_log_event::print_verbose_one_row
          we do two things:
    
          - Refactorings:
    
            - Use a Bit_reader to read the null bits, instead of using bit
              arithmetic.
    
            - Use safer boundary checks.  The code has a pointer to row
              data and a pointer to the end of the row data.  In C/C++, a
              pointer may point to the next byte after an allocated block
              of memory, but incrementing it further has an undefined
              result.  After reading the length of a field, the correct
              way to check that this length is not corrupt is to compare
              it with the end pointer minus the pointer to the read
              position.  (Before, it added the length to the read position
              and compared with the end pointer, but the read position
              plus the length is undefined.)
    
          - Implement the feature:
    
            - Read the value_options, if this is the after-image of a
              PARTIAL_UPDATE_ROWS_EVENT.
    
            - If value_options has the PARTIAL_JSON bit set, read the
              partial_bits.
    
            - Pass the partialness of the column as a parameter to
              log_event.cc:log_event_print_value.
    
       3. In the new function log_event_print_value, accept the new
          parameter, and in case the value is partial, call the new
          function log_event.cc:print_json_diff to parse and print the
          Json diffs.
    
       4. In the new function log_event.cc:print_json_diff, read, parse,
          and print all the diffs.
    
          The output has the form:
            JSON_<func>(
            JSON_<func>(
            ...
            JSON_<func>(@column, path[, value][,
                        path [,value][,
                        ...]]),
            ...
                        path[, value][,
                        path [,value][,
                        ...]]),
                        path[, value][,
                        path [,value][,
                        ...]])
    
          In this output format, the JSON_<func> functions appear in
          *reversed* order, whereas all the (path, value) pairs appear in
          order of appearance.  Therefore, we make two passes over the
          sequence of diffs:
    
           1. Read just the operations and store them in a vector.  Then
              print the operations in reverse order. Operations are
              printed using the new function
              log_event.cc:json_wrapper_to_string.
    
           2. Read the full diffs and output in the order of appearance.
    
       5. Add a new function log_event.cc:json_wrapper_to_string to print
          a Json_wrapper.  This ensures that the Json values are printed
          in the correct type.  JSON_<func> functions will convert SQL
          types to their JSON equivalents: for instance, the JSON function
          JSON_SET('[1, 2]', '$[0]', '[]') will set the 0th element of the
          JSON array to a string containing an open and closing square
          bracket, and not to an empty JSON array.  To account for this,
          different data types need different quoting, and to insert a
          JSON object or JSON array we need to cast the string to JSON
          first.
    
       6. To output JSON values with correct quoting for SQL strings, we use
          the existing my_b_write_quoted, but change it so that:
    
          - it uses a lookup table (computed only once) for simplicity and
            performance;
    
          - it prints common escapes such as \n, \\ in a more
            human-readable way.
    
    - BUG#26018522: MYSQLBINLOG -V PRINTS JSON IN ROW EVENTS WRONG
      mysqlbinlog -v had two problems:
    
      P1. It only read the length of JSON objects from two bytes. But the
          length of JSON data in row events is encoded (in little endian)
          using four bytes.  Therefore, it printed the wrong data for JSON
          objects bigger than 64K.  This also caused subsequent errors.
    
      P2. It only dumped the raw bytes of the buffer (quoted).  But row
          events contain a binary format for JSON, so the output was not
          useful.
    
      We fix these two problems as follows:
    
      F1. Read the length from four bytes.
    
      F2. Link mysqlbinlog with the parts of the server that can parse
          binary JSON and format it in human-readable form.  This includes
          three files:
          - json_binary.cc can parse the binary JSON format.
          - json_dom.cc can format human-readable JSON.
          - sql_time.cc is used by json_dom.cc to format time and date.
          All these files contain code that mysqlbinlog does not need and
          which needs to link with more parts of the server (e.g. THD).  To
          avoid link problems we put such code inside #ifdef MYSQL_SERVER.
    
    - Created a new test suite for tests that should not be
      parallelized by MTR because they require many mysqlds.
    
      The new suite contains test cases requiring many (6 or more) mysqlds
      in a replication topology. Running those test cases with
      "--parallel" > 1 may exhaust the test host I/O resources. So, this
      new suite should run only with "--parallel=1".

commit 655e0c9b8541df6c6324c6f89847e1b8cf6ddc52
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Fri Jun 30 08:35:40 2017 +0200

    WL#9223 Using histogram statistics in the optimizer
    
    This worklog makes use of histogram statistics in the optimizer
    during query planning. It is used for estimating the selectivity
    given one or more predicates.
    
    Change-Id: I337a90e71698f0d36d24b8e5ac648a4b7847ec08

commit 573e51cf5c66277695caabebdb38c1c9ada35349
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Sat Aug 19 19:21:23 2017 +0530

    WL#10475 : Defaults: Enable Parallel Replication Applier
    
    This worklog enbles parallel replication applier by enabling the 3 options by default :
    
    Server Changes:
    slave-parallel-type = LOGICAL_CLOCK : Enables the optimal generic parallelism
    method.
    slave-parallel-workers = 4 : Offers a good base level of parallelism.
    slave-preserve-commit-order = ON : Ensures no user/application visible changes
    in behavior.
    
    User Override
    slave-parallel-workers = 0 : disables parallel slave applier execution and
    causes the other two options to be ignored

commit 907263ce479fefe5fed45c99b5ff570ef1495605
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 12:49:01 2017 +0200

    WL#11009: Logging services: log writers: add error ID to traditional error log
    
    Post-push fix to the keyring_aws tests and one InnoDB test.
    
    Patch provided by Srikanth B R <srikanth.b.r@oracle.com>.

commit d82af5e616fa291ed3a2799f71ce3ad23add4a0e
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Sat Aug 19 10:22:48 2017 +0100

    WL#10470: Defaults: Enable Binary Log
    
    Workaround to please PB2: two NDB test cases started failing using
    binary logs by default. Disabling binary logging for them.
    
    A bug was filed to investigate the issue properly.

commit 95c9e29d9bcf696d441faa463d2d9b1f9a5f0c2c
Author: Filipe Campos <filipe.campos@oracle.com>
Date:   Mon Jul 24 16:31:08 2017 +0100

    WL#10622: MySQL GCS: Instrument threads in GCS/XCOM
    
    This worklog instruments the GCS and XCom threads and expose them
    automatically in P_S tables metrics. It is also a requirement so
    that we do further instrumentation in XCom and GCS, such as mutexes
    and condition variables, as well as memory usage.

commit 1f89a583338d9c7ccc377a251675d815913e0640
Author: Marc Alff <marc.alff@oracle.com>
Date:   Sat Aug 19 10:00:30 2017 +0200

    WL#9830 PERFORMANCE_SCHEMA DIGEST QUERY SAMPLE
    
    Post push fix,
    resolved UBSAN failures when calling memcpy with NULL,
    seen in test perfschema.start_server_zero_digest_sql_length.

commit 784c4c6e4a014c1b20a712759ca2c2e9c0678204
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 09:20:47 2017 +0200

    InnoDB NewDD worklogs (WL#9535 and WL#9536)
    
    Post-push fix: disable innodb.autoinc_persist_debug in Valgrind, since
    it times out.

commit 0003d19515162515025eea7a4cba9c4b3dec702c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 07:33:34 2017 +0200

    Revert "Merge branch 'mysql-5.7' into mysql-trunk"

commit 9cf8909fb67de72e56745aa5ea3486cebcc2e3de
Merge: 73077b4 95a0073
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 07:32:19 2017 +0200

    Null-merge from 5.7

commit 95a007353c3db2fd37ef8b6b1c594dcd8f73929f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 06:58:08 2017 +0200

    Revert "Merge branch 'mysql-5.6' into mysql-5.7"

commit c0e2acd786523a85518e63deb15e5014f3e82af4
Merge: 10f54b6 ecb28d2
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 06:57:45 2017 +0200

    Null-merge from 5.6

commit ecb28d2b9f359930f2640512ce45bb1a5b81a5ed
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 06:56:26 2017 +0200

    Revert "Bug#25510805 - MYSQL CRASHES WHEN TRYING TO CONNECT FROM"

commit 73077b4356d235c491a81b673c473588a4772c82
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Aug 19 06:53:35 2017 +0200

    WL#11009: Logging services: log writers: add error ID to traditional error log
    
    Post-push fix: fix some GR tests

commit fc73fdbe7dbb19a6099409e23524883543fcf78f
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Wed Jun 28 16:51:35 2017 +0200

    WL#8592 SRID type modifier for geometric types
    
    This worklog adds a new column property for geometric types to specify the
    SRID:
    
      CREATE TABLE t1 (g GEOMETRY SRID 4326, p POINT SRID 0 NOT NULL);
    
    Values inserted into a column with an SRID property must be in that SRID.
    Attempts to insert values with other SRIDs results in an exception condition
    being raised. Unmodified types, i.e., types with no SRID specification, will
    continue to accept all SRIDs, as before.
    
    Change-Id: I144c65c4d6cd4d434ebd4a6062b4d34980c7f1bd

commit cbae774aad105e9b2462e7187870eac484293336
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 18 23:04:21 2017 +0200

    WL#11009: Logging services: log writers: add error ID to traditional error log
    
    Post-push fix: rerecord some test results.

commit 4666903d5189d86f69b4ff019c65f71222788682
Author: Ganapati Sabhahit <ganapati.sabhahit@oracle.com>
Date:   Sat Aug 19 00:47:53 2017 +0530

    WL#10479 : Defaults: Enable Replication Chains
    
    Server Changes:
    ===============
    log-slave-updates = ON : This causes a slave to log replicated events into its
    own binary log.

commit 1ad7864433a0464d288d2102cb17e076c3afc0fd
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Aug 18 18:54:35 2017 +0100

    WL#10470: Defaults: Enable Binary Log
    
    Server Changes
    ==============
    
    1. Now, default binary logging is ENABLED, and, corresponding variables
       are set as follows:
       log_bin= ON
       log_bin_basename= {datadir}/binlog.xxxxxx
       log_bin_index= {datadir}/binlog.index
    
    2. On setting --log-bin option without string or empty string, binary
       logging is ENABLED, and, corresponding variables are set as follows:
       log_bin= ON
       log_bin_basename= {datadir}/binlog.xxxxxx
       log_bin_index= {datadir}/binlog.index.
    
    3. The default value of server-id is changed to 1.
    
    4. The default relay log file names are {datadir}/relaylog.xxxxxx.
    
    5. The default relay log index file name is relaylog.index.
    
    6. Server is not allowed to start when binary and relay logs have same
       base name. Either using --log-bin and --relay-log with same non-empty
       parameter, using --log-bin=relaylog or --relaylog=binlog.
    
    7. If --log-bin option is specified without specifying a --server-id,
       then server is now allowed to initialize with a warning.
    
    8. If server is started with --skip-log-bin --log-bin, the binary
       logging is ENABLED, and, corresponding variables are now set properly
       as follows:
       log_bin= ON
       log_bin_basename= {datadir}/binlog.xxxxxx
       log_bin_index= {datadir}/binlog.index.
    
    Following existing behaviors (9,10,11) are not changed and must work as
    earlier:
    
    9. Binary logging remains disabled on --initialize[-insecure] by
       default.
    
    10. --log-bin=anyuserprovidedname
        If a user provides string to --log-bin option, then binary logging
        is ENABLED using {datadir}/anyuserprovidedname.xxxxxx.
    
    11. --skip-log-bin, --disable-log-bin
        If a user provides --skip-log-bin or --disable-log-bin, then binary
        logging is DISABLED.

commit 7e00fa2acb10dfa69724d5783d1ca9abee9a45c2
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Fri Aug 18 17:42:05 2017 +0100

    Bug#26331795: SHOULD NOT BE ABLE TO SET LOG_ERROR_SERVICES TO NULL
    
    NULL is not a valid value for the log_error_services pipeline.
    Prevent setting it NULL; additionally, throw a warning on
    setting it to '' noting that an empty pipeline disables error
    logging.

commit 005a1906cd9966c89cb19b46114f33791f2bfdea
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Aug 18 19:27:17 2017 +0200

    WL#7801
    
    Build cleanup,
    fixed -Wmissing-field-initializers warnings.

commit e5886a50a7db8387c25571cd1ca9234c707273c6
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Aug 18 19:23:59 2017 +0200

    Revert "Bug#26576989 DROP ROLE CAN MAKE SERVER UNUSABLE"
    
    This reverts commit 5996540dad0ee604d55929002b4a0f2cd95934e6.

commit fc00ba879c4ac4787190a509621c4d32a9fa4e5f
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Aug 18 18:03:40 2017 +0200

    WL#8972: Rename a general tablespace
    
    Extends the syntax for the ALTER TABLESPACE statement with the
    sub-command RENAME TO, so the general tablespaces can be renamed.
    
    Since this is the first in a seqence of planned extensions to
    tablespace syntax, it also includes a complete refactoring of the
    parser and executor code for TABLESPACE and LOGFILE group statements.
    
    The behavior of existing statements is intact, with the following exceptions:
    
     - ENGINE option is unnecessary and deprecated for DROP and ALTER
       TABLESPACE (for CREATE it is still required unless the default SE is
       desired)
    
     - The following undocumented, unimplemented tablespace-related syntax
       is removed (approved by NDB reviewer):
    
       ALTER TABLESPACE ... CHANGE DATAFILE ...
       ALTER TABLESPACE ... (READ_ONLY|READ_WRITE|NOT ACCESSIBLE)
       ALTER LOGFILE GROUP ... ADD REDOFILE ...
    
     - Some error conditions produce a different error since tablepaces now
       must be located in the DD earlier than
       before. E.g. ER_TABLESPACE_MISSING_WITH_NAME rather than
       ER_ILLEGAL_HA_CREATE_OPTION

commit 5996540dad0ee604d55929002b4a0f2cd95934e6
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Aug 18 15:34:42 2017 +0200

    Bug#26576989 DROP ROLE CAN MAKE SERVER UNUSABLE
    
    This patch fix an issue which allowed the mandatory_roles
    system varaible to accept anonymous authorization IDs as
    roles.

commit 9363b90c6a257eb9e85f6046f370469296f0e865
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Aug 18 09:15:58 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS
    
    This patch adds,
    
    - Fix for a RQG run failure, which avoids passing invalid partition id to
      part_handler->get_dynamic_partition_info().
    
    - Adds more test to help get better gcov report.
    
    - Use of macro OS_PATH_SEPARATOR based in InnoDB code review comment.
    
    - Record result of windows tests main.dd_schema_definition_debug_ci
      main.information_schema_ci.

commit 1e81d2073fe7b03036e6367d9cf5b8750668ef5a
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Aug 18 09:15:53 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS
    
    This function innobase_get_tablespace_statistics() was implemented only to
    handle single database file per tablespace. However, with following server
    option, the above implementation asserts.
    
      --bootstrap --innodb-data-file-path=ibdata1:50M;ibdata2:50M:autoextend
    
    This patch fixes the API to handle the scenario. A test case is added.
    Also, the fix might change after the fix for Bug#26518545.

commit fdf5f689a582396654ded12ed2be2c1ebfb0ffce
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Aug 18 09:15:46 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS
    
    This patch implements I_S.FILES as a system view over data
    dictionary tables, and remove 5.7 code that uses a temporary
    table to represent I_S view.
    
    Following changes are made in the patch:
    
    * Define a system view over data dictionary tables representing
      I_S.FILES.
    
    * Remove 5.7 code from sql_show.cc for I_S.PARTITIONS.
    
    * Add new handler API handlerton::get_tablespace_statistics_t with
      following signature.
    
      typedef bool handlerton::(*get_tablespace_statistics_t)(
                      const char *tablespace_name,
                      const dd::Properties &ts_se_private_data,
                      ha_tablespace_statistics *stats);
    
      This handler provides following data to I_S.FILES,
        ID,
        TYPE,
        LOGFILE_GROUP_NAME,    // To be used by NDB
        LOGFILE_GROUP_NUMBER,  // To be used by NDB
        FREE_EXTENTS,
        TOTAL_EXTENTS,
        EXTENT_SIZE,
        INITIAL_SIZE,
        MAXIMUM_SIZE,
        AUTOEXTEND_SIZE,
        VERSION,     // To be used by NDB
        ROW_FORMAT,  // To be used by NDB
        DATA_FREE,
        STATUS
    
    * Add new internal native functions to fetch above statistics for
      I_S.FILES.
        INTERNAL_TABLESPACE_ID()
        INTERNAL_TABLESPACE_TYPE()
        INTERNAL_TABLESPACE_FREE_EXTENTS()
        INTERNAL_TABLESPACE_TOTAL_EXTENTS()
        INTERNAL_TABLESPACE_EXTENT_SIZE()
        INTERNAL_TABLESPACE_INITIAL_SIZE()
        INTERNAL_TABLESPACE_MAXIMUM_SIZE()
        INTERNAL_TABLESPACE_AUTOEXTEND_SIZE()
        INTERNAL_TABLESPACE_DATA_FREE()
        INTERNAL_TABLESPACE_STATUS()
    
    * Added new per statistics cache class dd::info_schema::Tablespace_statistics
      to store statistics retrived by SE to be used when processing
      single row of a I_S query. This avoids internal native functions to
      invoke SE API only once per row.
    
    * Renamed dd::info_schema::Statistics_cache to
      dd::info_schema::Table_statistics because we now have not only table
      statistics by tablespace statistics to be cached.
    
    * Added ORDER BY clauses in some of I_S query to force order of
      tuple returned. Because, now the optimizer returns the rows and
      not read from temporary table as in 5.7 I_S design.
    
    * Add new error message that can be reported when by I_S.FILES when
      tablespace is missing when fetching tablespaces statistics.
    
    * Remove part of test case in main.information_schema. Because,
    
      - The problem reported back then is only applicable for 5.7
        code.
    
      - The output of EXPLAIN ... <select on I_S system view> goes
        through optimizer and then plan return might vary.
    
    * Suppress additional warnings generated which report missing tablespaces.
      This happens now, because of one of following,
    
      case1) If .ibd is copy by user manually on file-system, then DD is not
             updated and hence I_S do not see it. The 5.7 behavior is that it looks
             at .ibd file in file-system and not in DD.
    
      case2) Once I_S query execution starts we see the content of DD as of the
             time I_S query started. If there is a new tablespace added or removed,
             then I_S would not see it.
    
    * MySQL 5.7 does prefix './' with all .ibd files which are to be stored in
      data directory. MySQL 8.0 had skipped it. I_S.FILES system view prefixes
      './' if filename does not have explicit patch already specified by user.
    
      Perhaps this should need a fix in server or innodb. Probably the concern
      raised in Bug#26518545 is the same. We might need to change
      I_S.FILES.FILE_NAME definition after the bug fix.
    
    * Test case for Bug#23477214 is removed now. Because the race condition
      does not apply now after I_S.FILES becomes a system view.
    
    * Record result files with capital I_S column names, this is expected. See
      WL6599 for more info.
    
    * We now show 1024 character of partition comment string, unlike just 80
      characters shown in 5.7 by I_S.

commit 5d056f9e78656b11219e2e3bed8f375bf8792460
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Aug 18 09:15:39 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS
    
    This patch implements I_S.PARTITIONS as a system view over data
    dictionary tables, and remove 5.7 code that uses a temporary
    table to represent I_S view.
    
    Following changes are made in the patch:
    
    * Define a system view over data dictionary tables representing
      I_S.PARTITIONS.
    
    * Add following new dictionary columns to store utf8 string version.
    
      mysql.table_partitions.description_utf8 representing
      I_S.PARTITIONS.DESCRIPTION
    
      mysql.tables.subpartition_expression_utf8 representing
      I_S.PARTITIONS.SUBPARTITION_EXPRESSION
    
      mysql.tables.partition_expression_utf8 representing
      I_S.PARTITIONS.PARTITION_EXPRESSION
    
    * Make dd::info_schema::Statistics_cache implementation to
      consider not just schema_name and table_name for cache key, but
      also include partition name. This is required now because we
      now cache per partition dynamic statistics with this WL.
    
    * Make dd::info_schema::Statistics_cache implementation to cache
      the table checksum value. This value is computed only for
      partitions.
    
    * Make implementation of Statistics_cache::read_stat_by_open_table()
      to fetch per partition dynamic table statistics.
    
    * If a partition is not found when fetching dynamic table
      statistics, then we will report a warning and continue
      processing new rows.  This might happen when I_S system view
      execution starts and later the partition table is ALTERed. A
      test case parts.partition_debug_sync_innodb is updated to cover
      this scenario.
    
    * Change definition of internal sql functions to accept partition
      name.This is used to calculate the per partition statistics.
    
      We currently read the statistics for partitioned table by
      opening the table. We can probably improve the performance for
      InnoDB partitioned tables, by calling SE api's that read just
      the statistics. This is not done as of now.
    
    * Introduce internal sql function
      INTERNAL_GET_PARTITION_NODEGROUP() to fetch
      I_S.PARTITIONS.NODEGROUP value from
      mysql.table_partitions.options.
    
    * There is no consumer of function expr_to_string() requesting
      the string in hex form. So, the patch modifies it to return
      only string.
    
    * Remove 5.7 code from sql_show.cc for I_S.PARTITIONS.
    
    * Added ORDER BY clauses in some of I_S query to force order of
      tuple returned. Because, now the optimizer returns the rows and
      not read from temporary table as in 5.7 I_S design.
    
    * Remove part of test case in main.information_schema. Because,
    
      - The problem reported back then is only applicable for 5.7
        code.
    
      - The output of EXPLAIN ... <select on I_S system view> goes
        through optimizer and then plan return might vary.
    
    * We now show 1024 character of partition comment string, unlike just 80
      characters shown in 5.7 by I_S.

commit fe35716a7dc3f7f0d1189d085e56d8f76142bc83
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Fri Aug 18 16:15:08 2017 +0100

    WL#11009: Logging services: log writers: add error ID to traditional error log
    
    Add an opaque error identifier to the default error log.
    Update all affected tests/results.

commit 062aba50c94d0884c33010369e4fb5c93c67ef67
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Aug 18 18:32:59 2017 +0530

    WL#6526: FORCE INDEX to avoid index dives when possible

commit 4d84ae358faf4a07381218d3db07cf3fa76916da
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Fri Aug 18 19:30:58 2017 +0700

    WL#9451 -- Backup Lock
    
    This patch adds support for Backup Lock. Backup Lock allows all kind of DML
    on InnoDB tables and blocks all operations that could cause an inconsistent backup,
    if done during a backup operation.
    
    To support Backup Lock the following changes were done:
    
      * the new flag CF_ACQUIRE_BACKUP_LOCK introduced in sql_command_flags
        to mark statements that require acquiring of BACKUP LOCK during its execution;
    
      * New mdl namespace BACKUP_LOCK introduced to support acquire/release of
        new kind of mdl lock - the Backup Lock. This kind of mdl is a scoped lock;
    
      * Added support for the new statements LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE;
    
      * Introduced the new system privilege BACKUP_ADMIN required to execute the statements
        LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE;
    
      * The new service API mysql_backup_lock was provided.

commit df3d09f6f02397d0d2dd4b2b4f3333e189132d99
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Aug 18 14:27:19 2017 +0200

    WL#9830 PERFORMANCE SCHEMA, DIGEST QUERY SAMPLE

commit 88c692c9ebc2cf8825273adf4bd2edd3cb0f33e7
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Aug 18 17:35:20 2017 +0530

    Bug#26091333 : ASSERTION `RC == TYPE_OK' FAILED
    
    dd::Raw_record::store() asserts in debug version due to error in
    conversion of timestamp data.
    
    The sequence leading to assert is :
    - dd::Object is cached with local time stored for timestamp columns.
    - time_zone value is changed. Cached dd::Object is not aware of the change.
    - Any DDL operation which calls Dictionary_client::update() copies data
      from existing dd::Object.
    - During this copy, the timestamp column data is treated as local time
      and converted to epoch time according to value of time_zone before
      storing.
    
     - If timestamp value becomes invalid (negative) during conversion,
       it leads to an assert.
     - For invalid value of timestamp, release build will give an error
       for the DDL commands.
     - For valid value of timestamp, the value of create_time will change
       with DDL.
    
    Fix:
    
    - Store timestamp data for dd::Objects in GMT time_zone.
    - Cache timestamp data for dd::Objects in GMT time_zone.
    - Implement function gmt_time_to_local_time to convert GMT time
      to local time.
    - Return timestamp data based on the request flag by caller function.
      - Within dictionary framework, timestamp data should be requested
        with flag as false to get GMT time_zone data.
      - Server should request timestamp column data with flag as true
        to get local time_zone data.

commit 30237af1516b4051d1f5d47039307a0ef6ec2db1
Merge: 3114c7a 10f54b6
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Aug 18 17:31:56 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 10f54b6034e92a3098050a7797751e01a6bd91f1
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Aug 18 17:30:42 2017 +0530

    Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
                   LEFT JOIN(SUBQUERY) AND ORDER BY
    
    
    Issue:
    ------
    This bug can occur when:
    - there is more than one inner tables in the join nest.
    - an Item_direct_view_ref object references a column
      from a const (system) table.
    
    This has caused the following regressions :
    Bug# 26596977, Bug# 26616066 and Bug# 26618455
    
    Fix for 8.0:
    -----------
    When the object is of type FIELD_ITEM (i.e. belongs to a
    table), Item_direct_view_ref::used_tables should return the
    related table's map. In other cases it returns the first
    inner table's map.
    
    Fix for 5.7:
    ------------
    The function Item_direct_view_ref::used_tables has been
    removed and the fix will limited to handle the problem in
    temporary tables.
    
    While creating fields for the temporary table, consider
    field as constant only if:
    1) The item is constant and
       1a) Isn't part of a derived table (or view). OR
       1b) The item belongs to a derived table (or view) and it
           doesn't belong to an inner table of an outer join.

commit 3114c7a467037c5368d9441c018ad0a9ea17453e
Merge: 6eaaa02 0af7224
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Fri Aug 18 12:41:13 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk-final (null-merge)

commit 0af72244583258fc4074142f6983a0abab07b6e9
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Fri Aug 18 12:06:36 2017 +0100

    BUG#26241291 EXCESSIVE MEMORY USAGE BY XCOM WITH LARGE INSERT WORKLOADS
    
    Problem
    -------
    In MySQL 5.7.x, XCOM controls the cache's size by defining a maximum number of
    entries and only replaces old entries to accommodate new ones. It never purges
    unnecessary and old entries if there is no need to make room for new ones. This
    behavior along with the fact that the size of each entry is never taking into
    account lead to excessive memory consumption.
    
    This behavior can also make nodes slow thus leading them to be expelled and
    eventually causing a majority loss which blocks the whole system.
    
    Fix
    ---
    The fix consists of limiting the memory used by the nodes and automatically
    purging old and unused entries. Before doing so, the nodes must agree on the
    messages that they must keep in the cache to avoid purging messages that are
    not received yet by all nodes. Periodically, nodes send the sequence of the
    last message they got an agreement on and define which messages can be
    discarded.
    
    This additional information exchanged by them implies a change to the XCOM
    protocol version. Because of this, a bug in the protocol version negotiation
    had to be fixed as well.
    
    The fixes were already pushed to trunk and were backported 5.7:
    
    BUG#22671683: LIMIT MEMORY UTILIZATION IN XCOM
    
    BUG#25568493: GROUP MEMBERS BECOMES UNREACHABLE WHEN SERVER WITH LOWER
                  VERSION TRIES TO JOIN

commit 6eaaa02a23ec4ae4a5c7979a769d0ee61c11b632
Merge: d2aa436 20e8e3d8
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Aug 18 16:16:33 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 20e8e3d8936dd5710af8e7971e572cc652188211
Merge: e56af38 73e24f7
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Aug 18 16:14:37 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 73e24f75ab587314313f167b7a0415c7d5e9a65c
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Aug 18 16:12:36 2017 +0530

    Bug#25510805 - MYSQL CRASHES WHEN TRYING TO CONNECT FROM
                   A HOST WITH AHOSTNAME OF 69 CHARACTERS
    
    DESCRIPTION:
    ===========
    When a connection is made from a host with a hostname
    length of more than HOSTNAME_LENGTH characters,
    MySQL crashes with a buffer overflow.
    
    ANALYSIS:
    ========
    If the hostname of the connecting host is greater than
    HOSTNAME_LENGTH (60 chars), copying the hostname to the
    performance schema table field which is limited to
    HOSTNAME_LENGTH characters results in a crash.
    
    FIX:
    ===
    The fix is to truncate the hostname to HOSTNAME_LENGTH
    number of characters before adding them to the performance
    schema tables which record host information and details.
    This makes sure that the client connection is established
    successfully.

commit d2aa4367ca4589aaaa331d513cbdc7c41024b792
Author: Parakh Agarwal <parakh.agarwal@oracle.com>
Date:   Fri Aug 18 16:01:52 2017 +0530

    WL#9193: Post fix
    Removed special suite from MTR DEFAULT_SUITES

commit 4b9aeb71f3bce221572fcf93d766d465bd99523b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 18 15:50:05 2017 +0530

    WL#10436: NewDD: Implicit tablespace name should be same as table name
    
    Problem:
    ========
    With current InnoDB tablespace implementation with newDD, the implicit
    (file-per-table) tablespace name is named as "innodb_file_per_table_x", where x
    is the tablespace ID. The disadvantage of this is that the tablespace name is hard for
    user to find out. This makes it a bit harder for user to specify tablespace name
    for import/export tablespace etc.
    
    Solution:
    ========
    In case of file_per_table tablespace, rename tablespace name from
    innodb_file_per_table_<space_id> to tablespace name in mysql.tablespaces table.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Bin Su <bin.x.su@oracle.com>
    Reviewed-by: Dyre Tjeldvoll <dyre.tjeldvoll@oracle.com>
    RB: 16669

commit 5a41a08f58e1ff7b5bbbb4cdf827e92c5710c789
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Aug 18 09:28:53 2017 +0200

    Bug#25727892: record new result for engines/iuds.update_delete_calendar

commit ca319730b2475460757991e6e1ef43b1a5eaa316
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Aug 17 11:38:07 2017 +0100

    WL#10942: Logging services: force-print certain non-error messages to error log
    
    - add "effective prio" log item type, recalling uid/euid.
      If both prio and eprio exist, filters shall select on eprio,
      while sinks shall label or forward on prio.
    
    - add force_print() convenience method to fluent C++ API. Sets eprio
      to ERROR_LEVEL, thereby forces printing at all verbosity levels.
    
    - add force_print() hint to the list of calls given in WL ticket.
    
    - remove now obsolete default filter rules that previously
      force-printed the start-up message
    
    - sinks can use the value returned by label_from_prio() ("Error",
      "Warning", "Note") directly (and add the value for eprio where
      available as they see fit, specifically in the case of structured
      loggers), or they may generate a value indicating that both exist
    
      - as an example, the default sink (traditional MySQL error log)
        now uses the following conventions:
    
        - In the absence of force-printing, "Warning" and "Note"
          appear just so, which maintains previous behavior.
    
        - Items with an effective priority of ERROR_LEVEL
          (that is, actual errors, and force-printed warnings and notes)
          are labeled in all upper-case. Specifically, this maintains
          the legacy behavior of error labels always being all upper-case.
          In the new case of of "force-printing" warnings or notes, we
          consequently get "new" labels ("WARNING", "NOTE") to allow for
          simple feedback to the implied question of, "Why did
          --log-error-verbosity=2 filter all my notes except that one?
          Is it a bug? Is that one special?" by making it visually
          different while maintaining its name (as using a wholly new
          label like "SYSTEM" would not have carried over into syslog etc.).
    
    - update tests using new log-sinks accordingly

commit b2b2b8580364999ac69733139c5c07e121d3ee16
Merge: a0db71a e56af38
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Aug 18 11:47:17 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e56af38d6fccfaa68f2077b5458a9ade29069400
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Aug 18 11:44:17 2017 +0530

    Bug#24337625: SYSSCHEMA.FN_FORMAT_PATH IS FAILING ON THE PB2
                  UNDO TABLESPACES RUN
    
    This patch reverts commit b2a66dbc7856aac533364da6b3e598d83df0f936

commit a0db71a369231af2f0a1c65a6af31bf5b21f4365
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Fri Aug 18 10:21:17 2017 +0530

    Bug#26497247:WINDOW FUNCTIONS: CRASH IN DO_COPY_MAYBE_NULL
    
    Problem:
    Writing NULL to a non-nullable column results in server exit as null_ptr is not
    allocated.
    
    Analysis:
    ROLLUP writes NULL's to columns which are part of group by clause. So we set
    "maybe_null" to true in ::resolve_rollup() if any item in the item
    list is part of group_by clause. We also set "maybe_null" to true for all the
    arguments to a function, which are part of group_by clause. This happens in
    ::change_group_ref() and similarly we generate Item_null_result objects
    in ::rollup_make_fields() for items which are part of group by clause.
    
    However, optimizer does not set "maybe_null" to true for arguments to a
    window function as ::change_group_ref() is called only if an item is of
    Item_func type which is not the case for windowing functions.
    But we do add all the arguments of a window function to the item list when
    ::split_sum_func() gets called. So checking if this argument is equal to any
    item in group by clause, would ensure that "maybe_null" is set to true.
    By setting it to true, fields would be created in temp tables using
    create_tmp_field_from_item() instead of create_tmp_field_from_field() which
    further ensures that null_ptr's are allocated correctly.
    
    Solution:
    Check if an item is part of group by clause by calling ::eq() instead
    of just pointer comparison. This is in line with what we do in ::change_group_ref()
    and in ::rollup_make_fields().

commit f036cd4db70dc7be7aea51d48ae7bb9cb2714879
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 18 05:54:51 2017 +0200

    Bug#24670738 SHOW CREATE USER DOESN'T SHOW DEFAULT ROLE
    
    Post-push fix: rerecord main.roles
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com>.

commit 519a3b7c1d154c67d195cfd38e1851e65bc6b32f
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Aug 17 23:39:27 2017 +0530

    Bug#26542296 - INPLACE UPGRADE 5.5 -> 5.6 -> 5.7 -> 8.0.2 FAILS: ERROR IN FIXING SE DATA
    
    Problem:
    -------
    Issue-1:
    --------
    File_per_table tablespaces created before 5.6, are not registered
    with InnoDB Dictionary table SYS_TABLESPACES.
    
    Since upgrade relies on SYS_TABLESPACES, it fails to register
    tablespaces.
    
    Issue-2:
    --------
    Upgrade failed with precision type mismatch. Specifically due to
    charset_number mismatch of decimal field.
    
    This is because 5.1 uses hardcoded charset number for decimal field
    and only after 5.5, each field stored charset number.
    
    5.1 used charset number 63 (my_charset_bin collation) and InnoDB stored
    this in its dictinary. During upgrade, the charset number for the
    decimal field seen is 8 (my_charset_latin1)
    
    Fix:
    ----
    For Issue-1:
    
    The missing tablespaces are stored in std::set and later we register
    all tablespaces in std::set to dictionary table mysql.tablespaces &
    mysql.tablespace_files
    
    For Issue-2:
    
    Compare charset number only if the field stored charset_number
    (field->has_charset()).
    
    The other precision types such as NULLs, Signed/Unsigned, is_varchar,
    virtual, etc are compared same as before this patch.
    
    The patch for Issue-2 is written by Abhishek Ranjan
    <abhishek.ar.ranjan@oracle.com>
    
    Reviewed-By: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 16983

commit f1390433777a8236655954fa720d9b9782d153b8
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Aug 18 07:57:56 2017 +0530

    WL#9680: Remove unused date_format, datetime_format,
             time_format, max_tmp_tables

commit 6ef949f35c1423270773b55f4b1672a521455fa0
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Wed Jun 7 18:58:23 2017 +0200

    WL#10682: Mysqlx.CRUD.Update on top level document
    
    Bug #25797981: MYSQLX.CRUD.UPDATE ITEM_SET DOES NOT ALLOW REPLACING FULL
    DOCUMENT
    
    The Mysqlx.CRUD.Update doesn't support updating an existing full
    document, only parts of it.
    
    The intention was that any update (special case full document) could
    also overwrite the _id field and lead implicit change of identity
    (and possible reshuffeling of data in sharding).
    
    Approved by: Tarique Saleem <tarique.saleem@oracle.com>

commit de4be2b40d02ee6608a9aa79596fa967293d67b3
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Aug 17 20:54:52 2017 +0530

    WL#9704 : Defaults change, algorithm for calculating back_log
    
    Change algorithm for calculating value of back_log.
    
    Old algorithm : default value of back_log =
                        50 + (value of max_connections / 5)
    New algorithm : value of back_log = value of
                        max_connections
    
    default value of max_connections = 151
    default value of back_log is -1 (autosized).
    
    Old default value of back_log with default max_connections : 80
    New default value of back_log with default max_connections : 151

commit 22a03c64c74eea294e4ccd5fb70fbaf0d77b5648
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Aug 10 08:57:15 2017 +0200

    BUG#26555466 - X PLUGIN DOES NOT BUILD WITH PROTOBUF 3+
    
    Description
    ===========
    Protobuf 3+ headers and generated code, causes a compilation warning which can break
    certain builds. Verification of maximum nested messages differs in "Protobuf 3.0.0/2"
    from other versions. This difference caused that "message_protobuf_nested" test failed.
    
    Fix 1
    =====
    Suppressed warnings.
    
    Fix 2
    =====
    When protobuf parses invalid message generated by
    "message_protobuf_nested" test, the parsing was stopped
    on different "depths":
    
    * on PB 3.0, it stopped on message that didn't contain
      required fields (test didn't generate expected error).
    * on PB 2.6, it stopped on message that contained required
      fields.
    
    X Plugin checked only if all required fields are set, it
    missed a check for result of parsing.
    
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
    
    RB:17042

commit 491a766922d17b5d5195f98c0041068e6751a1d2
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 17 21:02:27 2017 +0530

    WL#9678: Remove EXPLAIN PARTITIONS and EXTENDED options

commit 20163f476edb5e6af63e0877e6a874bb947e786a
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Aug 17 17:06:30 2017 +0200

    WL#10797 mysqlx.crud.Modify: MERGE_PATCH
    
    Implementation of new CRUD modify operation, which uses
    JSON_MERGE_PATCH() function on matching documents.
    
    Approved by Vinay Fisrekar <vinay.fisrekar@oracle.com>

commit 91bedc84bbbcbb5f5732f84a3f15f5cd49962c66
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 17 19:05:49 2017 +0530

    WL#10908: Remove multi_range_count system variable

commit 4d8445b6b969553313c03f7b74109973aa8a231c
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Aug 17 15:30:21 2017 +0200

    Bug#25727892: record new result for json.json_functions_ndb

commit afd2d5f6ba2a6bf3c0eefe360d8badcc67a523ba
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Aug 17 18:39:01 2017 +0530

    wl#9193 : Autoscale InnoDB resources based on system resources by default
    
     Details:
    	Added a new global bool system variable 'innodb_dedicated_server'
    	with default value ON.
    	When this variable is set to ON, then innodb_buffer_pool_size and
    	innodb_log_file_size are autoscaled based on system memory.
    	Also innodb_flush_method is set to O_DIRECT_NO_FSYNC if supported.
    
    	A new component service 'system_variable_source' is also added which
    	exposes a method named 'get' which could be used to get the SOURCE of
    	a given system variable name.
    
    	Reviewed by : thirunarayanan.balathandayuth@oracle.com
    	              darshan.m.n@oracle.com
    	              venkata.sidagam@oracle.com
    	RB : 16832

commit 6f39b95cf879bf6a47036b67a99392dae1fc704d
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Aug 17 17:19:10 2017 +0530

    Bug#26641933 - SERVER CRASHED WHEN RUNNING TEST CASE INNODB.INNODB-IMPORT-PARTITION-RPL
    
    Problem:
    -------
    SDI Index records are not updated during IMPORT. So they might have
    higher trx id than the highest trx_id of importing instance
    
    On reading SDI page, server complains that trx_id read from record is in future.
    
    Fix:
    ---
    Fix import code to update SDI records. This will fix SDI pages to use
    trx_id of the trx used for IMPORT
    
    Reviewed-By: Bin Su <bin.x.su@oracle.com>
    RB: 17124

commit d311fedc4a49fb35e90695c00388983de0379130
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 17 14:24:34 2017 +0200

    WL#7801 PERFORMANCE SCHEMA, SETUP_INSTRUMENT METADATA
    
    Improved robustness on Out Of Memory conditions.
    
    Post push: fix broken build on windows ( != was ambiguous )
    
    Change-Id: I52a0cfe4f38865ebe8338c064bd2abec02a8ecca

commit 318e05267f3bf1598229c40f8f005984fd175f3d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 17 08:27:09 2017 +0200

    WL#10237 - X Protocol expectations for supported protobuf fields
    
    Post-push fix:
    cleanup of xprotocol_plugin xprotocol_tags.h and protoc dependencies.
    
    Problem: repeated builds would never converge, protoc would always be
    re-run to generate "xprotocol_tags.h", and hence regenerate any
    dependent executables.
    
    Solution: add proper dependencies between custom command, and custom
    target. Remove usage of LOCATION property, it is deprecated.
    
    Change-Id: If67ddd62f3fafcf225b2bfb0d4eeee262569d52e

commit 4ba60a673c6e6f9bda8ed27e2925121e16c458fd
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Aug 17 14:51:19 2017 +0300

    Bug #26173244: THE UDF INSTALL SERVICE CAN'T BE USED AT
     PLUGIN INSTALLS
    
    Split the UDF initialization/deinitialization into two:
    1. Initialization/deinitialization of the global structures
    2. Loading of the UDF definitions from the table and removing them from the global
    
    Then kept the #2 at the place of the current initialization/deinitalization
    routines and added #2 initialization very early (before component/plugin
    initialization) and #2 deinitialization very late (after the plugin/compononent
    deinitialization.
    
    Added a test plugin and a regression test.

commit 92a144690fc2e828f47b7b0bf73c09bbf720f189
Merge: 3488a98 723b888
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Thu Aug 17 13:13:42 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3488a986d5ed2f8c648436eaabdae3b381f02285
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Aug 17 11:58:47 2017 +0200

    WL#7801 PERFORMANCE SCHEMA, SETUP_INSTRUMENT METADATA
    
    Improved robustness on Out Of Memory conditions.

commit 3b4fac59fe3eb60d189dd8742b0916eece680faf
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Aug 10 17:20:06 2017 +0200

    Bug#24670738 SHOW CREATE USER DOESN'T SHOW DEFAULT ROLE
    
    This patch introduce a new syntax for CREATE USER for
    setting the preferred default roles.
    SHOW CREATE USER is changed to include default roles
    in the result set.

commit b8e005ec2e4bf3b8197184722457625564c9e7b0
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Wed Aug 16 19:38:18 2017 +0530

    BUG#26580041: PUSH OF WL#9644 CAUSED REGRESSION SERVER
                  SHUTDOWN
    
    ANALYSIS:
    =========
    Shutdown time of server with empty database increased
    two fold.
    
    During shutdown, we close all the connections to the
    server. During that stage, first we signal all threads
    that they need to be killed. This will give them some
    time to gracefully abort their statements and inform
    their clients that the server is about to die. There is
    a hardcoded sleep in the code which gives time for the
    threads to die if they are not killed already.
    Event scheduler is now enabled by default and thus the
    event scheduler thread needs to be killed explicitly after
    all the client connections are killed. This thread was
    killed after the sleep and hence triggered the sleep
    everytime there was a shutdown because this thread was
    still active. Thus the shutdown time increased.
    
    FIX:
    ====
    The event scheduler is now stopped and the thread is
    killed before the sleep after all the client connections
    are signalled to die.
    Do note that, when we try to stop the event scheduler,
    an acknowledgement from the scheduler that it has stopped,
    is necessary. Already running events will not be stopped.

commit 5c47167882ff86738d0795d55ab7e6d6f416d269
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Thu Aug 17 13:18:04 2017 +0530

    WL#10886 : Add/Extend mtr tests for Replication/GR for roles
    
    This patch implements tests to:
    1. Verify that ROLES are replicated successfully.
    2. Verify that ROLES on replication users used in 'CHANGE MASTER TO'
       work as expected for RPL/GR.
    3. Verify that Activating the role by 'ALTER USER' is successful on
       both master/slave and GR members.
    4. Verify execution of GR/RPL commands is successful by the user when
       different privileges are granted by roles.

commit c2ba1a8f5a30d42616c852c296ae811ab765a0a6
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Aug 17 10:50:49 2017 +0800

    Add temporary workaround for Bug#26629790 - TEST CASES HIGH_PRIO_TRX_* HANG AFTER MAIN.PARTITION_INNODB.
    
    This workaround patch should be removed once this bug gets fixed.
    
    Reviewed by: Jimmy Yang <jimmy.yang@oracle.com>

commit ae39213a4f06b444b35eaa1eee0a3db288b75f76
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Aug 17 00:34:24 2017 +0200

    InnoDB NewDD worklogs(WL#9535 and WL#9536) to support Atomic DDL and
    completely remove old InnoDB system tables:
    
        1. WL#9535: InnoDB_New_DD: Remove InnoDB System Table and modify the
        view of their I_S counterparts
    
        This worklog obsoletes all InnoDB System tables, which are no longer
        used and could only be accessed by upgrade. All metadata is now
        persisted and read from DD system tables in "mysql tablespace"
        instead of "old" InnoDB System Tables.
    
        All corresponding information_schema.innodb_sys_* tables are replaced
        by new internal system views.
        These new views have the name similar to the names of old system tables,
        just removing the 'SYS_' from the middle of the names.
    
        2. WL#9536: InnoDB_New_DD: Support crash-safe DDL
    
        This worklog starts to support crash-safe DDL for InnoDB. DDLs like
        CREATE TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ALTER TABLE,
        CREATE TABLESPACE and DROP TABLESPACE are covered by this worklog.
        DDLs operations including DD system table updates and corresponding
        file changes(create, delete, rename etc.) are atomic.
    
        Physical data files would be synchronized with the transaction for DDL,
        thus there should be no physical data files for temporary tables or FTS
        auxiliary tables, etc. left after recovery.

commit ba846ebf365e58138bb3095db0aac98f7b8c2db3
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Aug 16 22:09:18 2017 +0200

    Bug#25727892: Refactor Item::const_item() as a non-virtual function
    
    Implement Item::const_item() as a non-virtual function over the virtual
    function Item::used_tables().
    
    Other functions that are implemented:
    ------------------------------------
    
    class LEX
    
    Item_func_set_user_var *locate_var_assignment(const Name_string &name);
    
    Used to locate assignments to referenced variables, in order to find
    which variables are non-constant during execution.
    
    Variable assignments within LOAD statements are also added to the same
    LEX list.
    
    INTO variable assignements are not handled the same.
    Since SELECT ... INTO statements are designed to return only one row,
    using a user variable in the SELECT clause that is also written to in
    INTO is treated as a constant value. On rare occations, the assignment
    to this variable might cause a different row count for the statement,
    but we ignore this possibility.
    
    class Item_func_trig_cond
    
    Such items used to be resolved with used_tables() == 0, but
    const_item() == false. The new behaviour is to have used_tables() equal
    to the range of tables in the inner part of the outer join, thus
    const_item() is always false.
    
    Test changes:
    ------------
    
    main.derived:
    
    - Scalar subquery in SELECT list that refers to constant value from
      a derived table is reduced to a simple value.
    
    main.join_outer, i_main.rollup, i_main.subquery
    
    - GROUP BY WITH ROLLUP operation was erroneously marked as constant.
      Now, RAND_TABLE_BIT is set for Item_func_rollup_const and thus
      group expressions are no longer treated as constant.
      Some tests show "Using temporary".
    
    json.json_functions_innodb
    
    - Result change due to changed constness of user variable retrieval
      in SELECT ... INTO.
    
    Several tests
    
    - User variable references are prefixed with <cache> since they are
      now treated as const-for-execution and are allowed to be cached.
    
    main.olap
    
    - Added coverage for ROLLUP and const expressions.
    
    main.user_var
    
    - Added coverage for cached and non-cached user variables.
    
    main.window_functions_explain
    
    - Changed cost estimates due to changes in const_table for
      window functions.

commit 723b88834499f1da9ca82a85f549f34db1eebe9e
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Wed Aug 16 17:37:07 2017 +0200

    Bug #25892493 GR XCOM SERVICE SEGFAULTS WHEN MORE THAN 1024 FILE DESCRIPTORS ARE IN USE
    
    Switched from select to poll in task.c and inlined functions in
    xdr_utils. The polling code now dynamically allocates as space for new
    file descriptors, so the number is now in principle only limited by
    the available memory. Added deinit functions. Fixed bugs in unpoll and
    wake_all_io that caused task waiting for IO to not terminate because
    the reference count never went to 0.
    Added interface to WSAPoll on Windows.

commit cf89f519a82541da5d698e29d0496a71e5897d06
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 15 14:13:31 2017 +0200

    Bug #26597243: AMBIGUOUS INCLUDE PATHS [noclose, obj/sql]
    
    Canonicalize all paths leading into obj/sql/, then resort #include statements
    in the affected files. Finally take obj/sql/ out of the include path.
    
    Change-Id: I56a8eca275105a108681fc0b71d220ceb685214c

commit 480b52e06098697f22d461a485352d8958359e9f
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 16 09:45:47 2017 +0200

    Deb packaging: Clean up merge issue

commit 05755477fc9f5c777fdf2df9afd29e669e30b6fe
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Aug 16 11:38:17 2017 +0200

    WL#7801 PERFORMANCE SCHEMA, SETUP_INSTRUMENT METADATA

commit eb6bf11913d914102adf31ae575bd81dedf5a421
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Aug 16 11:23:52 2017 +0200

    WL#9591: Caching sha2 authentication plugin
    
    Post-push fix: Fixing a valgrind issue in
                   community build

commit fdbb57a78b836c6546bdb239c45d46f14533f829
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 14 14:37:09 2017 +0200

    Bug #26597243: AMBIGUOUS INCLUDE PATHS [noclose, zlib]
    
    Canonicalize all paths leading into zlib so that they are system
    includs, then resort #include statements in the affected files.
    Also clean up CMake inclusions of zlib so that there's only one,
    and that it's a system include.
    
    Change-Id: Ic5adef346f0f8a170ac30ee574eb67737aed92f0

commit a7c7158c72f6a9a2a9947243c8b5ccc1302cf2df
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 16 13:36:43 2017 +0530

    Bug#26411055: WINDOW FRAME ACCEPTS NON-INTEGER ARG FOR ROWS
    
    Only integer values can be passed as argument to a ROW frame in a
    windowing function. Added a check for the same in
    Window::check_border_sanity().

commit ba83b2490e9aefa244bb445652051df01dec16d1
Merge: 9a5d1f5 67a6c44
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 16 09:41:59 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 67a6c44ab3979c0dedec84199daf79d89d4f4436
Merge: 3a471f9 5775624
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 16 09:39:59 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5775624c527ebdbbd01f68ba4e721d77bf160b07
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Aug 15 12:22:46 2017 +0200

    Cleanup debian/changelog to just have a generic link to online release notes.

commit 9a5d1f54e618774a57a1e3061a39c390e252f0e7
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Wed Aug 16 10:41:51 2017 +0400

    WL#8134: Make metadata information transfer optional

commit 62f3701cad436ce8536bfbefef693e31d928ba67
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 16 11:48:40 2017 +0530

    Bug #26496645: WINDOW FUNCTIONS: CRASH IN WINDOW::RESTORE_SPECIAL_RECORD
    
    Problem
    When we have a value which is less than argument value for a range frame in
    a windowing function, mysql server exits
    
    Analysis:
    Currently, for a range optimizable window function, the result of the
    window function is stored into a in-memory table in the form of a
    special record, which can be restored later.
    This saves us time from calculating the results again for the next row if
    the value for window function is expected to be the same. But for a case
    when all the values in the frame are less than the specified range value,
    we skip saving this special record. This results in restoring a non-existent
    record and the server exits because of this.
    
    Solution:
    Added saving of the special record to the code flow in
     process_buffered_windowing_record.

commit 84c27df5dffc1cb02929c247a041b4f1cfb798c2
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 16 11:21:59 2017 +0530

    Bug#26497353: ASSERTION FAILED: M_OPENED_TABLE != NULLPTR
    
    Problem:
    Temp table is not created to handle grouping for the query as its grouping
    on constants. When a temp table is created for handling windowing function,
    it does not get instantiated because window_short_circuit is enabled and we
    choose end_write_group to write to it. But end_write_group fails while trying
    to write to the uninstantiated temp table.
    
    Analysis:
    For the given query, a temp table is needed to materialize group rows for rollup
    before windowing functions can be handled. But need_tmp_before_win does not
    get set. If rollup is not present, "group by" gets optimized away in
    optimize_distinct_group_order() and we do not see the issue. However, when
    rollup is present, as group by is not optimized away for this case, we need a
    temp table. (see optimize_distinct_group_order())
    
    Solution:
    Set need_tmp_table_before_win, when rollup is present with windowing functions
    (similar to rollup with distinct).

commit 45a8b223e056bbd0938583eb98e3c325e75fd99f
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Aug 16 10:16:30 2017 +0530

    Bug #26496733: WINDOW FUNCTIONS: ASSERT FALSE WITH JSON COLUMN
    
    Asserts because there was no ::store_value() defined for Cached_json
    _item.
    
    Solution:
    Define ::store_value for Cached_json_item and create the correct cache
    object for JSON type.

commit c95dfbbf78c7c0cf5814e4ed1efb0febca49e510
Merge: b9027a0 3a471f9
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Aug 16 06:17:26 2017 +0200

    Null-merge from 5.7.

commit 3a471f934fc06eb6da1ba5906223697f68e23342
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Aug 16 06:07:49 2017 +0200

    Revert "WL#10820: Make keyring_okv support password encrypted private keys"
    
    Revert on 5.7 since it broke the build.

commit b9027a0f0e867d3ed2b73f98f2138458595bae12
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Aug 16 03:54:34 2017 +0200

    Removed debug-server option from couple of command lines. Daily runs if run on debug-server cannot finish on time

commit 8c9eee25cf650eebddb677b7bf69fa38ff250e2d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 8 15:29:47 2017 +0200

    Bug#26037206 WL8117: VALGRIND WARNINGS IN DERIVED.TEST
    
    Running 'mtr --valgrind --debug main.derived' gives misc warnings, mostly
    in the handler interface when printing human-readable versions of records.
    
    Fix: don't print records when running with --valgrind, unless the server
    is actually *built* with -DWITH_VALGRIND=1
    
    Also: initialize buffer for dbug-printing range optimizer trees.
    Initialize Protocol_classic::input_packet_length in the default CTOR.
    
    Change-Id: I365cde0fe5158d7004228c3c0c873812cb78e437

commit 41434092fbb945d4558a895f0ba349cb74413062
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Aug 15 14:24:32 2017 +0200

    Bug#26076436: Remove the debug-only field GRANT_INFO::want_privilege
    
    Remove the debug-only field want_privilege from struct GRANT_INFO and
    its setter function TABLE_LIST::set_want_privilege().

commit 7ff4698ebba90d9528dea04f9b50cde8b64fcd6f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 14 12:59:24 2017 +0200

    Bug #26597243: AMBIGUOUS INCLUDE PATHS [noclose]
    
    Canonicalize all paths leading into client/, then resort #include statements
    in the affected files. Finally take client/ out of the include path.
    
    Change-Id: Iac7aa41a10e7fcf5396921935ae1da0423c59527

commit aa80406c9ed270cc3b11bffee4ee521c00333939
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Aug 15 08:52:56 2017 +0200

    Bug#26629454 INNODB_ZIP.INNOCHECKSUM_3 TIMES OUT IN CHECK-WARNINGS
    
    Mark the test as big-test in order to give check-warnings more time.
    
    Approved by Pavan Naik <pavan.naik@oracle.com>.

commit d28b95e054e21b51ecaaba01ba278f7767afd38c
Merge: 713f2cb 0549440
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Aug 15 09:49:14 2017 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit 054944045faeb5b8873a4c2ec0d50ce5913ab6ca
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Aug 15 09:27:22 2017 +0800

    Fixed bug#26595476 INCORRECT ERROR HANDLING IN ROW_IMPORT_FOR_MYSQL
    
    Followup patch for fixing test case failure of table_encrypt_4.
    We need make it for debug server only.

commit 713f2cb6d8edd0db59a256919c1688093b7e4f4e
Merge: b92e0d0 2496f33
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon Aug 14 18:30:08 2017 +0300

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2496f3376a4f757c17d88fc8e5834100c69fce70
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon Aug 14 17:48:07 2017 +0300

    WL#10820: Make keyring_okv support password encrypted private keys
    
    The keys used to connect to a KMIP server can be extra protected with a password.
    Add an extra file next to the key file holding the key password.

commit b92e0d07539157fae9a66c21c1ed9e888469048f
Merge: 14bac60 1f9bf3e
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Aug 14 19:19:47 2017 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1f9bf3e5be7d67dc5d60a3fbd630a8d4ed52f33c
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Aug 14 19:17:33 2017 +0800

    Fixed bug#26595476 INCORRECT ERROR HANDLING IN ROW_IMPORT_FOR_MYSQL
    
    We need to remove all the invalid code in these error handling code.
    
    Approved by Sunny Bains <sunny.bains@oracle.com>
    RB: 17022

commit 14bac608e946307693ebb63ce3a4e97718eb7e48
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Aug 14 12:01:25 2017 +0200

    WL#9591: Caching sha2 authentication plugin
    
    Post-push fix: Fix for compiler warnings.

commit 8bbf68cb9e27323cec4fcc4b47c90dd25e9cf630
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Aug 9 15:40:11 2017 +0200

    Bug #26597243: AMBIGUOUS INCLUDE PATHS
    
    Canonicalize all paths leading into sql/, then resort #include statements
    in the affected files. Finally take sql/ out of the include path.
    
    InnoDB has been left alone, except where InnoDB #includes were used from
    non-InnoDB sources.
    
    Change-Id: I2b4745f656db3eefa35d9053361d21a4658dc112

commit 8734fe378e7a0b0ea1ec0a401495d5618b7499d1
Merge: 54ca5fd 6f36b23
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Aug 14 11:49:46 2017 +0400

    Null-merge from 5.7.

commit 54ca5fd3d37f15638801137f487f79bbc13868ad
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Aug 9 10:29:51 2017 +0400

    WL#10837: Deprecate query cache
    
    This patch is for the rest of query cache stuff in 8.0.

commit 6f36b230d76cd82a22d8a4673533d1f22e766d17
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Aug 9 10:18:55 2017 +0400

    WL#10837: Deprecate query cache
    
    This patch is for 5.7.

commit b144b3fc922e2e684809c5f9fe731cc4a4502e6c
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Aug 14 08:17:31 2017 +0200

    BUG#25183130 INNODB: ASSERTION FAILURE: UT0UT.CC:769 IN IB::FATAL::~FATAL
    
    Issue:
    ------
    In function sel_set_rtr_rec_lock, we have two calls to the function
    lock_sec_rec_read_check_and_lock and we have two different variables
    maintaining the error status of the calls. In case of an error we are
    passing the wrong variable to row_mysql_handle_errors resulting in this
    bug.
    
    Fix:
    ----
    Fixed the issue by making use of the same variable to record the return
    value of the calls to the function `lock_sec_rec_read_check_and_lock`.
    
    RB: 16116
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>

commit 63ddc4086c2453b65263bc8f1d93dfecf666dc77
Merge: 3efc569 b2a66db
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 14 12:14:13 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b2a66dbc7856aac533364da6b3e598d83df0f936
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Aug 14 12:10:43 2017 +0530

    Bug#24337625: SYSSCHEMA.FN_FORMAT_PATH IS FAILING ON THE PB2
                  UNDO TABLESPACES RUN
    
    Description: Mtr test, syschema.fn_format, is failing on PB2
    platforms for "innodb_undo-2-debug" configuration where
    "innodb_undo_tablespaces" is set to 2.
    
    Analysis: For "innodb_undo-2-debug" configuration, the data
    directory is pre installed with "innodb_undo_tablespaces=2".
    This will create the innodb undo tablespaces inside the
    default "innodb_undo_directory" path. But the mtr test,
    "fn_format_path" uses its own innodb undo directory. So when
    this test is run, it is failing to start the server throwing
    the error, "[ERROR] InnoDB: Unable to open undo tablespace
    'xxx'.". This happens because the innodb tablespaces are
    created inside default "innodb_undo_directory" path and mtr
    is checking for the tablespace inside the
    "innodb_undo_directory" path specified by the test.
    
    Fix: While starting the test, a custom data directory is
    installed with appropriate "innodb_undo_tablespaces" and
    "innodb_undo_directory".

commit 3efc5693192b81c7ae726d6c2b4a5129055d5267
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Aug 14 08:34:01 2017 +0200

    WL#9591: Caching sha2 authentication plugin

commit 2f825702b33da84bbc71e3e07db32d56089fda49
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Fri Aug 11 17:39:23 2017 +0100

    WL#10200: Change GCS/XCOM to have dynamic debugging and tracing
    
    Post-push fix.
    
    The GCS_INVALID_DEBUG = 0x80000000 was causing warnings because XCOM is
    compiled using C and defines signed 32 bits enumeration values. However,
    GCS_INVALID_DEBUG definition was interpreted as 2147483648 which is
    greater than the maximum signed 32 bits integer, i.e 2147483647. To fix
    the issue, we have changed its definition to:
    
      GCS_INVALID_DEBUG = ~(0x7FFFFFFF).

commit be7ebd53b6237cb21c95635c4bba825a47543bda
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Thu Aug 10 02:40:47 2017 +0200

    Bug#26500442 WINDOW FUNCTIONS: CRASH IN WINDOW::HAS_WINDOWING_STEPS
    
    [ Revision 2: updated canons for window_functions_explain due to cost
      differences as a result of this patch. More work is needed on cost
      for window functions and will be addressed in Bug#26612356 ]
    
    Analysis:
    
    The immediate cause: the crash happens when resolving mistakenly
    thinks the window function is constant and can be evaluated at resolve
    time as part of setup_fields.  This leads to a crash when accessing
    Window::m_select which doesn't have a value until after
    Window::setup_windows has been called, and this happens after
    setup_fields.
    
    The root cause: the mistaken identification of the window function as
    constant happens because the wf call has used_tables_cache==0.
    
    Fix:
    
    Setup correct value for wf call's used_tables_cache in
    Item_sum::update_used_tables.
    
    Repro test added.

commit 83aaaf3b5bcda2ce581240f24d519557dfad7c5f
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Thu Aug 10 18:37:15 2017 +0100

    BUG#26613771: GCS/XCOM IS USING WRONG WINDOWS MACROS
    
    GCS/XCOM is using wrong windows macros: WIN32 and WIN64 in some places.
    
    The fix uses the correct macros which are:
    
    . _WIN32 if either Windows 32 or 64 bits is in use
    
    . _WIN64 if Windows 64 bits is in use

commit 930a8725d9149c451f73119a93fbbe9468965eae
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Aug 11 17:05:27 2017 +0300

    WL#6595 addendum 2:
    Fixed the interactive utilities test to insert the rignt amount of columns
    in mysql.user.

commit 93c2cd844574e9f3c342cac581dc3f6ea2642c5d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Aug 11 19:05:53 2017 +0530

    Bug#26187243: FIX AND IMPROVE SEARCH FUNCTIONS IN MTR
    
    Post push patch to fix a couple of failures seen on pushbuild

commit f87587df10861433baa3ab7f2c2f8f7f0cee260a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Aug 11 15:31:55 2017 +0300

    WL#6595 addendum 1:
    Fixed a valgrind issue because of sha256 plugin requiring the hash to
    be null-terminated.
    Since the hash in ALTER USER is read from the history table it's not
    guaranteed to be null-terminated.
    Removed the (unsafe) c_ptr() and replaced it with c_ptr_safe() which is:
    a) not causing a valgrind issue on a non-null terminated buffer.
    b) ensuring that the returned pointer is null terminated

commit fc14c630aa13f4f1e705286d29a94281da238856
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Aug 11 20:19:20 2017 +0800

    Bug #25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Post push fix: free allocated memory if user defined collation is failed
                   to load.
    
    Change-Id: Ide0f2269ee83e68d03b721275e671065c52e5a2d

commit 32d8cbfe1b577724587eb803f3de45dfe34a6ea3
Merge: 5a195c8 25de02c
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 16:54:03 2017 +0530

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

commit 25de02c40b5dee6d268452eb89415be20e6f6a73
Merge: 8250978 cfaf4fe
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 16:52:29 2017 +0530

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

commit 5a195c8b2aed5d90f20c2f74c8ff6b102290944b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Aug 11 11:03:26 2017 +0200

    Bug #26399073: MYSQL DOES NOT COMPILE WITH CLANG ON WINDOWS [noclose]
    
    Post-push fix: Fix compilation with GCC 4.8.
    
    Change-Id: Icbc7353b57b587ab7abbfe401654f769c2ec7924

commit f78924088ba3b02bfa8c85558af4f62cd46a86f4
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Aug 11 17:47:14 2017 +0800

    Bug #25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Post push fix: remove some clang compiler warnings.
    
    Change-Id: I16c11bccb5d3dfbea66b294b69aa539f6a785e24

commit cfaf4fe9cd52839a6169e328cae9ecdaa17d7a37
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 15:12:44 2017 +0530

    Bug#25782811 	5.6: WRONG RESULTS WITH MATERIALIZATION,
                            VIEWS
    
    Backport of Bug#21566735 fix.
    
    Analysis
    =======
    create_ref_for_key() fails due to table not available for
    key_use when subquery optimization chooses materialization
    strategy and have a ref access key to one of the materialized
    table. This is due to JOIN::update_equalities_for_sjm() checks
    for real_item() of the materialized table expression with key_use->val
    of the primary table expresssion.
    
    Fix
    ====
    When comparing key_use from materialized tables use key_use->
    val->real_item() instead of key_use->val.

commit d8285275905fc848c855f2a972392cb18b242934
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 14:45:08 2017 +0530

    Bug#26129019  POSSIBLE UNINTENDED USAGE OF "KEYINFO" VARIABLE
    
    Typo error. Replaced with proper variable.

commit 5de17ac59e00baacdaa8aca70ad27f6dc4e45520
Merge: c29d1dc 8250978
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 14:37:03 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8250978f42c54e76a05d6830cbaad0369ac80521
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 11 14:21:09 2017 +0530

    Bug#26129019  POSSIBLE UNINTENDED USAGE OF "KEYINFO" VARIABLE
    
    Typo error. Replaced with proper variable.

commit c29d1dc01d20228e2f3c03c43fe58044db71a4d9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 3 13:23:47 2017 +0200

    Bug#26134893 DYNAMIC LINKING WITH OPENSSL ON MACOS
    
    Add support for linking with libssl.dylib and libcrypto.dylib on MAC

commit 2d15c8bf47bc0e382f9decdc6c329d6f1a6a57e3
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Aug 11 11:23:34 2017 +0300

    Fixed a compilation error on VS2017: missing __cpuid

commit 6f933e19bec7c9d2561ec0e35e4e931900c57c8a
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Thu Jun 29 17:56:12 2017 +0800

    Bug #25426632: STRNXFRM RUNS SLOWER WHEN TAILORING RULE CONTAINS CONTRACTION
    
    Strnxfrm function of uca collations needs to search for contraction's
    weight. Current implemenation of contraction uses array to store info of
    contraction, which is slow.
    
    Fix:
    Build trie of contraction. Each node of the trie contains one character of
    contraction. It is faster to find a contraction in the trie and return its
    weight pointer.
    
    This patch also changed mysql-test/std_data/Index.xml, because one
    tailoring rule defined in this file is wrong. There will be no rule: "A
    <<<< A".
    
    BM_Hungarian_AS_CS         3750 -> 2405 ns/iter [+ 55.9%]
    BM_Japanese_AS_CS          4058 -> 2562 ns/iter [+ 58.4%]
    BM_Japanese_AS_CS_KS       5242 -> 3464 ns/iter [+ 51.3%]
    
    Change-Id: I611068aebed42168c93c1e94f874b3749ba3a531

commit 30c38531e26a3f4ecf08750d05d1d9140976984d
Merge: 129418a 6b7e81b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Aug 10 22:36:53 2017 +0530

    Periodic up-merge of Cluster branch

commit 129418a71ea01784b0ab49b253479daa00636481
Author: Dag H. Wanvik <dag.wanvik@oracle.com>
Date:   Thu Aug 10 17:18:09 2017 +0200

    Bug#26373123 IMPROVE ERROR MSG TEXT FOR UNSUPPORTED AGGR. WINDOW
    
    [ revision 4 added Doxygen ]
    
    Added this functionality; updated test canons.

commit 9b12a1e7565db716de60fe9605abac303783e44e
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Thu Aug 10 16:07:00 2017 +0100

    WL#10200: Change GCS/XCOM to have dynamic debugging and tracing
    
    Post-push fix.
    
     . Regex expression was failing on windows because some characters were not
       escaped.
    
     . Some mocked functions were returning values and were not declared as
       expected functions and were causing the test to prematurely abort.
    
     . The wrong macro was being used to check whether the system is windows
       or not.

commit c301a98a261fa4d4f42654c8903d17d92cb77c85
Author: Dag H. Wanvik <dag.wanvik@oracle.com>
Date:   Thu Aug 10 14:25:46 2017 +0200

    Bug#26502118 WINDOW FUNCTIONS: CRASH AND LARGE MEMORY ALLOCATION, FIRST_VALUE, BLOBS
    
    [ revision 3: after Chaithra's review ]
    
    The problem here is that we didn't detect that a window function was
    illegally used (directly contained) inside a WHERE clause, because
    that check relied on a grouped aggregate check which didn't flag here
    due to the WHERE clause being in a subquery.
    
    Refine the test for allow_sum_func: change check from testing whether
    no aggregates are allowed (there are, due to this being a subqury, but
    not at this nesting level), to test whether no aggregates are allowed
    at this level.
    
    Repro test added

commit 01b94e6b89b32b3da80ce38daf63049da4e7bc93
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jul 5 16:21:39 2017 +0200

    Bug #26399073: MYSQL DOES NOT COMPILE WITH CLANG ON WINDOWS [noclose]
    
    Add a few fixes to make more files compile with Clang on Windows in MSVC mode
    (where it sets _MSC_VER and __clang__, but not __GNUC__). In particular,
    get rid of some inline assembly code where it was no longer needed.
    
    Change-Id: I60727e1024c29ab099f1f619e64cd8e63b396291

commit 8a0c0f294f5aaba3ba1f2071241e044236e72dcb
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 8 15:30:14 2017 +0200

    Bug #26562464: ONE DEFINITION RULE VIOLATIONS [noclose]
    
    The C++ One Definition Rule states, among others, that all structs must be
    defined equivalently in all translation units in a program, or undefined
    behavior occurs. This patch doesn't fix all the ODR violations found by GCC
    when using link-time optimization, but it fixes some of them, and makes it
    possible to build MySQL with LTO at all.
    
    Change-Id: I436d612c73a301c66e83e122f48cf230d621a6f1

commit f1f38a9644831a1c019dabc023df35c15dcfdc74
Author: Aditya A <aditya.a@oracle.com>
Date:   Thu Aug 10 17:26:56 2017 +0530

    WL#10551: Upgrade zlib libraries to 1.2.11 in trunk
    
    Post push fix to fix the UBSAN error which was coming
    because zmemcpy was being called with source as NULL
    and length to copy as zero.
    Fix is to avoid calling zmemcpy (which is mapped to memcpy)
    if length to copy is zero

commit 728e2e6d8777529e16da306c03248abb9654f467
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Aug 9 11:22:04 2017 +0300

    WL#6595: Password rotation policy

commit 782d575516ec5902d7ccd069679f38e8ed6ab3df
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu Aug 10 13:06:07 2017 +0300

    WL#681 Hint to temporarily set session variable for current statement.
    
    Error message fix.

commit b20b45d4d4ec00731a7167caa7827eb22b56b065
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 10 10:18:41 2017 +0200

    Bug#26494495 -DWITH_ZLIB=SYSTEM DOES NOT GUARANTEE THAT "OPENSSL ZLIB" IS AVAILABLE
    
    If building with -DWITH_SSL=system -DWITH_ZLIB=system, then verify that
    'openssl -zlib' actually works. If it does not, then build our own
    zlib_decompress utility.

commit 6c18b9669ae4ded747f9429d73913faf167d9031
Merge: de07fdf 80c28c9
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Aug 10 11:54:09 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 80c28c94f155d5dcd9b70da2059355221e4391ba
Merge: 1526859 3ec554b
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Aug 10 11:53:00 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3ec554b12ec9431227c04e0609e84ddc8a83d944
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Aug 10 11:40:46 2017 +0530

    BUG18985760 - "FAST" ALTER TABLE CHANGE ON ENUM COLUMN
                   TRIGGERS FULL TABLE REBUILD.
    
    Fixing PB2 test failure which resurfaced due to missing
    clean up.

commit de07fdf794eccd3ab812207b6d443bdad86c6f83
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Thu Aug 10 10:56:14 2017 +0530

    Bug#26187243: FIX AND IMPROVE SEARCH FUNCTIONS IN MTR
    
    Issue:
    ------
    There are bugs/weaknesses in the search functions used in MTR tests:
    - include/search_pattern_in_file.inc: This function reads 50000 bytes
      per chunk and searches for a pattern in the chunk. However, this is
      bound to fail if the pattern crosses the border between two chunks
      and can cause sporadic failures.
    - include/search_pattern.inc: It reads the whole file into a list in
      memory and then processes lines one by one. It would be efficient
      if a single line is read at a time instead of the entire file.
      Also, matching lines which had a pair of single quotes are being
      ignored when the file is sourced multiple times due to improper
      cleanup.
    
    Fix:
    ----
    Search functions have been consolidated into two inc files:
    - include/search_pattern.inc: It should be used for searching patterns
      which occur within a single line. It loads one line from the file at
      a time and searches the specified pattern in it. A buffer having the
      specified number of lines prior to the matching line and a file
      lookup for those after it are used to get context lines.
    - include/search_pattern_multiline.inc: It reads the whole file into
      memory and should be used to match patterns which might be spread
      across multiple lines.
    
    Usage of search functions in test scripts was reviewed and they have
    been modified to use search_pattern.inc for all single-line searches.
    
    Reviewed-by: Pavan Naik   <pavan.naik@oracle.com>
                 Deepa Dixit  <deepa.dixit@oracle.com>
    RB: 16811

commit fa9d78978b5fbbf3843efe8503d0dfface74a4d4
Merge: d098458 1526859
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 10 10:09:46 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 152685953e3f709a35cb7db98b4786b6c0590e83
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 10 10:09:05 2017 +0530

    Bug #23169112: GCOLS: INCORRECT BEHAVIOR WITH QUERY USING
                   BATCHED KEY ACCESS
    
    Issues:
    -------
    This problem occurs when:
    1) Query is using Batched Key Access (BKA) optimization.
    2) A virtual Generated Column (GC) is part of the join
       buffer.
    
    While creating the read_set for a table containing a
    virtual GC, the corresponding base columns are also added.
    With BKA, only the index values (which are already stored
    in the storage engine) are read.
    
    While copying the values from storage engine to the join
    buffer, it is mistakenly assumed that both the base column
    and the virtual GC are present in the record buffer. This
    is not the case and this can lead to incorrect calculation
    of the values.
    
    Solution:
    ---------
    Olav fixed a similar problem in Bug#21872184 for Block
    Nested Loop optimization.
    
    The fix is to unset from the table's read_set the base
    columns, if they aren't independently required in the
    query. Once the JOIN_CACHE's blob_ptr and field_descr
    (these fields determine a column's presence in the join
    buffer) are created, the read_set can be restored.

commit d0984587cf6635ddce6f1ea52720a2da61b4265b
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Aug 10 05:30:54 2017 +0200

    WL#681 Hint to temporarily set session variable for current statement.
    
    Post-push fix: rerecord main.opt_hints_set_var

commit 318a6a358640554deb26f55accb883275272544e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Aug 10 05:06:52 2017 +0200

    Revert "Bug#24670738 SHOW CREATE USER DOESN'T SHOW DEFAULT ROLE"

commit a624cf4e41726d11ef271388f0c5cc2321ba155d
Merge: d04e8f2 9efb2aa
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 10 06:55:56 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9efb2aae67de5a8d9a6132db257dc1ec44f38d50
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Aug 10 06:54:37 2017 +0530

    Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
                   LEFT JOIN(SUBQUERY) AND ORDER BY
    
    Post-push fix to address failures in
    funcs_1.innodb_views and funcs_1.memory_views
    
    The call to const_for_execution (in trunk) and
    const_item (in 5.7) has been replaced by their respective
    content to avoid multiple and recursive calls to
    used_tables. This can create a problem when Views are
    created using other views

commit d04e8f2263b33115d3826f3eccf7d29c8470ef00
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 9 18:58:55 2017 +0200

    WL#10551: Upgrade zlib libraries to 1.2.11 in trunk
    
    post-post-post-push fix:
    include zlib.h rather than zconf.h

commit 674327505a3ad406d81a552a1f347c4f7559fc9a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 9 18:15:02 2017 +0200

    WL#10551: Upgrade zlib libraries to 1.2.11 in trunk
    
    post-post-push fix: bundled_zconf.h as argument to ADD_LIBRARY

commit 77c86dea78540b434453d4f86fba6681f9a2057b
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Aug 9 14:01:52 2017 +0200

    Bug#25903274 PERFORMANCE REGRESSION WITH PREPARED STATEMENTS
    
    Introduced by CTEs.
    Consider:
      with cte as (select ?) select ? from cte;
    
    In trunk the list of '?'s, lex->param_list, is built in
    Item_param::itemize() which happens after parsing, in contextualization,
    and a CTE is contextualized when a reference to it is seen in FROM
    (when we parse WITH we make a PT_subquery but we don't contextualize it,
    just save it somewhere; when we see "FROM cte" we look "cte" up, find its
    PT_subquery node, and contextualize it); so the first '?' (of the CTE
    definition) is added second to the list, as the SELECT list has already
    been contextualized and added the second '?' first... CTEs introduced this
    possibility of a shuffled list. I worked around this by adding a sort()
    in init_param_array(), sorting by position-in-query, but a query with
    65k '?' timed out.
    
    Fix: (Roy's idea) instead of building param_list during contextualization,
    build it when the parser sees the '?' and creates Item_param: this ensures
    that the list is naturally sorted in order of position-in-query, without
    the need for an explicit sort().
    
    No testcase; but the time to run main.mysql_client_test on my machine
    goes from 132 seconds down to 42 seconds. And that test has a query
    with a lot of '?'.

commit ccf43f19de2d474c0ed332c2211a4198c3765e12
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 9 17:24:12 2017 +0200

    WL#10551: Upgrade zlib libraries to 1.2.11 in trunk
    
    Post-push fix: never generate source files in the source directory,
    (it breaks multi-platform build) use the build directory instead.
    
    Also: do not #include zconf.h, rename it to bundled_zconf.h
    in order not to conflict with /usr/include/zconf.h

commit dc6f30661b5f06803c5b8495ccbe0a32bf7bd361
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Wed Aug 9 16:22:52 2017 +0200

    Bug#26395601 DIFFERENT BEHAVIOR BETWEEN CLASSIC AND NODE SESSION WITH UUID()
    
    The UUID function returns its value in the UTF8MB3 character set. Since the
    default character set has changed to UTF8MB4 in 8.0, a conversion needs
    to happen, so Item_func_uuid is replaced by an Item_func_conv_charset
    which will call Item_func_uuid::val_str. But, since Item_func_uuid has
    const_item_cache=true by default(it is set by Item_func), the calculated
    value gets cached and returned for each row.
    Solution is to override const_item() to return false so that
    Item_func_conv_charset sets use_cached_value to false in the constructor
    and a unique uuid is calculated for each row.

commit c71b30cda867ea1685988ece6b74ab41cd4f2292
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 9 19:16:55 2017 +0530

    WL#10551: Upgrade zlib libraries to 1.2.11 in trunk
    
    This change set upgrades third party zlib library to
    1.2.11 version.

commit 6b7e81b13bfdadcc8f5ddb14567494e2546287e4
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Aug 9 18:33:59 2017 +0530

    WL#8500 Adapt MySQL CLuster to 8.0
    
    - Fix logical-op warning generated

commit 5dacd1dd8753c67ef1633d9976556564b58e5ae7
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Wed Aug 9 13:32:28 2017 +0100

    WL#10200: Change GCS/XCOM to have dynamic debugging and tracing
    
    Post-push fix.
    
    Fixed issues in XCOM when TASK_DBUG_ON is enabled. The wrong option
    X_XCOM_DEBUG_TRACE was used in some places and the fix replaces it
    by XCOM_DEBUG_TRACE.

commit d2768bee4985768f167ac6353fadf9df4c0be6ba
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Aug 4 17:06:06 2017 +0200

    Bug#24670738 SHOW CREATE USER DOESN'T SHOW DEFAULT ROLE
    
    This patch introduce a new syntax for CREATE USER for
    setting the preferred default roles.
    SHOW CREATE USER is changed to include default roles
    in the result set.

commit 09e5e1e0b38fdc92e84959e43c99764276614c3b
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Wed Aug 9 12:26:21 2017 +0100

    WL#9676: Remove log_warnings option
    
    --log_warnings/-W was deprecated and slated for remove in v8.
    This changeset removes the code and its tests, and replaces
    it with --log-error-verbosity in such tests as should remain.

commit b9377479ff72555860b1f04d1df184ea643d4c76
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Aug 9 16:26:30 2017 +0530

    BUG#26549587: MTR --ONLY-BIG-TEST --VALGRIND IGNORES INCLUDE/NO_VALGRIND_WITHOUT_BIG.INC
    
    Description:
    ------------
    An MTR --valgrind run without --big-test option skips the tests that include
    no_valgrind_without_big.inc. For example, gis.gis_bugs_crashes. But so does an
    MTR run with --valgrind --only-big-test options. For example,
    
    bash> ./mtr gis.gis_bugs_crashes --valgrind --only-big-test
    ...
    ...
    [ 51%] gis.gis_bugs_crashes      [ skipped ]  Not a big test
    ...
    ...
    
    A regular run and a --only-big-test run together give the same coverage as a
    single --big-test run. But the tests that include no_valgrind_without_big.inc
    are run with neither, and the only way to get them run under Valgrind is a
    single --big-test run.
    
    Fix:
    ----
    Modified MTR to recognize tests having include/no_valgrind_without_big.inc
    file and run these tests when both '--only-big-test' and '--valgrind' options
    are enabled.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 17008

commit a3bf0a399035f0990bb5ad9d8a4b786a5484119f
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Aug 9 15:38:08 2017 +0530

    BUG#26336874: USE COMMAND NPROC OVER PARSING OF /PROC/CPUINFO TO # OF CPUS
    
    Description:
    ------------
    In MTR, SysInfo.pm perl module uses parsing of /proc/cpuinfo to find
    number of CPUs/cores. This breaks on Linux Sparc and Linux ARM as
    format of /proc/cpuinfo is completely different on these archs. Linux
    already provides a cross arch portable way to finding CPUs using
    'nproc' command.
    
    Fix:
    ----
    Use 'nproc' command to get the number of CPUs if it is available else
    fall back to parsing of /proc/cpuinfo file to get the necessary
    information.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 16916

commit 82d629675603f031d242ad942c38a443f483dd31
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Tue Aug 8 11:50:43 2017 +0300

    WL#681 Hint to temporarily set session variable for current statement.

commit 494cef5a6a37ea327311cd644c73156dd571ddb9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Aug 9 14:32:24 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the result file of ps_7ndb test to reflect the new order
      returned due to addition of order by in upstream include files
      as well as changes due to the utf8mb4 character set
    - Enable the test

commit 96b180efe066e7fd1c74d9a4c040f5b683457a8e
Merge: 73971feb ceba056
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Aug 9 14:27:17 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit ceba056913747d9e484b6ba3d7a665d5a86eb1ef
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Wed Aug 9 09:46:23 2017 +0200

    Fix for doxygen warnings. Most were due to wl#10891.

commit 0268e02398bc6f83f28aecda4b6b58ed3c897d17
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Aug 9 13:34:24 2017 +0530

    Description:
    ------------
    MTR option '--mem' is explicitly ignored on Windows because it's not
    supported by default and there also is no default location. Otherwise
    it looks for /dev/shm, /run/shm or /tmp locations in that order but
    ignores softlinks. But MacOS falls between the chairs, MTR finds none
    of these locations and ends up with an empty string as the ramdisk
    root..
    
    Fix:
    ----
     - Disable '--mem' option on MacOS
    
     - Check if $opt_mem variable is set to any of the built-in list of
       tmpfs, if not disable '--mem' option to avoid any further error.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 16932

commit ef04f483716a9fd46f2c0a49dde1e0a30993026b
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 12 20:12:18 2017 +0200

    Bug#26435151: UNNECESSARY CLONING OF JSON PATHS
    
    Many of the JSON functions make clones of their JSON path arguments so
    that they can modify them without distorting the JSON path cache (JSON
    path objects are cached because they are usually constant, so that
    it's unnecessary to parse them for every row).
    
    The modification of the JSON path objects is usually done in order to
    search for the parent of the JSON value that is being processed. The
    last path leg is removed and passed to Json_wrapper::seek() in order
    to find the parent object or array.
    
    Instead of modifying the path argument, this could be achieved by
    providing an argument to Json_wrapper::seek() to make it ignore the
    last path leg and return the parent.
    
    This patch adds a new argument to Json_wrapper::seek() and
    Json_dom::seek() that tells how many path legs to use from the
    provided path argument. Instead of removing the last leg from the path
    to seek for the parent, we can now tell seek() to use only the
    path.leg_count() - 1 first legs of the path. In these cases, we can
    now use the original path object directly without cloning it, since we
    don't need to make any changes to it. The path objects are declared
    "const" to ensure that they are not changed.
    
    Change-Id: Ice6976192693f389389e15ef9ae3feeaf4f3587d

commit 90e6b391e655ccde1905588b4a28fee382b021ee
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Aug 8 14:39:08 2017 +0530

    Bug #25874070: UNSTABLE PS TEST QUERIES WITH GROUP BY WITHOUT ORDER BY
    
    - Add 'order by' to various queries containing 'group by'. This is
      required for NDB to stabilize the output of the ps_7ndb test
    - Update result files of various tests that use the ps_query include
      file

commit 69535bb2717d65f4d952e03e78ce469d25788d94
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Jul 17 14:55:22 2017 +0800

    Bug #25503965: OPTIMIZER FAILS TO DO CONSTANT FOLDING FOR UTF8MBF CHARACTER STRINGS
    
    Collation's propagate() function is used to check whether a constant string
    can be propagated. Currently what we do is to check whether a collation has
    contractions or expansions. But the propagate() function simply returns
    false for each UCA collation, without regard to whether it really contains
    contraction or expansion.
    
    Fix:
    Make UCA collation's propagate() function return proper value.
    
    Change-Id: If4e63a2d62b309a58dfc2dfcfb4fc5e797f1b77d

commit e64cd2a7743fa0c3543359e7299337e8c6a5972d
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Tue Aug 8 20:29:55 2017 +0100

    WL#10200: Change GCS/XCOM to have dynamic debugging and tracing
    
    The goal of this WL is to allow users to dynamically filter out debugging and
    tracing messages per sub-system (i.e. GCS, XCOM, etc) without a noticeable
    impact on performance in production. Currently, it is extremely hard to trace
    bugs in production because the error log does not provide detailed information
    on the execution and enabling debug and trace requires a different build and
    deployment.
    
    Two different logging infrastructures are created. One to report error,
    warning and information messages and another one for debugging and tracing.
    The error, warning and information messages will be sent to the sink that is
    currently provided by the server.
    
    Debug and trace messages will be sent to a different sink which must be prepared
    to handle a possible high rate of logging messages. Specifically, debug and
    trace will be stored in GCS_DEBUG_TRACE file which will be located in the
    MySQL's data directory and will have the following permissions: same owner and
    group that files created by MySQL have and -rw-r-----.
    
    Users with super privileges will be giving the ability to dynamically
    enable debugging and tracing in production at their convenience as follows:
    
    SET GLOBAL group_replication_communication_debug_options = "..."

commit fc9cf6129f7922bc098b14be2c3e2eade6da31f9
Merge: 98a2df1 ee4fc83
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Aug 8 19:48:44 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ee4fc83e8292de9d40a41cd54d43169d3d15f911
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Aug 8 19:45:25 2017 +0530

    Bug#26519582: GR_SINGLE_PRIMARY_ASYNC_AFTER_GR_SECONDARY FAILING ON HUDSON
    
    Issue:
    ======
    The testcase failing because of concurrent DDL statement execution. The change
    master which is executed on server2 is blocked by create table (initially
    executed on server1) when applied on server2 as it had higher priority.
    
    Solution:
    =========
    Move create table on server1 below change master statement on server2, so they
    are not executed concurrently.

commit 98a2df103ffc5ca2ed09fe10c2407ca23dbf59a8
Merge: daec6b6 8b2cbd0
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Aug 8 19:14:31 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8b2cbd0925e398706aa6c8370141a0314eb116a1
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Aug 8 19:11:41 2017 +0530

    wl#10959: Backport WL#10433 to MySQL 5.7.20
    
    PROBLEM STATEMENT
    =================
    Currently the user doesn't have any option to control the outcome of the
    primary election algorithm in single-primary mode. The primary member is
    selected based on lowest server uuid.
    
    PROPOSED SOLUTIONS
    ==================
    This worklog will enable the user to influence the primary member election in
    single-primary mode by providing a member weight value for each member node.
    This member weight value will be used for electing primary member instead of
    member uuid which was getting used so far.
    
    This allows users to:
    - Select a specific primary for the next election (e.g. planned maintenance
      on current primary).
    - Ensure that primaries are always in the local/primary Data Center.
    - Ensure that primaries are always on a "bigger machine profile".
    
    Note:
      This is backport of wl#10433 from mysql-8.0.

commit daec6b6a288232a84ac7c0143370fc39c47fc388
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Aug 8 08:30:15 2017 +0200

    Bug#26582158 INNODB_REDO_LOG_ENCRYPT-SETTING TESTCASES ARE UNSTABLE
    
    Some of the testcases that test innodb_redo_log_encrypt:
    
    innodb.log_encrypt_3
    innodb.log_encrypt_kill
    sys_vars.innodb_redo_log_encrypt_kill
    
    set innodb_redo_log_encrypt to 1, sleep for some time, and expect the
    InnoDB master thread to have run and reset it back to zero because the
    server configuration does not support redo log encryption in those
    test parts. Using the sleep is a poor replacement for test
    synchronisation as the master thread is not guaranteed to have run on
    a loaded system.
    
    Fix by replacing sleeps with waits until the variable becomes zero.
    
    Patch contributed by Laurynas Biveinis.
    
    Approved by Allen Lai <zheng.lai@oracle.com>.

commit 81d84b81123bd59f046fc95661efe29ffdf01553
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Aug 7 16:26:30 2017 +0200

    Bug#25943754: FIX GCC 7 COMPILE WARNINGS
    
    Fix new compilation warnings reported by GCC 7.
    
    Change-Id: I5a04369896f0e89629e30cdfd9fff3fcf43b575a

commit 608aabe0651b277cf68ef330bc5a5c5240929314
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Aug 8 14:42:50 2017 +0200

    BUG#26531899: FLOW CONTROL VARIABLES ARE NOT VALIDATED PASSED AS CMD LINE DURING SERVER START
    
    When starting group replication with configured settings passed over command
    line/config file, for example when group_replication_flow_control_min_quota is
    larger than group_replication_flow_control_max_quota, the plugin wont check
    these values and start without error.
    
    The validation of:
      - group_replication_flow_control_min_quota
      - group_replication_flow_control_max_quota
      - group_replication_flow_control_min_recovery_quota
    
    was added when arguments were passed on command line/configuration file.

commit 79e0f5d56a4287338ed513f854adc977558e0fd5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 8 14:16:07 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP
    
    Post-push fix: Fix a Doxygen warning.
    
    Change-Id: I61ebd1f2cfcd4c07159aa7b7ea60035196231afc

commit 606b344a671a56ffa52939fdb3182a0450fd101f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 8 10:43:35 2017 +0200

    Bug #26588846: MYSQL CUSTOM TYPES LEAK INTO THE CLIENT NAMESPACE
    
    Since WL#8020, we now leak MySQL-specific typedefs (uchar, my_bool, etc.)
    into the client namespace when including mysql.h. This is bound to cause
    problems for users sooner or later, and also reintroduces the dreaded my_bool
    type. Get rid of them again.
    
    Change-Id: Ie2358999558f61b1a501884388cd6ae7f07770d8

commit 15b27bf4a42b57bb4761c21cf8be0b1a4681d11c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Aug 8 09:26:19 2017 +0200

    Bug#26562401 ERROR LOG PATTERN SEARCHES BROKEN IN MAIN.MYSQL_UPGRADE_TEST
    
    The testcase greps the default server error log for expected
    patterns. The default log contains all the error log from the MTR run
    on the same worker so far. This is bad because now the searches can
    find output of the preceding tests. This breaks --repeat option, retry
    on failure, and should any previous test caused same output in the
    server log, the corresponding part of the test stops working and just
    passes silently.
    
    Fix by restarting the server with the custom error log, grepping that
    instead, resetting to the default error log after the last grep, and
    deleting the custom log.
    
    Patch contributed by Laurynas Biveinis.
    
    Approved by Pavan Naik <pavan.naik@oracle.com>.

commit d73a905f7c46b38b701573291ead4316ad341593
Merge: 32ea096 76bf4c8
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 8 13:28:01 2017 +0200

    Null-merge from 5.7.

commit 76bf4c803835f22e5ef0e037ebb1098b68d5ce5c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 8 13:25:54 2017 +0200

    Bug#26495816 CONTRIBUTION: INCLUDE MY_DIR.H
    
    In 5.7 when building with -DWITHOUT_SERVER=1
    
    my_symlink.c: In function my_is_same_file:
    my_symlink.c:200:3: error: unknown type name MY_STAT
    
    Regression introduced by:
    
    BUG#25451091:CREATE TABLE DATA DIRECTORY / INDEX DIRECTORY
    
    Fix: #include "my_dir.h"

commit 32ea096567c1ad6ea6cf26635ca764ce1ddf834c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Aug 4 10:58:31 2017 +0200

    Bug#26562930 MAIN.AUDIT_PLUGIN_BUGS: ASSERT IN SHUTDOWN (WINDOWS)
    
    This worklog switched the event scheduler on by default:
    WL#9644 : Enable event_scheduler by default
    
    audit_plugin_bugs.test contains a sub-test which makes the plugin shut
    down the server. This is done *after* the event system is initialized.
    As a result, there is an event thread still running when we try to shut
    down the server, and we get misc warnings and asserts.
    
    Change-Id: I6d7e88a4b6c8d9c0e5937aed8c7f0e40a39b6285
    Fix: call Events::deinit() early in shutdown processing.

commit dc7597af3c70738be4292ea500dd549dcdf96b56
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Aug 4 10:52:49 2017 +0200

    Bug#26497007 ASSERTION(0) IN DIV_BY_POW10 WITH LARGE NUMBER
    
    Regression from
    Bug #26384166: SPEED UP DECIMAL/BINARY CONVERSIONS
    
    Change-Id: I490cca42ba8b8ece5000f4f78306ab810acc1d72
    Fix: in div_by_pow10, add code to do x div (10^0)

commit a1ad277a37103a7705bf04abf7931cfce779746b
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Thu Jun 22 09:09:49 2017 +0200

    WL#10891: optimizer_switch to see invisible indexes
    Bug#25837038: FEATURE REQUEST : USE INVISIBLE INDEXES SPECIFIC QUERY
    
    This patch adds the optimizer_switch use_invisible_indexes,
    which lets the session's queries leverage invisible
    indexes. The variable is read by
    TABLE_SHARE::usable_indexes().

commit 2624884217917673c8222422d3ccee3121d24af0
Merge: 4f23952 f6431cd
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Aug 8 14:04:26 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f6431cd2cde85d347427ccb1983bed8215bac8f0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Aug 8 14:03:11 2017 +0530

    Bug #26432173: INCORRECT SUBQUERY OPTIMIZATION WITH
                   LEFT JOIN(SUBQUERY) AND ORDER BY
    
    Issue:
    ------
    Example query:
    SELECT t1.a, subq.st_value
    FROM t1
    LEFT JOIN (SELECT t2.t1_a, 'red' AS st_value
               FROM t2) AS subq
      ON subq.t1_a = t1.a
    ORDER BY t1.a;
    
    Assume that table t2 is empty and hence the derived table
    returns zero rows.
    
    This query incorrectly returns the contents of t1.a and 'red'.
    The expected result would be the contents of t1.a and a NULL.
    
    Root cause:
    -----------
    The presence of ORDER BY results makes the optimizer use a
    temporary table. The contents of this temporary table will
    be columns t1.a and subq.st_value. Here st_value is a
    "constant", in the sense that the value is not changing
    with the underlying table . But given that the type of join
    is an OUTER JOIN, it will still be influenced by the
    contents of table t2 (inner table of an outer join).
    
    Since st_value is marked as constant in the temporary
    table, this value is always added to the result rows.
    
    Solution:
    ----------
    A new Item_direct_view_ref::used_tables() function is
    created to take into account whether an Item in a
    derived table / view is part of an inner table of an outer
    join.

commit 4f23952ac9ad5927e799532992081a0fa142e20f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 7 06:10:16 2017 +0200

    Bug#26575150 - TEST AUTH_SEC.SECURE_FILE_PRIV_WARNINGS HANDLING SERVER ERROR LOG INCORRECTLY
    
    The testcase auth_sec.secure_file_priv_warnings does several things wrong
    with the server error log:
    
    - greps it without restarting with a custom log location first,
    enabling false positives as the log contains everything from the past
    testcases on the same MTR worker;
    
    - deletes it, destroying content from all the past testcases on the
    same MTR worker, and also destroying the CURRENT_TEST marker in the
    log which MTR uses;
    
    - restarts with the same error log location, requiring a cumbersome
    perl script to delete it in a loop.
    
    Patch contributed by Laurynas Biveinis in bug#87313.
    
    Approved by Pavan Naik <pavan.naik@oracle.com>.

commit ad64763a4f38ec16f3b6d3a8972d554a310d0385
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 7 06:04:56 2017 +0200

    Bug#26575142 TEST MAIN.ROLES-UPGRADE SEARCHING COMMON ERROR LOG, ENABLING FALSE POSITIVES
    
    The test main.roles-upgrade does something, then searches the common server
    error log for their effect. But that log contains everything from the past
    testcases on the same MTR worker, enabling false positives, and breaking
    --repeat.
    
    Fix by restarting with a custom error log location before the test, and again
    with the default one at the end of the testcase.
    
    Patch contributed by Laurynas Biveinis in bug#87314.
    
    Approved by Pavan Naik <pavan.naik@oracle.com>.

commit 7d69c7d8948fbedfb4c7e8458239a88405cdc425
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Jun 30 14:25:08 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #10:
    
    Split up seek_no_dup_elimination() in multiple helper functions (one
    per path leg type) to avoid having to go through the same switch
    statement over and over again when processing wildcards or ellipses.
    
    In json_binary::Value, make all the member variables non-const. This
    allows us to skip initialization of member variables that are not
    used. It also allows us to remove the custom assignment operator that
    works around the constness.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonBinarySearchEllipsis          8902 ns/iter  [+89.8%]
    BM_JsonBinarySearchEllipsis_OnlyOne    80 ns/iter  [ -7.5%]
    BM_JsonBinarySearchKey                 72 ns/iter  [ -6.9%]
    
    Change-Id: I975da622899ff2eddc5505d9d9759996bf3d878e

commit 7f503b68d19141f992a342c09c7f8bfbc85aabbc
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Aug 7 16:45:13 2017 +0200

    Bug#26556025 ASSERTION `!SELECT_LEX->IS_RECURSIVE() || !TMP_TABLES' FAILED.
    
    With SQL_BUFFER_RESULT = 1 any recursive CTE would cause a server
    exit, with the debug binary.
    Because such setting makes need_tmp_before_win be true which
    forces the creation of a tmp table in JOIN::make_tmp_tables_info(),
    and the recursive query block shouldn't use such table as it introduces
    a layer of buffering which "cuts the recycling of rows".
    Fix: refined the setting of need_tmp_before_win; the CTE already uses
    a tmp table anyway. Also rewrote the conditions to an equivalent but
    hopefully easier block of code.
    Added minimal test for bug in with_recursive_bugs.test.
    Added a few tests in with_recursive.inc (their result is not influenced
    by the code fix; but as they relate to clauses which create tmp tables,
    I wanted to have coverage).

commit 678e108e6e8d79318e418c15c59085432bdf164f
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 20 15:45:53 2017 +0200

    Bug#26022576: JSON_INSERT DOES NOT HANDLE AUTO-WRAPPING
    
    JSON_INSERT called Json_dom::seek() with auto_wrap=false, so it didn't
    handle auto-wrapping. Fixed by changing the auto_wrap argument to true
    in the calls to seek().
    
    Change-Id: I27c94cb790c426e130df34abbbe8c84b128b98d0

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

    Bug#24488219: INCLUDE WHAT YOU USE
    
    Run IWYU on everything under sql/*, except sql/gis/*.
    (Some manual cleanup was needed.)
    
    Change-Id: I46806e50f9d9e43092144d7e454e3fd3d840a83a

commit d3ab1d8e018e3bbcc5da0e6c4db8f6c9ca3675b7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 7 13:29:29 2017 +0200

    Bug#26436968 SWITCH TO DEVTOOLSET 6 FOR EL6 AND EL7 FOR MYSQL 8.0
    
    Post-push fix: update rpm spec for oel.

commit c6cffb598ff714635672021bd6d2bd0157de6385
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 7 13:27:28 2017 +0200

    Bug#26328958 TEST FAILURE IN MAIN.BASEDIR WITH CUSTOM -DINSTALL_MYSQLSHAREDIR=
    
    Post-push fix for Xcode, which has similar directory layout as Visual Studio.

commit 40b48a651bd8310565e8d6c991daa7dbaa407a5d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Aug 3 11:06:36 2017 +0200

    Bug #26568748: MAIN.FUNC_BITWISE_OPS DIES WITH UNALIGNED ACCESS
    
    Fix uint8korr() and related macros so that they explicitly do unaligned
    accesses, even on x86. In the process, there's no more distinction between
    x86 versus everything else anymore; it's all just big versus little endian.
    
    Change-Id: I479d7572585d4a1682705258bbbb1e9dfbb920a3

commit e5d899ac4721ed6a626c52fa74ff4d1e051711b1
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 20 16:27:05 2017 +0200

    Bug#26496210: UNNECESSARY LOOPS THROUGH VECTORS OF SIZE 1
    
    JSON_ARRAY_APPEND, JSON_INSERT and JSON_ARRAY_INSERT reject path
    arguments that may match more than one value. Still, they loop over
    the vector of search results, whose size is known to be 1. For
    historical reasons, they even iterate over it backwards.
    
    This patch simplifies the code by removing the backwards iteration
    over the vector. Instead, the first element of the vector is accessed
    directly.
    
    Change-Id: Idc9d3b7c594f0ad3bd8424af5fbeb76eee35ca8e

commit 6dc827971584a2d81c0c9b00b87c85046680531f
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 20 10:46:41 2017 +0200

    Bug#26495028: REMOVE UNNECESSARY JSON CODE FROM BINARY
    
    Use function objects instead of function pointers as arguments to
    std::find_if_not and std::any_of in json_path.cc. Even though GCC
    seems to be able to inline the function calls in release builds with
    optimization level 3, it leaves the function definitions in the
    binary, presumably because pointers to them have been taken. Using
    function objects makes it eliminate the function definitions from the
    binary. An additional benefit is that function objects are more likely
    to be inlined at lower optimization levels.
    
    Also change the calculation of the typelit_max_length constant in
    item_json_func.cc to use constexpr functions so that it gets
    calculated during compilation.
    
    Change-Id: Id90f64a9a68f894c688905a75df5adb74f7e3971

commit 3dbf095e2ec824a41bf18f5ed989e611af5e9fbd
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Aug 7 11:51:15 2017 +0200

    Bug#26516678 SERVER CRASH IF XPLUGIN INSTALLED IF SERVER STARTED WITH SKIP-GRANT-TABLES
    
    post-push fix: valgrind error detected in x.connection_skip_grant_table

commit f4e97dfa538a0af2e9f33ebd19e7b9df3e07c5eb
Merge: 5c2c8b6 fac91ac
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Mon Aug 7 11:31:02 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit fac91acd8d237422ddf9214f6e4e08acea0725bf
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Mon Aug 7 11:25:56 2017 +0200

    Bug#26368004: CONFUSING GR ERROR MESSAGE: CHECK CREDENTIALS
    
    Description:
    If hostname resolution does not work for a member in Group Replication, the
    error returned when attempting to connect is:
    
    2017-06-29T00:56:02.103512Z 23 [ERROR] Plugin group_replication reported:
    'There was an error when connecting to the donor server. Check group
    replication recovery's connection credentials.'
    
    But the issue has nothing to do with credentials, but the fact that Group
    Replication only works when the hostname/IP address is resolvable.
    
    Resolution:
    Error message has been improved.

commit 73971feb9ecfe804fb34c164eea80becd494430c
Merge: 025871a 5c2c8b6
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Aug 7 14:43:45 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster
    
    Periodic merge

commit 5c2c8b6b436693defad71cf017b82deb15cae0d8
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Aug 7 11:41:16 2017 +0530

    Bug#26431355 : ALTER TABLE COMMENT FAILS WITH FAILED
                       TO DROP TABLE SDI AFTER UPGRADE
    
    Post push fix:
    
    - Test main.dd_upgrade_test gets warning in error log file
      when started with --binlog-format option.
    - The bug fix patch removed unnecessary call_suppression from
      main.dd_upgrade_test.
    - Add suppression call again.

commit 1462d79e6e687e3c5af852586c3259c7f9326f79
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Aug 4 13:30:24 2017 +0530

    Bug#26438067: CRASH ON EVENT_SCHEDULER::START WITH
                  --THREAD_STACK=123456789012345
    
    Analysis
    ========
    Server exits when it is started with an abnormal
    'thread_stack' size.
    
    The problem is observed during an attempt to free an
    already freed memory. With the P_S enabled, when the
    thread creation fails due to the abnormal thread stack
    size, the instrumented 'scheduler_param_value' is freed.
    The subsequent clean up in 'Event_scheduler::start'
    results in double free of the memory.
    
    Fix
    ===
    The clean up in 'Event_scheduler::start' now uses
    my_free() to prevent double free during clean up.

commit ff34ed46fb0471acd969ad2e767c0009150657dd
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Sun Aug 6 09:44:36 2017 +0530

    WL#10806: Component status variables as a service for mysql_server component
              (sub-worklog for wl6667)
    This worklog will provide the component status variables as a service to
    the mysql_server component. The components can use register and unregister
    service apis to handle their own status variables.
    Note: There is a separate wl#9424 implemented for component system variables.

commit 8abb8f9a1488669ca76bad1048e83c0e1f8c886b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Aug 4 17:23:24 2017 +0200

    Bug#26193630 INCREASE PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
    
    Follow up fix,
    adjust max-thread-classes as well.

commit e110f637180571ef14dd1a553715c4081d3c2b07
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Jul 21 17:41:04 2017 +0530

    Bug#26517039	RACE BETWEEN DISCARD TABLESPACE AND SDI PURGE LEADS TO CRASH
    
    Problem:
    --------
    Purge generated from SDI tables is still accessing tablespaces after DISCARD.
    
    Fix:
    ---
    Take exclusive MDL on SDI tables for DISCARD operation. Purge on SDI tables
    take shared MDL. sdi_table->ibd_file_missing=true
    
    Reviewed-By: Bin Su <bin.x.su@oracle.com>

commit 0938680b40aa8a8f2fcaecaf16d322961c4c509d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Aug 4 18:29:20 2017 +0530

    Bug #22687023	GENERATED COLUMNS DON'T WORK WITH FOREIGN KEY ACTIONS
    
    - Post push change to make the code more readable.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 387c50ee68ab3356df2f2ae5f1e0c8bdf90e97dd
Merge: 8f49ec9 270f0e1
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Aug 4 18:24:55 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 270f0e1dc53c7a76cf2d394bc039a3f6ed2181d5
Merge: 1716727 d311975
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Aug 4 18:21:52 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d311975bac07372b3437bf5ded62b431ea032a67
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Aug 4 18:18:47 2017 +0530

    Bug#25687813	REPLICATION REGRESSION WITH RBR AND PARTITIONED TABLES
    
    PROBLEM
    -------
    
    While applying update the slave is trying to initialize all partitions
    before reading from rnd_pos() call. This is done for each row update
    because of which the performance is getting effected.
    
    FIX
    ---
    
    Initialize only the partition on which rnd_pos() is called.

commit 8f49ec9098067eccefe8eb4476af6921e6d1c846
Merge: 08221f1 1716727
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Aug 4 14:36:54 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 171672707276227989a1447c5004b6adf190bdc4
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Aug 4 10:35:08 2017 +0200

    BUG#26571683: test gr_applier_early_failure is failing
    
    The test was failing, not being able to DROP table used on test.
    
    The cause was START GROUP_REPLICATION can return success and failure, so we
    skip the reset of super read only when execute STOP GROUP_REPLICATION to
    prevent the case that START fail.
    
    We disable the super read only after STOP to prevent failure of dropping table
    when START succeeds.

commit 08221f14b188c9d99961e05416d2fc286842f098
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Aug 4 13:20:30 2017 +0530

    Bug#26431355 : ALTER TABLE COMMENT FAILS WITH FAILED
                   TO DROP TABLE SDI AFTER UPGRADE
    
    Problem:
    --------
    After upgrade and restart, ALTERs on tables aren't to update SDI.
    The reason is during upgrade, after adding SDI index, InnoDB tablespace
    flags (fsp_flags) are updated. But the fsp_flags are not updated in
    the dd::Tablespace se_private_data. So after restart, tablespace behave
    as if there is no SDI index.
    
    Fix:
    ----
    Change the handlerton APIs from const to non-const dd::Tablespace objects.
    SE will be able to update se_private_data
    
    InnoDB, after updating fsp_flags to dd::Tablespace::se_private_data,
    server updates the dictionary.
    
    Also removed unnecessary call_suppression from main.dd_upgrade_test and
    main.dd_upgrade_error.

commit c997ab7559fb6fcca53c704bbc3a0a27f15d5550
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 4 09:22:12 2017 +0200

    Bug#26561779 TEST MAIN.KILL IS UNSTABLE
    
    Test failed with "query 'reap' succeeded - should have failed with
    errno 1317" due to a race condition.
    
    Fix suggested by Laurynas Biveinis in bug#87189.
    
    Approved by Tor Didriksen <tor.didriksen@oracle.com> over e-mail.

commit ff0b98fe6457f4052d73933c48a98641a17f554a
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Aug 4 09:13:44 2017 +0100

    BUG#25982097 WRITESET DEPENDENCY TRACKING SUB-OPTIMAL AFTER ROTATION OR
                 ON EMPTY TRANSACTIONS
    
    This is a post push fix.
    
    The previous post-push fix missed some cases like transactions with view
    changes (they have start, end, no statement, no rows, not a DDL, no
    XID).
    
    We added a third flag to the solution: if the cache has content other
    than START/END.

commit 0ddfae2d0945f57b34a4652ac396aacadd5d656c
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Aug 4 09:19:44 2017 +0200

    Bug#25466100: Fixed NDB build problem

commit 1da4f57a2635da6fc92fbfc5ce500db419cee592
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Wed Jul 26 11:05:27 2017 +0200

    Bug#26516678 SERVER CRASH IF XPLUGIN INSTALLED IF SERVER STARTED WITH SKIP-GRANT-TABLES
    
    Description
    ===========
    
    MySQL Server calls plugin exit routine without calling the plugins
    entry routine. The exit routine refers to not initialized variable
    "plugin handler".
    
    Fix
    ===
    
    X Plugin exit routine is going to use the "plugin handle" received
    by parameter.
    
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
    RB: 16880

commit 992d8c43ccd71d7c5b250191c1f246e5754d73b3
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Thu Aug 3 19:05:45 2017 +0200

    WL#10439 - Support SRID in InnoDB Spatial Index
    
    This worklog adds srid and srid_is_valid fields in dict_index_t. These will be used to pass SRID to all
    spatial functions/callbacks.
    This worklog doesn't introduce any user-visible changes - will be visible after WL#8592 which implements mocked column SRID.
    
    RB#16611
    Reviewed by Jimmy Yang

commit e9a224e44a9067a6a85005f2738dca491acadc13
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jul 7 12:04:18 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 15]
    
    Finally remove HASH, now that there are no more users left.
    
    Change-Id: I4c41878f331623d5ac5174750ca88b3917a26be0

commit f24d971ac7c83c3cfbda8c85ca639b999b66af28
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Jul 28 18:09:16 2017 +0200

    Bug #26141933: X PLUGIN DOES NOT BUILD WITH NON STANDARD CMAKE ARGUMENTS
    
    Description:
    X Plugin doesn't build with cmake arguments that are used rarely.
    
    Solution:
    - fix cmake files to properly handling against -DWITHOUT_MYSQLX=1 flag
    - fix MTR tests for proper execution when -DWITHOUT_MYSQLX=1
      or -DDISABLE_PSI_*=1
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
    RB: 16375

commit 0fb2715ffa1116fd08f3460eb14e5c2e4df121f1
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Aug 3 12:42:20 2017 +0200

    Bug#25466100: Refactor const_item processing
    
    The main purposes of this patch is to
    - provide consistent handling of items that are constant, and
    - unify handling of non-dependent expressions.
    
    Currently, the function that determines if an expression is constant
    may deliver different results whether in the resolving stage or
    optimization or execution stage. This is a problem when we want a
    preparation to last for multiple executions.
    
    We also lack a separate indication for expressions that are constant for
    the duration of one execution, typically parameter values, non-dependent
    subqueries and deterministic functions.
    
    These problems are fixed as follows:
    
    - Let the function Item::const_item() function be a consistent property
      for all Item objects after they are resolved.
    - Add a new function Item::const_for_execution() that is true for
      all expressions that need to be evaluated only once per execution.
    - Replace the PARAM_TABLE_BIT with a INNER_TABLE_BIT that is set for
      expressions that are constant for one execution.
    - Add a new function Item::may_evaluate_const() that is used to decide
      whether a constant Item may actually be evaluated in a specific phase
      of query evaluation.
    - Remove the tables_locked_cache property for all Item objects.
    
    Item::const_item() is basically true for all items that have no table
    reference bits set, ie they neither reference a local table, nor
    an outer table, nor a non-deterministic function, nor are they assigned
    a value once per executions. These are typically literal values,
    subqueries that do not reference any tables or deterministic
    functions that reference no tables. Notice however that we cannot fully
    determine const-ness based on referenced table bits only, so const_item()
    is still a virtual function with separate implementations per Item class.
    
    Item::const_for_execution() is fully implemented as having only the
    INNER_TABLE_BIT set. Thus, it is a non-virtual function.
    This is a renaming of Item::const_during_execution(), which was virtual.
    
    Item::may_evaluate_const() is a function that may return different
    results based on execution stage and Item. It is mainly used to
    determine whether an expression may be evaluated by the resolver.
    It is always false when resolving a CREATE VIEW statement, since we
    need to preserve all items for later writing to the dictionary.
    For all other contexts, it will return true for all constant items.
    It will also return true for all items for which const_for_execution()
    is true, when called during optimization or execution.
    
    The old function Item::can_be_evaluated_now() is removed. This was a
    function that applied to both const and non-const expressions.
    The old const_item() might also call this function, making a function
    that is supposed to be simple rather complicated.
    
    A few functions have been added in the Item_subselect class for
    accumulation of table properties, in effect assigning INNER_TABLE_BIT
    to a subquery when the underlying query expression refers to local
    tables.
    
    For optimizer analysis, INNER_TABLE_BIT is just like specifying a
    const table, see range analyzer and make_join_select().
    
    Functional changes:
    
    Functional changes are attempted to be kept small, but some have been
    deemed necessary:
    - Non-dependent subqueries without references to any tables are made
      const and may be evaluated during resolving. Note however that due to
      runtime bug#24595581, deterministic functions are not treated similarly.
    - The is_not_null_test function is no longer made const during execution
      because that is not compliant with being a non-deterministic function.
    
    Possible additional changes (future refactoring):
    
    - Deterministic functions should be denoted const and hence be evaluated
      during resolving. This is now impossible due to an open bug.
    - It would be nice to convert Item::used_tables() to a non-virtual
      function and store used_tables data in all Item objects.
    - It would be nice to convert Item::const_item() to a non-virtual
      function that is fully defined as used_tables() == 0.
    - It might be possible to remove the "uncacheable" property from
      subqueries and query expressions and instead rely upon used_tables().
    
    Test changes:
    
    main.subquery_mat_cost_based:
    
    - HAVING clause is evaluated in optimization stage, thus outer query
      is determined to be "always false".
    
    main.explain
    
    - "Impossible HAVING" is removed from an explain test.
      An Item_is_not_null_test object is added as the HAVING condition in
      a subquery transformation. This object has RAND_TABLE_BIT set
      (a technique to avoid promotion to a WHERE clause), but may at
      the same time have const_time_cache = true. In new code, const_item()
      is derived from used_tables(), thus it is no longer const and must
      be evaluated for every execution (marginal performance impact).
    
    main.explain_other
    
    - read_cost is reduced from 1.38 to 0.25.
    
    main.func_if
    
    - Additional truncation warning is done, this is actually an uncovered bug:
      In Aggregator_distinct::setup(), we have this code:
        if (arg->const_item())
        {
          (void) arg->val_int();
          if (arg->null_value)
          {
            const_distinct= CONST_NULL;
            DBUG_RETURN(false);
          }
        }
      Thus, it calls val_int() on a const argument, even though the
      argument (in this case the scalar subquery), has field type string,
      to discover if the argument is NULL. val_int() causes warning,
      val_string() would not.
    
    main.partition_locking
    
    - Subqueries are evaluated in optimization stage and thus explain is reduced.
    - A few handler operations are reduced. This happens e.g. for this query:
      SELECT * FROM t2 WHERE a = sf_a_from_t1b_d('1') AND a = 2;
      Now, check_simple_equality() checks right_item->const_for_execution()
      instead of right_item->const_item(), thus a deterministic function may
      be evaluated here. This in turn causes WHERE condition to be false
      and we avoid entering the join loop.
    
    main.ps
    
    - A subquery is reduced also for prepared statements. This transformation
      was only enabled for regular execution, with no particular reason.
    
    main.subquery_*
    
      SELECT a FROM t1 WHERE (SELECT 1 FROM DUAL WHERE 1=0) IS NULL;
    
    - The subquery is now marked as "const" (since it refers no tables) and
      will thus be evaluated during preparation to determine if "IS NULL"
      is true (which it is), and hence the explain text is shortened.
    
        SELECT col_varchar_nokey
        FROM t1
        WHERE (SELECT i1 FROM t0 WHERE i1 = 7) NOT IN
         (SELECT it2.col_int_nokey
          FROM t2 AS it2 LEFT JOIN t1 AS it1
          ON it2.col_varchar_nokey = it1.col_varchar_key
         );
    
    - This query is now denoted "Impossible WHERE" since the false WHERE
      condition was detected in optimize_cond(). The use of
      Item::const_for_execution() ensure this. Earlier, "Impossible WHERE"
      was detected after reading const tables.
    
        SELECT col_varchar_key
        FROM t1
        WHERE (7,2) NOT IN
         (SELECT col_int_key,col_int_nokey FROM t2);
        explain extended SELECT col_varchar_key
        FROM t1
        WHERE ((SELECT i1 FROM t0 WHERE i1 = 7),
               (SELECT i1 FROM t0 WHERE i1 = 2)) NOT IN
                (SELECT col_int_key,col_int_nokey FROM t2);
    
    - Same as above
    
    main.subquery_mat_*
    
        select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01');
    
    - is_not_null_test is no longer "const", albeit having RAND bit set.
    
        SELECT MIN(t2.pk)
        FROM t2
        WHERE t2.pk>10
        HAVING ('m') IN (
        SELECT v
        FROM t2);
    
    - Subquery is evaluated in optimization stage, thus explain is shorter.
    
        EXPLAIN SELECT (SELECT NULL, NULL) IN (SELECT 1, 2);
    
    - Explain shows SUBQUERY and not DEPENDENT SUBQUERY, looks correct.
    
    main.subquery_sj_*
    
    - BUG#13848789 reports "Impossible HAVING" instead of
      "Select tables optimized away". Now, the IN subquery in the HAVING
      clause is marked as "const_for_execution()" and the HAVING clause is
      thus evaluated as FALSE. This was picked up in remove_eq_conds().
      In trunk, the IN subquery is not regarded const,
      hence it is evaluated during execution.
    
    opt_trace.general2_no_prot
    
    - HAVING is evaluated earlier.
    
    opt_trace.general_no_prot_*
    
    - In the query:
        select * from t6 where d in (select f1() from t2 where s="c"),
      the equality d = f1() is transformed into a multiple equality.
      It happens because const_item() for f1() is true, even though
      RAND_TABLE_BIT is also set for the function object. Now, const_item()
      is set according to the used_tables() data, and thus it is not
      transformed into a multiple equality.
    
    i_main.sp-bug23577867
    
    - Small change in caching because Item_func_isnull::const_item() is true.
    
    i_main.derived-bug25171608
    
    - A transformation with minor importance is no longer performed.
      It will be reintroduced when single preparation is implemented.

commit 025871a01c37d387726a87796f403689ae5d1634
Merge: 6e82782 08bd7b0
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 3 12:31:21 2017 +0100

    Merge ../mysql-5.7-cluster-7.6 into mysql-trunk-cluster

commit 08bd7b02829c3a50630d198751eef9f1f427a133
Merge: 8adf76a 0e3e08a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 3 12:31:03 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 0e3e08a43f5008f043181e82fbf1d2a59556bf28
Merge: 6b12be7 a8b3554
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 3 12:30:43 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit a8b3554a38b93ec454489fc9a1e7e1f4ed90e9cf
Merge: f1cad85 5a56c09
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 3 12:30:24 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 5a56c091839dd49829f720496388ade2fc872632
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Aug 3 12:27:16 2017 +0100

    Bug #26568782 	NDB : TC GCP COMPLETION LOG TOO VERBOSE
    
    Fix problem introduced in fix to Bug#26364729 which adds TC logging which
    can occur in normal operation.
    
    Logging changed to occur only as part of node failure handling.

commit d94537e9ecc3524706c91f15f3cec0c9e2595201
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 3 12:57:42 2017 +0200

    Misc cleanup of warnings:
    Last line in file service_pfs_notification.h is not terminated with a newline.
    admin_cmd_index.h '*/' found outside of comment
    
    Change-Id: Ib82c6f4c7c25305308e48a059cc45b4d8e9e8936

commit 073bea43c107dd38e3a42ea95747170da1e12541
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 3 09:42:10 2017 +0200

    Bug#26436968 SWITCH TO DEVTOOLSET 6 FOR EL6 AND EL7 FOR MYSQL 8.0
    
    Extra patch for
    WL#9509 - X Protocol connector code extraction from mysqlxtest to libmysqlxclient
    
    Fixes warning for gcc 6.2 on linux/sparc:
    message_field_chain.cc.o Error 1
    extra/protobuf/protobuf-2.6.1/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
    inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
    error: parameter 'ptr' set but not used
    
    Change-Id: I691bbf6e87e41ff44b5b38c225c65add2f890eb5

commit f2376e65138a2e0ea053bda8b150468ffe4ff2e6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 14 16:39:54 2017 +0200

    Bug#26436968 SWITCH TO DEVTOOLSET 6 FOR EL6 AND EL7 FOR MYSQL 8.0
    
    Look for /opt/rh/devtoolset-6/root/usr/bin rather than devtoolset-3
    
    Change-Id: I37b5e321a2b50deac5c62db882cad854e0cc001f
    Also: fix one -Werror=misleading-indentation warning on linux/sparc.

commit 95256cc529b503cd7c889f4ecf71aa70056f55ef
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 14 13:00:22 2017 +0200

    Bug#26442367 ALWAYS ENABLE SAFE_MUTEX IN DEBUG BUILDS, MAKE MEMCACHED UBSAN CLEAN
    
    CMakeLists.txt contains this snippet:
    
    IF(NOT WITH_INNODB_MEMCACHED)
      FOREACH(LANG C CXX)
          SET(CMAKE_${LANG}_FLAGS_DEBUG
              "${CMAKE_${LANG}_FLAGS_DEBUG} -DSAFE_MUTEX")
      ENDFOREACH()
    ENDIF()
    
    There  should be  no  reason to  disable safe_mutex  if  we build  the
    memcached  plugin  (it  actually   hides  real  problems,  since  most
    pushbuild trees are built with  the memcached plugin) Enabling it, and
    running with  UBSAN shows a  few issues,  with wrong mutex  usage, and
    undefined behaviour.
    
    engine.h
    src/innodb_engine.c:312:32:
    runtime error: index 1 out of bounds for type 'feature_info [1]'
    
    config_parser.c
    config_parser.c:127:24:
    runtime error: signed integer overflow: 1073741824 * 1024 cannot be represented in type 'int'
    
    innodb_engine.c
    the double assignment to innodb_eng->info.info.features[0].feature *must* be wrong
    innodb_engine.c:2341:3: runtime error:
    null pointer passed as argument 1, which is declared to never be null
    
    sql/sql_plugin.cc
    ==9557== Process terminating with default action of signal 6 (SIGABRT)
    ==9557==    at 0x78DD91F: raise (in /usr/lib64/libc-2.24.so)
    ==9557==    by 0x78DF519: abort (in /usr/lib64/libc-2.24.so)
    ==9557==    by 0x78D5DA6: __assert_fail_base (in /usr/lib64/libc-2.24.so)
    ==9557==    by 0x78D5E51: __assert_fail (in /usr/lib64/libc-2.24.so)
    ==9557==    by 0x23272A2: safe_mutex_assert_owner (thr_mutex.h:151)
    ==9557==    by 0x2329884: plugin_del(st_plugin_int*) (sql_plugin.cc:1097)
    ==9557==    by 0x232C1FB: memcached_shutdown() (sql_plugin.cc:1889)
    ==9557==    by 0x21BC38F: clean_up(bool) (mysqld.cc:1925)
    ==9557==    by 0x21C7A72: mysqld_main(int, char**) (mysqld.cc:5970)
    ==9557==    by 0x21B9795: main (main.cc:25)
    
    Change-Id: I88bb6751ae8401d4c461a6f03dd098f016e0adf8

commit 124388cf1be45772f62504c6aecee1f96ed52d7f
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Aug 3 10:28:25 2017 +0200

    Bug#25526439: Assertion failed: is_fixed_or_outer_ref(this)
    Bug#25071305: Assertion failed: first_execution || !tl->is_view_or_derived() ...
    Bug#24716127: Incorrect behavior by insert statement with "on duplicate ..."
    
    This is a combined fix for three regression bugs in INSERT resolving
    that came after WL#5094 refactoring.
    
    The main problem here is about bad sequence of resolver actions, as
    WL#5094 introduced one sequence for all INSERT syntax that proved to
    be insufficient. The problem was that apply_local_transforms() was
    sometimes not performed for subqueries in the INSERT ... ON DUPLICATE KEY
    UPDATE clause.
    
    It is necessary to know one implementation detail in order to grasp the
    full problem: Subqueries on INSERT ... VALUES clauses and subqueries in
    ON DUPLICATE KEY UPDATE clauses are attached to the last query block of
    the query expression of the INSERT statement, even though they are not
    actually referenced from this query block. And apply_local_transforms()
    will only be applied to subquery objects when called from an outermost
    query block.
    
    The solution is to identify three distinct cases for ON DUPLICATE KEY
    UPDATE resolving, with their required resolver sequences:
    
    1. INSERT INTO t ... VALUES ... ON DUPLICATE KEY UPDATE ...
       - Resolve VALUES expressions.
       - Resolve ON DUPLICATE KEY UPDATE expressions.
       - Call apply_local_transforms() on outer-most query block, which
         will include any subqueries in VALUES expressions.
    
    2. INSERT INTO t ... SELECT <non-union> ON DUPLICATE KEY UPDATE ...
       - Resolve SELECT query block, but do not call apply_local_transforms().
       - Combine context for SELECT query block and INSERT table
         (if the query block is non-grouped).
       - Resolve ON DUPLICATE KEY UPDATE expressions.
       - Call apply_local_transforms() on outer-most query block.
    
    3. INSERT INTO t ... SELECT ... UNION ... ON DUPLICATE KEY UPDATE ...
       - Resolve ON DUPLICATE KEY UPDATE expressions.
         (the outer query block may stay unresolved because there are no
          references into it).
       - Resolve the query expression, include calling apply_local_transforms()
         which will also include any subqueries in ON DUPLICATE KEY UPDATE
         clauses.
    
    In addition, we have extended with two new subquery context types:
    CTX_INSERT_VALUES and CTX_INSERT_UPDATE. They are used to generally
    provide more information about the parsing process, and in particular
    make it possible to build AST without outer references from subqueries
    in INSERT ... VALUES statements and in INSERT ... ON DUPLICATE KEY UPDATE
    statements.

commit 5600799753297365cdd8bff4ec3906120f03fa97
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Aug 2 22:49:28 2017 +0530

    Post Push fix for test failure of innodb.innodb_fts_limit_check for
    bug#25851975  on trunk

commit d21e3c7c4724a83c28eecca8c915d8efe06d7ece
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Aug 2 17:47:59 2017 +0200

    BUG#26555951 CRASH IN INNODB_DEADLOCK_WITH_AUTOINC - PB2 TEST FAILURE
    
    Problem:
    ========
    The problem is localized to the function lock_grant_vats().  The objects involved
    in the problem are "heap", "waiting" and "granted".  The objects "waiting" and
    "granted" are using "heap".  This "heap" is freed at the end of the function.
    The destructors of "waiting" and "granted" are called after that.  So this results
    in crash.
    
    Solution:
    =========
    The solution should be to increase the lifetime of "heap".  The "heap" needs to be
    freed after destroying objects "waiting" and "granted".
    
    RB: 16943
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>

commit b51023d45ef657f621a7fe1bf52d3d79dba9a771
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Aug 2 10:41:18 2017 +0100

    BUG#25982097 WRITESET DEPENDENCY TRACKING SUB-OPTIMAL AFTER ROTATION OR
                 ON EMPTY TRANSACTIONS
    
    This is a post push fix to easy the backporting.
    
    The previous approach of detecting an empty transaction was counting the
    amount of events in the binlog cache.
    
    We changed this approach to consider two new flags: one if the cache has
    seen a transaction start statement and other if the cache has seen a
    transaction end event. A transaction cache that saw a start, an end and
    didn't has statements or rows changing content will be considered having
    an empty transaction.

commit 77f5fd58b75855c5e4bee45a3cba7432587741c2
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Fri Jul 28 15:22:23 2017 +0100

    BUG#25896166 APPLYING_TRANSACTION.R..A..S_BY_WORKER COL DOESN'T GET CLEARED FOR GR RECOVERY
    
    Problem:
    Sporadically, when MTS is enabled, the value for APPLYING_TRANSACTION in
    the P_S table replication_applier_status_by_worker would not be empty
    for an inactive worker.
    
    Analysis:
    The structure which populates the table corresponding to the worker's
    thread after it is no longer running was being populated before the
    thread stopped. This means that, sporadically, the information on the
    table did not display the correct state of the thread.
    
    Fix:
    Wait for the worker thread to stop before copying the information to the
    structure that is used to populate the P_S table.

commit 0abc467832fdde9945e315db3cebb17e27a0561a
Merge: 17d438a 82244b5
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Aug 2 18:14:30 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 82244b5c6ece708577a8a11c874fb62f1ba2cc27
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Aug 2 18:12:02 2017 +0530

    Bug #25851975   ASSERTION FAIL DURING FULLTEXT SEARCH QUERY WITH LIMIT
    CLAUSE
    
    PROBLEM
    
    While using ngram fts search with LIMIT clause wrong results were
    returned and also at limit 5 there was crash observed.Basically , a
    counter value n_docs which is part of fts_query_t structure is not
    refreshed after filtering doc_ids, which makes this counter keeps
    increasing and when the limit is put to 1 or higher values the number of
    matched rows returned is wrongly calculated.
    
    FIX
    
    Resetting the counter value at the func exit solves this issue.
    
    Reviewed by:Jimmy Yang <Jimmy.Yang@oracle.com>
    RB: 16954

commit 17d438ad4ffe05341ed611a4cbfa0be6554cd68a
Merge: f1cfe2d 45b111c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Aug 2 17:17:03 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 45b111c42c1801260e9544424aec1c8cd1d7437b
Merge: 3fd8007 d53dc1c
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Aug 2 17:15:26 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d53dc1c608331c292f6a868328a06197afadf185
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Aug 2 17:14:34 2017 +0530

    Bug #25669686   INNODB CRASH WITH GENERIC DML WORKLOAD
    		AND LONG READ VIEW OPEN
    
    - Post push fix to avoid pb2 failure.

commit f1cfe2d72f8715627aced53b584dfdff9dbda9b6
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Wed Aug 2 12:37:41 2017 +0530

    Bug#26483363:WARNING ABOUT EXPIRE-LOGS-DAYS
    
    Problem:
    When initalizing a new MySQL installation, the following warning comes
    even if expire_logs_days is not set explictly:
    
    2017-07-19T11:31:56.368456Z 0 [Warning] The syntax 'expire-logs-days' is
    deprecated and will be removed in a future release. Please use
    binlog_expire_logs_seconds instead.
    
    Root cause:
    The default value of expire_logs_days is 30 so at server startup it is
    assumed that it is set and the warning is printed.
    
    Fix:
    Move the code for printing warning message out of server initialization method.

commit 6e82782271bf06d209510bb885ba3c2497157e43
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Aug 1 23:41:56 2017 +0300

    wl#7614
    
    bug#26027765: trunk: re-enable ndb_import*.test

commit 4ed24140a1225bd491085537e1bc08cfe0382ffc
Merge: b56b48d 8adf76a
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Aug 1 20:42:34 2017 +0300

    Merge branch 'wl7614-7.6' into wl7614-mtc

commit 8adf76a8e32cefb4d281787180307e66e554396c
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Aug 1 20:07:21 2017 +0300

    wl#7614 bug26027765.diff
    
    use LOAD DATA charset binary or latin1
    make automated perl test of utf8/mb[34] later

commit 333a4d5227872d80182c7ab7bf783b9132b1623a
Author: Vitor Oliveira <vitor.s.p.oliveira@oracle.com>
Date:   Tue Aug 1 17:19:04 2017 +0200

    BUG#26277771 - BAD WRITE SET TRACKING WITH UNIQUE KEY ON A DELETE FOLLOWED BY AN INSERT
    
    Problem: When generating writesets the collations on the database were
    not properly checked, so when case/accent insensitive collations are
    used on the database the writesets would be different for keys the
    database considers to be the same.
    
    Solution: The fix for this issue consists of generating the writesets
    from the keys only after addressing any collation effects using strnxfrm.

commit a32cf8575c5075f936a52affb0c71b3434a38886
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Aug 1 15:16:27 2017 +0200

    Fix some Clang 5 warnings.
    
    Change-Id: I8ec9c0ac9ac05072d9bc778f1a56ce43a1cf302b

commit b56b48ddc6425c22a5ac527c46e0b157f7690637
Merge: a22c050 283a68e
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Aug 1 11:48:20 2017 +0300

    Merge branch 'wl7614-7.6' into wl7614-mtc

commit 283a68e56d47f6a7c05a9f126e6ce734d2203cf2
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Aug 1 11:34:07 2017 +0300

    wl#7614 charset01.diff
    
    remove non-sensical table-charset
    make place for file --charset option

commit 7be09b2169fb8e0cd7d9e8f79f4b29fad15d01fb
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Tue Aug 1 10:21:54 2017 +0800

    Bug #25982097  WRITESET DEPENDENCY TRACKING SUB-OPTIMAL AFTER ROTATION OR ON EMPTY TRANSACTIONS - post fix
    
    'SET GLOBAL binlog_transaction_dependency_tracking= WRITESET' failed
    due to incorrect usage of binlog_transaction_dependency_tracking
    (!= COMMIT_ORDER) and transaction_write_set_extraction (= OFF).
    
    To fix the problem, set transaction_write_set_extraction to XXHASH64
    in any case.

commit ff45d93a29e60ec5842893fdad84da624ba4482d
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Tue Aug 1 00:26:30 2017 +0530

    WL#9699 : Change innodb_autoinc_lock_mode default to 2
    
      Changed compiled default value of innodb_autoinc_lock_mode
      from 1 to 2.
    
      Reviewed by : Satya Bodapati <satya.bodapati@oracle.com>
      Reviewed by : Sunny Bains <sunny.bains@oracle.com>
      RB : 16800

commit c88def4917a52fdb164d0c51dafa4d6201315410
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jun 9 10:35:02 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 14, noclose]
    
    Convert all the remaining plugins and plugin infrastructure.
    
    Change-Id: If1a5be4819dc830b0d4602d57c1250badc304e23

commit 451298339a000c6831654d406577af724dc0f1a2
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jul 31 15:09:16 2017 +0530

    WL#9644 : Enable event_scheduler by default
    
    Post push fix:
    
    - sys_vars.event_scheduler_basic.test changes processlist_user and
      processlist_host in performance_schema.threads table. These values
      do not get reset at the end of the test. This can lead to sporadic
      failure for the tests following the test.
    
      Similar sporadic failure was observed where performance schema maintains
      an invalid entry in performance_schema.objects_summary_global_by_type
      even after the event is dropped by event scheduler.
    
      Reported Bug#26533649 and Bug#26549155 for the performance schema
      framework. Restart server at the end of test to fix the sporadic failures.

commit 48ccf790b383f4ed320bdac1d5f52f320be1a863
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jul 31 10:21:19 2017 +0200

    Applied clang-format (4.0.0 git)

commit ded5454cfff69b288d56cf3b79253007bccba54f
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Sat Jul 29 13:48:02 2017 +0200

    Follow-up to WL#10972 : stabilize test
    
    One machine is pb2 is fast, and executes the 1000 iterations so fast
    that we don't have time to switch to the other connection and kill.
    So, allow more iterations, like before wl#10972 was implemented.

commit 61a6633c55ba2de4e22dae37336e3293b886dc44
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Jul 28 18:48:59 2017 +0200

    Build cleanup, when compiling without performance schema.

commit a22c0502573f7a4e6c8e1bfc8a4b8babc8698042
Merge: 7f891f9 4f5674f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri Jul 28 15:25:01 2017 +0300

    Merge branch 'wl7614-7.6' into wl7614-mtc

commit 9d8a79ef0053f2436da4b25642982209b3ddffcf
Merge: 7861484 3fd8007
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jul 28 15:46:28 2017 +0530

    Bug #25669686	INNODB CRASH WITH GENERIC DML WORKLOAD
    		AND LONG READ VIEW OPEN
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit 3fd800796925addb8faddc66837d9b80d77ac4b0
Merge: 352d82c bff5a32
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jul 28 15:43:52 2017 +0530

    Bug #25669686	INNODB CRASH WITH GENERIC DML WORKLOAD
    		AND LONG READ VIEW OPEN
    
    - Merge branch 'mysql-5.6' into mysql-5.7

commit bff5a329abc427ab5341342a12fd01dc7e285be3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jul 28 15:41:13 2017 +0530

    Bug #25669686	INNODB CRASH WITH GENERIC DML WORKLOAD AND LONG READ VIEW OPEN
    
    Problem:
    ========
     During end range comparison, record belongs to secondary index but the prebuilt
    template maps to clustered index. For mapping, InnoDB stores all the clustered
    index field number of secondary index fields. Mysql template points to whole
    field instead of prefix index field. In that case, field number didn't match
    with template field number and it didn't store the respective data in template.
    It fails while comparing the record with end range value.
    
    Solution:
    =========
    Store the column object instead of storing the field number for mapping the
    secondary index record to clustered index mysql template.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 16813

commit 7861484c12f906c5e65d85c56218ee0cc536c7b6
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Tue Jul 11 17:55:14 2017 +0200

    WL#10744 - Full-Text Index Type
    
    Support creation of Full-Text Index of a Sub-Document
    
    Approved by: Vinay Fisrekar <vinay.fisrekar@oracle.com>

commit 0b5e326847f46252db8af80646dcf2524944967c
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Jun 12 14:32:49 2017 +0200

    WL#10734 - Spatial index type
    
    Support creation of Spatial Index of GeoJSON data stored
    in JSON documents
    
    Approved by: Vinay Fisrekar <vinay.fisrekar@oracle.com>

commit 2e5d68b9f9a088f1c6d40f47c77209d926297bff
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Jul 19 15:46:49 2017 +0200

    WL#10972 Add a variable cte_max_recursion_depth to limit recursion in CTE
    Bug#26136509 ADD A MAX_RECURSION VARIABLE TO LIMIT RECURSION IN CTES
    
    Name: cte_max_recursion_depth.
    Default: 1000.
    Set it to large value (max 4G) to bypass the check
    (I initially allowed 0 for that goal, but think that it's not logical,
    makes code more complicated, and the existing max_sp_recursion_depth sets
    a precedent: setting it to 0 means "max depth is 0" i.e. prevent recursion;
    so I make cte_max_recursion_depth=0 mean the same).
    
    Each recursive query block counts its iterations separately
    from other blocks and emits error if that count exceeds the limit.
    This is consistent with the intuitive idea that an iteration is
    made of one execution of each block.
    Implementation:
    - in Recursive_executor, needed one more bool, so collapsed 3 bools
    in one uint8 bitmap.
    - Recursive_executor::iteration_counter must be accessed from
    sub_select(), so moved it to JOIN.
    - that iteration_counter was so far only used in ==0/!=0 (to know if
    recursive executions had started) and for MTR error injection. Now
    it's used for CTE control so I'm giving it a more accurate counting,
    which takes into abbount the fact that iterations happen not only at the level
    of unit::exec() (query_block->exec(); again; again) but also inside
    one single sub_select() call: indeed when UNION ALL is used, the produced
    rows are immediately visible in the row-reading loop of sub_select(),
    and sub_select eating its own rows should be counted as a new iteration.
    For example in
    with recursive qn as (
    select 1 as a union ALL
    select 1+a from qn where a<...) ...
    all iterations actually happen inside one single sub_select() over qn.
    See also the comment in front of Recursive_executor for a refresher.
    - Due to this, the recursive-query blocks in sub_select() are refactored
    a bit:
    ** added early bail out if got_all_recursive_rows (saves a bound-to-find-
    nothing row read; not strictly needed in this batch, but good)
    ** for this bailing out to not have to restore PFS batching, moved PFS batching
    a few lines down
    ** simplified access to JOIN's unit
    ** added counting of iterations and error message

commit 631dc5b28ffb18e4412c8e4f5bf062c00472a742
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Jul 27 20:27:09 2017 +0200

    Revert "WL#10820: Make keyring_okv support password encrypted private keys"

commit 513577b83e1f0ab0a0dc2f5aef2183f35d4d1578
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Tue Jul 11 18:53:01 2017 +0300

    WL#10820: Make keyring_okv support password encrypted private keys
    
    The keys used to connect to a KMIP server can be extra protected with a password.
    Add an extra file next to the key file holding the key password.

commit 4f5674f8d10850e31f12c801425543f11ba9bb4d
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 26 15:24:24 2017 +0300

    wl#7614 resume2.diff
    
    fix --resume when rowmap does not start at 0

commit 5b2528548205ade7e6da2bfefbb011576c29e357
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri Jul 21 14:11:39 2017 +0300

    wl#7614 mtr4.diff
    
    add rejects to consumer side

commit 3286953a91a60315f7298b1e3a082d4d20008507
Merge: 316cb30 352d82c
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Thu Jul 27 13:31:50 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 352d82c190dc60944847e0b0e1ba036125148296
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Thu Jul 27 12:56:15 2017 +0200

    Bug#26180350 : COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE SET TO GARBAGE ON RECOVERING SERVER
    
    Description:
    COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE in server version MySQL 8.0
    fetches data from m_transactions_waiting_apply variable.
    COUNT_TRANSACTIONS_REMOTE_IN_APPLIER_QUEUE is set to some garbage value when
    group_replication_recovery_complete_at= "transactions_certified" on a
    recovering member.
    It is due to the option group_replication_recovery_complete_at=
    "transactions_certified", which makes the member going into ONLINE status
    just after certifying the queue transactions, which will make pipeline_stats
    not to take into account the queue of this events into applier since at that
    moment the member was RECOVERING, but the apply of this events will be
    counted, since member will go immediately ONLINE(not waiting) due to system
    variable. This will cause the waiting_queue counter go to negative, which will
    later overflow on the unsigned performance schema values.
    
    Resolution:
    Since initial transaction received during recovery state will make counter go
    negative, check has been added to have number greater then equal 0.

commit 316cb30d40f6add44bd6ab6eda0f2e1872ab4196
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Jul 27 10:30:33 2017 +0530

    WL#9631 : Change InnoDB IO Defaults - innodb_flush_neighbors
    
     Changed compiled default value of innodb_flush_neighbors from
     1 to 0.
    
     Reviewed by : Satya Bodapati <satya.bodapati@oracle.com>
     Reviewed by : Sunny Bains <sunny.bains@oracle.com>
     RB : 16800

commit d70712240b3ddf17fcf603dfb26566b69765b2dd
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Thu Jul 27 09:37:45 2017 +0800

    Bug#25913151 PWRITE64(BUF) POINTS TO UNINITIALISED BYTE(S) IN OS_FUSIONIO_GET_SECTOR_SIZE()
    
    We need to initialize the allocated memory before write it to file.
    
    Approved by Sunny Bains <sunny.bains@oracle.com> on IM.

commit 7f891f9c0b4e7c647cd2a71c4f1fb3f1f35bc0ac
Merge: ec5f93d 8da019f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 17:26:22 2017 +0200

    Merge ../push_26524096 into mysql-trunk-cluster

commit 8da019f9a6ae94bab29b894a071e0019a84d04e0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 17:23:29 2017 +0200

    BUG#26524096: Turns out that we need to check block reference to see if the message is going to a proxy or not, using ndbmtd is no guarantee for using a proxy block for DBTC.

commit ec5f93de206955c39966a3f96fe95a3f49c583aa
Merge: 82c2451 9c50e57
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 13:15:15 2017 +0200

    Merge ../push_26524096_fix into mysql-trunk-cluster

commit 9c50e572064dd4165426250d8ea51c715d03cd87
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 13:15:00 2017 +0200

    BUG#26524096: Missed fixing also for ndbd

commit 9f58b5a584dc60d1604c37586fbc1447c46f2853
Merge: ea26c1c 1ec26b0
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Jul 26 11:53:49 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 1ec26b033a13ca8c10327ae151ff0d4dcc10ab13
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Wed Jul 26 10:36:43 2017 +0200

    BUG#25673788: MYSQLADMIN SHUTDOWN HANGS WHEN GR PLUGIN IS BUSY
    
    When we try to shutdown server through mysqladmin when GR plugin is in
    deleted state, shutdown hangs.
    
    When the plugin is in use and the server tries to uninstall it, it will mark
    the plugin as deleted and delay the uninstall to when execute shutdown.
    When executing the shutdown the server don't execute anything on plugins
    deleted.
    
    To solve this we don't allow remove the plugin when this is in use, it need to
    be executed first the command STOP GROUP_REPLICATION.

commit 82c24517e3f4e134e499a879279f74309fdc5f51
Merge: 924d38d 7499b65
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 11:20:50 2017 +0200

    Merge ../push_tinfo_fix into mysql-trunk-cluster

commit 7499b652c60d4f620bfa8a4e117c8a7a9b6e442a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 26 11:20:28 2017 +0200

    BUG#26524441: Fix of previous patch

commit ea26c1cc391b0e4e25d58699c5593cb78628bef8
Author: Deepthi ES <deepthi.e.s@oracle.com>
Date:   Wed Jul 26 14:04:35 2017 +0530

    Bug#26495812 REMOVE MASTER-INFO-REPOSITORY=FILE/RELAY-LOG-INFO-REPOSITORY=FILE RUNS IN DAILY
    
    This patch removes the runs for following options in PB2 daily runs :
    1. master-info-repository=FILE
    2. relay-log-info-repository=FILE.
    
    Background :
    - master-info-repository and relay-log-info-repository values decide whether
      replication slave status information is logged to TABLE/FILE.
    - WL#6959 deprecated the options master_info_repository=FILE and
      relay_log_info_repository=FILE.
    Hence, we can reduce the turnaround time for daily runs by removing testing
    of features that are now deprecated.

commit 35deb8aa8adc21b085fdb85a06b1688607733b70
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jul 26 08:32:41 2017 +0800

    Bug #25982097  WRITESET DEPENDENCY TRACKING SUB-OPTIMAL AFTER ROTATION OR ON EMPTY TRANSACTIONS
    
    Writeset replication generates sub-optimal commit parents on some
    circumstances:
    1. after rotation the minimum commit parent is 0 and not 1, which
    makes the slave applier serialize transactions and not execute
    them in parallel;
    2. empty transactions clear the history, while they could just be
    ignored.
    The use of smaller history sizes makes the system behave better
    as the minimal commit parent will be reset earlier.
    
    To fix the problem, set the minimum commit_parent to 1 after
    rotation and an empty transaction does not clear the writeset
    history any more.
    
    mysql-test/suite/rpl/t/rpl_binlog_transaction_dependency_tracking_with_filters.test
    The above test is updated, since empty transactions which are
    filtered out by REPLICATE_IGNORE_DB=(nodb) do not clear the
    writeset history any more.
    
    mysql-test/suite/rpl/t/rpl_binlog_transaction_dependency_history_size.test
    mysql-test/suite/rpl/t/rpl_binlog_transaction_dependency_tracking_with_fk.test
    mysql-test/suite/rpl/t/rpl_binlog_transaction_dependency_tracking.test
    mysql-test/suite/rpl/t/rpl_binlog_transaction_dependency_tracking_with_indexes.test
    The above tests are updated, since the minimum commit_parent is set
    to 1 after rotation.

commit 1b8fa605297a40e4796854ada4a9b01a87831a1b
Merge: 3da00dc 9d169bc
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Jul 25 17:21:32 2017 +0200

    Null-merge from 5.7.

commit 9d169bca54d56d4e6378ee4b001820f3b317aaef
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Jul 25 17:20:05 2017 +0200

    WL#10960: Backport WL#10611 to MySQL 5.7.20
    
    This worklog is created for the backport of the WL#10611 "Group Replication:
    Disallow writes after leave group" to MySQL 5.7.20
    
    This worklog improves the safeness on operations around Group
    Replication.
    
    Currently when STOP GROUP_REPLICATION is executed the group replication stops
    but clients are still able to do writes while the server is disconnected from
    the group, thence not replicating the writes to the group.
    
    This worklog enable super read only when STOP GROUP_REPLICATION is executed
    preventing clients to execute writes after it.

commit 3da00dc695e578ecbe62771751785a11264efe44
Merge: 26cb46d ba6ea2e
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Jul 25 19:03:48 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit ba6ea2e3bc2b200c841a3533bb3cc04612a467d6
Merge: 9e6b924 113050e
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Jul 25 19:02:22 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 113050e42f53ef830789fbd1eb92f2a7c3e80abd
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Jul 25 19:01:18 2017 +0530

    BUG#22350047: IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT
                  PREVIOUS STMTS COMMITTED
    
    ANALYSIS:
    =========
    Consider an uncommitted transaction in which we have
    created a savepoint and executed
    'ROLLBACK TO SAVEPOINT <savepoint_name>' and killed the
    client. When another client is started, the changes that
    were made before the savepoint creation are still
    reflected implying that the transaction was committed.
    
    In this scenario, when the client is killed, THD::cleanup()
    is called. During the cleanup, since the binary log is
    enabled, MYSQL_BIN_LOG::rollback() is called. The logic
    inside this function is, If thd->lex->sql_command ==
    SQLCOM_ROLLBACK TO SAVEPOINT, we should not perform a
    engine rollback, instead only the caches need to cleared.
    Here since the last executed command before the client was
    killed was 'ROLLBACK TO SAVEPOINT', thd->lex->sql_command
    will contain SQLCOM_ROLLBACK_TO_SAVEPOINT and hence engine
    rollback is not done and later the transaction is
    committed. Thus the changes done before the savepoint
    creation is reflected.
    
    This issue was caused because resetting of
    thd->lex->sql_command was not done after the execution
    of each statement.
    
    FIX:
    ====
    We are now setting thd->lex->sql_command to SQLCOM_END
    after execution of each statement.

commit 924d38dcd1194f6ca14e892ce84304009a9fb548
Merge: 6d8f66f 272be66
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jul 25 14:53:37 2017 +0200

    Merge ../bug26524096 into mysql-trunk-cluster

commit 272be66d152afe9b72c2b4549eeeac4349814129
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jul 25 14:48:34 2017 +0200

    BUG#26524096: Fix glitch in LCP protocol

commit 6d8f66faa3af4e04f0220a9936b335c73d328b73
Merge: 053a3d2 f6ac429
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jul 25 14:40:32 2017 +0200

    merge

commit f6ac429e4fc16287c54167cec348de0709fdbbd8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jul 25 14:34:16 2017 +0200

    BUG#26524441: Fix ndb_top build issue, some platforms require tinfo to be included

commit 26cb46d144aa2f29cf056692c7509ce2605ddfe9
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Jul 7 17:56:57 2017 +0530

    WL9636: Rename tx_{read_only,isolation} variables to transaction_*
    
    The system variables for default transaction isolation and
    read only transaction are 'tx_read_only' and 'tx_isolation'.
    This differs from the start up options which are:
    '--transaction_read_only' and '--transaction_isolation'
    This naming convention can be quite confusing for users.
    
    There are separate patches for 5.7 and trunk:
    
    In 5.7, the variables 'tx_read_only' and 'tx_isolation' are
    deprecated and usage of these variables would result in a
    deprecation warning. Two aliases for the deprecated variables
     have been introduced: 'transaction_read_only' and
    'transaction_isolation'.
    
    In trunk, the variables 'tx_read_only' and 'tx_isolation' are
    removed. 'transaction_read_only' and 'transaction_isolation'
    introduced in 5.7 serves as the alternative. This ensures that
    the system variables are in sync with the start up option names.

commit 3f24817fc0afface66bd0ac2ce8847c9d523dc5c
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Jul 25 13:34:15 2017 +0530

    Bug#25609945: GR SHOULD BLOCK OPERATIONS ON NON-COMPLAINT TABLES IN GR+ASYNC SETUP
    Bug#25828806: GR ALLOWS OPERATIONS ON NON-COMPLAINT TABLES THROUGH MYSQLBINLOG
    
    Post-push fix:
    Corrected the memory leak by freeing the memory allocated in
    prepare_table_info() in sql/rpl_handler.cc.

commit af4954f65f08f22059caf272c2b77ea66ebc28d2
Author: Libing Song <libing.song@oracle.com>
Date:   Fri Jul 21 18:17:32 2017 +0800

    BUG#26500285 OPT_RECKLESS_SLAVE SHOULD BE REMOVED
    
    opt_reckless_slave was initialized to 0 and never used. This patch removed it.

commit b40ba5b962e2e278742cb0e2c142cbac4bbf0fa2
Merge: ce6ab8e 9e6b924
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Tue Jul 25 13:20:38 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9e6b924107419d7de9d9e36f88a48aef659a80f2
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Tue Jul 25 13:10:52 2017 +0530

    Bug#26272158:FLUSH LOGS SENDS OK EVEN AFTER FAILING IN THE COMMIT PHASE
    
    Post-push fix:
    This test should not be run with valgrind as memory leak could be
    seen when the server crashes as part of the test.

commit ce6ab8e6f4e4c4cc3f389ef5bf6f9098a0fed20a
Merge: 89b3c8c 0cdaa47
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Jul 25 12:19:24 2017 +0530

    Null-merge from 5.7.

commit 0cdaa47b0eab261c54368cd78fa0d75808f67398
Merge: 9ad5be9 8fc2981
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Jul 25 12:17:32 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8fc2981f550c1e8ae38215fb19ba8bc1fd17a1b8
Merge: 780cd07 bb79cdb
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Jul 25 12:16:59 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit bb79cdb145e31c1999c91b9b8cd948901def067e
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Jul 25 11:49:51 2017 +0530

    Bug#26161247: MTR: --NOREORDER IS SEARCHING FOR TEST SCRIPT ONLY IN MAIN SUITE
    
    Issue:
    ------
    Running MTR with the --no-reorder option by specifying test cases on the
    command line, without prefixing the suite name results in an error saying the
    test case was not found in the main suite. This is because MTR looks for the
    test case only in the main suite, and no other suites.
    
    Fix:
    ----
    The fix involves searching for the test in every suite if only the test name
    is specified. This back-ports two bug fixes: Bug#24967869 and Bug#24365783
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 16812

commit 89b3c8c77499751daa8a0ef03554f1f784c1b889
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jul 25 10:49:48 2017 +0530

    Bug #25899921: INCORRECT BEHAVIOR WITH DESC INDEX AND
                   DELETE STATEMENT
    
    Issue:
    ------
    In case of an UPDATE/DELETE statement with an
    ORDER BY ... LIMIT, table scan is used. When the optimizer
    tries to check if there is a cheaper ordering compared to
    filesort, some checks are missing.
    
    Solution:
    ---------
    Use the table object instead of the JOIN_TAB object.

commit adf6db4c124ea63a82b706fcfdbcb8584e4d7619
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 24 11:54:55 2017 +0200

    WL#10237 - X Protocol expectations for supported protobuf fields
    
    Compatibility detection between MySQL Client and MySQL Server,
    in case when server receives X Protocol message which contains
    field that it doesn't know. Every field that was defined after
    initial release of X Protocol must be tests using:
    
      Client -> Server: Mysqlx.Expect.Open(+field_exist:field_id)
      Client <- Server: Mysqlx.Ok
      ... client - server message exchange ...
      Client -> Server: Mysqlx.Expect.Close()
      Client <- Server: Mysqlx.Ok
    
    Approved by: Tarique Saleem <tarique.saleem@oracle.com>

commit e71568f96b4979b9704ff384becb52895c09c7d9
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jul 24 19:53:22 2017 +0530

    BUG#26415721: MTR: REMOVE FAIL-CHECK-TESTCASES OPTION
    
    Description:
    ------------
    By default, check-testcase failure is considered as a normal test failure
    now and there is no need for a separate option 'fail-check-testcases' to
    enable it.
    
    Fix:
    ----
    - Removed the MTR option 'fail-check-testcases' and updated 'check-testcases'
      option documenation.
    
    - Option 'check-testcases' is enabled by default and the test will fail
      if there is a change in system state before and after the test run.
    
    - Option 'no-check-testcases' will disable this check.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 16755

commit e30b5e669971a5e2407184498078aab023e20644
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Jul 24 09:59:38 2017 +0200

    Bug #25769683: STRANGE ISSUE WITH ADMIN COMMAND "LIST_OBJECTS"
    
    post-push mtr test fix

commit 65ada460d88602728d2d65311bc4a9c13130bcc3
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Fri Jul 21 17:16:15 2017 +0530

    Bug#25609945: GR SHOULD BLOCK OPERATIONS ON NON-COMPLAINT TABLES IN GR+ASYNC SETUP
    Bug#25828806: GR ALLOWS OPERATIONS ON NON-COMPLAINT TABLES THROUGH MYSQLBINLOG
    
    PROBLEM STATEMENT:
    ==================
    We have few restrictions in GR such as:
    1. operations on a table without PK is not allowed when running group
    replication.
    2. only operations on table with innodb storage engine is supported with GR
    3. If a table has foreign key with a CASCADE clause, then operations on
    such table is not allowed (in multi-primary mode)
    
    But GR allows all these operations through asynchrnous replication and
    mysqlbinlog utility when the operations are based on RBR events.
    
            GR                Async
    M2 <------------> M1 <--------------M3
                    slave              master
    
    SOLUTION:
    =========
    A new hook (applier_log_event) is created to validate if a binary log
    event should be applied or not. GR plugin on initialization subscribes
    to this hook and using its validation logic ensures that all its requirements
    are fulfilled.
    
    Rows_log_event::do_apply_event() is now calling all the observer functions,
    subscribed to this hook (applier_log_event), after opening and locking the
    tables to be updated. This allows GR to verify if the tables are in compliance
    with its requisites.

commit d9d747303f8a746868b1c52f5a641f69ecb4be75
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon Jul 24 10:48:04 2017 +0530

    WL#9707 : Defaults change innodb_max_dirty_pages_pct=90
    
      Changed compiled default value of innodb_max_dirty_pages_pct from
      75 to 90.
    
      Reviewed by : Satya Bodapati <satya.bodapati@oracle.com>
      Reviewed by : Sunny Bains <sunny.bains@oracle.com>
      RB : 16801

commit 5b2e5b6435461d0543d5f8db90b648633e4d88d8
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon Jul 24 10:28:08 2017 +0530

    WL#9630 : Change innodb_max_dirty_pages_pct_lwm default to 10
    
      Changed compiled default value of innodb_max_dirty_pages_pct_lwm
      from 0 to 10.
    
      Reviewed by : sunny Bains <sunny.bains@oracle.com>
      Reviewed by : satya Bodapati <satya.bodapati@oracle.com>
      RB : 16799

commit ee0164af23864a414ea53214bb068715db515494
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Jul 24 10:40:09 2017 +0530

    Bug#25521859: THE TEST FOR DESCENDING INDEX FAILS DUE TO
                  DIFFERENCE IN EXPLAIN RESULT
    
    Verified that the associated code changes are tested.
    
    Made the primary key secondary, so we could have more duplicate entries and
    force range access over table scan/index scan.
    Changing the condition does not test the code path.

commit 70cdc70393996ca2bdf7d8354b34f46459ecfa57
Author: João Gramacho <joao.gramacho@oracle.com>
Date:   Mon Jul 24 07:00:58 2017 +0200

    Bug#26499060 SPORADIC FAILURE IN RPL_REWRITE_DB_FILTER_COUNTER [noclose]
    
    Patch by Joao to silence the test until a proper fix is found.

commit b7a32cde48d5c5c141f86c03710fc7c6baf16a7d
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Sat Jul 22 14:48:58 2017 +0200

    WL#9814 Implement INFORMATION_SCHEMA system views for FILES/PARTITIONS/REFERENTIAL_CONSTRAINTS.
    
    A pre-requisite patch, for implementing INFORMATION_SCHEMA.PARTITIONS.
    
    - Remove DD column mysql.table_partitions.level, which did not
      really help point to the parent DD partition in
      mysql.table_partitions for a given sub_partition.
    
    - Add DD column mysql.table_partitions.parent_partition_id, which is
      a dd::Object ID pointing to parent DD partition entry
      mysql.table_partitions.id.  It is NULL for all parent partitions.
    
    - The dd::Table::partitions() is changed to returns only the parent
      partition entries.
    
    - The new dd::Partition::sub_partition() API is used to list
      only the sub_partitions of a single parent dd::Partition.
    
      virtual const Table::Partition_collection &
        dd::Partition::sub_partitions() const = 0;
    
      virtual Table::Partition_collection *
        dd::Partition::sub_partitions() = 0;
    
    - The old code used dd::Table::add_partition() to create both
      partition and a sub_partition. The new
      dd::Partition::add_sub_partition() API is used to add a sub
      partition. And the API dd::Table::add_partition() is used to
      create only the parent partition.
    
    - The server partition code is modified.  The code that traversed
      single list dd::Table::partitions(), which contained both parent and
      sub partitions is changed to use new API's mentioned above.
    
    - Introduced dd::Table::leaf_partitions() API to list only the
      leaf partition entries of a table. This depicts the real
      physical partitions that InnoDB cares about. In case of table
      with no sub-partitions, this API returns list of all
      partitions. In case of table with sub-partitions, the API lists
      only the sub-partition entries.
    
      Signature:
      virtual const Partition_vector &dd::Table::leaf_partitions() const = 0;
    
      where,
      typedef std::vector<Partition*> Partition_vector;
    
      This is mainly used by InnoDB code. The related InnoDB code is
      modified. The function dd_part_is_stored() is now only used in
      few asserts. InnoDB team can choose to remove the function.
    
    - Following new API is used to set/get parent_partition_id.
    
      virtual Object_id dd::Partition::parent_partition_id() const = 0;
    
      virtual void dd::Partition::set_parent_partition_id(
                                    Object_id parent_partition_id) = 0;
    
    - Added new dd::Object_key 'Sub_partition_range_key' to fetch
      sub_partitions of a given parent partition.
    
    - It is necessary to destroy the Raw_new_record() object after
      inserting the parent DD object and before inserting children
      object. The reason is that, the child object may insert a row
      in the same table mysql.table_partitions. And the parent partition
      metadata is also stored in mysql.table_partitions. Destroying
      Raw_new_record() enable accurate computation of the auto
      increment values, for the child partition entry being stored.
    
    - The function bool Collection<T>::restore_items() modified to
      split a loop reading collection element into two loops. The
      change is done in order to support same table scan's to be
      possible both for parent partition entries and sub_partition
      entries. Until now, there was no such requirement, that parent
      DD object and the child DD object were read from same table.
    
    - Removed dd::Table_impl::fix_partitions().
    
    - Unit test is added to verify DD APIs.

commit 8692629bdee2e5fc861f93c1a2e509d490c04f09
Author: Kevin_Lewis <kevin.lewis@oracle.com>
Date:   Fri Jul 21 12:20:59 2017 -0700

    Bug #26497996 INNODB: FIX RECENT WINDOWS COMPILER WARNINGS AND SOME CLEANUP
    
    Compiler warnings recently introduced by
    WL#9538 - InnoDB_New_DD: Integrating InnoDB SDI with new DD
    Also delete a debug comment from WL9507 and change 'tablesapce' to
    'tablespace' in six comments.
    
    Approved in RB#16785 by Satya

commit dd066d992fec3366ed83d8f9b9a6dbbc9a062325
Merge: a9af87a 9ad5be9
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Jul 21 16:21:28 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9ad5be961be5a018a8c973f0ce4864ae38eed7b5
Merge: c4bb0be 780cd07
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Jul 21 16:20:12 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 780cd071be076fef25767262caae69d13504bcc1
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Jun 2 10:59:19 2017 +0200

    Bug #26186911	DEBIAN/UBUNTU "SOURCE" CONTAINS AMD64 BINARIES
    
    Make the debug build part of the standard deb package build.
    Triggered by adding -DDEB_WITH_DEBUG

commit a9af87a89c72018fb17d5cc27082868e828b6be3
Merge: 476663d c4bb0be
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Fri Jul 21 15:46:02 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk
    
    Conflicts:
    	rapid/plugin/x/src/admin_cmd_handler.cc

commit c4bb0bec654ede0edd0eb76e79b5aebecf9440d4
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Thu Mar 23 16:22:54 2017 +0100

    Bug #25769683: STRANGE ISSUE WITH ADMIN COMMAND "LIST_OBJECTS"
    
    Description:
    An issue is related to xplugin admin command "list_objects". The
    command is used to check if given collection exists in a database or
    not. The issue is that it happens only on OSX, only if schema name
    contains an uppercase letter.
    
    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 and
    schemas in a process of collecting them.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB: 15945

commit 476663db6557d2f3202f43841c9f605ff1c2d78e
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Jul 21 10:08:53 2017 +0200

    Bug#26318759 ASSERT IN ROW_DROP_TABLE_FOR_MYSQL IN ROW/ROW0MYSQL.CC
    
    Post push unittest case fix.
    The fix added more argument to internal native function used by I_S system
    view to read table statistics. The unit-test was not changed to test with
    the extra argument required. Fixed it now.

commit 7aba96b84bfdf97ce22e11841a8cfc2185684fe6
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 20 16:40:32 2017 +0300

    Bug #26493987: CRYPT() REMOVED IN 8.0, BUT HAVE_CRYPT LEFT BEHIND
    
    Removed stale:
    - have_crypt system varible
    - HAVE_CRYPT cmake define and check
    - associated tests

commit a87f782a1b96e4b62c27e141c3db751de819f721
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Jul 21 10:22:49 2017 +0800

    WL #10753: Add Russian collation for utf8mb4
    
    Add two collations for Russian language: utf8mb4_ru_0900_ai_ci and
    utf8mb4_ru_0900_as_cs.
    
    CLDR defines only a very simply reorder rule for Russian language. We
    have implemented 'reorder' in WL#9108, so there is no special work
    needed for these two collations.
    
    CLDR defines a few weight tailoring rules for Cyrillic characters in
    its root collation. But these rules are for 'eor' collation type, which
    these two collations will not fall back to, because these collations
    are of 'standard' collation type. So we don't use these rules.
    
    Change-Id: If1a33eb8ece34e6bdc1362f803ff7a347efd50a9

commit 053a3d2bf64c7cadfab0c9581f96ea777498ec5d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jul 20 12:04:01 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Disable a number of tests pending further investigation into the
      reasons behind the failures

commit ac8c9706d18056ff662bf88d996dd1f6a9c1a958
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Thu Jul 20 07:37:06 2017 +0200

    Bug#26318759 ASSERT IN ROW_DROP_TABLE_FOR_MYSQL IN ROW/ROW0MYSQL.CC
    
    Post push test case fix.
    The test case expects to fail when UDF sees table name with prefix 'fts'.
    The assert condition was wrong. Fixed it.

commit 687d234b4e1f9d68fd84b4e3623c3e2ae91327a7
Merge: 6de8f8c bb14659
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Jul 20 08:58:19 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit bb14659c27c7541b5e9291279b2cda3b7e84e412
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Jul 10 16:29:51 2017 +0530

    Bug#26034192 THD->HA_DATA[HT_ARG->SLOT].HA_PTR_BACKUP == __NULL ||
    (THD->IS_BINLOG_APPLIER()
    
    Problem: Changing server internal variable pseudo_slave_mode
    inside a transaction is hitting asserts.
    
    Analysis: pseudo_slave_mode is an internal server variable which
    is used to detect whether a thread is binlog applier execution
    thread or not. In documentation , we say that
    "This variable is for internal server use.
    SET pseudo_slave_mode= 0,1 are commands that mysqlbinlog adds to
    beginning and end of binary log/relay log dumps.
       . Binary logs cannot contain partial transactions
       . if relay log is having partial transaction at the end, then
          we append "Rollback" and then append SET pseudo_slave_mode= 0".
    i.e., there is no real use case inside the server for this variable to
    be allowed to change inside a transaction.
    
    Fix: Restricting the invalid use case of pseudo_slave_mode.
    Users cannot be able to change pseudo_slave_mode inside a transaction.

commit 6de8f8cd6c11c37e767fe2797293d4244ccfc23d
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Wed Jul 19 15:58:22 2017 +0200

    Bug#26318759 ASSERT IN ROW_DROP_TABLE_FOR_MYSQL IN ROW/ROW0MYSQL.CC
    
    The internal sql functions that are used by information_schema
    system views are invoked even for hidden tables. The problem with
    that is, these internal function invoke the InnoDB SE handler API
    which intern open the hidden tables.  This is not expected by
    InnoDB.  Moreover, it does not really make sense to provide
    dynamic table statistics for hidden table to users. So this patch
    avoids internal information_schema sql function from calling SE
    API and just return NULL.

commit 269f0cf4d93d20c4792b1d5efe91143be8f5046e
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Jul 19 17:57:49 2017 +0530

    WL#9644 : Enable event_scheduler by default
    
    Post push fix:
    The output from information_schema.processlist sporadically
    changes. With event scheduler always ON by default, the order
    of information_schema.processlist will depend on the previous
    tests executed by mtr. Add ORDER BY clause to get the output
    of information_schema.processlist in sorted order.

commit c4de82772ab8f0cd732983c86149eea8a1372070
Author: Havard Dybvik <havard.dybvik@oracle.com>
Date:   Wed Jul 12 11:24:25 2017 +0200

    Bug#26352119: WHERE JSON_EXTRACT() ON GEN KEY
    
    Updated to incorporate suggestions from Knut Anders.
    
    The index on a generated column, whose value was generated from
    JSON_EXTRACT, was in some cases not used because the optimizer failed to
    substitute expressions with matching generated columns due to different
    collations being used for the string literals in the generated column
    expression and the corresponding string literals in the expression in
    the WHERE clause. The fix for bug#22991924 forces a character set
    introducer for string literals in generated columns, rewriting e.g. '$.id'
    to _utf8mb4'$.id'.  Because the character set is specified while collation
    is omitted, the collation type for the generated column is set to the
    default collation of utf8mb4; any specific collation set for the
    connection is ignored.  The collation of expressions in subsequent
    queries, also from the same connection, may therefore not match the
    collation of the corresponding generated column, thus preventing
    substitution and consequently use of any index on that column.
    
    To be compatible with this change, Item_func_json_extract::eq() now
    ignores collation when comparing strings with the same character set,
    enabling the optimizer to successfully substitute JSON_EXTRACT
    expressions with matching generated columns. Doing this is safe as:
    
     1) JSON_EXTRACT does not depend on the collation of its string arguments
        because it converts them to utf8mb4 before passing them  on to the parser.
     2) JSON_EXTRACT (and most other JSON functions) are hard-coded to
        return utf8mb4_bin, hence the collation of its string arguments does
        not affect the collation of its returned value.

commit fb4e9970bf4ca6fbb3256364d04cd378f00976d4
Merge: 01fc1a4 f913b98
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 19 11:47:56 2017 +0200

    Upmerge of the 7.5.7 build

commit f913b980dfb135e3a4b95a21f38810fb0107ffec
Merge: 88ccdf8 6b12be7
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 19 11:46:20 2017 +0200

    Upmerge of the 7.5.7 build

commit 6b12be784b25e96cf4487244917fa4947d55ea94
Merge: ea81065 9325d7b
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 19 11:41:53 2017 +0200

    Merge from mysql-cluster-7.5.7-release

commit 01fc1a4ab560b5fc44af7c67cf8cca960511f251
Merge: 0d82163 88ccdf8
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 10:44:21 2017 +0200

    Upmerge of the 7.4.16 build (null-merge)

commit 88ccdf872c196ef8b76ec21d5ed915fbfce5848b
Merge: c7b40d3 ea81065
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 10:30:13 2017 +0200

    Upmerge of the 7.4.16 build (null-merge)

commit ea8106587fa78e10ce2ed7d859aa07628cd87937
Merge: 5a1af0a f1cad85
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 09:57:59 2017 +0200

    Upmerge of the 7.4.16 build

commit f1cad858351560d6267d4983544371374fcaf98d
Merge: 0f95421 fd7ede3
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 09:18:31 2017 +0200

    Merge from mysql-cluster-7.4.16-release

commit 0d821635bb117dfcb7a0315e46ec6867b6c626fa
Merge: ee792af c7b40d3
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 09:10:28 2017 +0200

    Upmerge of the 7.4.16 build

commit c7b40d389cee8c08625558b9367d28a451ce2eaf
Merge: 8f549a7 778fcd1
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 09:05:37 2017 +0200

    Upmerge of the 7.4.16 build

commit 778fcd1bbbc5b0f2a86b04d4f1291705923fc90f
Merge: e67ebfb 3786189
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Wed Jul 19 09:04:29 2017 +0200

    Upmerge of the 7.4.16 build

commit 17d3d592dc2854d5acc204e0ea08905b629937a3
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Tue Jul 18 18:37:40 2017 +0530

    Bug#24344131 ASSERT OTHER_LOCK IN LOCK_REC_ADD_TO_QUEUE AT LOCK0LOCK.CC:1641
    
    Issue
    =====
    With the current transaction commit logic, a transaction first removes itself
    from the trx_sys->rw_list before committing. So if there is another transaction
    which is in the process of converting this implicit lock to an explicit lock
    then there is a possiblity that another transaction working on the same record
    can come in and acquire an explicit lock on the record. The assert doesn't
    take this scenario into consideration and hence the thread involved in the
    conversion hits it.
    
    Fix
    ===
    Relaxed the assert to check if the transaction which is being checked is in the
    trx_sys->rw_list or not.
    
    RB: 16742
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>

commit ee792af1614292dc8a1a720c078d60032f1a16f6
Merge: 2884403 8f549a7
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Jul 19 05:52:33 2017 +0200

    Upmerge of the 7.3.18 build

commit 8f549a7d5a9e0d3a9fc1747c25c657b28babae3a
Merge: 9fb8177 5a1af0a
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Jul 19 05:51:38 2017 +0200

    Upmerge of the 7.3.18 build

commit 5a1af0a08f685e32a289c79ea0bd170ea26a2cc0
Merge: e67ebfb 0f95421
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Jul 19 05:49:39 2017 +0200

    Upmerge of the 7.3.18 build

commit 0f95421fe01b60dfa3c007fad35829168668536f
Merge: 7366e8a e61899b
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Jul 19 05:48:07 2017 +0200

    Upmerge of the 7.3.18 build

commit e61899bb841048f63ef0e428774b09de55e098f7
Merge: 525c8f1 3ddc299
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Wed Jul 19 05:44:05 2017 +0200

    Merge from mysql-cluster-7.3.18-release

commit 37861897953b996c4d90a9483fbd1595568d61f9
Merge: 7366e8a fd7ede3
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Tue Jul 18 21:38:11 2017 +0200

    Merge from mysql-cluster-7.4.16-release

commit c3c9f48c416b7adec0bb61c14e2dcd5dd8624eae
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Jul 18 23:33:34 2017 +0400

    Bug #26269280: SET SESSION BINLOG_FORMAT = ROW GIVES SYNTAX ERROR
    
    Problem: in MySQL 8, ROW had been added to the list of reserved words
    but ROW is also one of the values that SET command should be able to
    set to variables like "binlog_format".
    Since the "SET binlog_format = ROW" case is very common, but ROW
    is a reserved word now, it has been decided to introduce an exception
    in the syntax to accept ROW as before as a value in SET assignments.

commit 55cf3ba194511cac402c94711d782f800cdba4cf
Merge: 0dbc104 d609982
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue Jul 18 21:13:02 2017 +0200

    Bug#26375914: SOME TESTS WITH MAJORITY LOSS FAIL SPORADICALLY IN PB2
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit d6099828baf210f974f82d97643969f4e0ce0560
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue Jul 18 21:07:17 2017 +0200

    Bug#26375914: SOME TESTS WITH MAJORITY LOSS FAIL SPORADICALLY IN PB2
    
    Some tests where failing as they do not suppress the messages that
    members output when they are unreachable.
    We chose to use a global suppression though, as more failures were
    also seen on Valgrind runs due to resource starvation caused
    partitions.
    We use this bug even so to do proper cleanup on one of these tests
    that was missing it.

commit 28844030f4245ca07c761aeb1cf4387610cff8d1
Merge: a483ee8 9fb8177
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:09:12 2017 +0530

    Upmerge of the 7.2.30 build

commit 9fb8177e0fbaf61589ff255690a5fe10342e517e
Merge: 1aeff04 e67ebfb
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:07:30 2017 +0530

    Upmerge of the 7.2.30 build

commit e67ebfb3547175d735f6c0f9ad3bb353a1b990e7
Merge: ef1ea92 7366e8a
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:06:45 2017 +0530

    Upmerge of the 7.2.30 build

commit 7366e8ae70633c3c946f40e38db8c48e020955e3
Merge: 0f34e99 525c8f1
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:05:56 2017 +0530

    Upmerge of the 7.2.30 build

commit 525c8f10f9b553d31ebe742050c802d456b6dda7
Merge: e5d19c1 efe4510
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:04:42 2017 +0530

    Upmerge of the 7.2.30 build

commit efe45108a17ca14aad7f8feab5b8cdfe7092484e
Merge: 250c91f 6af5a6d
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Tue Jul 18 21:02:52 2017 +0530

    Merge from mysql-cluster-7.2.30-release

commit 0dbc104761751a4b9099cda28d5626153e0a9299
Merge: 25ce330 2267932
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jul 18 20:03:15 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 226793226d3a805003a5c8f5592ce5a51923d8cb
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jul 18 19:59:53 2017 +0530

    WL9636: Rename tx_{read_only,isolation} variables to transaction_*
    
    Post push patch to fix test failure.

commit 25ce33066c40c1c263c164525b8c1f862f1d5071
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Jul 18 13:20:52 2017 +0200

    WL#9692: Add JSON_MERGE_PATCH
    
    Post-push fix:
    
    The rpl_json test fails if it runs with
    --mysqld=--enforce-gtid-consistency --mysqld=--gtid-mode=on. The
    reason is that CREATE TABLE ... SELECT statements are not allowed in
    this mode.
    
    Make the test use CREATE TABLE followed by INSERT INTO instead.

commit a483ee8bfb4fb2720b7e5b21278aff6865b936ba
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jul 18 12:09:49 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update record file of the tablespace_datafiles test to include
      test case for Bug #26187744:  TABLESPACE IS NOT DROPPED PROPERLY
      WHEN ADD DATAFILE FAILS. The bug has been fixed up-stream
    - Update the ndb_dd_ddl test to expect new error with a more
      appropriate message when 'drop datafile' fails
    - Enable tablespace_datafiles and ndb_dd_ddl tests

commit 8670d7d7de86bb452e29e2fa5866c0b915862402
Merge: e3bc82c 88d44cf
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jul 18 07:57:06 2017 +0200

    Merge branch 'mysql-8.0.2-dmr-release' into mysql-trunk

commit e3bc82cb76aea49336afa844e9743e8917cefb19
Merge: 3e25309 c2aac95
Author: Libing Song <libing.song@oracle.com>
Date:   Tue Jul 18 13:13:55 2017 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit c2aac95585b6c3a75ab91cc655d91abe7fe7a389
Author: Libing Song <libing.song@oracle.com>
Date:   Wed Jun 28 12:56:15 2017 +0800

    BUG#25860138 RPL_DIFF.INC IN 5.7 DOES NOT COMPARE DATA FROM DIFFERENT SERVERS
    
    rpl_diff.inc failed to find the data difference between servers. That was
    because rpl_diff.inc just fetched data from first server instead of all
    servers.
    
    This patch added --defaults-group-suffix to tell mysql to fetch data
    from different servers.

commit 3e25309fde8a7757283ceb3b8ba9cd2e05b744f3
Merge: b77da12 c6088cc
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jul 18 07:45:15 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c6088cc78a4a777970cfa2217dcf276d87fc0ef2
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Jul 18 07:42:43 2017 +0530

    Bug#25432850 - MYSQLPUMP: PROGRESS INFORMATION INCORRECT
                   FOR TABLES
    
    DESCRIPTION
    ===========
    While mysqlpump is performing backup, it shows incorrect
    progress of the tables.
    
    For example for a database having 500 tables each having
    500 rows, mysqlpump progress looks as shown below:
    
    Dump progress: 0/1 tables, 250/500 rows
    Dump progress: 0/73 tables, 18250/36500 rows
    Dump progress: 0/151 tables, 37750/75500 rows
    Dump progress: 0/229 tables, 57250/114500 rows
    Dump progress: 0/307 tables, 76750/153500 rows
    Dump progress: 0/385 tables, 96250/192500 rows
    Dump progress: 0/463 tables, 115750/231500 rows
    Dump completed in 9241 milliseconds
    
    Please note that the progress information of the
    total-no-of-tables-backed-up at any given point of time
    remains zero throughout the process.
    
    ANALYSIS
    ========
    To report progress of both Tables and Rows,
    Abstract_progress_watcher::object_processing_ended()
    calls
    Abstract_progress_watcher::progress_changed()
    
    When doing it for Tables, the 1st function checks if the
    'processed_table_task' is completed. If not, it currently
    skips calling 2nd function and as a result the progress
    report for the Table isn't shown.
    
    On removing the check, we see the progress appearing for
    both Tables and Rows. Moreover the check is not required as
    the other conditions are sufficient in themselves to pass
    the criteria.
    
    FIX
    ===
    Drop the above condition to check if the
    'processed_table_task' is completed.

commit b77da124a4c78cfda3e9a5179a0984dbd04afbd4
Merge: 38f7631 e4c2903
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Jul 17 21:11:09 2017 +0530

    Upmerge of the 5.6.37 build

commit e4c2903b9ffd8fa48a60d81e4ccc3dbb5af4c489
Merge: 44384ba 69fed2d
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Jul 17 21:10:23 2017 +0530

    Upmerge of the 5.6.37 build

commit 69fed2d95382fc4163f9a3cc37eac16504700353
Merge: d6203f9 702b46e
Author: Nawaz Nazeer Ahamed <nawaz.nazeer.ahamed@oracle.com>
Date:   Mon Jul 17 20:58:24 2017 +0530

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

commit 38f7631a9a80361dd15e3839951af2d3201f140a
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jul 17 18:53:34 2017 +0530

    WL#9644 : Enable event_scheduler by default
    
    Post push fix:
    1> Event related performance schema tests failed
       sporadically on the wait condition to validate
       the content of events_statements_history_long
       table and successful execution of event. With
       event scheduler always ON by default, the content
       of events_statements_history_long will depend on the
       previous tests executed by mtr.
    
       Fixed test case by deleting the contents of
       events_statements_history_long table using TRUNCATE TABLE
       command in the beginning of the test case. Turn off the
       event scheduler after one execution of event and switch it
       ON after the cleanup by the test.
    
    2> rpl.rpl_trx_boundary_parser_warning.test was failing due
       to not able to find the expected output in error log.
       The test case is hard coded to find the error in error log
       based on the execution of specified events from binlog.
       With event scheduler ON, the output changes sporadically
       by event scheduler thread. Turned off event scheduler for
       the test.

commit e2cbea68b54fcd7ed5fa98fe2e1c851b3a2f188f
Merge: 0181dfc 44384ba
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 17 15:37:38 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 44384ba3043a72f946312bbd9bdbff162b1e6947
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 17 15:19:19 2017 +0200

    BUG#24823999 - DATADIR_PERMISSION TEST USES MYSQLXPLUGIN_DIR WITHOUT CHECKING IF IT'S AVAILABLE
    
    Description
    ===========
    
    X Plugin isn't loaded in default, thus referring to variable MYSQLXPLUGIN_DIR is not valid.
    
    Fix
    ===
    
    The files on  which the bug was created are leftovers and were removed.
    
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
    RB: 16758

commit 080897155f6d355267a9ff938066e5160143c038
Merge: 931410c 1aeff04
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 15:24:34 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.6' into mysql-trunk-cluster (Bug#25741111)

commit 1aeff04b458298ce0178ef3683ba2128e036f3e7
Merge: 74a0cd5 ef1ea92
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 15:23:54 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#25741111)

commit ef1ea920ddf64498ed9c891e802614421b306400
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Mar 17 17:22:00 2017 +0100

    Bug#25741111 BUILDING WITH WITHOUT_SERVER=ON FAILS: NO RULE TO MAKE TARGET 'NDBINFO_SQL_RUN'
    
    Do not add ndbinfo_sql_run as dependency to mysql_system_tables.sql when
    using WITHOUT_SERVER=ON.
    
    Also changing message to the intended FATAL_ERROR that will make cmake
    fail if any problem, rather than let make fail later.

commit 0181dfc425c2b3326825370a1ea322a8e95aee91
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Jun 7 17:01:04 2017 +0300

    Bug#20692219 INCORRECT RESULT FOR DISTINCT SELECT
    
    the bug's testcase now gives good results; according to "git bisect"
    it was fixed by the fix for
    Bug 22686994 - REGRESSION FOR A GROUPING QUERY WITH DISTINCT.
    So, just adding testcase.

commit 3ef5c49f361e1ebbc994f979451f9a4caede0276
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Jul 17 10:56:45 2017 +0200

    Bug#25407964 GROUP BY DESC GIVES WRONG RESULT WHEN GROUPS ON DECIMAL AND SEES A NULL
    
    Cause: when grouping we have to compare the values of group expressions
    to see when we enter a new group. Here the expression is of DECIMAL
    type, and the comparison of old-value non-NULL with new-value NULL
    (as happens with DESC, where NULLs are last), was not working:
    cached_item_decimal::cmp() returned FALSE, meaning "new and old are equal",
    so two groups were merged into one.
    
    Fix: make cmp() return TRUE. This is similar to cached_item_int::cmp().

commit ce8d5a819d13a39b5e5a9c97e02979edb50b9e6d
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Jul 17 10:53:53 2017 +0200

    Bug#25174118 ROLLUP NULL'S GET REPLACED WITH LAST ROW'S VALUE FOR PREPARED STMTS ON A VIEW
    
    the bug's testcase now gives good results; according to "git bisect"
    it was fixed by
    Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
    Date:   Wed Dec 21 11:16:46 2016 +0530
        WL#1979: Implementation of GROUPING function
    So, just adding testcase.

commit e0d824f38256f1ba63d01ce3afdab0dad4778c70
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Mar 17 17:22:00 2017 +0100

    Bug#25741111 BUILDING WITH WITHOUT_SERVER=ON FAILS: NO RULE TO MAKE TARGET 'NDBINFO_SQL_RUN'
    
    Do not add ndbinfo_sql_run as dependency to mysql_system_tables.sql when
    using WITHOUT_SERVER=ON.
    
    Also changing message to the intended FATAL_ERROR that will make cmake
    fail if any problem, rather than let make fail later.

commit dae3781cd142223389b6c2caa99d68cd3addf111
Merge: 4bd02a7 2f2ea04
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 17 15:07:08 2017 +0200

    Merge commit 'mysql-5.7' into mysql-trunk

commit 2f2ea04bfeb8007769148d089ec2a34bb41cdce2
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Mon Jul 17 13:44:32 2017 +0200

    BUG#26044113 MYSQLX.CONNECTION.CAPABILITIESGET NOT RETURNS ALL AUTHENTICATION.MECHANISMS
    
    Description
    ===========
    
    Sending 'Mysqlx.Connection.CapabilitiesGet' message doesn't trigger expected effect
    when it is executed through UNIX socket. The response message contained only "MYSQL41"
    authentication method. It must contain both  "MYSQL41" and "PLAIN".
    
    Analysis
    ========
    
    UNIX socket connection was not considered as "secure". "PLAIN" authentication
    can be only used on secure connections.
    
    RB: 16730
    Reviewed-by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed-by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>

commit 4bd02a74561f7ef92be30f877ce59839a8a44ef3
Merge: 0e2e3b2 1602b9b
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Jul 17 17:38:37 2017 +0530

    Null-merge from 5.7

commit 1602b9b7a56d20569253fb4519211865e24aa63a
Merge: 924410f d6203f9
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Jul 17 17:38:06 2017 +0530

    Null-merge from 5.6

commit d6203f954e4ef179a7ce79174bfe70113389f8dd
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Jul 17 16:33:23 2017 +0530

    Bug#26412663 MEMCACHED.MEMC_297_CRASH: REMOVE DEPENDANCY ON PERL MODULES
                 DBI AND DBD::MYSQL
    
    Follow up patch to fix failures of mysqlhotcopy tests on pushbuild by
    restoring checkDBI_DBD-mysql.pl.

commit 0e2e3b250bd92ae02824eaa3ff111a620a730548
Merge: a216a38 924410f
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Jul 17 13:36:03 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 931410c68c18a0c62b1abce5d1f938c036619768
Merge: 038503f 74a0cd5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 13:30:08 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.6' into mysql-trunk-cluster (Bug#26449699)

commit 74a0cd5f8e66321a980e81d13e8958bb6cc62fbb
Merge: 3074135 8464163
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 13:28:47 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#26449699)

commit 8464163be761274fd7f321696fb22854e3038d80
Merge: 59822f6 0f34e99
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 13:28:02 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#26449699)

commit 0f34e99be9558d6c52ea46e755ac86e90400d956
Merge: 8cff24f e5d19c1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 13:27:38 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4 (Bug#26449699)

commit e5d19c1f0a8a9db85f0a0519079ac8445223b46b
Merge: 1b29ba0 250c91f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jul 17 13:27:10 2017 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3 (Bug#26449699)

commit 924410f8956e64a37ebd9bdc64048f9793e4294a
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Mon Jul 17 13:19:25 2017 +0200

    BUG#26093967: AVOID SETTING GROUP_REPLICATION_FORCE_MEMBERS IN A PARTITION THAT HOLDS MAJORITY
    
    group_replication_force_members option was introduced has a
    break-the-glass measure to unblock groups that did lost
    communication with a majority of members. This safety measure allows
    a DBA or control tool to quickly resume operations on a unblocked
    group by forcing a subset of the previous group membership.
    
    Unfortunately, this option was allowed to be used on situations on
    which the group was working properly, that is, a majority was
    reachable. This was never the purpose of this option, and such
    action could cause instability on the group.
    Therefore, we are restricting its use to the scenario to which it
    was created: for a subset of previous membership when a majority of
    the members are unreachable.
    
    This is an optimist solution, as the majority of members can change
    right after the is_majority_unreachable returns.

commit 250c91fca5cf917f00f43503c12818b5e49c65e6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jul 14 14:52:01 2017 +0200

    Bug#26449699 ATRT FAILS FOR MYSQL 8 BASED CLUSTER WITH FAILED TO LOCATE 'MYSQL_INSTALL_DB'
    
    Allow atrt setup to not find mysql_install_db.
    
    Use mysqld --initialize-insecure if no mysql_install_db found.
    
    This fix allows autotest to start running MySQL 8 based versions.

commit a216a380723875d97ee258f9f8b540df0ba92618
Merge: d9476e6 6ca9b52
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:54:13 2017 +0530

    Upmerge of the 5.5.57 build

commit 6ca9b52c78b34f3eed758ff821b99235f2af153c
Merge: 4c4cf24 b7ea062
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:53:18 2017 +0530

    Upmerge of the 5.5.57 build

commit b7ea062b65f3239e7d2d081a7334339d9d393ca1
Merge: c1028cc 8dbc7ce
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:52:11 2017 +0530

    Upmerge of the 5.5.57 build

commit 8dbc7cedf12ccac5e9dd78016d0968a2a7e2c9fa
Merge: 1af074c 1042f0a
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:47:22 2017 +0530

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

commit 038503f3c1f5e8d7d24bd682321db4eb64702a6d
Merge: 1f430ed 3074135
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jul 17 12:05:49 2017 +0200

    Merge ../push_test_fix into mysql-trunk-cluster

commit 3074135e1e9353819239b51b7587ed789155a5fa
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jul 17 12:03:05 2017 +0200

    Fixed wrong name of binary name in autotest file

commit d9476e6a08450243f628918e730caf3c3b30c5f5
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jun 29 11:25:31 2017 +0200

    Bug#26369555: USE LAST-WINS STRATEGY FOR DUPLICATE KEYS IN JSON OBJECTS
    
    MySQL keeps the first key/value pair in a JSON object if multiple
    pairs with the same key have been specified. This is an unusual way to
    handle duplicate keys in JSON object, and not one that is mentioned as
    a possibility in RFC 7159.
    
    This patch makes it instead keep the last key/value pair in case there
    are duplicates. This is consistent with how JavaScript evaluates JSON
    objects, and it is also mentioned as a possible strategy in RFC 7159.
    
    This affects parsing of JSON text, so that {"a": 1, "a": 2} is
    normalized to {"a": 2} instead of {"a": 1}. It also affects the
    JSON_OBJECT function and the JSON_OBJECTAGG aggregate function, as
    they will now use the last value seen if the same key is encountered
    multiple times.
    
    This change also fixes bug#26238736.
    
    Change-Id: I1c462c76264871894b7116f6ff8101956991f3e0

commit 7b5b9ea7b46c4e3c6368a0016b023a7708e5cf27
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Jul 17 19:04:59 2017 +1000

    WL#10793 - Follow up fix.
    
    Release the heap memory before exiting the function, if there aren't
    any locks to release.

commit e48acffa9b4d8f1c7ad18ffed1b979774080a3d1
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jun 22 17:20:29 2017 +0200

    WL#9692: Add JSON_MERGE_PATCH
    
    Add a new function called JSON_MERGE_PATCH, which implements the JSON
    Merge Patch algorithm described in RFC 7396.
    
    Change-Id: I3d17e3ccade97a722be492f3aa6833da502353d5

commit 5d3e4f733e39d3383421ee85c1c054e65755c12c
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jun 21 17:43:22 2017 +0200

    WL#9692: Rename JSON_MERGE to JSON_MERGE_PRESERVE
    
    Rename the JSON_MERGE function to JSON_MERGE_PRESERVE and make
    JSON_MERGE a deprecated alias to JSON_MERGE_PRESERVE.
    
    Change-Id: Ic7275500e5bac9f66abfd801a385962bf5e1e0ef

commit f54ecad87baed03ec13004c1308b11014db4b479
Merge: 42f4500 1f430ed
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jul 17 11:35:13 2017 +0530

    Periodic up-merge of Cluster branch

commit 42f450091beb5574a293161b4af494a5d840fdde
Merge: 8f98a89 4c4cf24
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Sun Jul 16 12:47:42 2017 +0200

    Upmerge of the 5.7.19 build

commit 4c4cf247291bab1d9b4df42826717de518e3807a
Merge: 167c91e 432d360
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Sun Jul 16 12:43:02 2017 +0200

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

commit 8f98a899ec448f804ebee0c4ad4129e7c2ca0d31
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Jul 14 09:20:35 2017 -0700

    WL#10793 Post-fix
    Suggested by Sunny Bains.  Reviewed by Kevin Lewis

commit a234807a83edc23e9d62cfb6c3b2b9f1655065ea
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 14 11:54:24 2017 +0200

    Fix broken build for WITHOUT_SERVER:BOOL=1
    
    Client .so libraries are linked with -Wl,--no-undefined, and got:
    mysys/my_thr_init.cc:123: error: undefined reference to 'key_THR_LOCK_heap'
    mysys/my_thr_init.cc:145: error: undefined reference to 'key_THR_COND_threads'
    ...
    
    Fix: expose these static globals even if HAVE_PSI_MUTEX_INTERFACE and
    HAVE_PSI_COND_INTERFACE are undefined, since they are used in
    my_thread_global_init and my_thread_global_reinit
    
    Change-Id: I1b7d67a8e8a91ff4d748dce40d8aaa5d2f43ca22

commit a6e63eeb33bf618d08264a871abec002d8983349
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 14 01:17:28 2017 +0100

    WL#9633: mysqlbinlog: generate deprecation warning for --stop-never-slave-server-id
    
    This worklog adds a deprecation warning when mysqlbinlog's
    option --stop-never-slave-server-id is used.

commit c097b19461f762b87d036d59eff17242ad04f867
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 14 01:15:05 2017 +0100

    WL#9632: mysqlbinlog: generate deprecation warning for --short-form
    
    This worklog adds a deprecation warning when mysqlbinlog's
    option --short-form is used.

commit 462b98a21c64b5c541b383a61256f67d0f82c244
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 14 01:14:01 2017 +0100

    WL#6959: Deprecate master.info and relay-log.info files
    
    This worklog deploys deprecation warnings when
    configuring relay-log-info-repository=FILE and
    master-info-repository=FILE.
    
    Adjusted result files to accomodate the deprecation
    warning.

commit 178411a0533cfb68b0947cdbeed0273611401480
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 14 01:12:45 2017 +0100

    WL#10963: Deprecate IGNORE_SERVER_IDS when GTID_MODE=ON
    
    This worklog makes the server emit a deprecation warning
    when configuring IGNORE_SERVER_IDS with GTID_MODE=ON or
    when setting GTID_MODE=ON and some channel has
    IGNORE_SERVER_IDS set.

commit 446f6d2b76a3e44c63c60131f2047af16a160003
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Jul 14 09:15:44 2017 +1000

    WL#10793 - InnoDB: Use VATS for scheduling lock release under high load
    
    Variance-Aware Transaction Scheduling (VATS) is described in
    https://arxiv.org/pdf/1602.01871.pdf. The patch was contributed by
    Jiamin Huang <jiamin@umich.edu> and Barzan Mozafari <mozafari@umich.edu>
    from the University of Michigan.
    
    When granting locks the grant strategy used depends on the number of waiting
    locks. If it is >= 32 then VATS will be used otherwise the original first come
    first served (FCFS) strategy will be used. The threshold of 32 was chosen
    after empirical verification on a supra class machine. Ideally we would
    like to default to VATS for all loads but a small regression was seen on
    the lower loads.
    
    Reviewed-by: Jimmy <jimmy.yang@oracle.com>
    Reviewed-by: Deb <debarun.banerjee@oracle.com>
    RB:16290

commit 049a554f6ad5dbd94e9881b814218c1764fb2c57
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jul 13 18:28:14 2017 +0200

    Build cleanup for -DWITHOUT_SERVER builds.
    Build cleanup for -DDISABLE_PSI_* builds.
    
    Fixed miscellaneous build breaks after merge of:
    - WL#8880 PERFORMANCE_SCHEMA, FINER GRAIN INTERFACE
    - WL#8881 PERFORMANCE SCHEMA, RESOURCE CONTROL
    - WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS

commit 00c8ad81ccb6c82f4a3cbc2eaeb0469a47e143d2
Merge: f70ed90 167c91e
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Jul 13 17:21:01 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 167c91e9c6f84dcf6cb645710adf41784144b2f2
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Jul 13 15:39:59 2017 +0200

    BUG#26394678: WITH HIGH THREAD_STACK GR HITS MUTEX LOCK AT DELAYED_PLUGIN_INITIALIZATION.CC:48
    
    When the Group Replication plugin Delayed_initialization_thread
    failed to start due to unavailable resources, a locked mutex was
    being kept behind which would cause issues on
    Delayed_initialization_thread destructor.
    
    To solve the above issue the mutex it is unlocked when the thread
    fails to start.

commit f70ed90e522a42cb5077071294c39834a9bea795
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Thu Jul 13 14:37:41 2017 +0200

    Bug #26436958 TYPO IN CTYPE_UCS CHARACTER_SET DIRECTIVE CAUSE TEST TO BE SKIPPED

commit 83e0a7742f3525c82b5b2f0609a435a8526b2531
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 11 16:24:58 2017 +0200

    Bug#26419534 -DWITH_PROTOBUF=SYSTEM BROKEN
    
    Change-Id: If1393dca3b6a6e19b894979676322f159f9214df
    Fix: link plugin with result from FIND_PACKAGE(Protobuf)

commit 4b4d776bd7ece15510c1a362aa26b4ee4867ccdc
Merge: 62f6172 d04e466
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 13 13:09:15 2017 +0200

    Null-merge from mysql-5.7.

commit d04e466ca05103c4c8eef202a634135bc1d79c2a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 6 12:40:46 2017 +0200

    Bug#26399306: JSON.JSON_FUNCTIONS_INNODB TEST IS FAILING ON PB2 5.7
                  ON MACOS10.12-X86-64BIT
    
    A test that works on deeply nested JSON documents runs out of stack
    space on debug builds on macOS 10.12.
    
    The root cause is bug#23106330, which is fixed in 8.0.
    
    This patch makes the test run with a bigger stack on 5.7, so that it
    passes also on the more stack-hungry platforms.

commit 62f6172e9e59648263877f795e0499d61f40fe17
Merge: 4982bb4 8005b46
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu Jul 13 14:26:06 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 8005b46954f78b1905cb2a30780e668bd7f0d87a
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu Jul 13 14:08:20 2017 +0530

    Bug#26272158:FLUSH LOGS SENDS OK EVEN AFTER FAILING IN THE COMMIT PHASE.
    
    Problem:
    On debug build, a failing FLUSH LOGS attempts to send OK to connection after
    having sent error reply before. This is caused by missing error propagation
    between where the error happened (ha_commit_trans inside close_table()) and
    where the OK is sent (at the top level switch statement in
    mysql_execute_command).
    
    Fix:
    Make previously void methods return bool for success/failure, and check for
    errors along the way as necessary.

commit 1f430ed3082cbc04e6bb987ec3e04954f4433415
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jul 13 13:27:38 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the result file of ndb_join_pushdown_bka to include
      new warnings generated
    - Disable a number of tests under various bugs filed pending
      further investigation

commit 4982bb4cc682616ea086baa802ce32fbea196eb6
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Jul 11 12:28:51 2017 +0530

    WL#9644 : Enable event_scheduler by default
    
    As of now, event scheduler is not started by default in MySQL
    server. As part of this worklog, event scheduler will be started
    by default in the MySQL server.
    
    Changes done as part of this WL:
    1. Enable event scheduler thread :
         event_scheduler system variable is set to ON by default to
         start the event scheduler thread.
         SHOW PROCESSLIST command and information_schema.processlist
         will show an extra entry for the event scheduler now.
    
    2. Fix test cases to execute with the event scheduler ON by:
         - Record result files with the new default behavior.
         - Remove SET command from tests and option from .opt
           file to switch ON event scheduler for event_scheduler
           specific tests. Add condition to make sure that
           event_scheduler is ON for these specific tests.
         - Wait condition in tests depend on output from SHOW
           PROCESSLIST and INFORMATION_SCHEMA.PROCESSLIST. Fix the
           wait conditions to consider event_scheduler.

commit 21a7ff841bb26bc70419d8b44bf61498a2d484a3
Merge: dcf151d 73eaa6d
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Jul 13 11:27:36 2017 +0530

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

commit 73eaa6d54c0dc67dc1238b704a7196c61902abf9
Merge: f4c997c c1028cc
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Jul 13 11:25:30 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c1028cca87a17d61026979ea11d16806f337ab68
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Jul 13 11:21:24 2017 +0530

    Bug #24938374   MYSQL CRASHED AFTER LONG WAIT ON DICT OPERATION LOCK
    WHILE SYNCING FTS INDEX
    
    PROBLEM
    
    As part of rb#12340, dict_operation_lock was acquired to avoid dropping
    of FTS index/ table while the sync is in progress in the background. Due
    to this change server gets killed on long wait for dict_operation_lock
    while a long sync is in progress.
    
    SOLUTION
    
    We remove the dict operation lock that is held by sync (fts) in
    background. We will manage the concurrency of drop index and sync index
    in 2 ways:
    1) If sync is already in progress, Drop index would wait for sync to
    complete.
    2) If alter is already happening and sync is invoked then sync would do
    a check for index/table to be dropped flags are set or not, if it is it
    would skip syncing that index.
    
    Reviewed by: Jimmy Yang <Jimmy.Yang@oracle.com>
    RB: 15344

commit dcf151d993742ad7a2a8d1314a278f1f9c4a0297
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Jul 13 09:10:19 2017 +0530

    Bug #25942505: INCORRECT BEHAVIOR WITH ALTER EVENT AND
                   STRING FUNCTION
    
    Issue:
    ------
    Some string functions are marked as 'fixed' pre-maturely.
    In case an error is raised after this flag is set,
    ALTER EVENT is unaware that the corresponding val_str
    function shouldn't be called. This results in incorrect
    behavior.
    
    Solution:
    ---------
    Unset the fixed flag in case of failure to resolve all the
    relevant parts of the function.
    
    Also, when an error occurs, there is no need for further
    error processing in the event code.

commit 37a0ed6aae2785863bc22eeba545d08035cbcb2b
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jul 12 15:00:56 2017 +0530

    Post push Fix-2: WL#9209
    New compilation warnings with PFS disabled

commit 41cd34e1c294c5a04cfd3c6ef53a002145f24d0a
Merge: 4db9af8 755c7da
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jul 12 19:00:23 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.6' into mysql-trunk-cluster

commit 755c7da9cbc3e2f511af7230c61609e290e7dbb6
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 12 13:16:45 2017 +0300

    wl#7614 win32-14.diff
    
    getpid -> NdbHost_GetProcessId (VS2015)

commit 961f80d350ca0cbc99317cbf3e7f2a70da1a6d56
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Wed Jul 12 17:32:57 2017 +0530

    WL#10924: Deprecate expire_logs_days
    
    This worklog adds a deprecation warning when users try to set expire_logs_days
    to a non zero value either alone or with binlog_expire_logs_seconds.

commit 497f5ffce89dc461fd9fba02d95d90eca08383a9
Merge: 701c76d f4c997c
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jul 12 16:04:18 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f4c997c8d0360de92a6ee0a180659b8a425ecb56
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jul 12 16:02:40 2017 +0530

    WL9636: Rename tx_{read_only,isolation} variables to transaction_*
    
    Post push fix to fix test failure.

commit e6c6e7f24ef62e9e29226f7700564301633ed57b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jul 12 11:42:27 2017 +0200

    WL#10302: Fix for when crash between phase 5 and phase 50

commit 701c76d4654765cfbf87cad310387a22341e23ea
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jul 12 14:58:31 2017 +0530

    Revert "Merge branch 'mysql-5.7' into mysql-trunk"
    
    Reverting the changes made in trunk for WL9636
    since it breaks some connectors.

commit 4db9af8d521a45a9c7ee9375b9d27873cd1337ed
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jul 12 12:39:08 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Enable ndb_binlog_discover_multi, ndb_rpl_gap_event, and
      ndb_rpl_skip_gap_event tests after the fix was merged
      in from the 7.6 branch
    - Disable ndb_import0 under Bug #26027765: NDB_IMPORT FAILS WITH
      UTF8

commit 81da40b0d15ff50ff18dd31b5348d19de7264be8
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Jul 12 12:37:33 2017 +0530

    WL#8393 : Increase max-allowed-packet compiled default
    
    Change the default value for max-allowed-packet variable.
      Old default : 4194304  (4MB)
      New default : 67108864 (64MB)
    
    Fix test cases according to the new default value.

commit 1657d8ca1a006a51acb59c455063788a99e93169
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jul 12 12:08:18 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove usage of include/not_embedded.inc which does not exist
      any more since embedded has been removed
    - Update result file of gcol_supported_sql_funcs_ndb test. Change
      is due to removal of ENCODE()/DECODE(), DES_ENCRYPT(), and
      DES_DECRYPT()

commit 564473e879a6b4ebdb8fc0138e70843d9e8e4072
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Jul 10 16:18:52 2017 +0530

    BUG#25634576: DATABASE NAME IN SHOW CREATE VIEW
    
    Analysis
    ========
    SHOW CREATE VIEW of a view which uses derived table in the
    FROM clause displays database name in the ouput even if the
    view references table within the same database.
    
    Compact view definition(i.e without database name) is displayed
    if the view refers to tables within the same database by checking
    the database name in which the view is defined and the database
    name of query tables it refers. This check fails for derived
    table since the database name is NULL. Hence the database name
    is appended to the table name in the SHOW CREATE VIEW output.
    
    The other problem which is fixed as part of this patch is,
    if any one of the table used by the view query is present
    in different schema, the respective database name was appended
    to all the table names referred in the query. A global flag
    'compact_view_format' was used for all tables to determine if
    the database name is to be appended to the table name referred
    by the view query. If any one of the tables referred was outside
    the current database, the flag was set to FALSE to indicate
    appending the database name to all the table names.
    
    Fix
    ===
    'QT_NO_DEFAULT_DB' is used while printing the view query.
    'QT_NO_DEFAULT_DB' indicates append database name to table
    name in the VIEW query only if they are not present in the
    current database.

commit 107f6b789d966b3e969b44475b50372326242595
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 11 21:06:57 2017 +0530

    Removed component_pfs_example.so plugin and my_safe_process from docker rpm builds

commit da26a6e45d940bfe9152af9a038b403b1ebb0e22
Merge: c0ac397 914de9b
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jul 11 20:30:42 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 3849ad83bd525984a2788580d6541048297eb25f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jul 11 19:25:46 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove redefinition of __STDC_LIMIT_MACROS

commit c0ac3975fb2cf8bc43a5c8ec5f94cb1c1b49e5f4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 11 09:35:02 2017 +0200

    cleanup cmake message output for SASL library
    
    Change-Id: Ic754978de7244566ae57323243aaddf4db889feb

commit e6263126bea69c74c50a6a23da4a6a1319f6c5b5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 11 09:30:53 2017 +0200

    Stabilize test, by separating stdout and stderr.
    
    Change-Id: Id927dc88a190f1ab54acf3117e857bf6fe4d4029

commit 4ce6ed909bd3dfa7699ac06ab29b924b2103386a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jul 11 18:18:59 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Suppress warnings for undefined identifiers in ndb_top

commit be3ea95929a300d61b5a821998a9a018e3a0e19e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jul 11 17:47:04 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Change ndbinfo install script to use latin1 when creating the
      ndbinfo.ndb$error_messages table
    - Do not include my_global.h. It has been split as part of
      Bug#24710065: SPLIT MY_GLOBAL.H
    - Remove code related to secure_auth parameter which has been
      removed in WL#9674: Remove deprecated parameter secure_auth
    - Change my_bool to bool

commit 4f49f337b65deeb1dfdbc263d3a2598a1d912f08
Merge: dfd7674 82a7abb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jul 11 16:41:03 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.6' into mysql-trunk-cluster

commit 914de9bbea084da6ee8a24ec4aec6d5351301940
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jul 6 18:43:53 2017 +0530

    WL#9636: Rename tx_{read_only,isolation} variables to transaction_*
    
    The system variables for default transaction isolation and
    read only transaction are 'tx_read_only' and 'tx_isolation'.
    This differs from the start up options which are:
    '--transaction_read_only' and '--transaction_isolation'
    This naming convention can be quite confusing for users.
    
    There are separate patches for 5.7 and trunk:
    
    In 5.7, the variables 'tx_read_only' and 'tx_isolation' are
    deprecated and usage of these variables would result in a
    deprecation warning. Two aliases for the deprecated variables
     have been introduced: 'transaction_read_only' and
    'transaction_isolation'.
    
    In trunk, the variables 'tx_read_only' and 'tx_isolation' are
    removed. 'transaction_read_only' and 'transaction_isolation'
    introduced in 5.7 serves as the alternative. This ensures that
    the system variables are in sync with the start up option names.

commit 42756108ac91de3d1162f74ed60b693854d9a7bc
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Jul 11 11:15:53 2017 +0200

    Bug#24976885: Post-push fix.
    
    Use signed char explicitly to make test case also work on platforms
    where char is unsigned, e.g. ARM

commit 95bfe51a93d18bd6553dba9452906d674a99290c
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Tue Jul 11 07:25:54 2017 +0300

    Bug #26334869 "MAIN.MDL_TABLESPACE FAILING FREQUENTLY ON GCOV AND VALGRIND ON DAILY-TRUNK".
    
    Reverted change to mdl_tablespace.test which was introduced by WL7743
    "New data dictionary: changes to DDL-related parts of SE API" and
    which made it unstable under load.
    
    Usage of performance_schema.events_waits_history_long instead of
    events_waits_history in this test seems to be unnecessary with
    current code and made the test unstable since the contents of the
    former table can be easily affected by server's background
    activities.

commit 534831afb4781270a0588c6041837e6e28951b7b
Merge: c2b2919 042d843
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Jul 11 11:12:43 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 042d84351701ad099563d1fa42081d526b9b28ca
Merge: bfe151f 9c1bc9d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Jul 11 11:08:28 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9c1bc9d4f6cc1ce40300136fd79466b98b036884
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Jul 11 10:48:24 2017 +0530

    Bug#26412663 MEMCACHED.MEMC_297_CRASH: REMOVE DEPENDANCY ON PERL MODULES
                 DBI AND DBD::MYSQL
    
    The test memcached.memc_297_crash is being skipped on many machines due to
    the unavailability of DBI and DBD::mysql perl modules. It has been altered
    to use the mysql client binary bundled with the build.
    
    Reviewed-by: Aditya A <aditya.a@oracle.com>

commit c2b29199761e773dfe5df357492dfbc5824e1fbb
Merge: 33776ec bfe151f
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jul 11 10:40:18 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit bfe151fe740d5a306b35a62859115f2672169bff
Merge: 035ad51 e17756e
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jul 11 10:39:12 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e17756e1ab8bc70df70ba33cfaaffa43acfcf9bd
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jul 11 10:36:28 2017 +0530

    Bug#26405350: MAIN.MYSQLHOTCOPY_ARCHIVE AND
                  MAIN.MYSQLHOTCOPY_MYISAM TESTS
                  FAILING IN PB2-5.6
    
    Description: Mtr tests, main.mysqlhotcopy_archive and
    main.mysqlhotcopy_myisam are failing recently in PB2-5.6.
    
    Analysis: The test failure is due to the mismatch in the
    exit code returned by the mysqlhotcopy utility when the
    utility encounters an error.  This mismatch is happening due
    to the unpredictable exit code returned by the "die" command
    used in the "mysqlhotcopy" perl script.
    
    In the perl documentation for "die" command it is mentioned
    that "the value of the exit code used by die can be
    non-predictable, so should not be relied upon, other than
    to be non-zero."
    
    Fix: Error number 255 is also added along with 9, 11, 110
    and 2304.

commit 33776ecbfb6dc5276418fe915aa10a50b5a679b3
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Jul 10 16:38:00 2017 +0200

    Followup test fix for WL#9538
    1) Make changes to tests so that it is easy to record JSONs
    2) Change $RECORD to 1 in test. run the test(will fail, this is expected)
    3) change $RECORD to 0 in test. run the test

commit 486e548819f31df46371bc3ef46fa88b2670db44
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jul 10 20:30:09 2017 +0200

    Merge cleanup.
    
    Fix build warnings,
    fix build when compiling without the performance schema instrumentation.

commit 0e61b16f4b4ab48b359ed7075d0553969f1702bb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 10 15:15:10 2017 +0200

    WL#8117 Compact In-Memory Temporary Tables
    
    Fix broken unit test on Windows: VirtualAllocExNuma() was called with
    incorrect arguments, since allocator::win_page_size was uninitialized.
    
    Change-Id: I322b614fc0263e95a23c6a6c6661bf40ed39ec94

commit e880c05f497c003749734e54f0f9cc725d49c5bd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 10 13:38:29 2017 +0200

    Bug#25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 8, noclose]
    
    Fix for two replication tests.  The recent patch from Steinar made the
    order of events in the binlog different on Windows than on other
    platforms. The not-so-pretty fix is to create specific Windows
    versions for the tests.
    
    Change-Id: Ie8c52c93bb06775f8f096667bdb2fe88d4b8e947

commit ae4d00aef7a3a4d14e34adab39e46c0b8fb02434
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 10 10:48:15 2017 +0200

    WL#9509 - X Protocol connector code extraction from mysqlxtest to libmysqlxclient
    
    Post-push fix: broken build with gcc 4.9.2
    
    Change-Id: Ifd9a7e92dde6988058829485660bc66e3b8c5062

commit 9c86a769be77701c10cc1f725b9d1a85a2859188
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 7 16:33:27 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS
    
    Follow-up patch: fix memory leaks in server.
    
    Got several of these
    
    104 bytes in 1 blocks are still reachable in loss record 5 of 9
       at 0x615AB9D: malloc (vg_replace_malloc.c:299)
       by 0x2181399: my_mutex_init (thr_mutex.h:170)
       by 0x21814E5: inline_mysql_mutex_init(unsigned int, st_mysql_mutex*, pthread_mutexattr_t const*, char const*, unsigned int) (mysql_mutex.h:228)
       by 0x2188937: init_thread_environment() (mysqld.cc:3779)
       by 0x21868B6: init_common_variables() (mysqld.cc:3277)
       by 0x218DE2E: mysqld_main(int, char**) (mysqld.cc:5304)
       by 0x2181225: main (main.cc:25)
    
    not caught in pushbuild valgrind runs because of
    IF(NOT WITH_INNODB_MEMCACHED)
      FOREACH(LANG C CXX)
          SET(CMAKE_${LANG}_FLAGS_DEBUG
              "${CMAKE_${LANG}_FLAGS_DEBUG} -DSAFE_MUTEX")
      ENDFOREACH()
    ENDIF()
    
    Change-Id: I6f382e07859823db5cc6a1d441576b4667e9377a

commit dfd767449e4210af30c770b07be7c44efee6b2b5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jul 10 17:31:34 2017 +0530

    Bug #26414104:  FAILURE OF NDB_DDL TESTS THAT INCLUDE VERIFY_MYSQL_DD.INC [noclose]
    
    - Disabled all tests that include verify_mysql_dd.inc until underlying
      problem is fixed

commit 0596ce88247709ae2ca4ec46b72b0ef71ef790dc
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jul 4 20:22:29 2017 +0200

    Bug#25908290 FEW TESTS FAILING WITH ERROR "SHUTDOWN_SERVER" FAILED WITH ERROR 2. MY_ERRNO=175 [noclose]
    
    Tweak the shutdown_server timeout to avoid PB2 problems.

commit 61cccde695023c4cf775b997bd73e1c61746a653
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jul 4 20:14:58 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS
    
    Further stabilization of perfschema.pfs_example_lifecycle

commit e8aa902848bec7f50521f2ca32d0542e41c733da
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jul 4 14:24:59 2017 +0200

    WL#9507: Make innodb_undo_tablespaces variable dynamic
    
    Add an explicit disconnect to innodb.undo_settings to avoid
    hitting Bug#26390013 in ASAN.
    
    Approved by Satya Bodapati <satya.bodapati@oracle.com> over IM.

commit 965a8bd9423782f44c7ed7a19c9ba3e386182ac9
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Mon Jul 10 10:24:38 2017 +0200

    Fixing clang compilation failure.
    
    Reviewed by Tor.

commit ce58da594a684970530d43c411e14645b6962a4c
Merge: aa9fe43 035ad51
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jul 10 11:33:04 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 035ad513cacf8db782154108e3c3e99da4dce3fc
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Mon Jul 10 11:30:53 2017 +0530

    Bug #20748521  ASSERTION `I == UINT2KORR(PART_REC_BUF_PTR)' FAILED. |
    HANDLE_ORDERED_INDEX_SCAN
    
    PROBLEM
    
    When no records are added to a partitioned table(Range partitioning) the
    m_rec_ordered_buffer is not initialized because there are no used
    partitions . In case of DESC index this check of used partitions is not
    done and because of which it tries to perform index scan and causes
    assert in handle_ordered_index_scan.
    
    FIX
    
    Just as is the case with ASC index , the fix tries doing a check for
    used partitions using m_part_info and returns error END OF FILE and
    gracefully exits the scan.
    
    Reviewed by : Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 16694

commit aa9fe43bb5c36fd3d4d8abde281d0d2b41c5d1c9
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Tue Jun 20 10:46:18 2017 +0800

    Bug #26286790: PERFORMANCE ISSUE OF EXPLICIT COLLATE CLAUSE
    
    Ordering by a varchar field with explicit collation is much slower than it
    with implicit collation, even if the explicit collation is same as the
    implicit one. A certain sorting with implicit collation needs 0.5 sec, but
    the sorting with explicit collation needs about 1 min.
    
    Cause:
    A item is created for the field with explict collation, and filesort treats
    its weight buffer length is fixed. But for the field with implicit
    collation, filesort treats its weight buffer length is variable. This
    causes there are much more chunks is created and needed to merge when doing
    filesort for the field with explicit collation. It consumes a lot of time.
    
    Fix:
    All new UCA collations we added don't need padding spaces anymore, so we
    let filesort know that the weight buffer length of the item is variable.
    
    Result:
    without this patch, time used to sorting reporter's data needs 0.51 sec and
    58.73 sec.
    With this patch, time used to sorting reporter's data needs 0.54 sec and
    0.76 sec.
    
    Change-Id: I5394faabf6325ff43f71ae6076dedebd3d75c105

commit 95fbeb939f0334ea8fc12abbdec9cebafbb92570
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Sat Jul 8 11:00:11 2017 +0530

    BUG#26388194: MAKE MTR TO SEARCH FOR AN EXECUTABLE ONLY IN
                  'RUNTIME_OUTPUT_DIRECTORY'
    
    Description:
    ============
    After WL#10524, all executables will end up in
    "MYSQL_BINDIR/runtime_output_directory" and MTR code had been modified
    to search for executables in the new location. But search for
    executables in old locations are not removed yet. So if an executable
    exists in old path, then it might be picked up by MTR and might cause
    unnecessary issues. MTR code needs some clean up.
    
    Fix:
    ====
    Remove the search for executables in old location(s) and search for
    them only in 'runtime_output_directory' directory.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Tor Didriksen <tor.didriksen@oracle.com>
    RB: 16716

commit bd2c437c2e229951de18608c68a0e665c394baae
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 4 15:19:42 2017 +0200

    Bug#26385175 IN-SOURCE BUILD INSTALLS CMAKE FILES TO TARGET IN MYSQL-TEST
    
    When building in-source (cmake .) "make install" puts cmake artifacts into
    target. Fix: update EXCLUDE patterns.
    
    Change-Id: Ife7ac065f8f8aa25937fba1a48d5f90f26022590

commit 42dd5058c42c091d268f98d63e1cdb5c904c9db8
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Jul 7 14:43:40 2017 +0200

    Mats: Increases code coverage.

commit 76d1b2a9a311d3898235b095ff0dc668931aec76
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jul 7 19:55:12 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove minimal test case added to easily reproduce Bug #26368685:
      ORDER BY ON A VARCHAR COLUMN USING UTF8MB4 CHARSET GIVES
      INCONSISTENT RESULTS
    - Issue has been fixed up-stream by patch for Bug26399937:
      JSON_GROUP_CONCAT_NDB IS UNSTABLE

commit 7736b6e5989e51959aed7afd5c34f9cf2d948541
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Fri Jul 7 15:23:04 2017 +0200

    BUG 26406914 - SYS_VARS.TEMPTABLE_MAX_RAM_BASIC.TEST: MISSING .RESULT FILE
    
    Post-push fix for Bug#25997118 CHANGE THE NAME OF THE ENGINE INTRODUCED IN WL#8117 - original commit was missing rename innmem_max_ram_basic.result to temptable_max_ram_basic.result.

commit e5a1aff9514c274c2208e11316a2641176ec62e3
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Jul 7 18:05:46 2017 +0530

    WL#10299: Change Server General tests to run with new default charset
    
    Description:
    ============
    WL#7554 changed the default character set from latin1 to utf8mb4.
    Some tests were rewritten to use latin1 temporarily, so now
    they have been changed to use utf8mb4.
    
    Reviewed-by: Bernt Johnsen <bernt.johnsen@oracle.com>
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>
    RB: 16131
    RB: 16129

commit 20e68e73ddfbda215d730886e72d4f1ccf78a04c
Merge: b246906 2423046
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:55:48 2017 +0530

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

commit 24230466746b1b64982e96d4b5272024b97ac3b7
Merge: 5c2a0c5 2f0b0a5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:53:51 2017 +0530

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

commit 2f0b0a5368f54a845d658ab8538c11b6c6cb2881
Merge: 401aaf6 1af074c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:46:16 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1af074c99d902d88a008581fbd1f48e4cbc5385a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:43:40 2017 +0530

    Bug#26400146 - 5.5 AND 5.6 DOCKER PACKAGES MISSING MYSQLCHECK UPGRADE NOT POSSIBLE
        - Add mysqlcheck tool to docker rpms for upgrade

commit b24690617c694790c84ea84016d9b95a32e5de8e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:34:41 2017 +0530

    Postfix for 90aba890: Fixed docker rpm builds and remove duplicate plugin entries

commit 6761c14239df6499484cbb115be047bb8d3de465
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Jul 7 09:18:17 2017 +0200

    Bug#26328958 TEST FAILURE IN MAIN.BASEDIR WITH CUSTOM -DINSTALL_MYSQLSHAREDIR=
    
    Background:
    
    Cmake creates ${cmake_binary_dir}/sql/share/ regardless of
    INSTALL_SHAREDIR setting, to "fix" this MTR sets --lc-messages-dir and
    --basedir options.
    
    mysqld in main.basedir runs without --basedir and --lc-messages-dir
    options and breaks due to mismatch between compiled-in install layout
    and sandbox layout.
    
    Solution:
    
    Make both source and build sandbox layout more identical to install
    layout by moving sql/share/ to share/, such that
    runtime_output_directory/ and share/ will have common parent
    (${cmake_binary_dir}) like in install layout.
    
    This make sense since WL#10441 as mysqld will find basedir and
    lc-messages-dir itself, if cmake creates share directory in
    ${cmake_binary_dir}/ according to -DINSTALL_MYSQLSHAREDIR, things
    would work out of box without options specified. This will work in
    build sandbox and after "make install". In other words mysqld basedir
    is moved from ${cmake_binary_dir}/sql/ to ${cmake_binary_dir}/ in
    sandbox.
    
    After change options --basedir and --lc-messages-dir can be removed
    from MTR runs, and special cases in mysqld.cc can be removed too.
    Search path "sql/share" is removed or adjusted.
    
    Tests fragments that don't have stable output any longer have been
    removed.
    
    Basedir option is used by MTR to find "itself" in sandbox mode, hence
    it can't be removed even if not used by mysqld. Variable is renamed
    to #mtr_basedir in generated my.cnf.
    
    Note:
    
    This means errmsg-utf8.txt is moved from sql/share to share/,
    take care when merging from older major versions.

commit c9cc16037474781b0a787e8147a614f896e123f0
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jul 7 13:36:37 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix version number to match up-stream server version

commit 8679e7a473638d8720f13cdbcedfe70ee016c8aa
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 15 21:21:30 2017 +0200

    WL#10824 Remove query cache [step 13, remove ndbcluster remnants]
    
    Remove code from ndbcluster maintaining various counters
    and lists for determining when a query should be evicted
    from the cache. This includes the entire "ndb util thread" as
    well as the system variable "ndb-cache-check-time"

commit 6c687d6d683e03dea19635cd960f4a6f9b92a32c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 16:30:26 2017 +0200

    WL #10824: Remove query cache [step 12, clean up SQL_NO_CACHE]
    
    Remove all instances of SQL_NO_CACHE from tests, as it's now a no-op.
    
    Change-Id: I6b40bea266a9b3c3dd44fc871611b91d20b657e8

commit f6dccae6f5885e8a9014aee35a0b9d72228c4a1c
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 6 15:47:25 2017 +0200

    WL #10824: Remove query cache [step 11, actual removal]
    
    Remove the query cache and all code related to it. Note that the SQL_NO_CACHE
    keyword stays, but now does nothing (not even semantic checking that it's not
    in subqueries).
    
    In the process, we set HAVE_QUERY_CACHE to NO, so that interested clients can
    test for it reliably.
    
    NDB code has not been removed but commented out for later cleanup, at the
    request of the NDB team.
    
    Change-Id: I0aa54211dbcccca1f408c01aa91b58e33c39294e

commit 0c7270ea897fd60cd07112cae08d65c234dbcfdb
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 14:23:38 2017 +0200

    WL #10824: Remove query cache [step 10, remove sql_no_cache from EXPLAIN]
    
    Remove the sql_no_cache output from EXPLAIN; it will be a no-op very soon.
    
    Change-Id: Ica59266894142564fb451b3c271102e5f092ace9

commit f9ac1176d18fae2900b668910094c60efa166628
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 14:38:17 2017 +0200

    WL #10824: Remove query cache [step 9, remove partial tests]
    
    Remove all subtests (ie. parts of larger tests) that tested the query cache.
    
    Change-Id: Iba018a949a3b803c67f514947031b33cd03fc108

commit 31b3b2a00bd01af5b45a0612855b0a24253fb76b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 13:59:38 2017 +0200

    WL #10824: Remove query cache [step 8, remove whole tests]
    
    Remove all tests that exist only for the purpose of testing the query cache.
    
    Change-Id: I1632f69a74ab45be1a4d6d8d18e820138739c316

commit a261e2f992f0ebb84ee12372d089a2f50ae6f69f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 15:59:38 2017 +0200

    WL #10824: Remove query cache [step 7, remove MyISAM test]
    
    Remove a MyISAM test that required a debug sync point in the query cache
    to work; MyISAM is generally going away, so it was not worth a rewrite.
    
    Change-Id: I803cc8a30a79506cbc9cfb57e225412cfa247e41

commit fbb2b5b3ee70497ea8dc8ff62498af0481ed0ac9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 14:27:23 2017 +0200

    WL #10824: Remove query cache [step 6, remove incidental use]
    
    Remove an use of query_cache_type that had nothing to do with the query cache
    per se (the test just needs any integer variable).
    
    Change-Id: Ic45b7cafc9f3b2c199875b5a61a4e692cf67d334

commit 335d1d3d665c267bc1101862d0908322c22e8ab3
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 13:54:26 2017 +0200

    WL #10824: Remove query cache [step 5, remove RQG grammar SQL_CACHE use]
    
    Remove RQG grammars varying SQL_CACHE / SQL_NO_CACHE; the SQL_CACHE
    keyword will go away, and SQL_NO_CACHE will be a no-op.
    
    Change-Id: Id7439cd86c8cefaf0f709e4122af75738f4ac8e7

commit 1efe727b7e5661b0bc1dd21c6e83c962b03a71af
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 14:47:08 2017 +0200

    WL #10824: Remove query cache [step 4, remove skip tests]
    
    Remove tests for whether the query cache is disabled (which was used to
    skip tests); it will now always be disabled.
    
    Change-Id: Ib1032d072577e1703cbfb6eb6d292f3d56464e4d

commit 025b465df8e0bffec85ed78e5bec9ee1b18af24d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 15:27:04 2017 +0200

    WL #10824: Remove query cache [step 3, remove pointless cache=1]
    
    Remove pointless instances of enabling the query cache -- ie., tests
    that enabled the query cache, but didn't actually use it for anything.
    
    Change-Id: Id28bd2ff9b49f760574bd3aeb8a5f42eacc4c663

commit f98ff39b19a470c410b3825758e337f751c842a0
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 31 13:46:01 2017 +0200

    WL #10824: Remove query cache [step 2, remove pointless cache=0]
    
    Remove now pointless instances of disabling the query cache; it is now
    always disabled by default.
    
    Change-Id: Ia7b5d5fe345d46f825cdc489aaed13b38a0aafc6

commit d5c950961da22ce08020c5fd11e6147aed8a869a
Merge: 3218df7 61edc6b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jul 7 12:36:45 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 82a7abb4dd453ba5480c7bd8c9cb866f35ddabf0
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Mar 15 13:32:22 2017 +0100

    Bug#25714674: MYSQL SERVER REMOTE PREAUTH PROBLEM THROUGH INTEGER OVERFLOW
    
    Description: A missing length check for length-encoded string causes
                 problem in preauthorization stage.
    (cherry picked from commit 579637daba48c372fe6210f33e410fcb4293acfe)

commit 61edc6b7d904f785f779cda0d27f4f24b49f8b7a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 6 13:31:17 2017 +0200

    Bug#26399937: JSON_GROUP_CONCAT_NDB IS UNSTABLE
    
    The test uses an ORDER BY clause which produces unstable results
    because two of the strings ('\b' and X'10') sort equal in the default
    collation.
    
    Add a tie-breaker to the ORDER BY clause so that the results become
    deterministic.
    
    Change-Id: I9f3a2d02cfe196abd2bf2cfc45c0127ea71365cb

commit 641f1e4a69680a793420dbb82db7c144e1fd5f0e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Jun 8 14:26:17 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 13, noclose]
    
    More conversions from HASH: The remaining client code, and SAFE_HASH,
    used in MyISAM's key cache. The key cache should of course also go away
    (this simply converts it to a string -> string map, which is essentially
    just as untyped as using HASH), but MyISAM is really the only user,
    so we're letting the core logic stay.
    
    Change-Id: I794f80a208871d4f43caeb6d4fc2547b99bfa784

commit 2d08737fd9ea0786c760b87d294fb2a18dc69032
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Jul 6 15:41:04 2017 +0200

    WL#9509 - X Protocol connector code extraction from mysqlxtest to libmysqlxclient
    
    Follow-up fix for build on old bld-directory.

commit 4ec8c58856a1ab207b3ac27736cdee5151d4fccf
Merge: e48571a 5c2a0c5
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Jul 6 18:34:10 2017 +0530

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

commit 5c2a0c57d3facb43fdfa76aa41cfaabf20c87190
Merge: efebf40 401aaf6
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Jul 6 18:33:41 2017 +0530

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

commit 401aaf6b9882e76062ecf708a631d026e93f5ada
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Jul 6 18:28:26 2017 +0530

    Bug #25586766	INNODB: FAILING ASSERTION: EVENT
    
    Analysis:
    ========
     Buffer pool load now command fails with assert in read only server mode.
    Because the event to signal the buffer pool load thread is not
    initialized.
    
    Fix:
    ====
     Check for read only mode before doing the buffer pool load.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 15f13356cb8148eb68d13b39e121f3bd87834355
Merge: d3efed2 10b631a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jul 6 18:26:18 2017 +0530

    Merge tag 'mysql-cluster-7.6.2' into mysql-5.7-cluster-7.6

commit e48571a8dc2410570073c4c56297e28cb156bebc
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Jul 6 13:11:32 2017 +0200

    Bug #26377058: CREATE DECIMAL MICROBENCHMARKS
    
    Post-push fix: Fix a GCC 7 -Og warning.
    
    Change-Id: I150665c8aa23e161e5ac5f298241631f2a93a3f9

commit 0ea778e1d6a39f946b23ad67b15cafde8084d1e4
Merge: 2db28f8 efebf40
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Thu Jul 6 12:28:50 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit efebf40e4d342d73e61011b00a3bbf70d002eb32
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Thu Jul 6 12:27:45 2017 +0200

    Bug 26390052 - ADD LICENSE FILES TO DEBUG-TEST AND TEST PACKAGES
    
    Skip installation on RPM based platforms.

commit 3218df7848dc6524a2738614793c1f0b3beae68a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jul 3 15:41:56 2017 +0530

    Bug #26124155: FAILURE OF NDB.NDB_DD_BASIC TEST
    
    The ndb_dd_basic test was failing due to a variety of reasons. Fixed
    by:
    
    - Turning off caching for information_schema to ensure that up to
      date results were returned
    - Updating the test to expect new errors returned
    - Changing a varchar row to charset latin1 as otherwise a
      'Row size too large' error was returned with the utf8mb4
      character set
    - Using a stricter where clause in the query to ensure that
      only the relevant NDB undo log files are returned
    - Updating show create table result with the new default
      charset utf8mb4

commit 2db28f8c26ade9586fb8fe00c03c0aba529ccb6a
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Jul 6 18:57:04 2017 +1000

    Bug#26237680 - MYSQLD OOM - COMMIT SIZE IS OUT OF PROPORTIONS
    
    MEM_DECOMMIT and MEM_RELEASE are mutually exclusive.  The original
    VirtualFree() call was failing, returning 0.
    
    Added an assert to check for return value of VirtualFree().
    
    Moved call to fetch PageSize from Windows to Handler create. It was
    called for every memory allocation call before this change.
    
    Pushed on behalf of Daniel Blanchard. Approved by Jimmy Yang on IM

commit ca7b8c6372796847f1da28af408d5316fc553cf1
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jun 29 17:53:31 2017 +0300

    WL#9674, WL#10788, WL#10789: remove secure_auth, ENCODE()/DECODE(), ENCRYPT(), DES_ENCRYPT(), and DES_DECRYPT(), FLUSH DES_KEY_FILE
    WL#9675: remove innodb_ignore_builtin.

commit 77cfc1c0ee3eb2709324fef7bf0e84e605562b39
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri May 26 13:05:59 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 8, noclose]
    
    More conversions from HASH; stored procedures, timezones,
    and getting rid of the old Hash_set wrapper that made an STL-like
    (but not quite STL-compatible) interface around HASH.
    
    Change-Id: I29eafc42c3e69a45cf2e710a15981c8066f1886b

commit 699cf3ad0fc170c35805ab3cd18e124aa2e12a77
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Thu Jul 6 10:17:49 2017 +0200

    Bug 26390052 - ADD LICENSE FILES TO DEBUG-TEST AND TEST PACKAGES
    
    Add missing license files to Debian -core packages.

commit 5e68480c50802126f28911f958434a5377dea2d8
Merge: 3758c4c 12eaf74
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Thu Jul 6 10:16:43 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 12eaf748d83e746ca514250a76cb11653686a4a8
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Thu Jul 6 09:57:09 2017 +0200

    Bug#26390052: ADD LICENSE FILES TO DEBUG-TEST AND TEST PACKAGES
    
    Some license files were missing from test and debug-test packages.
    While there, add mising README files from RPM packages.

commit 3758c4c63ec42b155e25e4036627c11eb17ad5d7
Author: Lukasz Kotula <lukasz.kotula@oracle.com>
Date:   Thu Jul 6 10:00:49 2017 +0200

    WL#9509 - X Protocol connector code extraction from mysqlxtest to libmysqlxclient
    
    Low level connector library, which can be used to make a connection
    (X Protocol) to X Plugin using low level API.
    
    Approved by Pavan Naik<pavan.naik@oracle.com>

commit 2c63394a442d66a56b408f2f5d09bbdd41390d76
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Jul 5 16:36:18 2017 +0200

    Applied clang-format version 4.0.0-git

commit 3e98371c5f2f342b7bbe473bf50053760b081936
Merge: 2b747d8 5c77cd4
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Wed Jul 5 19:22:48 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5c77cd4ee04ab85344eb3945581358f51175c4ed
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Wed Jul 5 19:08:03 2017 +0530

    Bug#26241008: GROUP REPLICATION PARTITION HANDLING THREAD IS NOT INSTRUMENTED ON PERF SCHEMA
    
    Issue:
    ======
    There is no PSI key associated with the partition handler thread in
    group replication, due to which performance schema table for threads
    also won't show it.
    
    Solution:
    =========
    Add a PSI key for partition handler thread.

commit 2b747d8b39c1a12ca411fbd5deeb7f3c3b8404e4
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Jul 5 16:06:32 2017 +0530

    Bug #26363837 : SIG=11 TEMPTABLE::ALLOCATOR<UNSIGNED CHAR>::DEALLOCATE
    
    Details :
        In temptable SE, flag Row::m_data_is_in_mysql_memory indicates
        whether buffer pointed by Row::m_ptr belongs to this Row
        object (if false) or not (if true). During update, when a Row
        object is being created, Row::copy_to_own_memory() is called
        to have Row::m_ptr allocated (thus it belongs to ROW object) and
        this flag is set to 'false'.
    
    Issue :
        In copy_to_own_memory(), this flag is set to false before successful
        allocation of m_ptr. So in case of failure in allocation, where we
        return from this function, this flag gives wrong information.
    
    Fix :
        In copy_to_own_memory(), setting of this flag should be done
        only after successful allocation of m_ptr.
    
    Reviewed by: Sunny.Bains@oracle.com
    RB : 16692

commit 016a11ccb2c670783a9efd194ec1231da73a8e21
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jul 3 10:53:52 2017 +0200

    Bug#26162562 DISABLING PERFORMANCE_SCHEMA.SETUP_OBJECT DROP TABLE STATS
    
    Before this fix,
    
    when a table instrumentation is disabled,
    due to edits in table performance_schema.setup_objects,
    the following actions were executed:
    - the table lock statistics were discarded
    - the index statistics were discarded
    - the index names, stored with the per index stats, were lost.
    
    The root cause is logic present in
    PFS_table_share::refresh_setup_object_flags(),
    which explicitly destroyed lock and index stats.
    
    Note that the table statistics were implemented with the following model:
    - either a table is enabled, and stats are preserved,
    - or a table is disabled, and stats are dropped.
    
    This model however was not consistently implemented,
    as statistics could still be allocated even for disabled table,
    for example in find_or_create_table_share().
    
    With this fix, the old model is abandoned,
    as the behavior is inconsistent with other instrumentations,
    and cause undesirable side effects for index names.
    
    The new model is as follows:
    - enabling / disabling instrumentation for tables
      no longer destroys associated statistics.
    
    As a result,
    - index names are preserved once found,
      so that index statistics no longer show spurious "index N" names.
    - statistics are preserved instead of being truncated
      when a table is disabled.
    - visiting table statistics searches data deeper,
      no longer stopping if a table instrumentation is disabled.

commit a2aea6dc7d18f9f82c60ddb1abf466f622fa5ae2
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jul 3 15:07:09 2017 +0200

    Bug#26357806 SESSION_CONNECT_ATTRS.PROCESSLIST_ID SHOULD BE BIGINT
    UNSIGNED
    
    Patch for 8.0 only.
    
    Before this fix, columns:
    - performance_schema.session_connect_attrs.PROCESSLIST_ID
    - performance_schema.session_account_connect_attrs.PROCESSLIST_ID
    
    are of type INT.
    
    This is incorrect, as column threads.PROCESSLIST_ID
    is a BIGINT UNSIGNED.
    
    The root cause is the incomplete change introduced by
      Bug#14664453 THREAD_ID SHOULD BE BIGINT(21) UNSIGNED IN PERFORMANCE_SCHEMA
    to migrate thread and processlist ids from 32 bit to 64 bits.
    
    With this fix, columns
    - performance_schema.session_connect_attrs.PROCESSLIST_ID
    - performance_schema.session_account_connect_attrs.PROCESSLIST_ID
    are changed to the proper type.

commit 298ca0c40fb59d0d59280a865b4ee030a55cba94
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 6 15:30:33 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 11, noclose]
    
    More migrations from HASH, including all the remaining storage engines.
    
    Change-Id: I8cb548061da73f4801a11937be43abadef77c4f2

commit 3f1d77fb1977df41622a73b6ba24285b81cfc4bb
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jul 3 19:18:37 2017 +0200

    Bug#26388690: SUBOPTIMAL STRING::APPEND() USAGE IN JSON PROCESSING
    
    This improvement is based on a contribution by
    Alexey Kopytov <akopytov@gmail.com>.
    
    When creating an external representation of a JSON string, we should
    optimize for the common case, which is that there are no special
    characters that need to be escaped.
    
    This patch makes the code scan for the first special character in the
    string, and copy sequences of non-special characters in one go with
    memcpy().
    
    While at it, also fix a bug where the special character 1F (Unit
    Separator) was not escaped, although both RFC 7159 and the code
    comments say it should be escaped. This is Bug#25977595 -
    JSON OUTPUT DOES NOT QUOTE ASCII 31.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonStringToString_Plain          104 ns/iter [+214%]
    BM_JsonStringToString_SpecialChars   233 ns/iter [ +39%]
    BM_JsonObjectToString               1277 ns/iter [  +1%]
    
    Change-Id: Ica04fe96a0babee20ffbe7fecb59f1008f4929a2

commit 1f37d48a6d48907aa233e6f36a19974ad3fc831b
Merge: 11631cd c3d1fa6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Jul 5 11:05:23 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c3d1fa60a78a8b98465c6c08d9999aa97266eee5
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Jul 5 11:01:20 2017 +0530

    Bug#25380000: SOME WARNINGS APPEAR IN DUMP FROM MYSQLDUMP
    
    Description:- Deprecation warning messages are printed
    along with the dump data in the result file for mysqldump
    utility.
    
    Analysis:- Deprecation warning messages are printed to
    STDOUT instead of STDERR for all client utilities which
    uses SSL options to connect to server.
    
    Fix:- Warning messages are printed to STDERR instead of
    STDOUT so that these messages will not appear in the
    result file populated by redirecting STDOUT.

commit 11631cd949fe53ca0f148c1188c426c31a8a5d86
Merge: ebbecc5 bed70aa
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jul 5 08:28:10 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit bed70aac0199a03aeac41eb83d9a840d772c7ce7
Merge: b7f27f6 eac63a0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jul 5 08:27:00 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit eac63a03a505f11cbbcb60ac23df0f61bf23a244
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jul 5 08:25:12 2017 +0530

    Bug #23577867: INCORRECT BEHAVIOR WITH FAULTY STORED FUNC
                   AND DATE COMPARISION
    
    Issue:
    ------
    This problem occurs when:
    1) A certain type of Stored Function (SF) is called from a
       subquery.
    2) The subquery is an NOT IN condition in the WHERE clause.
    
    Root cause:
    -----------
    When an SF (or any other Item object) is marked as a
    constant, it might be evaluated during the PREPARE phase.
    After evaluating an SF, a cleanup is called on the related
    TABLE_LIST objects. This can create a problem when the
    query attempts to acquire a lock on the same tables after
    the PREPARE phase and before beginning the EXECUTE phase,
    because the runtime system currently does not support
    evaluating functions before tables have been locked.
    
    Solution:
    ---------
    A stored function is considered as constant only if the
    tables have been locked. This will make sure that even if a
    function is marked as DETERMINISTIC, it will be constant
    only during the EXECUTE phase when the relevant locks have
    been acquired.
    
    For some of the queries containing DETERMINISTIC functions,
    the conditions weren't evaluated because the
    const_item_cache is set to false. Now that we have shifted
    it to a function that correctly checks for table locks,
    these conditions can be considered constant. The result in
    some changes in partition_locking.result.

commit ebbecc5ccf573f6097d72fefc8bc0deee004d072
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Jul 4 17:28:43 2017 +0530

    WL#10761 ALTER TABLE RENAME COLUMN
    
    The existing syntax for renaming a column uses "ALTER TABLE ...  CHANGE"
    command. This requires full column specification to rename the column.
    This patch adds new syntax "ALTER TABLE ...  RENAME COLUMN", which do not
    expect users to provide full column specification.  It means that the new
    syntax would pick in-place or copy algorithm in the same way as that of
    existing "ALTER TABLE ... CHANGE" command. The existing syntax
    "ALTER TABLE ... CHANGE" will continue to work.
    
    Syntax changes
    ==============
    
    ALTER TABLE tbl_name
        [alter_specification [, alter_specification] ...]
        [partition_options]
    
    Following is a new <alter_specification> added:
    
     | RENAME COLUMN <oldname> TO <newname>
    
    Where <oldname> and <newname> are identifiers for old name and new
    name of the column.
    
    The patch mainly changes:
    
    - A new class PT_alter_table_rename_column is added which represents
      the above new <alter_specification>.
    
    - The class Alter_column is enchanced to support column rename along
      with default value changes.
    
    - A test case is added in main.alter_table.
    
    Note: Error message for ALTER TABLE ... RENAME command
          in case <newname> is more than 64 characters is different than
          ALTER TABLE ... CHANGE command.

commit 443e97fb125dd932717f9a69b14f49038ffc2d64
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jul 3 13:09:29 2017 +0200

    Bug #26384166: SPEED UP DECIMAL/BINARY CONVERSIONS
    
    decimal2bin / bin2decimal is used fairly extensively in code that works on
    decimal columns. Pick some low-hanging microoptimization fruit.
    
    Microbenchmarks (Skylake 3.4 GHz):
    
      BM_Decimal2Bin_10_2   24478 -> 21457 µs/iter  [+14.1%]
      BM_Bin2Decimal_10_2   19161 -> 16782 µs/iter  [+14.2%]
    
    Change-Id: I805d0af353472688f0b3cec239dba8fa6cef1458

commit d3efed2343ec851545ecc26e83689b4749154c94
Merge: 30421a6 59822f6
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jul 4 10:43:26 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 59822f6f281958c00b1e9ffdf5a1422b472c6be1
Merge: d6952b0 8cff24f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jul 4 10:43:11 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 8cff24f2198220ecf90f53e785b1e0f09f1702ba
Merge: b4abb1b 1b29ba0
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jul 4 10:42:54 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 1b29ba059ab21579161909a2f85d9266f4b3ec05
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jul 4 10:41:56 2017 +0100

    Bug #26364729 NDB : IMPROVE LOGGING OF NODE FAILURE HANDLING IN TC
    
     - Node failure handling in TC has a number of sub-steps which run
       concurrently.  All must complete before TC node failure handling
       is complete.
       Logging coverage is extended to record when a sub-step completes,
       and which sub-steps remain.
    
     - GCP / Node failure handling interactions
       TC takeover causes GCP participant stall at the Master TC to
       allow it to extend the current GCI with the taken-over
       transactions.
       - The stall can begin in various GCP protocol states
       - The stall can end in various GCP protocol states
       Logging coverage is extended to cover all scenarios.
       Additionally, 'debug print' style logging is change to be
       more consistent and understandable to users.
    
     - QMGR monitors node failure handling duration which requires
       participation of many blocks.  Currently it generates a
       warning log to the cluster log every minute, and generates
       some DIH debug information after 5 minutes.
       This functionality is made more aggressive, logging once
       every 30 seconds of delayed node failure handling, and
       including the DIH debug information every time.
    
     - Prefix of "DBTC instance %u:" shortened to "DBTC %u:"
    
     - A new ERROR code is added to assist testing.

commit 7dcdbb232f0dbbc87f736535a0e6e4fa0541889b
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue May 30 15:30:20 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 10, noclose]
    
    Remove hash_filo; it had only one user (after almost twenty years),
    which was easily converted to using std::list for its LRU use instead.
    
    Change-Id: I2ae94d45f108b9538e53a862ad65a81221b95c49

commit 52b31deea9ce049fa81c94752814ca5e49f83851
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue May 30 15:03:04 2017 +0530

    Bug#25640322 - MTR SHOULD USE SAME VERSION NUMBER AS SERVER
    
    Removed reference of Version 2.0 from MTR documentation and MTR code.
    
    Reviewed by:
    Pavan Naik <pavan.naik@oracle.com>

commit 3a3f190b57321fd5aec05cc31bb4695d196823e5
Merge: ee5937a b7f27f6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 4 09:12:27 2017 +0200

    Null-merge from 5.7.

commit b7f27f65509979658b0dec1a6cd2a2cea408f99e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 4 08:51:29 2017 +0200

    BUG#26136674: POSSIBLE UNINTENDED USAGE OF "PRECISION" VARIABLE
    
    Post-push fix: memory leak in unit test.

commit ee5937ad8558a6c9861d78d67b5375ba4f7d07be
Merge: 02f74b5 5c0f4f2
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 4 08:53:02 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 5c0f4f21323f3270f09f411118126ceb7db93cb9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 4 08:51:29 2017 +0200

    BUG#26136674: POSSIBLE UNINTENDED USAGE OF "PRECISION" VARIABLE
    
    Post-push fix: memory leak in unit test.

commit 02f74b5cb72123585caa6eb21658392623e5e2ad
Merge: 8ad9813 7d230f0
Author: Libing Song <libing.song@oracle.com>
Date:   Tue Jul 4 14:51:28 2017 +0800

    Null-merge from 5.7.

commit 7d230f05cebbad55fc531c51ba7adc5a6d42d3db
Author: Libing Song <libing.song@oracle.com>
Date:   Wed Jun 28 13:54:28 2017 +0800

    BUG#26148011 RPL.RPL_MULTI_SOURCE_CORRUPT_REPOSITORY
                 FAILS WITH RESULT CONTENT MISMATCH
    
    DESCRIPTION
    ===========
    The test uses show_relaylog_events.inc to show the content of
    some relay logs. the relay logs sometimes have different
    content. That caused test failures.
    
    ANALYSIS
    ========
    The reason is that FLUSH LOGS is called immediately after
    slave is started. At the time, slave may or may not
    get Rotate/Format_description events from master. Most of
    the time, the events arrive before FLUSH LOGS and are written
    into the relay logs which are not showed by the test. But
    they sometime arrive just after FLUSH LOGS, so they are
    written to the relay logs which are showed by the test.
    
    FIX
    ===
    The test just cares if SHOW RELAYLOG EVENTS FOR CHANNEL can
    be executed successfully, but not the result of the statement.
    So we just ignore the result by using --disable_result_log.

commit 8ad981367dc5ec46d7e2b050e4e95200e35fdedd
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jun 6 09:48:16 2017 +0200

    Bug#26201482	REMOVE SOURCE PACKAGES FROM DEBIAN/UBUNTU PACKAGES
    
    The package mysql-community-source contains the source tarball that
    can be used to build MySQL, but the build source is already served
    by repo.mysql.com and dev.mysql.com, so the extra package is
    redundant.

commit b724dd2096528defc78af4e6f955de0e5bce5bd5
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Jul 3 10:33:53 2017 +0200

    Bug#26382333	DEB PACKAGING: ADD MISSING BINARIES TO -CORE PACKAGES
    
    Moved non-debug binaries from mysql-server to mysql-server-core.
    No changes made to client packages for now (the core package does not
    serve much purpose for the client)

commit e39734b479e219f00dffbe014f7802e98dfe2956
Merge: b62e34a 09522f1
Author: Libing Song <libing.song@oracle.com>
Date:   Tue Jul 4 12:23:18 2017 +0800

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

commit 09522f18fd47a5ed5ab375929c99be52da8fdf91
Author: Libing Song <libing.song@oracle.com>
Date:   Wed Jun 28 13:54:28 2017 +0800

    BUG#26148011 RPL.RPL_MULTI_SOURCE_CORRUPT_REPOSITORY
                 FAILS WITH RESULT CONTENT MISMATCH
    
    DESCRIPTION
    ===========
    The test uses show_relaylog_events.inc to show the content of
    some relay logs. the relay logs sometimes have different
    content. That caused test failures.
    
    ANALYSIS
    ========
    The reason is that FLUSH LOGS is called immediately after
    slave is started. At the time, slave may or may not
    get Rotate/Format_description events from master. Most of
    the time, the events arrive before FLUSH LOGS and are written
    into the relay logs which are not showed by the test. But
    they sometime arrive just after FLUSH LOGS, so they are
    written to the relay logs which are showed by the test.
    
    FIX
    ===
    The test just cares if SHOW RELAYLOG EVENTS FOR CHANNEL can
    be executed successfully, but not the result of the statement.
    So we just ignore the result by using --disable_result_log.

commit 30421a6bd187adef5bf944c945cca3ef09ddb0a6
Merge: 703327d 1340381
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Tue Jul 4 00:52:20 2017 +0200

    Merge from mysql-cluster-7.6.3-dmr-release

commit b62e34a7f2125668ffb1819fcb8c588758c26e0c
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Jun 21 11:12:23 2017 +0530

    Bug#26263142 - SKIP THE COMBINATION IF THE SAME MYSQLD OPTION EXIST IN MASTER
    OR SLAVE OPT FILE
    
    Description:
    ============
    
    --combination=value
    
    Extra option to pass to mysqld. The value should consist of a single mysqld
    option including dashes. This option is similar to --mysqld but has a
    different effect. mysql-test-run.pl executes multiple test runs, using the
    options for each instance of --combination in successive runs. If
    --combination is given only once, it has no effect. For test runs specific to
    a given test suite, an alternative to the use of --combination is to create a
    combinations file in the suite directory. The file should contain a section
    of options for each test run. See Section 4.9, ?Passing Options from
    mysql-test-run.pl to mysqld or mysqltest?.
    
    Reading above test one would assume that these two options behave the same
    except --combination allowing to specify multiple mysqld options. However in
    reality there is one more difference. When argument is passed with --mysqld
    any value set in the .opt file has higher priority. When passed using
    --combinations the value set on command line has higher priority.
    
    This behavior can be confusing to the user.
    
    Solution:
    =========
    1. opt file will always take higher precedence over --mysqld and --combination
    option. So, if --mysqld or --combination option is given only once to run
    the test there is no change in behaviour a test is run.
    
    2. If we try to pass the *same* mysqld option from --combination
    option which is also a part of master or slave opt file, then the test WILL
    NOT run such combination(s). The test will run just once using the options
    from the opt file.
    
    Reviewed by:
    Pavan Naik <pavan.naik@oracle.com>
    Srikanth B.R <srikanth.b.r@oracle.com>

commit 24e96f30da1abde706e675e3ec051469d4278280
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Jul 3 14:21:59 2017 +0200

    WL#9538 - InnoDB_New_DD: Integrating InnoDB SDI with new DD
    
    This is integration WL. InnoDB tablespaces  will have SDI stored
    within the .ibd. The only tablespaces that don't have SDI are
    undo, temporary.
    
    After shutdown, the SDI from IBD files can be dumped using
    
    ibd2sdi t1.ibd > t1.sdi
    
    This WL combines the server side changes contributed by
    Dyre Tjeldvoll <dyre.tjeldvoll@oracle.com> and InnoDB changes
    done by Satya Bodapati <satya.bodapati@oracle.com>
    
    Reviewed-By: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-By: Gopal Shankar <gopal.shankar@oracle.com>
    RB : 15817

commit eb8a3adb8aaae44eaabd055e3b34a20fda3ea0e6
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jun 30 14:44:41 2017 +0200

    Bug #26377058: CREATE DECIMAL MICROBENCHMARKS
    
    The bin2dec/dec2bin code is an important part of some DBT-3 queries.
    Add some microbenchmarks to keep their performance in check.
    
    Example microbenchmarks on my Skylake 3.4 GHz:
    
      GCC 4.8, -O3:   BM_Decimal2Bin_10_2    26 ns/iter
      GCC 6.3, -O3:   BM_Decimal2Bin_10_2    24 ns/iter
      GCC 7.1, -O3:   BM_Decimal2Bin_10_2    25 ns/iter
      GCC 4.8, -O2:   BM_Decimal2Bin_10_2    22 ns/iter
      GCC 6.3, -O2:   BM_Decimal2Bin_10_2    21 ns/iter
      GCC 7.1, -O2:   BM_Decimal2Bin_10_2    23 ns/iter
    
      GCC 4.8, -O3:   BM_Bin2Decimal_10_2    19 ns/iter
      GCC 6.3, -O3:   BM_Bin2Decimal_10_2    19 ns/iter
      GCC 7.1, -O3:   BM_Bin2Decimal_10_2    20 ns/iter
      GCC 4.8, -O2:   BM_Bin2Decimal_10_2    19 ns/iter
      GCC 6.3, -O2:   BM_Bin2Decimal_10_2    19 ns/iter
      GCC 7.1, -O2:   BM_Bin2Decimal_10_2    19 ns/iter
    
    Change-Id: Ibb87319a9ff80e4b36f1b472358de7eb38c63b9a

commit 3feb99aacf8d41fdd2498f7617ea35dbca57c6c1
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jul 3 18:52:15 2017 +0530

    Revert "Adding debug print statements to MTR code."
    
    This reverts commit 047f3d4c6c0925d3bf5bfb99b44c8a3051e188f1.

commit 44ce5b197bfc90e9fa616da2fa6ee43cf1648fa6
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jul 3 17:41:52 2017 +0530

    WL#10524: Dynamic Linking of OpenSSL in MySQL Server for Windows
    
    Post-push fix, modified MTR to search for mysqld executable in
    runtime_output_directory first.

commit e604790bca4980d57eb5b6b54668118db7f52c58
Merge: bf36e90 f1d8a2b
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jul 3 17:16:18 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit 703327df5723a13e7cbf399cb1c069cbf50642fe
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jul 3 13:10:04 2017 +0200

    BUG#86581 Fixed MCC for SSH login handling

commit de7656b7f3e1904573875769a1c8415f014e52eb
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon Jul 3 16:13:45 2017 +0530

    Bug#25899959 : SERVER CRASH WHILE TRYING TO ADD A VIRTUAL COLUMN AND ADD INDEX
    	       ON IT
    
    Issues:
            When a virtual column is added and an index is also create on that in
            the same query, server crashes. Crash is not seen if addition of column
            and addition of index on it is done in two queries, one after another.
    
    Cause:
            Earlier in MySQL, default character set was latin1 which is changed to
            uf8mb4. After this change, this crash is observed. If database character
            set is set to latin1, there is no crash. The reason is, in multibyte
            character-set, if an index is added on that column, we try to check
            (and assert) the mbminmaxlen for (newly added) column to mbminmaxlen
            of character set. But for newly added column mbminmaxlen is not set yet,
            thus assert. If column is added first and then index is added in next query,
            column info is read from dictionary tables where mbminmaxlen for column is
            calculated and set, thus no crash.
    
    Fix:
            During addition of a virtual column, if index is also being added on that,
            set the mbminmaxlen for column there.
    
    Reviewed by: Jimmy Yang<jimmy.yang@oracle.com>
    Reviewed by: Satya Bodapati <satya.bodapati@oracle.com>
    RB: 16496

commit f1d8a2b2e4f2987167ec7984b1da221f3de551cc
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Jul 3 14:12:32 2017 +0530

    BUG#26021345: MAKE MTR PICK UP COLLECTIONS/DISABLED-<SANITIZER>.LIST FILES
    
    Description:
    ------------
    Tests to be skipped temporarily in a sanitizer are listed in
    'mysql-test/collections/disabled-<sanitizer>.list'. MTR should pick
    up these files automatically when running with --sanitize.
    
    When it does so, it should output the list of tests being skipped
    and the name of the disabled-file. If run with --enable-disabled, it
    shouldn't pick up the file.
    
    Fix:
    ----
    When '--sanitize' option is enabled, MTR automatically picks up
    mysql-test/collections/disabled-<sanitizer>.list file and adds it to
    the list of files containing tests to be skipped in the current run.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    Reviewed-by: Srikanth B R <srikanth.b.r@oracle.com>
    RB: 16172

commit fe7cd4998844c198bb358da796f2e0a5feb5a708
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon Jul 3 14:13:52 2017 +0530

    BUG#26136674: POSSIBLE UNINTENDED USAGE OF "PRECISION"
                  VARIABLE
    
    ANALYSIS:
    =========
    In the function my_b_vprintf() which is used for logging
    in MySQL, there is an unintended usage of 'precision'
    variable.
    
    my_b_printf() which is wrapper for my_b_vprintf() is a
    simple version of printf().
    Generally in printf() statements, we use an asterisk (*) to
    denote the width specifier/precision instead of hard coding
    it in the format string. The value for '*' is passed as an
    additional integer value argument to printf(), preceding
    the argument that has to be formatted.
    
    To achieve the required formatting, we use two variables
    which are defined below.
    
    - minimum_width (currently implemented for %d and %u):
      The minimum number of characters to be printed. If the
      value to be printed is shorter than this number, the
      result is padded with blank spaces.
    
    - precision (currently implemented for %b, binary buffer):
      used to print exactly <precision> bytes from the argument
      without stopping at '\0'.
    
    In the current implementation, 'precision' was used for
    processing '*' which should ideally be used only for
    processing '.*'. This might result in data loss.
    
    FIX:
    ====
    We are now using the variable 'precision' for processing
    of '.*' and 'minimum_width' for processing of '*'.

commit 78c2440a260343233a647d6adbbeffec2fc7744c
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Mon Jul 3 06:37:27 2017 +0200

    WL#9173 - Improve crash-safety of non-table DDL.
    
    With the advent of new data-dictionary it becomes possible to
    package metadata changes and writing binary log into a single
    transaction. WL7743 and WL9536 aim to make DDL statements
    crash-safe by using this feature. However they don't cover DDL
    which does not involve storage engine.
    
    The goal of this WL is to improve crash-safety of non-table DDLs:
    
      * CREATE/ALTER/DROP FUNCTION
    
      * CREATE/ALTER/DROP PROCEDURE
    
      * CREATE/ALTER/DROP EVENT
    
      * CREATE/ALTER/DROP VIEW
    
      * CREATE/DROP of UDF
    
    DDL operations on triggers are already atomic. ACL DDL's are
    already made atomic by WL9045.
    
    Following changes are introduced to ensure above mentioned
    statements atomic/crash-safe.
    
    1) There are no intermediate commits on SQL-layer during DDL.
    
    2) Updates to data-dictionary table are done as part of the
       DDL transaction.
    
    3) Write to binary log happens as part of the DDL transaction.
    
    4) Caches of data-dictionary, routine, events and UDF are in
       consistent with the DDL status.
    
    Behavior changes introduced by this WL:
    ----------------------------------------
    To make DROP VIEW statement atomic, non-existing views or tables
    used in the view list are checked and error is reported. If there
    are no errors then all the views in the list are dropped and
    binlog is written for the drop view statement. With this change,
    partial execution of the DROP VIEW statement is not possible.
    
    Source files:
    ----------------------------------------
    Most of the changes are done in sql/sp*, sql/sql_parse.cc,
    sql/events.*, sql/sql_view.cc, sql/sql_udf.*
    
    Other non-table DDLs:
    ----------------------------------------
    Crash-safety for other non-table DDLs
      * INSTALL/UNINSTALL PLUGIN
    
      * INSTALL/UNINSTALL COMPLETION
    
      * CREATE/ALTER/DROP SERVER
    handled by the WL10794.

commit 2d6673abeb82916a6c1e3544d957fb215ff7afaf
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Sun Jul 2 21:13:58 2017 -0700

    WL#10583: Post-fix
    A non-debug -Werror build found
    error: variable 'err' set but not used.
    It was asserted as DB_SUCCCESS, but only in debug.

commit 2aed26e5159bc35f6f7710b3edc76c284511953b
Merge: fca55e8 d34dca2
Author: Libing Song <libing.song@oracle.com>
Date:   Sun Jul 2 19:19:06 2017 +0800

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

commit d34dca25c02805be6055944cef0f3977ddbd375a
Author: Libing Song <libing.song@oracle.com>
Date:   Sun Jul 2 19:09:45 2017 +0800

    BUG#26362562 COMMIT_ORDER_MANAGER INSTRUMENTATION IS INCOMPLETE
    
    Description
    ===========
    mysql_mutex_destroy was not called in ~Commit_order_manager. It
    caused a memory leak in debug build after WL#9764.
    
    Fix
    ===
    Both mysql_mutex_destroy and mysql_cond_destroy are called to
    destroy the mutex and condition objects in ~Commit_order_manager.

commit fca55e8ffcbd5fd298add4ed2a4bfbf63d121b53
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Jun 30 11:08:27 2017 -0700

    WL#10583: Stop using rollback segments in the system tablespace
    
    * Change the minimum value of innodb_undo_tablespaces to 2
    * Fix code that allows and checks for innodb_undo_tablespaces=0
    * Fix all testcases affected
    
    Approved in RB#16504 by Satya and Thiru

commit 52aeec091fa2227b19451e58f131e3146d3b3f79
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Fri Jun 30 14:12:46 2017 +0200

    Bug#26359109 REFACTOR ITEM_FUNC::FIX_NUM_TYPE_SHARED_FOR_CASE FOR REUSE BY LEAD/LAG (doxygen)
    
    - follow-up fix for Doxygen error
    
    Change-Id: I871c93702ae1dde6005f165e8eae31dfa746561d

commit bf36e908324db5c0f59be697b43e4044ee0a9098
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 30 12:51:30 2017 +0200

    Bug#26375985 BUILDING WITH_UNIT_TESTS=OFF FAILS: NO RULE TO MAKE TARGET 'NDBINFO_SQL_RUN'
    
    Make CMake macro NDB_ADD_TEST a function.
    
    RETURN is used in definition of NDB_ADD_TEST.
    
    For CMake macros RETURN returns from the file invoking the macro.
    
    This was not the intention, and it caused premature abortion of
    processing storage/ndb/tools/CMakeLists.txt if WITH_UNIT_TESTS=OFF
    was used such that ndbinfo_sql_run target was never defined.
    
    Running cmake failed with:
    FATALTARGET ndbinfo_sql_run missing, needed to generate
    storage/ndb/tools/ndbinfo.sql.
    
    By changing macro to function, RETURN will only cause return from the function.

commit 887e398a891de16a3aa3a1cbad9fa557838a22b9
Merge: 247eed1 d6952b0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 30 13:53:07 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#26375985)

commit d6952b07c0785374f6faac4a1cfa7e22a9ed6c4d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 30 12:51:30 2017 +0200

    Bug#26375985 BUILDING WITH_UNIT_TESTS=OFF FAILS: NO RULE TO MAKE TARGET 'NDBINFO_SQL_RUN'
    
    Make CMake macro NDB_ADD_TEST a function.
    
    RETURN is used in definition of NDB_ADD_TEST.
    
    For CMake macros RETURN returns from the file invoking the macro.
    
    This was not the intention, and it caused premature abortion of
    processing storage/ndb/tools/CMakeLists.txt if WITH_UNIT_TESTS=OFF
    was used such that ndbinfo_sql_run target was never defined.
    
    Running cmake failed with:
    FATALTARGET ndbinfo_sql_run missing, needed to generate
    storage/ndb/tools/ndbinfo.sql.
    
    By changing macro to function, RETURN will only cause return from the function.

commit e53ae3b3467be762706cd443ca188294b1e54ecb
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jun 30 12:31:33 2017 +0200

    Revert "Merge branch 'mysql-5.7' into mysql-trunk"
    
    Broken build.

commit 247eed14441f8b61946b41a60cfabedf00ecfcf6
Merge: e2baa6f 31fb089
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jun 30 10:50:56 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 31fb089ef3cac7a73182afba0da4af6d8cb5fc64
Merge: 70c5533 b4abb1b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jun 30 10:50:11 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit b4abb1ba10b2fd9bff89d6ad58ae165152eb78af
Merge: 7a6b82a 7bfbe6b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jun 30 10:49:29 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 7bfbe6b0f5e6110ed80c8b16f87db923167ab317
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jun 30 10:47:04 2017 +0100

    Bug #26365433 	NDB : LGMAN DUMP CODES ARE IN OVERLAPPING RANGE
    
    Modify LGMAN dump codes to use the correct range.
    LGMAN dump code usage is all node-local.
    Add symbolic constants

commit 3063f7bdf3d0fd3a2e2caf6fa570708712c265c8
Merge: 047f3d4 2e4b670
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Fri Jun 30 14:56:52 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 2e4b670886c34e1c82e7d59974f6750e13fa647d
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Fri Jun 30 14:52:09 2017 +0530

    BUG#26136674: POSSIBLE UNINTENDED USAGE OF "PRECISION"
                  VARIABLE
    
    ANALYSIS:
    =========
    In the function my_b_vprintf() which is used for logging
    in MySQL, there is an unintended usage of 'precision'
    variable.
    
    my_b_printf() which is wrapper for my_b_vprintf() is a
    simple version of printf().
    Generally in printf() statements, we use an asterisk (*) to
    denote the width specifier/precision instead of hard coding
    it in the format string. The value for '*' is passed as an
    additional integer value argument to printf(), preceding
    the argument that has to be formatted.
    
    To achieve the required formatting, we use two variables
    which are defined below.
    
    - minimum_width (currently implemented for %d and %u):
      The minimum number of characters to be printed. If the
      value to be printed is shorter than this number, the
      result is padded with blank spaces.
    
    - precision (currently implemented for %b, binary buffer):
      used to print exactly <precision> bytes from the argument
      without stopping at '\0'.
    
    In the current implementation, 'precision' was used for
    processing '*' which should ideally be used only for
    processing '.*'. This might result in data loss.
    
    FIX:
    ====
    We are now using the variable 'precision' for processing
    of '.*' and 'minimum_width' for processing of '*'.

commit 047f3d4c6c0925d3bf5bfb99b44c8a3051e188f1
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri Jun 30 12:10:15 2017 +0530

    Adding debug print statements to MTR code.
    
    Reviewed-by: Erlend Dahl <erlend.dahl@oracle.com>

commit 888d4c6df44201bf21336236e716822734fabb05
Merge: 7788a68 0c99678
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Jun 30 12:06:36 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0c99678da67f5e44b7517f0705f44f1e5d10cebe
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Jun 30 12:05:28 2017 +0530

    Bug#26117735: MYSQLBINLOG READ-FROM-REMOTE-SERVER NOT
    HONORING REWRITE_DB FILTERING
    
    Problem:
    =======
    When running mysqlbinlog with the --read-from-remote-server
    option, the processing of the binlog entries accepts
    rewrite_db as an argument, but ignores the rewrite rule.
    Therefore no filtering is done on the binlog entries,
    resulting in failures to write data in the target DB.
    
    Analysis:
    ========
    mysqlbinlog tool can read binary logs that are present
    locally or on a remote machine. At present rewrite filter is
    applied for binary logs that are read locally. This
    rewrite_db filter specific code is not invoked while dumping
    binary log from a remote machine. Hence the filtering is is
    not done on those binlog entries.
    
    Fix:
    ===
    Invoke rewrite_db filter code while dumping remote log
    entries as well.

commit 7788a686221d1b16faa758b1febfa4d5dc03f1c1
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 28 17:08:12 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS
    
    Post-push fix to stabilize test results

commit 25622a14ae5dc02a2106a132fccb24a0f9f87f4c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 28 13:47:51 2017 +0200

    Update result file for main.parser-big-32bit

commit 6f1a3514d1780e41ed750aa16f3055be3ec0c2d4
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Jun 28 14:48:42 2017 +0200

    * Run memcached tests with parallel=auto
    * Remove big suffix from tests in default.weekly-basic since they are not run with --big-test.
    
    Reviewed by : Erlend Dahl <erlend.dahl@oracle.com>
                  Horst Hunger <horst.hunger@oracle.com>

commit 5b6e8f7a278711c78cf741537f8fea309d863b5f
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Fri Jun 30 08:30:52 2017 +0800

    Bug #26362921   RPL.RPL_SLAVE_GRP_EXEC IS FAILING
    
    Problem
    =======
    ./mtr --mem rpl.rpl_slave_grp_exec --mysqld=--binlog-format=row --mysqld=--slave-parallel-workers=4 --mysqld=--slave-parallel-type=logical_clock --mysqld=--binlog-transaction-dependency-tracking=WRITESET
    
    The failure is as following:
     SELECT * FROM t2 ORDER BY a;
     a  b
    +2  B
     include/stop_slave_io.inc
    
    Analysis
    ========
    --connection master;
    CREATE TABLE t1 (a INT NOT NULL, b VARCHAR(10)) ENGINE=MyISAM;
    CREATE TABLE t2 LIKE t1;
    CREATE TABLE t3 LIKE t1;
    
    DELIMITER |;
    CREATE TRIGGER tr1 BEFORE UPDATE ON t1
      FOR EACH ROW BEGIN
        UPDATE t2 SET b='YY' WHERE a=NEW.a;
      END|
    CREATE TRIGGER tr2 AFTER UPDATE ON t1
      FOR EACH ROW BEGIN
        UPDATE t3 SET b='ZZ' WHERE a=NEW.a;
      END|
    DELIMITER ;|
    
    ALTER TABLE t1 ADD PRIMARY KEY (a);
    ALTER TABLE t2 ADD PRIMARY KEY (a);
    ALTER TABLE t3 ADD PRIMARY KEY (a);
    
    --connection slave
    RENAME TABLE t3 TO t3_bak;
    
    --connection master;
    INSERT INTO t3 VALUES(2, 'B');
    INSERT INTO t2 VALUES(2, 'B');
    The first INSERT statement causes an error on slave, since t3 is renamed
    to t3_bak.
    The second INSERT statement is applied successfully before above
    problem statement on slave when --binlog-transaction-dependency-tracking
    is set to WRITESET and MTS is enabled, since t2 does not depend on t3
    from WRITESET POV. This causes the failure, but the execution is fine.
    There is no the failure when --binlog-transaction-dependency-tracking
    is set to COMMIT_ORDER, which preserves commit order when applying
    above transactions on slave. There is no the failure when
    --binlog-transaction-dependency-tracking is set to WRITESET_SESSION,
    which never allows the transactions from the same session to be
    executed in parallel.
    
    Fix
    ===
    To make the SELECT statements output the consistent result, set
    slave_preserve_commit_order to ON to make the above INSERT statements
    execute in commit order when binlog_transaction_dependency_tracking
    is set to WRITESET.

commit 80a07495186411ab21a58ae036f98807fd4fccee
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 26 23:20:38 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #9:
    
    Inline json_binary::Value's constructors and getters.
    
    BM_JsonBinarySearchEllipsis          16817 [+21.7%]
    BM_JsonBinarySearchEllipsis_OnlyOne     70 [ +7.1%]
    BM_JsonBinarySearchKey                  64 [ +4.7%]
    
    Change-Id: I5882869fd58caa7fd88f70e3e837ee5d2c4427d0

commit f2a6aad3b60059002e4b71ec5931dc9f38bb4503
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 26 22:33:37 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #8:
    
    seek_no_dup_elimination() is only called on documents that are on
    binary format, but it accesses the document through the Json_wrapper
    interface. This patch makes it use the json_binary interface instead
    to avoid the unnecessary indirection via Json_wrapper.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonBinarySearchEllipsis          20462 [+213.1%]
    BM_JsonBinarySearchEllipsis_OnlyOne     75 [ +18.7%]
    BM_JsonBinarySearchKey                  67 [ +14.9%]
    
    Change-Id: Idb74afe8cbac53eb45dab62a677282df9465ae6b

commit 927e6800c5e6bb90b7615e048546ce12adedcd1f
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 26 21:01:15 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #7:
    
    Accessing the JSON path legs requires going through virtual accessor
    functions, due to the different storage of path legs in Json_path and
    Json_path_clone. The former stores the path legs in an array of
    Json_path_leg objects, whereas the latter stores them in an array of
    pointers.
    
    This patch makes both of the classes store the path legs in an array
    of pointers. Json_path, which is the owner of the path leg instances,
    additionally has a MEM_ROOT in which the Json_path_leg objects live.
    
    Now that the path legs are stored the same way in the two classes, it
    is possible to iterate over them without using virtual function calls.
    Iterators are provided through begin() and end() to facilitate
    iteration using standard mechanisms. The seek functions
    find_child_doms() and seek_no_dup_elimination() are changed to take
    begin and end iterators for iterating over the paths.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis             17634 [+21.0%]
    BM_JsonDomSearchEllipsis_OnlyOne       123 [ +5.7%]
    BM_JsonDomSearchKey                    116 [  0.0%]
    BM_JsonBinarySearchEllipsis          64065 [+10.8%]
    BM_JsonBinarySearchEllipsis_OnlyOne     89 [+14.6%]
    BM_JsonBinarySearchKey                  77 [ +7.8%]
    
    Change-Id: I864d55a2f07d5f4bda330fee03cdcf0bb0d4f3e6

commit 3e98877526a53673b26c32afb8f571aaec3f3c45
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Tue Jun 20 20:49:31 2017 +0200

    Bug#26359109 REFACTOR ITEM_FUNC::FIX_NUM_TYPE_SHARED_FOR_CASE FOR REUSE BY LEAD/LAG
    
    [ was: Settled a TODO FIXME item: reuse fix_num_type_shared_for_case for LEAD/LAG ]
    
    [ Revision 2: after Roy's 2. review
    
      - Renamed fix_*from_args -> aggregate_*  (after first rename in revision 1)
      - Fixed bug in set_data_type_datetime: used wrong MAX_*_WIDTH constant
      - Removed Docygen reference to max_chars for methods that don't see
        that level of detail.
      - Unfolded logic into separate switch branches for readability in
        Item::aggregate_temporal_properties
    ]
    
    [ Revision 1: after Roy's review
    
      - All review items except:
    
      "I also wonder if we should skip max_length calculation here and
      thus ignore decimals in that calculation. Calculation of decimals
      might still be needed to avoid regressions in results, but
      max_length should be strictly derived from the float type, IMHO."
    
      and one changed that caused a crash:
    
      "I do not think we should set decimals here, we should accept the
      constructor default."
    
      which, if done, breaks func_time.test
    ]
    
    Settled a windowing TODO FIXME item: reuse fix_num_type_shared_for_case
    for LEAD/LAG
    
    - Added the method header file and made it non-static, so we can use
      it in Item_lead_lag.
    
    - Changed its signature to accept Item instead of Item_func, since
      Item_sum (parent class of Item_lead_lag) is not an Item_func.
    
    - In the process lifted auxiliary type resolving functions up from
      Item_result_field/Item_func up to Item (at Roy's request: we felt
      they belong more naturally there than in Item_result_field even
      though that is the closes common ancestor of Item_func and
      Item_sum).

commit e5c12b328629f28ee7ae240fbef14142479c4271
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Jun 29 13:05:06 2017 +0200

    Bug#26370216 TEST MAIN.OPENSSL_1 FAILS ON ALPINE LINUX
    
    For some reason warning from mysqltest client comes at different stage
    when running on Alpine Linux.
    
    As warning is not of interest in this test any way, warning message is
    removed by adding --ssl-mode option.

commit ab2c5deea91a9bdf3bdca4a6156169cf2216dbed
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 27 14:00:24 2017 +0200

    WL#10524 Dynamic Linking of OpenSSL in MySQL Server
    
    Add bin symlink to runtime_output_directory

commit 99d9cfc5190b63c357e0499ee767b4f591fb9d0c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 27 08:54:51 2017 +0200

    WL#10524 Dynamic Linking of OpenSSL in MySQL Server
    
    Adapt to WL#9143: Keyring plugin for the Amazon's AWS

commit 697b436d508fa932e48ea20893cbfc2eddc44f9e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue May 30 15:13:32 2017 +0200

    WL#10524 Dynamic Linking of OpenSSL in MySQL Server
    
    Adapt to WL#10441

commit 79d0724be5fd49ad9ae5531eece4581d51b9949e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 22 16:55:18 2017 +0100

    WL#10524 Dynamic Linking of OpenSSL in MySQL Server
    
    Extend MYSQL_ADD_EXECUTABLE with new arguments, and use it for
    generating *all* executables (including unit tests). Store all
    executables in ${CMAKE_BINARY_DIR}/runtime_output_directory
    
    New target copy_openssl_dlls, which copies OpenSSL DLLs to
    runtime_output_directory. All tools/executables used during build
    time depend on this (on windows only)
    
    Rewrite the regex unit test to run all three tests by default, rather
    than having three separate tests.
    
    Fix unused/unmaintained plugin/keyring/keyring-test
    
    Extend mtr to look for executables in
    ${CMAKE_BINARY_DIR}/runtime_output_directory.
    
    The executable 'my_safe_process', used by mtr to start the server, is
    the only executable *not* moved to runtime_output_directory.
    This is in order to minimize the changes necessary to mtr.

commit 6cd93caf870ec362e6a20ed41bc5bc1e267faa84
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 29 12:19:03 2017 +0530

    Bug #26368685: [noclose] ORDER BY ON A VARCHAR COLUMN USING UTF8MB4 CHARSET GIVES INCONSISTENT RESULTS
    
    - Add test utf8mb4_order_by to the ndbcluster suite to reproduce the issue
    - Test will remain disabled for now

commit f0a630d8e7d6471b0964a8c8b1075fe769aa7464
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Jun 29 11:38:53 2017 +0200

    WL#4321 skip-grant-tables imply skip-networking
    
    Fix for breaking test case: shm.test does not need --skip-grant-tables

commit 855412a9895aa120337dfe9ee9a97eb057d8c58d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 29 11:14:10 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS
    
    Follow-up patch: fix memory leaks in group replication plugin.
    
    Change-Id: I45c7a5e43c314d92900d64dc6d32ded9239c3f6e

commit 3fda78dda8aa233fde5a7f8f8e0039e232b4b5d2
Merge: 3a8f4b0 e94da4a
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Jun 29 14:01:34 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit e94da4a9522986b7d451e2ef8d9ec8d11fc6d3b6
Merge: 3aab15d 4d3d66c
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Jun 29 13:59:42 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4d3d66c18e38ca238b7d35fbbb4894b4ef14e3b7
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Jun 29 13:58:26 2017 +0530

    Bug#25987505 - SUPPRESSION IS TOO STRICT ON SOME SYSTEMS
    
    DESCRIPTION
    ===========
    Valgrind failure happens for few test cases e.g.
    "main.mysql_client_test"
    
    ANALYSIS
    ========
    File "valgrind.supp" has a suppression which looks like:
    {
       OpenSSL still reachable.
       Memcheck:Leak
       fun:malloc
       fun:CRYPTO_malloc
       fun:sk_new
       fun:load_builtin_compressions
       fun:SSL_COMP_get_compression_methods
       fun:SSL_library_init
    }
    
    The valgrind failure stack is as shows below:
    {
       malloc
       CRYPTO_malloc
       sk_new
       ???
       SSL_COMP_get_compression_methods
       SSL_library_init
       ssl_start
       init_ssl
       mysqld_main
       main
    }
    
    Clearly the frame 'load_builtin_compressions' can't be
    matched here and hence the reported failure.
    
    FIX
    ===
    Replace the specific frame with wildcard '...' in the
    suppression.

commit 3a8f4b034c81720f669712a772ea6e360612477d
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Jun 29 12:07:12 2017 +0530

    WL#9686: Increase the default for max_error_count to 1024
    
    Change default value for max_error_count variable.
      Old value :   64
      New Value : 1024
    
    Fix test cases by:
    - record new default value for 'max_error_count'
    - record extra warnings in result file due to increase in limit
      of warnings by 'max_error_count'
    - Set max_error_count to hard coded 64 (old default value) to contain
      number of warnings in the result file

commit e2baa6f852f8f1bfdfc368aa3fea5a788673ab03
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 28 18:33:54 2017 +0200

    WL#10302: WL#8069: We need to wait until MAX of MaxGciWritten and MaxGciCompleted is restorable before we delete old LCP control files, otherwise we hit problems at recovery

commit 78a84d2ce5896079dbed5540916900109004b489
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 28 17:12:14 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS
    
    Post-push fix: broken unit tests.
    
    Change-Id: I72254f1d4c8ea94f724ff00902696c87db129ee9

commit 6871c6e60d3ea46ff91d3d94b454d82295fbe9b8
Author: Luis Soares <luis.soares@oracle.com>
Date:   Wed Jun 28 15:46:37 2017 +0100

    WL#10922: Remove global scope sql_log_bin system variable
    
    global.sql_log_bin was set read only in 5.5, 5.6 and 5.7.
    In addition, reading the global scope value if this variable
    was deprecated in 5.7.
    
    This patch removes the global scope of sql_log_bin system
    variable.

commit 9ebf2eec3785f22a03657cd615663236de5e7670
Author: Havard Dybvik <havard.dybvik@oracle.com>
Date:   Fri Jun 23 14:33:29 2017 +0200

    Bug#25738624: ASSERTION `FALSE' FAILED IN SQL/SQL_EXECUTOR.CC
    
    An assertion protecting an unused branch failed if an indexed column in
    a system table was referenced in a MIN/MAX and in a join, and the
    optimizer was unable to optimize away the join in opt_sum_query(). If an
    index was used to extract the MIN/MAX value of the column, the row
    buffer of that table would get status 'started' with the content stored
    in the record[0] buffer. If the optimizer later tried to access the
    table using read_system(), this status would cause an attempt to restore
    the content from the record[1] buffer instead of reading it directly
    from the table. Because only record[0] contains valid data and
    the branch restoring the data from record[1] is declared as unused, the
    assertion fails as it should.
    
    To account for cases where opt_sum_query() is able to determine MIN/MAX
    value from an indexed column in a system table but is not able to
    optimize away subsequent reads to the same table, the row buffer status
    is now reset to 'not started' after reading the index. Any subsequent
    read will then fetch data from the table instead of attempting to
    restore it from record[1].

commit 5898b76fa52a7fa9b2686d81434164a3f32a240b
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Jun 28 15:36:16 2017 +0200

    Coverage of mats decreased. Update of test list to increase it, again.

commit 2b17bf6293bbd6b9e80a6cd943fed25fcff4d6a8
Merge: de43361 70c5533
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:37:01 2017 +0100

    wl#10988: Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit de43361a0fd6d22496616f45a0dd72665fede746
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 28 14:53:45 2017 +0200

    Bug#23523926 DEPRECATE "PERROR --NDB" IN 7.5
    
    post-push fix print warning to stderr.

commit 70c553389fb36b4f4dea5e9767687eacb908ed6a
Merge: 411438d 7a6b82a
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:36:02 2017 +0100

    wl#10988: Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 7a6b82a045e5b205ef328f1d7616bb07afabf5dd
Merge: 856aba6 ce76479
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:35:14 2017 +0100

    wl#10988: Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ce76479ba6b7eadf68451fa67e8c75b3198d0fa6
Merge: 9ad321e ab08e84
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:32:33 2017 +0100

    wl#10988: Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit ab08e84860e7df34c91425b4beba640120405f45
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Tue Jun 27 11:52:54 2017 +0100

    wl#10988: Fix createDB sql statement generation
    
    SQL statement was being generated but not passed when executing
    the query. Functionality never used before.
    
    Minor code style fixes following Cluster Coding Style.

commit 8ee1e865ff16e5e8a55543a9d998cdfb3642ec12
Merge: 86f1922 411438d
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:23:07 2017 +0100

    wl#10896: Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 411438dfedfe6f724085db23fca3d67868b9dd79
Merge: dda1317 856aba6
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:19:25 2017 +0100

    wl#10896: Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 856aba61e10f9570c40a2e8d2b69a7b4d93a97ec
Merge: f570955 9ad321e
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:17:18 2017 +0100

    wl#10896: Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 9ad321e6116a3deddb573d767f540e07ab584353
Merge: a0a8435 68365e3
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 14:08:40 2017 +0100

    wl#10896: Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 68365e38289c3a0a220f29a64102cef6308c8a6c
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Thu Jun 8 18:30:14 2017 +0100

    wl#10896: Local copy when sync files within same host
    
    Detect if synchronization is done within the same host and pass correct
    arguments to rsync (i.e. omit the host part to prevent rsync to blindly use ssh).
    Removed code duplication by handling windows case within the main loop.
    Fixed windows sync that was creating one extra folder level than linux
    (removed dirname from script and changed atrt that was artificially appending
    "/*" to all paths - windows or linux paths).
    Agreed with Mauritz that supported formats should be either 'host:/some/path' or
    'host:c:\some\path'. Added validation in case the DIR part is empty.
    Increase minor version in 'autotest-run.sh' due to the changes done.

commit 4deda2bdb51809ab5ef95603e760cae302996289
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Mar 21 17:13:25 2014 +0100

    WL#7761: Make atrt work on Mac OS X

commit f9ac8c5a8999f7b9d2ecd6ca3c9fc0993dbe8a2f
Author: Tiago Alves <tiago.alves@oracle.com>
Date:   Wed Jun 28 13:20:08 2017 +0100

    Upgrading atrt and atrt-gather-result.sh to mysql-5.7-cluster-7.6

commit 769d25ba4bd6e4ad00003ca3291dcd4d2a86cc1d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 21 19:45:55 2017 +0530

    Bug #26322545: FAILURE OF MYSQL_SESSION_USER TEST WHEN SERVER IS BUILT WITH NDB
    
    - The mysql_session_user test fails with a Result Content Mismatch
      error when the server is built with NDB.
    - This is due to the presence of the mysql.ndb_binlog_index table
      after upgrade of server running with NDB
    - Filter out the ndb_binlog_index table from the mysql_upgrade output
      to mask differences due to running with or without NDB
    
    RB: 16633
    Reviewed by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
    
    (cherry picked from commit dd3b9dc939b688f28f524abb0b171b2fb0d08477)

commit 573ecdb75e69d47bf4ea465bff3f4cd33ec4f056
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Tue Jun 27 10:47:45 2017 +0200

    Bug#26357344 SOME MACROS IN INCLUDE/M_CTYPE.H SHOULD NOT BE USED FOR MULTIBYTE CHARACTER SETS

commit dd3b9dc939b688f28f524abb0b171b2fb0d08477
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 21 19:45:55 2017 +0530

    Bug #26322545: FAILURE OF MYSQL_SESSION_USER TEST WHEN SERVER IS BUILT WITH NDB
    
    - The mysql_session_user test fails with a Result Content Mismatch
      error when the server is built with NDB.
    - This is due to the presence of the mysql.ndb_binlog_index table
      after upgrade of server running with NDB
    - Filter out the ndb_binlog_index table from the mysql_upgrade output
      to mask differences due to running with or without NDB
    
    RB: 16633
    Reviewed by: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>

commit 86f1922e035256c27cfa67b38cc036670882022c
Merge: ea39bc2 dda1317
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 28 12:38:46 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit dda1317c3768c8bd86522ef1ff5f477e770bb271
Merge: 373c539 f570955
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 28 12:36:08 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit f5709558eae96e2214f5a3747184edf80cebc514
Merge: bf9663a a0a8435
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 28 12:34:46 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit a0a84350b937eb6c295e17446ed58e1c9f778dd6
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 28 12:34:13 2017 +0100

    Bug #26263397   JOB BUFFER FULL WHILE RESTORING LCP IN START PHASE 5
    
    nr_start_fragments() (DihContinueB::ZTO_START_FRAGMENTS) has a
    potential signal fan-out of 100x when sending START_FRAG_REQ.
    Looks like an oversight in terms of break; scope.
    
    Logic modified to CONTINUEB after sending one START_FRAG_REQ
    limiting fan-out to 2.
    
    Manually tested.
    
    Further automated testing to be addressed in separate bug
    (26288247 NDB : ENFORCE REASONABLE SIGNAL FAN OUT LIMIT)

commit 7a25ca0a61a3d7143737723f7adefa94a459d970
Merge: 405cc87 3aab15d
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Jun 28 11:12:20 2017 +0100

    Null-merge from 5.7.

commit 3aab15d9a061628c49489267322a14210b784645
Merge: 73d9625 bc76a7a
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Jun 28 10:55:47 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit bc76a7aeffcd4b2d744bd6fec87073e679a6f58d
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue May 30 16:50:55 2017 +0100

    BUG#26137159 SLAVE STOPS WITH HA_ERR_KEY_NOT_FOUND (1032) WHEN PARTITIONING + INDEX USED
    
    Problem:
    When table partitions and indexes are used simultaneously, and the index
    key is not in the partition function, in some situations replication
    would stop because a given key could not be found when executing an
    update or delete statement. This issue only happened when
    slave-rows-search-algorithms is set to hash_scan.
    
    Analysis:
    When slave-rows-search-algorithms is set to hash_scan, the applier
    searches for keys(hashes) of the rows that will be modified. Since in
    this case, the index key was not in the partition function, the
    retrieved rows could not always be a match. If the key to the retrieved
    row happened to be different than the key currently being searched, we
    would advance to the next key, even if not all rows up to that key had
    been retrieved yet.
    
    Fix:
    Advance to the next key to search (or return an error) only when the
    search for a given key value ends without finding the corresponding key,
    instead of advancing to the next key when the index key is different
    than the key being searched.
    
    (cherry picked from commit 8fefcc056b7dd704bf381788f9ab52cbcd0d41af)

commit 405cc87fd4c4e2f114760689745912c4716c4963
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Jun 28 10:55:03 2017 +0200

    Wl9106: Post push fix. Updated the result set of a Hudson test only running  on windows.

commit ae6bcd2e163cc0ae6941d6c49214585758755dd5
Merge: 5dd2126 73d9625
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Jun 28 13:11:05 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 73d9625be591adf5f270cea170c62c83a7384f26
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Jun 28 13:09:35 2017 +0530

    Bug #25865525: BACKPORT 25147988 FIX TO 5.7
    
    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.

commit 5dd21267f75eaf3ed54217007005129567165669
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Jun 27 14:51:29 2017 +0200

    Bug #26329850 TEST FILES FOR COMPONENTS DO NOT GET INSTALLED IN COMPONENT 'TEST'
    
      Check for the correct option TEST instead of TEST_ONLY

commit 9739bae815e69ed9a78282ec49ab198b4503cf5e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Jun 22 13:31:55 2017 +0200

    WL#4321 skip-grant-tables imply skip-networking
    
    This patch enables skip-networking if skip-grant-tables is used.

commit 7877efec636c745599b9e0edfd5ca5ccc1656172
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jun 27 15:25:53 2017 +0200

    Post merge fix, adjust test results.

commit a4248627c3810d20fb8d8714092fc9ac73e593b5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jun 27 15:08:25 2017 +0200

    Test cleanup: removed binlog.restart_server_with_invalid_ps_table
    
    Performance schema tables can no longer be dropped,
    the use case covered can no longer happen.

commit c27c87c17bd7cdc837ba7692c676d1b4df3a2784
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jun 27 14:36:14 2017 +0200

    WL#9764 PERFORMANCE_SCHEMA SERVICE FOR COMPONENTS

commit 72248e57d352b34afe7caae9258f51ce7a4afe8d
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 27 14:37:22 2017 +0200

    Revert "Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 6, noclose]"
    
    This reverts commit 97ce11bc9b4cb7bea867ad5d0d9389e9119bfd06, which was
    committed by accident.

commit 0bc6406d88ab5cf1c42f8ff669d094e65b9a1892
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 27 14:32:28 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 6, noclose]
    
    Post-push fix: Fix the previous fix so that it doesn't return “matched”
    for queries with the right digest but where the rewrite rule didn't want
    to rewrite.
    
    Change-Id: I51470a4dcf8e0f3195c3ff6cfa46d98313b732ad

commit 97ce11bc9b4cb7bea867ad5d0d9389e9119bfd06
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 27 14:05:44 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 6, noclose]
    
    Post-push fix: Fix a test that was recorded with the wrong result
    (SELECT 1 and SELECT 'nonrewritten' have the same digest, so we should
    mark them as such).
    
    Change-Id: Ie615835417b3fed4188901a8de1a300ec4619c31

commit c6e3cd54f2eb087e190585d0175041cb2cf9ee7a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 27 17:37:53 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - The ndb_one_fragment test failed due to a syntax error
    - Fix is to replace usage of reserved word 'rows' with 'row_count'
    - Changes were required due to WL#9236, WL#9603 and WL#9727 -
      Add SQL window functions to MySQL

commit fbca7f75fb29046b81fdc7dc807dba339a39f1ca
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jun 27 16:59:21 2017 +0530

    Bug#26027722 : Unknown Initial Character Set
    
    MySQL Server has now switched to utf8mb4 as the default charset. And
    over time, a lot of new charsets has been added and the total has
    already exceeded 256. But the CharsetMapImpl still handles only 256
    charsets. It also currently doesn't initialise the mysql_charset_name
    array properly - due to which a ClusterJ app might crash when handling
    charset with charset number 255.
    
    This patch updates ClusterJ to adapt to the new default Charset of the
    server.
    
    Changes
    
     CharsetMapImpl.h & CharsetMapImpl.cpp
     - Updated the class to handle atmost 512 charsets.
     - Fixed the issue in initialization of mysql_charset_name array and
       changed it to a private member.
    
     clusterj/pom.xml.in
     - Updated the pom to use the lastest Connector/J. The old version had
       some issues handling the utf8mb4 charset.
    
     DynamicObjectTest.java
     - Updated the expected charset and maximum column length in the
       testcase.
    
     storage/ndb/clusterj/clusterj-test/src/main/resources/schema.sql
     - Change charset of table `hope` to latin. The default charset utf8mb4
       increases the record length of the table beyond maximum and the
       table creation fails. Changing the charset to latin1 reduces the
       record length and fixes this issue.
    
     mysql-test/suite/ndb/t/disabled.def
     - Enabled the clusterj test back again.

commit 8fefcc056b7dd704bf381788f9ab52cbcd0d41af
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue May 30 16:50:55 2017 +0100

    BUG#26137159 SLAVE STOPS WITH HA_ERR_KEY_NOT_FOUND (1032) WHEN PARTITIONING + INDEX USED
    
    Problem:
    When table partitions and indexes are used simultaneously, and the index
    key is not in the partition function, in some situations replication
    would stop because a given key could not be found when executing an
    update or delete statement. This issue only happened when
    slave-rows-search-algorithms is set to hash_scan.
    
    Analysis:
    When slave-rows-search-algorithms is set to hash_scan, the applier
    searches for keys(hashes) of the rows that will be modified. Since in
    this case, the index key was not in the partition function, the
    retrieved rows could not always be a match. If the key to the retrieved
    row happened to be different than the key currently being searched, we
    would advance to the next key, even if not all rows up to that key had
    been retrieved yet.
    
    Fix:
    Advance to the next key to search (or return an error) only when the
    search for a given key value ends without finding the corresponding key,
    instead of advancing to the next key when the index key is different
    than the key being searched.

commit 69ad9799362f3024cabb6a10f890b84042b0a259
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 26 10:15:20 2017 +0200

    Bug#26336244: REMOVE USAGE OF BOOST IN MYSQLPUMP SOURCE CODE
    
    The mysqlpump code has some usage of boost that is easily avoided:
    
    boost::trim is used to remove the trailing newline character from the
    string returned by std::ctime. However, all users of the returned
    string add a trailing newline for formatting purposes. This use of
    boost::trim can simply be dropped, and the formatting can stop adding
    the newline back.
    
    boost::split is used to read lines from a string, or sometimes values
    from a comma-separated list. The use of boost::split causes
    maybe-uninitialized warnings inside of boost in gcc 7 under certain
    optimization levels (at least with -Og). It can be replaced with the
    use of std::istringstream and std::getline to read individual tokens
    from the stream. In one case std::string::substr is sufficient.

commit 3dba8b856223a9f4a223bffd74cd073436685c7a
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Jun 27 11:20:01 2017 +0530

    Post push Fix: Minor issues on weekly run
    
    1. WL#9212: Compilation with PFS disabled
    
    2. Test - error_features: start with non-default page size

commit b3920d552f59cd2f7d0bbf3c20e54d7617ea5644
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 27 11:26:11 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 6, noclose]
    
    Post-push fix: Make the query rewriter “digest_matched” detection independent
    of the order of the entries in the hash. This was a long-standing real bug,
    but it was masked in the test since all platforms would have the same hash
    order earlier.
    
    Change-Id: I28234b9fd8cca435fabeeafaa4506ab583ce3087

commit 8cab0c5b99a7cd0c5e928b99960b91f30a0b2422
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 23 12:36:16 2017 +0200

    Bug#26336636 USE STD::ATOMIC RATHER THAN VOLATILE WHEN INSPECTING STATUS OF OTHER THREADS
    
    A handful of state variables are declared 'volatile' in order to read them
    safely in different threads.
    Remove volatile, and use std::atomic instead.
    
    Change-Id: I2d7b942b34a57e3d1efd2600351f3b087f6649a3

commit 1d568a37da8eb41a1953e9f9fed90fd674515a4f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 27 09:24:47 2017 +0200

    Fix warning:
    sql/parse_tree_nodes.h", line 5101: Warning: extra ";" ignored.
    
    Change-Id: I2bb76c8b3d2ad8f5babc0d7609c67564d6c172ad

commit f6ce42ae627f948569f202a932663f5e5f11f00e
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Jun 23 10:55:18 2017 +0200

    WL#10441: Post-push fix. Create an MTR test which checks the value of
    deduced directories.
    
    Test checks that the default values for --basedir, --lc-messages-dir,
    --character-sets-dir and --plugin-dir, which are deduced from the
    location of the mysqld executable, are reasonable.
    
    Reviewed by Tor.Didriksen@oracle.com
    
    Change-Id: Ia38f175c28504054bf21df8b8b66472cdedc0986

commit 784916e0bbc2459a7c806de1a0808dff71a9a2aa
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jun 26 11:06:08 2017 +0200

    Bug#26136994 TABLE COULD BE DROPPED AND RECREATED DIFFERENTLY IN PFS
    
    Before this fix, the privileges in the performance schema
    allowed the user to:
    - CREATE any performance schema table
    - DROP / TRUNCATE any performance schema table
    
    Allowing these operations was necessary for the
    install and upgrade SQL scripts.
    
    With the recent implementation of:
    WL#7900 New DD: Support flexible creation
      and versioning of virtual P_S tables
    WL#8879 PERFORMANCE SCHEMA, TABLE PLUGIN
    
    the table creation is no longer done using a SQL CREATE TABLE statement,
    but embedded in the server code itself.
    
    As a result, allowing CREATE and DROP on performance schema tables
    is no longer necessary, and privileges can be more restrictive.
    
    With this fix,
    - CREATE TABLE is never allowed to a user,
    - DROP TABLE is never allowed to a user,
    - TRUNCATE TABLE is only allowed for tables that supports truncation.

commit 14d46568a6d32803da270641411103c49fc141fd
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Tue Jun 20 12:41:17 2017 +0530

    Bug#25068254:: GENERATE ERRORS IF SPECIAL STRINGS ARE PART OF THE VAR DIRECTORY PATH
    
    Description:
    ============
    There is a function in mysqltest.cc called fix_win_paths() which replaces back
    slashes with front slashes in paths when --replace_result is called in the test.
    The replacement of slashes happens when a certain pattern is matched in the path
    
    The list of patterns is defined in mysqltest.cc under init_win_path_patterns()
    
    There is a problem when any of these patterns is present in the vardir path
    unintentionally because all the back slashes get replaced when it is not
    supposed to. It was observed when running tests like main.secure_file_priv_win and
    i_main.bug11761752 on Windows.
    
    perl mysql-test-run.pl main.secure_file_priv_win --vardir=undo [fail]
    
    Solution:
    =========
    Changes in the string patterns are made which are used in order to find paths
    
    Reviewed by:
    Pavan Naik <pavan.naik@oracle.com>
    RB: 16254

commit c39562996ca8337b0e141ff0b9f9661b80355e7e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Jun 27 10:53:28 2017 +0530

    Bug #25377592   INNODB: ASSERTION FAILURE: BTR0PCUR.CC:244:CURSOR->OLD_STORED
    
    - To check the fetch_cache is being used, row_search_mvcc() should check
    for next_buf is not empty instead of prebuilt->n_fetch_cached for
    end range query. Because n_fetch_cached will be set to 0 after
    storing the first record.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 7e02eaca049d2f6da383b299a2a15e2bb6c3f4cd
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sun Jun 25 20:32:46 2017 +0200

    Fix main.opt_costmodel_upgrade to run properly with NDB configured
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over e-mail.

commit 5d1e5c7a3e3342bdc340f8e50eeae4b0e0e0f4e3
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 26 08:45:15 2017 +0200

    Remove a couple of optimizer tests from valgrind runs.
    
    main.greedy_optimizer and main.window_functions_big time out.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over e-mail.

commit 15b07731d36d3bdc9eef15a198b7badfadb1ffb6
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 26 07:07:51 2017 +0200

    Bug#26116237 SYSCALL PARAM PPOLL(SIGMASK) POINTS TO UNADDRESSABLE BYTE [noclose]
    
    Temporary suppression to silence the valgrind noise
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over e-mail.

commit 8a1ef069bf15b9efd24250a5288186bf8454c2e7
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 26 06:26:26 2017 +0200

    Bug#25908290 FEW TESTS FAILING WITH ERROR "SHUTDOWN_SERVER" FAILED WITH ERROR 2. MY_ERRNO=175 [noclose]
    
    Increase shutdown timeout for i_innodb.innodb_bug16072440
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over e-mail.

commit 67816e83be23e56f40dd33e1957ecd68d6c481dd
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Jun 26 17:05:57 2017 +0200

    BUG#25423650: QUICK UNINSTALL PLUGIN WHILE START GR CAN RESULT INTO DEADLOCK
    
    Restrict gr_concurrent_start_uninstall test to debug binaries, since
    it does require debug flags.

commit 6571cdbecf9608bd28cfc36ab77c47a96237757d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jun 26 16:57:29 2017 +0200

    Bug#26336467 ASAN FAILURE IN UNIT TEST RELOPSTEST/1.CODECOVERAGE
    
    Disable more tests (for Clang 3.9.1) until bug can be fixed.
    
    Change-Id: I1fc57d3ad94bd30eb783bd9d0f3fc926ce2fbe6e

commit 5bb25ba5bcae5efa933b234b8538c6eb39e66fcb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jun 26 15:55:33 2017 +0200

    Bug #25423650: QUICK UNINSTALL PLUGIN WHILE START GR CAN RESULT INTO DEADLOCK
    
    Post-push fix: ASAN reported ODR violation
    ==80314==ERROR: AddressSanitizer: odr-violation (0x0000066547c0):
    [1] size=8 'group_replication_plugin_name' ../../../../mysqlcom-pro-8.0.3-rc/rapid/plugin/group_replication/src/plugin.cc:121:13
    [2] size=16 'group_replication_plugin_name' ../../mysqlcom-pro-8.0.3-rc/sql/rpl_group_replication.cc:49:13
    
    Change-Id: I770dc1e40f6d4df2a68fe0f665568cd98098ae78

commit ea39bc29b9b1c1907a355d02aa863faed9aeab11
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 26 15:15:30 2017 +0200

    wl#10234: emergency patch to avoid build break in nodejs code
    
    Expect nodejs test to fail as a NULL argument is now supplied
    instead if a Ndb* as expected. Need to be looked further into.

commit 8ea4c54663ed1f43f8b436b2fc191c07fd83a12c
Merge: 0d1a525 749902a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 26 14:12:21 2017 +0200

    wl#10234: Merge branch 'mysql-5.7-cluster-7.6-wl10234' into mysql-5.7-cluster-7.6

commit 50964968f548c111035ecc68be349f032e033a40
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Mon Jun 26 12:56:12 2017 +0200

    Bug #25423650: QUICK UNINSTALL PLUGIN WHILE START GR CAN RESULT INTO DEADLOCK
    
    Problem: GR Uninstall & GR Start lock each other
    
    Description:
    Try executing UNINSTALL PLUGIN command while START G.R. is in progress.
    1. Start command takes LOCK_group_replication_handler
    2. Uninstall starts and locks SQL Queries - function "open_ltable()"
    3. Uninstall waits for LOCK_group_replication_handler
    4. Start command tries to set the server read only mode that waits on 2)
    
    Resolution:
    Group_replication_handler class has been removed along with
    lock LOCK_group_replication_handler.
    With use of my_plugin_lock_by_name, server will have better visibility over
    GR operations and take decisions accordingly.

commit 5223cf08e08cd5487843ed902e28053eb1f9f36e
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 24 13:23:22 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 6, noclose]
    
    More conversions from HASH, a bit all over (authentication, stored
    procedures, session tracker).
    
    Change-Id: Id6c616ab4cedd41ac4e27d9b314a3da19c5a84e2

commit 0d1a525f3e83cc8760d3efc57af23cb3c5f3f934
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Jun 26 10:29:49 2017 +0300

    wl#7614 win32-13.diff
    
    ndb_import0 case t9: avoid quoting

commit df750c7aa633fa0eeeb898a6c384d7bdf6f28596
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon May 22 22:28:42 2017 +0200

    Bug#26161264: Use smart pointers to manage Json_dom objects
    
    Make the containers in Json_object and Json_array contain
    std::unique_ptr<Json_dom> instead of raw pointers to Json_dom, so that
    orphaned Json_dom objects are automatically destroyed.
    
    Functions that return Json_dom objects and pass the ownership to the
    caller (such as Json_dom::parse(), Json_dom::clone() and
    Json_wrapper::clone_dom()) now return a std::unique_ptr instead of a
    raw pointer to make the transfer of ownership explicit.
    
    Functions that take over the ownership of the Json_dom that is passed
    to them (such as Json_object::add_alias() and
    Json_array::append_alias()) now accept std::unique_ptr arguments.
    
    Change-Id: I897bb89c62d60836c84c105810947f91395bcc2b

commit 1340381b5912328bc375a615a35f2aabba56bcb3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 21 15:14:09 2017 +0200

    BUG#26321303: Fix of patch
    
    (cherry picked from commit 2c2d214a05cbbc25f74623771c55a52de4a2a2a8)

commit 4a2d7275239d6899c6df84aedfd0ae23f3afedec
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Jun 20 10:12:48 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #6:
    
    Use depth-first search in Json_dom::seek(), like in
    Json_wrapper::seek(). This allows the search to stop earlier than the
    original breadth-first search when the need_only_one flag is given. It
    also avoids building up a vector of candidate results for each path
    leg.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis             21666 ns/iter [    +0.5%]
    BM_JsonDomSearchEllipsis_OnlyOne       135 ns/iter [+11371.1%]
    BM_JsonDomSearchKey                    120 ns/iter [    +5.0%]
    BM_JsonBinarySearchEllipsis          71022 ns/iter [    -0.1%]
    BM_JsonBinarySearchEllipsis_OnlyOne     98 ns/iter [    -1.0%]
    BM_JsonBinarySearchKey                  80 ns/iter [    -1.3%]
    
    Change-Id: Ice7476f6e087a80d69474a38ab4fca918667b332

commit 4d187d929b3f10b9feffb951ebc7617c3ad45ddb
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 19 15:39:55 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #5:
    
    Json_wrapper::seek() currently always converts the wrapper to a DOM if
    the path contains an ellipsis. This is because paths with ellipses may
    require duplicate elimination, which is harder to do using the JSON
    binary interface.
    
    It is not the case that all paths with ellipses need duplicate
    elimination. It is only needed if the path contains more than one
    ellipsis, or if it contains an ellipsis followed by an auto-wrapping
    array path leg.
    
    This patch makes Json_wrapper::seek() only convert the wrapper to a
    DOM if the path requires duplicate elimination. It also makes
    Json_wrapper::seek() forward to Json_dom::seek() in the case where the
    Json_wrapper is wrapping a DOM, to avoid the overhead of the
    Json_wrapper interface when navigating through the DOM.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis             21764 ns/iter [     +3.9%]
    BM_JsonDomSearchEllipsis_OnlyOne     15486 ns/iter [     +4.4%]
    BM_JsonDomSearchKey                    126 ns/iter [     +2.4%]
    BM_JsonBinarySearchEllipsis          70979 ns/iter [   +225.2%]
    BM_JsonBinarySearchEllipsis_OnlyOne     97 ns/iter [+229941.2%]
    BM_JsonBinarySearchKey                  79 ns/iter [     +8.9%]
    
    Change-Id: I0f024cf8a2da46d8d7e33560c4599f619efe09bd

commit df6fde1012eb5dc5ae7e8af486a2af5334bb6e84
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Sat Jun 17 16:27:12 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #4:
    
    Move handling of auto-wrapping to the handling of array path legs, so
    that we don't pay the cost of checking if auto-wrapping should be
    performed for every path leg.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis              22608 ns/iter [+12.5%]
    BM_JsonDomSearchEllipsis_OnlyOne      16169 ns/iter [ +9.8%]
    BM_JsonDomSearchKey                     129 ns/iter [ -0.8%]
    BM_JsonBinarySearchEllipsis          230855 ns/iter [ +1.1%]
    BM_JsonBinarySearchEllipsis_OnlyOne  223140 ns/iter [ +1.3%]
    BM_JsonBinarySearchKey                   86 ns/iter [  0.0%]
    
    Change-Id: I2a233ee7b5a709a1388a370cb96126b17d59595b

commit 41f04b1c6cd127ff4e0627a9878d413882816b74
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Sat Jun 17 16:20:38 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #3:
    
    find_child_doms() has two kinds of duplicate elimination. One for
    removing duplicates that occur due to multiple ellipses, and one for
    removing duplicates that occur due to auto-wrapping on results
    returned by an ellipsis.
    
    The first kind of duplicate elimination is performed by maintaining a
    sorted set of results. The second kind performs a linear search of the
    results to see if the value is already in the result vector.
    
    This patch consolidates this code so that they both use the first kind
    of duplicate elimination. It also makes sure that duplicate
    elimination for auto-wrapping only happens for paths that could
    produce duplicates (only if the auto-wrapping path leg comes after an
    ellipsis path leg).
    
    This is just a code cleanup. The microbenchmark results are
    indistinguishable from noise.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis              25443 ns/iter [+1.0%]
    BM_JsonDomSearchEllipsis_OnlyOne      17757 ns/iter [+0.7%]
    BM_JsonDomSearchKey                     128 ns/iter [ 0.0%]
    BM_JsonBinarySearchEllipsis          233469 ns/iter [-0.9%]
    BM_JsonBinarySearchEllipsis_OnlyOne  226089 ns/iter [-1.5%]
    BM_JsonBinarySearchKey                   86 ns/iter [ 0.0%]
    
    Change-Id: Ia62916098096032adf9f2ecc70a42c845f625c1c

commit ae4bc00dfc931c011f0f799331c2ad7f89dcdcd1
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Sat Jun 17 14:02:14 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #2:
    
    find_child_doms() checks for duplicates each time it adds a result to
    the result vector. As explained in the header comment for
    Json_wrapper::seek(), the duplicate elimination is needed for paths
    which contain multiple ellipses, so in most cases it is unnecessary
    work.
    
    This patch makes find_child_doms() only check for duplicates in the
    case where the path contains multiple ellipses, and only when
    inspecting an ellipsis path leg which is not the first one.
    
    Additionally:
    
    Remove checks for empty vector after a successful call to push_back().
    That is, replace checks for is_seek_done(result, only_need_one) with a
    simple check for only_need_one when we know the result vector cannot
    be empty.
    
    Call is_seek_done() from the loop in Json_dom::seek() instead of at
    the top of find_child_doms(), so that we can break out of the loop
    earlier if we find a match and only need one.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis              25693 ns/iter [+210.9%]
    BM_JsonDomSearchEllipsis_OnlyOne      17881 ns/iter [+324.3%]
    BM_JsonDomSearchKey                     128 ns/iter [  +0.8%]
    BM_JsonBinarySearchEllipsis          231319 ns/iter [ +38.7%]
    BM_JsonBinarySearchEllipsis_OnlyOne  222726 ns/iter [ +41.6%]
    BM_JsonBinarySearchKey                   86 ns/iter [   0.0%]
    
    Change-Id: I0ee624830680247ec5aed302c0408db00240d441

commit 0d70c1cbf5f23ef2783214eeab177c4a166002bd
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Jun 16 20:55:11 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #1:
    
    When find_child_doms() evaluates an ellipsis path leg, it adds each
    matching child twice. First once for every immediate child in the
    top-level call to find_child_doms(), and then again in the recursive
    call to find_child_doms() on each of the children. This doesn't cause
    any wrong results, since duplicate elimination prevents them from
    being added to the result, but it is unnecessary work. This patch
    makes find_child_dom() stop calling add_if_missing() on the children
    before it recurses into them, so that they are only added once.
    
    Additionally:
    
    Make find_child_dom() a free, static function instead of a member of
    Json_dom. It is a helper function for Json_dom::seek(), and doesn't
    use any non-public members of Json_dom, so it doesn't have to be part
    of Json_dom's interface.
    
    Remove unnecessary checks for only_need_one in the ellipsis
    processing. Json_dom::seek() sets the flag to true only in the last
    path leg, and the JSON path parser rejects paths that end with an
    ellipsis, so this cannot happen. Added an assert instead.
    
    Microbenchmarks (64-bit, Intel Core i7-4770 3.4 GHz, GCC 6.3):
    
    BM_JsonDomSearchEllipsis              79880 ns/iter [+32.0%]
    BM_JsonDomSearchEllipsis_OnlyOne      75872 ns/iter [+35.3%]
    BM_JsonDomSearchKey                     129 ns/iter [ -1.6%]
    BM_JsonBinarySearchEllipsis          320920 ns/iter [+11.8%]
    BM_JsonBinarySearchEllipsis_OnlyOne  315458 ns/iter [+12.6%]
    BM_JsonBinarySearchKey                   86 ns/iter [ -2.3%]
    
    Change-Id: I865af789b90b820a6e180ad822f2fb68f411516b

commit 10c1004c1bb2efc2736c188117c9f4994428cad3
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jun 19 11:21:36 2017 +0200

    Bug#25418534: JSON_EXTRACT USING WILDCARDS TAKES FOREVER
    
    Patch #0:
    
    Add microbenchmarks that measure the performance of Json_wrapper::seek().
    
    Change-Id: I1a5990eea93667c9119f1637701852bd752fc896

commit f686fa81d0062b452a1a9a02cf31f13de1370778
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 23 14:00:25 2017 +0200

    Bug#26336467 ASAN FAILURE IN UNIT TEST RELOPSTEST/1.CODECOVERAGE
    
    Disable test until bug can be fixed.
    
    Change-Id: Ic975cdc443c6831a5741a488de67c10ab19b85ea

commit 0906b2ba43f096e2eceb076556a36d5238e49216
Merge: 2cf2473 c19fc9d
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Jun 23 13:56:19 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit c19fc9dbc3e8e490da9add9c206dc64e138af3b9
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Jun 21 13:39:55 2017 +0200

    BUG#26314472: SERVER STARTUP CRASH IF IT STARTED WITH GROUP_REPLICATION COMMANDS IN INIT-FILE
    
    Group Replication does communicate with the server through the SQL
    API, to which depending on the thread context from which the
    communication starts, the plugin may require to launch a thread.
    
    When that thread was launched, a memory pointer was released but was
    not protected against double free, this patch fixes that.

commit 2cf24737c351fa05aa94437ea72475247db7b677
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 23 11:08:34 2017 +0200

    fix recently introduced doxygen warnings
    
    Change-Id: Ib41d77bbc4b68e463b632e949f72108497cf7fdc

commit 4c2957c6e96e3f2b8798b3cafa94d1aada3b370f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 21 17:20:40 2017 +0530

    Added ndb_top to cluster 7.6 docker rpms
    
    (cherry picked from commit eebe6fcd6ec5a336575e9082ce86af3ca4110d73)

commit e8e4dd26a601326e35bbc1d522cce0cd09a16bc6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 22 15:19:49 2017 +0200

    WL#8069: Fix compiler warning
    
    (cherry picked from commit 5ee807718bd6596e9a14f05f56e0e00445c4b061)

commit 076f1d36251d2259fd26346d8acb01dd1f32fc0c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 22 14:11:50 2017 +0200

    WL#8069
    Fix such that we don't report MaxGciCompleted that is smaller
    than the restorable GCI at start of LCP. This ensures that
    the LCP is not having problems with too little REDO log
    available at restart.
    Added a bit more debug code around this.
    Ensured that tests in testSystemRestart works also when
    nodes not connected to active node group is around.
    
    (cherry picked from commit 96db001e8f754608375719fa8eaf7b8143fa73df)

commit 19057ca18478e522dde1529087c5d4a292207b32
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 21 13:21:00 2017 +0200

    BUG#26321303: Fix OM_CREATE on Windows
    
    (cherry picked from commit 73515a0eb325cc8b66816c859eb9e0031988c1f6)

commit 4629a32351a0fbfdd167eeb9acd00477c96a2428
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Jun 20 09:48:46 2017 +0200

    Bug#25811493 - REPLACE FAILS ON SPARC WITH: ERROR 1114 THE TABLE IS FULL
    
    The test inserts two tuples which end up in two different fragments in
    sparc, but one in x86s, due to hash differences.
    
    Each fragment uses its own extent from the tablespace and this minimal
    test has only one extent available for normal usage, causing the test failure.
    
    Changing the test to be independent of tuple-fragment connection.
    
    (cherry picked from commit 6b762b352bcd96686860f68103b295a0f367d6eb)

commit 4c0fd996695341b08fbb4d9a7016d21c9b83d3dd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 19 17:34:05 2017 +0200

    WL#10302: One more fix of variable handling around started LCPs in DIH
    
    (cherry picked from commit fcd822689c7137c2daa657964de0dbbdec09b31e)

commit 50905aa5f80c7822e1eb7a0fe318c816e5693a39
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jun 13 22:13:50 2017 +0200

    WL#10302: Fixed some ndbrequire handling in DIH
    
    (cherry picked from commit 9225b46c0059b8b920ca0b4c58a9ead62efc5722)

commit 0f7e0508a550479864a079e7533059242cacfd26
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jun 19 17:23:19 2017 +0200

    Bug#26306331 ADD SUPPORT FOR ORACLE LINUX ON SPARC
    
    Fix misc. #ifdefs in mysys/my_rdtsc.cc
    
    Change-Id: I8b6336d9241d73da8aeaf9a3d314b5f15e385dc5

commit 402bc99f764510c020fecf12287d77a95503dab7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jun 19 14:51:15 2017 +0200

    Bug#26279510 OS X: ASSERTION FAILED: (TABLE_SHARE->TMP_TABLE != ... ADDING NEW SQL STATEMENT
    
    Problem was wrong inlining of certain getters.
    Fix: check that Clang version != 8.0
    
    Change-Id: Iee6cb94ab2074c240b6fd65abbbf59461e648650

commit 9325d7bc1712aa1e3ea0afb18f6b843fed37536d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Jun 22 12:30:49 2017 +0200

    Bug#26310935: MOVE AWS KMS CREDENTIALS TO DIFFERENT DIRECTORY
    
    Description: Moving AWS KMS credentials to a different
                 directory to facilitate source packages
                 creation without those credentials.
    
    (cherry picked from commit 153eb9cabd543d27f4bc112359e1af9d5636f34e)

commit 6aee810a2087b1200ea13dc2f554fdeda80b1452
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jun 22 13:56:27 2017 +0530

    Bug#26314756: ASYNCHRONOUS_CHANNELS_STATE_OBSERVER INITIALIZATION MISSING FROM DELAYED GR
    
    Issue:
    ======
    In case of delayed server start GR plugin starts from
    Delayed_initialization_thread::initialization_thread_handler class and not
    from plugin_group_replication_start(). asynchronous_channels_state_observer
    observers which keep track of all replication channel starts, stop, .. won't
    get start in this case as it is not getting initialized.
    As asynchronous replication channel cannot be started on secondary, while
    group replication is running on single primary-mode, this missing
    initialization of asynchronous_channels_state_observer will allow secondaries
    to start asynchronous replication channel and get data through asynchronous
    replication.
    
    Solution:
    =========
    Add missing initialize_asynchronous_channels_observer() function in
    Delayed_initialization_thread::initialization_thread_handler().
    
    (cherry picked from commit 160aef6fc359e093ddbaaa346fa1570e8357e4ac)

commit cfb42684f484ffc13ead9772e2ce92f7d57d4440
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 21 16:20:47 2017 +0800

    Bug #26266758  SKIPPING MYSQL SLAVE ERROR CODE 1590 (ER_SLAVE_INCIDENT) DOES NOT WORK
    
    After generating GTID for incident log event, skipping slave error
    code 'ER_SLAVE_INCIDENT' does not work. The root cause is that we
    did not commit the transaction to consume its owned GTID when
    applying the incident log event in the case, and more the slave
    job added by the incident's GTID is wrongly removed from the
    global assigned queue when MTS is enable.
    
    To make skipping slave error code 'ER_SLAVE_INCIDENT' work well,
    commit the transaction to consume its owned GTID when applying
    incident log event in the case and remove the slave job added
    by the incident's GTID correctly when MTS is enable.
    To make NDB cluster happy, if there is no binlog cache then we
    write incidents into the binlog directly.
    
    (cherry picked from commit 4585ae70078721d7ee1ed23ee632a251ac32de41)

commit 2c94d69b5227487ba54f5bcc6fa7a02e6224e689
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Jun 12 14:39:14 2017 +0800

    Bug#26243264 ALTER TABLE ON ENCRYPTED TABLE CAUSES FRM OUT OF SYNC AND DECRYPTS DATA
    
    This bug is cased by that we didn't set the encryption attribuite properly in altering table.
    
    Approved by Jimmy Yang <Jimmy.Yang@oracle.com>
    
    (cherry picked from commit 2ef1a5d1b626e1f5ae6a35c69f8a221f95a266f4)

commit d53f8a7db213042c3bdae7599fee0791887b3fbf
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 08:03:07 2017 +0200

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

commit 636c2ae4294f3d36d3d010b92cf91537daf828c1
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Mon May 29 22:40:23 2017 +0300

    Fix for bug#26106655 "DISCREPANCY BETWEEN IMPLICIT DB OF PARENT TABLE FOR FK AND REFERENCES PRIVILEGE".
    
    Check for REFERENCES privilege was using incorrect database in some cases.
    
    There was discrepancy between database which was used by SEs for parent
    tables and used for check of REFERENCES privilege in cases when no explicit
    database was specified for parent table.
    
    This patch removes the discrepancy by aligning check for REFERENCES
    privilege with SE behavior.
    
    (cherry picked from commit bd6aa24131505886b06381fcce97d97efa9f6002)

commit 74c26e2316df43d81e1f3be374021b405c9617b1
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 1 12:48:13 2017 +0200

    Bug#22834591: unused-local-typedef warnings from boost 1.59
    
    Build broken when all -DWITH_XXX=system
    
    cmake .. -DWITH_EDITLINE=system -DWITH_LIBEVENT=system -DWITH_LZ4=system -DWITH_MECAB=system -DWITH_SSL=system -DWITH_ZLIB=system
    
    CMake Error at plugin/keyring/CMakeLists.txt:53 (ADD_COMPILE_FLAGS):
      Unknown CMake command "ADD_COMPILE_FLAGS".
    
    Fix:
    INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
    
    (cherry picked from commit 70b6d76899732daf96da1f02777e4049dc2a6bca)

commit 11a0d1d26474dba4a5ac18b16c4bf4aa35a0b37f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed May 31 19:02:08 2017 +0530

    Update compatver to 5.6.37 for fedora26 server builds
    
    (cherry picked from commit d5aae9182fdc0d0f82c387561f99b3a00ec71411)

commit 35645debca086a46997304b5c554273158da61ce
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue May 30 10:28:10 2017 +0200

    BUG#26148391 MYSQLD_PRE_SYSTEMD SCRIPT DOES NOT GET ERROR LOG FROM CUSTOM MY.CNF
    
    Script searched for log-error only, however log_error is also
    supported by mysqld, fixed by using regexp.
    
    (cherry picked from commit 10819a832cccddf894ba32b6b39f739b16283433)

commit 0cbf26b60656224537b90382370ea2bdfe9b7823
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue May 30 13:20:15 2017 +0530

    Remove authentication ldap plugin from docker rpms
    
    (cherry picked from commit b440be3fd79b0635b5759dcdd7851a7fa2970c51)

commit 76741a55019028c5772d5d75d20bf3a5300ae18e
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue May 30 12:02:20 2017 +0530

    Bug#26163403: COPYRIGHT HEADER MISSING IN AUTHENTICATION_LDAP FILES
    
    * Added GPL licensing text for LDAP SASL client side plug-in.
    
    (cherry picked from commit 55df42e3a3ad7b39c793c66d41fff76dc9910143)

commit 84251e59045c783144c087f8a9f727dd441a96bc
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 29 13:43:22 2017 +0200

    WL#9143: Keyring plugin for the Amazon's AWS
             Key Management service
    
    Post-push fix: Fixing keyring_udf failure
    
    (cherry picked from commit 9c5ae02e3ce451c328cf6d851fa05a2d3410b0c3)

commit 4539fefba1ba7c6602fc8aecbd0a426e882a4324
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Jun 23 11:06:12 2017 +0530

        WL#9209: InnoDB: Clone local replica
        ====================================
        Create a server plugin that can be used to retrieve a snapshot
        of the running system. Here we would support syntax to take a
        physical Snapshot of the database and store it in same
        machine/node where the database server is running.
    
        We should be able to start mysqld server on the cloned directory
        and access data. The clone operation should work with concurrent
        DMLs on the database.
    
        INSTALL PLUGIN clone SONAME 'mysql_clone.so';
        CLONE LOCAL DATA DIRECTORY [=] 'data_dir';
        UNINSTALL plugin clone;
    
        Review: rb#15068
    
        WL#9212: InnoDB: Monitor Clone status
        =====================================
        Support metadata view in performance schema to monitor progress
        of an ongoing clone operation. A clone operation might take time
        to clone the entire database. Administrator can view the current
        status and percentage of clone operation completed by querying
        this view in local and remote server.
    
        EVENT_NAME = "statement/sql/clone"
        EVENT_NAME = "stage/sql/clone (file copy)"
        EVENT_NAME = "stage/sql/clone (page copy)"
        EVENT_NAME = "stage/sql/clone (redo copy)"
    
        Review: rb#14160
    
        Merged from mysql-trunk-wl8953 [3db0acef]

commit 874f2e1a25ac626240e4b7ea3e2f6412040eabdf
Merge: 46369c3 ac30f6a
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Jun 23 11:43:37 2017 +0530

    Bug#26142801: RECOVERY: SSL_VERIFY_SERVER_CERT AND
    SSL_ALLOWED ARE NOT RESET BY GR VARIABLES
    
    Merge branch 'mysql-5.7' into mysql-trunk

commit ac30f6a1549114339980a5a0df62a160352bfb65
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Jun 22 10:40:26 2017 +0530

    Bug#26142801: RECOVERY: SSL_VERIFY_SERVER_CERT AND
    SSL_ALLOWED ARE NOT RESET BY GR VARIABLES
    
    Problem:
    =======
    group_replication_recovery_ssl* variables can be set
    dynamically and same is used by group_replication_recovery
    channel, upon, group_replication start (Or if recovery retry
    is in-progress, values gets reflected during next retry).
    But, there is a catch. Values of following variables
    group_replication_recovery_use_ssl and
    group_replication_recovery_ssl_verify_server_cert are not
    getting updated  when user tries to disable them for
    'group_replication_recovery' channel.
    
    Analysis:
    =========
    group_replication_recovery_ssl* variables are used by server
    when it is trying to initialize a group replication recovery
    channel. i.e these newly specified
    group_replication_recovery_ssl* options are used to
    initialize receiver thread specific ssl options.
    
    The plugin code initializes the corresponding receiver
    thread ssl variable only when the option is enabled. Please
    look at the following code.
    
    if (channel_ssl_info->use_ssl)
    {
        lex_mi->ssl= LEX_MASTER_INFO::LEX_MI_ENABLE;
    }
    
    If use_ssl is enabled only then mi specific ssl is set.  But
    there can be cases where user wants to switch off ssl and
    specifies use_ssl=0. In such cases the lex_mi->ssl will not
    be reset at all. That is the reason even though user resets
    the use_ssl=0 the ssl is still enabled. The same behavior
    was observed for the other ssl_verify_server_cert variable.
    
    Fix:
    ===
    When use_ssl/ssl_verify_server_cert variables are set in
    group replication plugin set their corresponding recovery
    channel specific server variables. Similarly when these
    variables are turned off, turnoff their corresponding
    recovery channel specific server variables.

commit 46369c38f98279e32c2fd8aade635660ab233239
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Jun 23 10:15:07 2017 +0530

    Bug#26197113 SLOW DYNAMIC TABLE STATISTICS RETRIVAL FROM I_S AFTER MYSQL-TRUNK-META-SYNC PUSH
    
    Analysis:
    
    If the table is not present in the cache then opening the table
    takes lot of time and it leads to slow performance in information
    schema queries.
    
    Following changes are done to fix the issue,
    
    InnoDB changes:
    
    - Instead of opening the table, InnoDB can fetch the stats
      information from innodb_table_stats and innodb_index_stats.
    
    - Fetch the record from innodb_table_stats using db_name, table name
      and it will give information about n_rows, clustered index_size and
      sum of other index size.
    
    - Fetch the space id from Tablespace SE private data for
      general/system tablespace (or) Fetch the space id using db_name,
      table_name from fil_space_t hash.
    
    - Use the space_id to calculate the available length in the
      tablespace.
    
    - Maximum value of autoincremnt fetched from innodb_dynamic_metadata
      using table id and autoincrement fetched from table_se_private data.
    
    - Cardinality can be fetched from innodb_index_stats table using
      db_name, table name, index name and column offset.
    
    - If the table doesn't have persistent stats then InnoDB loads
    the table from the disk.
    
    Server changes:
    
    - Supply mysql.tablespaces.se_private_data to internal functions
      INTERNAL_*(), which is used by SE to read the SE specific tablespace
      metadata when fetching table dynamic statistics. E.g., InnoDB would
      read the SE specific space_id from se_private_data column.
    
    - INFORMATION_SCHEMA.TABLES system view is now joined with
      mysql.tablespaces, to get the mysql.tablespaces.se_private_data for a
      table.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Bin Su <bin.x.su@oracle.com>
    Reviewed-by: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
    RB: 16467

commit fd7ede366193613f2f6145d11a903fdee9d91b87
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 07:41:27 2017 +0200

    Bug# 26168832: TEST DATABASE DOESNOT EXIST IN MSI PACKAGES
    
    Fixed accidental removal of the initial data base installation.
    
    (cherry picked from commit c04822bd9ab68efbc4ff62fa0df442d88b5c88ee)

commit 3ddc2993876e9a8eb5e24997e124e04ae11c9927
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 07:41:27 2017 +0200

    Bug# 26168832: TEST DATABASE DOESNOT EXIST IN MSI PACKAGES
    
    Fixed accidental removal of the initial data base installation.
    
    (cherry picked from commit c04822bd9ab68efbc4ff62fa0df442d88b5c88ee)

commit 432d360adedd7d8976fd6254eb3f5bee0b1ac3d6
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Jun 22 12:30:49 2017 +0200

    Bug#26310935: MOVE AWS KMS CREDENTIALS TO DIFFERENT DIRECTORY
    
    Description: Moving AWS KMS credentials to a different
                 directory to facilitate source packages
                 creation without those credentials.
    
    (cherry picked from commit 153eb9cabd543d27f4bc112359e1af9d5636f34e)

commit 499f2700d315918dfe2361b5f8b306df754f7f99
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jun 22 13:56:27 2017 +0530

    Bug#26314756: ASYNCHRONOUS_CHANNELS_STATE_OBSERVER INITIALIZATION MISSING FROM DELAYED GR
    
    Issue:
    ======
    In case of delayed server start GR plugin starts from
    Delayed_initialization_thread::initialization_thread_handler class and not
    from plugin_group_replication_start(). asynchronous_channels_state_observer
    observers which keep track of all replication channel starts, stop, .. won't
    get start in this case as it is not getting initialized.
    As asynchronous replication channel cannot be started on secondary, while
    group replication is running on single primary-mode, this missing
    initialization of asynchronous_channels_state_observer will allow secondaries
    to start asynchronous replication channel and get data through asynchronous
    replication.
    
    Solution:
    =========
    Add missing initialize_asynchronous_channels_observer() function in
    Delayed_initialization_thread::initialization_thread_handler().
    
    (cherry picked from commit 160aef6fc359e093ddbaaa346fa1570e8357e4ac)

commit 15ee5a53c43281822d8c9110160c12926efb952c
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 21 16:20:47 2017 +0800

    Bug #26266758  SKIPPING MYSQL SLAVE ERROR CODE 1590 (ER_SLAVE_INCIDENT) DOES NOT WORK
    
    After generating GTID for incident log event, skipping slave error
    code 'ER_SLAVE_INCIDENT' does not work. The root cause is that we
    did not commit the transaction to consume its owned GTID when
    applying the incident log event in the case, and more the slave
    job added by the incident's GTID is wrongly removed from the
    global assigned queue when MTS is enable.
    
    To make skipping slave error code 'ER_SLAVE_INCIDENT' work well,
    commit the transaction to consume its owned GTID when applying
    incident log event in the case and remove the slave job added
    by the incident's GTID correctly when MTS is enable.
    To make NDB cluster happy, if there is no binlog cache then we
    write incidents into the binlog directly.
    
    (cherry picked from commit 4585ae70078721d7ee1ed23ee632a251ac32de41)

commit b101506145fc65f35335b0cd9f9f74abb5a6e8ec
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 22 15:40:17 2017 +0200

    WL#10426: Introduced InternalIP member
    On cloud installations there is usually an external IP address used to SSH
    into the VM or machine. This IP address is not intended to be used internally
    between machines in the cloud. Communications between nodes in the cluster
    is most likely happening internal to the cloud. So this means that the cluster
    config should use the IP address used internally in the cloud. This means
    using an IP address that is part of a VPN that the user have set up in the
    cloud. This internal IP address will be used in NDB configurations whereas
    the hostname will be used to SSH into the server to get information about
    the machine. This internal IP address can be set for each host in the
    InternalIP member.

commit 5ee807718bd6596e9a14f05f56e0e00445c4b061
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 22 15:19:49 2017 +0200

    WL#8069: Fix compiler warning

commit 60148d686c1d167d0864287dd0c4b365829ea5bd
Author: Parveez Baig <parveez.baig@oracle.com>
Date:   Thu Jun 22 17:59:13 2017 +0530

    WL9776: Add/Extend mtr tests for replication with generated columns and X plugin
    
     Post push fix.

commit 96db001e8f754608375719fa8eaf7b8143fa73df
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 22 14:11:50 2017 +0200

    WL#8069
    Fix such that we don't report MaxGciCompleted that is smaller
    than the restorable GCI at start of LCP. This ensures that
    the LCP is not having problems with too little REDO log
    available at restart.
    Added a bit more debug code around this.
    Ensured that tests in testSystemRestart works also when
    nodes not connected to active node group is around.

commit ae710ad6c2bf08a6dd141888c9db9865d1884cd9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 21 14:04:21 2017 +0200

    Bug#24673238 MAKE "SMALL" UNIT TESTS INDEPENDENT OF PERFORMANCE SCHEMA
    
    Post-push fix:
    Avoid linking "small tests" with pfs_server_stubs as it contains
    definitions which conflict with gunit_test_main.cc
    Give system_charset_info in gunit_test_main.cc "C" linkage.
    
    Change-Id: I56a85d50d1bfc17bc8194cb38d852a8b9202909b

commit 2328a8a6b161154c3e25bef626664e466970bdf9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 22 12:25:14 2017 +0200

    Fix warning: not terminated with a newline.
    
    Change-Id: Id684e3494fb5166d9a33e11f4970ef2bb81be3d4

commit 5d17ee23c0d8d6c1c4e0064b5f9449d211d661fc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 21 13:03:49 2017 +0200

    Bug#26321124 DISABLE TAP OUTPUT FROM GUNIT TESTS BY DEFAULT
    
    The TAP output from googletest based unit tests is obsolete,
    Set tap-output option value to false by default.
    
    Change-Id: Iac9e1f055f3573a24d7ce261c80a90f80d2ab6bf

commit 84771694f58d66b1b28d32a81b6dd0e8db4c951a
Merge: cf8f279 153eb9c
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Jun 22 12:33:38 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 153eb9cabd543d27f4bc112359e1af9d5636f34e
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Jun 22 12:30:49 2017 +0200

    Bug#26310935: MOVE AWS KMS CREDENTIALS TO DIFFERENT DIRECTORY
    
    Description: Moving AWS KMS credentials to a different
                 directory to facilitate source packages
                 creation without those credentials.

commit cf8f27967b5ad9bb6ed8b253f24f008ba471deda
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jun 22 15:35:15 2017 +0530

    Bug#26263155: GR OVERRIDES AUTO_INC_INCREMENT=1 AND AUTO_INC_OFFSET=1 ON SINGLE-PRIMARY MODE
    
    Issue:
    ======
    The Group Replication plugin set auto_increment_increment and
    auto_increment_offset values to server_id and 7 respectively
    by default to avoid generating duplicate auto-incrementing
    values. But in single primary mode there are writes from only
    one server(primary), so there is no need to generate different
    auto-increment values.
    
    Solution:
    =========
    The Group Replication plugin should not set auto_increment_increment
    and auto_increment_offset variables when single primary mode is active.

commit 3702c557d58ec45ba246b8cc041da5ba3079eedd
Merge: ada9991 160aef6
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jun 22 15:04:51 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 94a59a54e740d93321af16b536ce8cbf34e7b743
Merge: 2c2d214 373c539
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 22 14:06:50 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Bug #26266758  SKIPPING MYSQL SLAVE ERROR CODE 1590 (ER_SLAVE_INCIDENT)
     DOES NOT WORK)

commit 373c539175108cd0869c0c8fabe443058c7f4b77
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 21 16:20:47 2017 +0800

    Bug #26266758  SKIPPING MYSQL SLAVE ERROR CODE 1590 (ER_SLAVE_INCIDENT) DOES NOT WORK
    
    After generating GTID for incident log event, skipping slave error
    code 'ER_SLAVE_INCIDENT' does not work. The root cause is that we
    did not commit the transaction to consume its owned GTID when
    applying the incident log event in the case, and more the slave
    job added by the incident's GTID is wrongly removed from the
    global assigned queue when MTS is enable.
    
    To make skipping slave error code 'ER_SLAVE_INCIDENT' work well,
    commit the transaction to consume its owned GTID when applying
    incident log event in the case and remove the slave job added
    by the incident's GTID correctly when MTS is enable.
    To make NDB cluster happy, if there is no binlog cache then we
    write incidents into the binlog directly.
    
    (cherry picked from commit 4585ae70078721d7ee1ed23ee632a251ac32de41)

commit 749902af083ee35e2398553c1eb62029fe0668b7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 22 10:29:53 2017 +0200

    wl#10234 Update version check for MultiFrag capabilities
    
    It didn't make it to the DMR3, so should check against 7.6.4

commit 160aef6fc359e093ddbaaa346fa1570e8357e4ac
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jun 22 13:56:27 2017 +0530

    Bug#26314756: ASYNCHRONOUS_CHANNELS_STATE_OBSERVER INITIALIZATION MISSING FROM DELAYED GR
    
    Issue:
    ======
    In case of delayed server start GR plugin starts from
    Delayed_initialization_thread::initialization_thread_handler class and not
    from plugin_group_replication_start(). asynchronous_channels_state_observer
    observers which keep track of all replication channel starts, stop, .. won't
    get start in this case as it is not getting initialized.
    As asynchronous replication channel cannot be started on secondary, while
    group replication is running on single primary-mode, this missing
    initialization of asynchronous_channels_state_observer will allow secondaries
    to start asynchronous replication channel and get data through asynchronous
    replication.
    
    Solution:
    =========
    Add missing initialize_asynchronous_channels_observer() function in
    Delayed_initialization_thread::initialization_thread_handler().

commit ada99916496050f3500d7fd8efcc7fc17fe13c72
Merge: bced780 9127e81
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jun 22 13:00:50 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 9127e81912319a0e68280b49a61f9e6022d7d11f
Merge: 4585ae7 f1f44c0
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jun 22 12:59:30 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f1f44c0311715cd8e30df12041e8eee24461854d
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jun 22 12:57:29 2017 +0530

    BUG#25033538: ASSERTION FAILURE IN THREAD X IN FILE
                  FTS0QUE.CC LINE 3831
    
    Post push fix for test failure on 32 bit platform.

commit bced78019217d0e8901e8c848b653b30c6b8298a
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Thu Jun 22 07:52:00 2017 +0530

    WL#9424 post push fix
    
    * Fixed the test case for valgrind memory error.

commit 11265cca482a0261dda242c849e3faead278dd0e
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Jun 21 20:46:47 2017 +0530

    BUG#24679166: TABLE CREATION WITH BINARY TYPE COLUMN IS RESULTING
                  IN ASSERT CONDITION FAILURE.
    
    Analysis
    ========
    CREATE TABLE query with a VARBINARY/BINARY column having a
    default value in hex format causes the server to exit in
    debug build. In a non-debug build, an error is reported(failed
    to updated data dictionary).
    
    During the query parsing phase, the default value in hex format
    is converted to the hex string. Converting hex string value to the
    "system_charset_info" fails (as the hex string byte value could be
    out of supported range of values). Hence during the store of this
    value in DD(Columns::FIELD_DEFAULT_VALUE_UTF8),
    Field_blob::store_internal() returns 'TYPE_WARN_INVALID_STRING'
    triggering the assert which checks for the return value.
    
    Fix:
    ===
    While preparing the default value string for storing in the DD, the
    value in hex string format is converted to the printable hex
    encoded string. At this stage, the supplied format (string, hex or
    binary format) while creating table is lost. Hence regardless of
    the format specified for BINARY/VARBINARY column's default value,
    string in HEX format is saved in the DD tables. So I_s queries and
    SHOW COLUMNS will now display default value for BINARY/VARBINARY
    type of columns in the HEX format.

commit 0d67c8dda85c7480dc0362d8d68b48bb0781939c
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Jun 21 17:45:10 2017 +0400

    Bug#25779358: Remove "%type <NONE>" stuff from sql_yacc.yy

commit 3106d6fa0a94269d814f25c32d10caf2267298d2
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri Jun 9 16:33:45 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 15, noclose]
    
    Remove the last instances of HASH (except the query cache, which will be
    fixed in a pending worklog). In particular, this fixes a bug where
    partition names would not be correctly compared, as the old hash code assumed
    that two strings with a different number of bytes could not compare equal.
    
    Change-Id: Ibb8ff1650490ed6db5443342da789a098e33b210

commit 2c2d214a05cbbc25f74623771c55a52de4a2a2a8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 21 15:14:09 2017 +0200

    BUG#26321303: Fix of patch

commit 0cbad9a1840f581d96f98ad805934e1c00331775
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 21 14:11:30 2017 +0200

    wl#10234 Changes after review comments from Mikael R.

commit 11ef0ddf999ce0179b3586a1b9504caf565a9240
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 21 13:01:28 2017 +0200

    wl#10234: Deprecate usage of 'm_firstExecution' member variable
    
    ... compliments previous patch.
    
    'm_firstExecution' was used as a flag to handle that we didn't
    have valid 'parallelism' statistics yet. However, it usage
    was a bit obfuscated due to its naming.
    
    This patch introduce the ::isValid() method in the class
    handling the statistics. Usage of 'm_firstExecution' can then
    be replaced with calling ::isValid() instead.

commit 84ee4daebf93a678dac55d1cce608b9d471e13b1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 21 12:49:57 2017 +0200

    wl#10234, Fix initial ('firsteExec') parallelism calculation (performance patch)
    
    When there is no valid parallism statistics available,
    we start by scaning only a single node-local fragment.
    This will give us a sample of the selectivity such that
    further scan parallelism can be estimated.
    
    However, this WL set introduced new logic which
    increased the parallelism to > 1 if we otherwise could
    have exceeded the MAX_PARALLEL_OP_PER_SCAN pr fragment.
    
    This logic incorrectly took effect also when we had choosen
    to sample only a single fragment. Thus breaking the initial
    sampling logic.

commit 97bad4d92d80ad31cd3c5f9c4b0610766eb43f99
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 21 12:40:41 2017 +0200

    wl#10234, fix fragment enumeration skew. (performance patch)
    
    To avoid that all SPJ blocks requested fragment scans
    on the same sub-set of fragments, while other were
    idle, a different 'skew' is used wjen setting up the
    fragment lists on the different SPJ's.
    
    This was previously set up such that a skew of '1'
    was used between the different SPJ.
    
    With these WL that has to change such that the number
    of multi-fragments assigned to each SPJ is used in
    the skew calculation.

commit 43cd4ee5601e8234c398763b78f0313d8870b3bc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 21 12:34:04 2017 +0200

    wl#10234, correct MTR test ndb_dd_initial_lg.test after
    these WL changes will use more 'TRANSACTION_MEMORY' on
    a non-deterministic TC block
    
    Patch already discussed with Mai and Magnus B.

commit cb5729e04eecc2ffffd39488be5cfa393d306c81
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 7 15:29:03 2017 +0200

    wl#10234 Update after Mauritz review comments.

commit 0ce85edd5f045661bb577740e7798a0c5b4f4e32
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 6 15:15:49 2017 +0200

    wl#10234 Fix more incorrect comments and code simplification (avoid break)
    
    Fix comments which became incorrect after splitting the
    'get DBDIH info - start fragment scan' into two seperate phases.

commit a10c642f13816e1812bd6ace3e20c0aec19c495a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 6 13:18:50 2017 +0200

    wl#10234 Removed the now obsolete member variable ScanFragRec::scanFragId.
    
    Previously used as an argument sent to DIH in GSN_<insert signal name>.
    However usage of this signal was replaced with GSN_DIGETNODESREQ
    which does not take such a 'fragId' argument.
    
    The few remaining uses of this variable was partly incorrect,
    (Fixed by prev patches in this wl) or could easily be replaced
    by checking scanNextFragId instead.

commit c273ca383c62f5d5c4908f54df75be4859853a70
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 6 12:51:06 2017 +0200

    wl#10234: Fix broken testScan -n Bug16402744 doing ERROR_INSERT 8097.
    
    Original testcase was intended to check behaviour when taking
    a CONTINUEB break just before sending fragment scan REQs
    for the last fragment to be scanned.
    
    This has detoriated over time, and became even more broken as part of
    this wl when splitting the DIH-REQ - start LQH Scan logic, into two phases
    where *both* of these phases incorrectly handled the same 8097 error insert.
    
    1) Patch fixes issue above such that 8097 error insert is only
       handled prior to sending the last 'start frag scan' to LQH as
       original intended.
    
    2) if (ERROR_INSERTED_CLEAR(8097) .. was checked as first term in the
       condition for when to take a CONTINUEB-break. This caused the
       error code to be CLEAR'ed the first time it was checked, and not
       after also the two other terms evaluated to 'true'.
    
    3) The 'Last fragId' check was expressed as:
        'scanFragP.p->scanFragId == scanptr.p->scanNoFrag-1)'
       However'scanFragId' was not yet assigned when checked. Replaced
       with scanptr.p->scanNextFragId which it will be assigne dfrom.
    
    Also see commit msg for bug16402744 for understanding how this testcase
    was intended to work.

commit 0f4d9279ce31d8587f576fa0eca5d0ee3c473ea1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 6 12:31:59 2017 +0200

    wl#10234 Fix incorrect comments

commit b0f202c7c34ae2a88d1901997a2a48f901ba2a6e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 6 12:01:28 2017 +0200

    wl#10234 Replace temp FragLocation array with pool allocated FragLocationRec.
    
    The previous wl#10234 patch set introduced ScanRecord::fragLocations[256]
    to manage the set of fragments to be scanned. As the size of the
    ScanRecord used to be ~100bytes, adding this array of FragLocations
    increased it size by a factor of ~20. This was never intended
    to be a permanent part of this wl, so this patch change the
    fragment locations to be allocated from a dynamic pool of
    fragment location records.
    
    The records are allocated as we get the location info from DHDIH
    and are released as soon as the fragment scan request has been
    sent to LQH.
    
    The fragment location records are added to the tail of a SLFifoList
    and consumed from its head in order to operate on them in the
    same order as they are received from DBDIH.

commit ed9f094e8ef333a96b5a555de5ceba923ebcb749
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed May 31 10:33:31 2017 +0200

    wl#10234, fix remaining review comments
    
    Fixed an incorrect assert() which checked that the max
    parrent correlation id was not exceeded.
    
    Correlation Ids are produced starting from the specified
    'batchRange' offset for a maximum of 'bs_rows'. Thus,
    correlation Id's may be produced in the range
    [batchRange .. batchRange + (bs_rows-1)].
    
    The assert for not exceeding the MaxCorrelationId should
    then be:
    
    - Checked *before* sending the scanFragReq to the LQH node.
    - Check for 'batchRange+bs_rows <= Max....' as corrIds are
      created starting with an offset of '0' and ending at
      an 'bs_rows-1' offset.

commit bb9502e798c867ea1018225c4bef2e364acb86a1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 29 15:43:08 2017 +0200

    wl#10234, fix review comments

commit 0ff853ca529855965c2b2f1e609c8a34e6659897
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri May 19 09:37:57 2017 +0200

    wl#10234, prepare QN_ScanFragParameters for future extensions
    
    Extend 'struct QN_ScanFragParameters', which was introduced as
    part of this wl, with 3 new unused Uint32 members. As such changes
    has to be done under control of version checks, it could be
    good to have some spare fields here for possible future extensions.

commit cc068cd273b2cd37e99fe149d4e5cce4e9594b92
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri May 19 09:17:50 2017 +0200

    wl#10234, Reintroduce building of SPJ performance measurement tool
    
    spj_performance_test.cpp was one of the tools originaly used
    when developing the SPJ feature. It turns out that building of this
    tool was disabled when we switched to using cmake.
    
    Patch reintroduce build of this tool and also extend it to
    be able to test Scan-Scan spj queries. (Spj queries where
    both the root node and its childs are scans)

commit b538c3a45b8ac87b9d15c44e11567eb02795f421
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 8 14:14:55 2017 +0200

    wl#10234, testcases
    
    Add new ATR testcase and enable daily ATR testing of other testcases
    already added as part of this WL.

commit 6d985b8b3edadb1b7a4bce76b2bb81a1f492a183
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 8 13:07:20 2017 +0200

    wl#10234: Enable usage of MultiFrag scan from API -> TC -> SPJ
    
    SPJ API sets the ScanTabReq::setMultiFragFlag() to enable the feature.
    'm_fragsPrWorker' is calculated by the API such that each 'worker'
    handle all fragments located on the same data node.
    
    As a 'batch-buffer is set up pr fragment, the batch size available
    for each combined MultiFrag scan is multiplies by m_fragsPrWorker.
    
    Dbspj::execSCAN_FRAGREQ receives the list of fragments to scan
    (set up by TC) in the last longSignal section. Instead of
    scanFrag_build() setting up a single ScanFragHandle for the
    root scan, we now construct one for each of the MultiFragment.
    
    As there is an implementation defined 12-bit limit on
    'maxBatchRows', some additional checks had to be introduced
    to avoid it to overflow. (Due to larger batch sizes now being
    available)

commit a4f2e5cb2de29f3d5d1bbb44259370adcad657b2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 8 12:42:14 2017 +0200

    wl#10234, fixup of previous patches in this wl:
    
    When assigning SPJ instances round-robin, they should be assigned
    such that the *same* SPJ instance is used for all scanFrag REQ's
    in a MultiFrag REQ sent to the same node.
    
    Also remove some jamLine debug put into the code in prev patches.

commit 1ed8f25ec0ebc983e704b3a6e4f383021400dbed
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu May 4 11:35:22 2017 +0200

    wl#10234: Online upgrade handling new Query Node type
    
    Introduce the version checker function: ndbd_spj_multifrag_scan()
    to check whether we are running against a version supporting
    the multi fragment scan option.
    
    In such cases NdbQueryBuilder produce the new QN_SCAN_FRAG
    query node instead of the deprecated '_v1' variants.

commit fb7ab4c5aaf4bec3c1454fd63d121f8eeb844c0d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu May 4 11:02:08 2017 +0200

    wl#10234
    
    Complete deprecation by changing QueryNode builder from using
    QN_ScanIndexNode's to the new QN_ScanFragNode's.
    
    Backward compatibility should be taken care of by the physial
    memory layout of the two types being identical. So even if
    two different types are produced, the net result should be the
    same.

commit 446358d31883f5747a08b9236a651206191b58f9
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu May 4 10:36:42 2017 +0200

    wl#10234 Introduce the new QueryNode type QN_SCAN_FRAG.
    
    Need an extended version of the QN_SCAN_FRAG query node
    as the current version bit encoded the batch rows and batch byte
    parameter into a single Uint32. That is too limited for the
    multi fragment scan as it will get a batch sized multiplied
    by the n fragments it is allowed to scan.
    
    The old QN_SCAN_FRAG and QN_SCAN_INDEX is renamed with a
    '_v1' suffix, the same goes for the datastructures
    used by these query node types.
    
    Introduce a new QN_SCAN_FRAG query node using two Uint32
    for the batch rows/size parameter.
    
    Introduce code in the SPJ block which transform any '_v1'
    requests to the new QN_SCAN_FRAG query type.
    
    Note that the SPJ-API still does not produce the newly
    introduced QN_SCAN_FRAG in its SPJ requests.

commit dda06440e5b0724c6cc4b8f8b943febf63679338
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu May 4 09:04:54 2017 +0200

    wl#10234 Rename patch
    
    Renames class NdbRootFragment to class NdbWorker and update related
    comments to reflect this change.
    
    Class NdbWorker (former NdbRootFragment) handles the results
    being produced from a single SPJ SCANFRAG request, starting by
    scanning a specific root fragment. A full SPJ execution required
    one SPJ-SCANFRAG request to be sent to a SPJ instance for each
    root fragment to scan.
    
    With this 'multi-fragment' worklog that will change such that
    a SPJ SCANFRAG request may scan multiple root fragments. Thus
    the term NdbRoot*Fragment* was a bit misleading.
    
    The intention of the new naming is to focus on that execution
    of a SPJ query employes multiple SPJ instances as 'workers' - each
    of them handling some of the fragments.

commit bb06a4ff07a6fd33ba49b96b99167ff8b723adfc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 2 13:54:28 2017 +0200

    wl#10234
    
    Enhance TC block to handle Multi fragment scan requests:
    
    A Multi-Fragment scan request will try to 'group' as many
    fragment scan request to the same 'node/instance' as possible
    into the same GSN_SCAN_FRAGREQ signal.
    
    In order to facilitate this we have to know which LDM instance
    each fragment is located on before we produce any GSN_SCAN_FRAGREQ
    signals.
    
    Thus, the Dbtc code had to be enhanced such that instead of
    immediately sending SCAN_FRAGREQ when DIH had replied on
    a DIGETNODESREQ-signal, we now instead collect this info into
    the fragLocations[]-array. When this array has been filled in
    for all fragments, it is sorted on the fragments 'blockRef'.
    (Which is the blockRef of the SPJ block to execute on in case
    of a MultiFrag-viaSPJ scan request)
    
    We are then ready to enter the new sendFragScansLab phase which
    use the collected fragLocations to send SCAN_FRAGREQ's to
    LQH / SPJ.
    
    Due to splitting the old combined DIGETNODESREQ + SCAN_FRAGREQ
    phase into two seperate phases some more restructuring
    of the code, mostly related to error handling:
    
    - Several places we could remove code to 'release' a failed
      scanFrag from the 'm_running_scan_frags' list. (Due to
      we were still being in the 'collect fragLocations[]' phase
      where we could not be 'running' yet)
    
    - Code for checking 'CLOSING_SCAN' and 'scanSchemaVersion'
      had to be adapted to the new phases.

commit 0a79a0d76e34115ebbcf0363266ee6b1f140ed25
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 28 11:39:10 2017 +0200

    wl#10234
    
    Introduce the 'MultiFragFlag' in the ScanTab signal
    to indicate that TC should send 'MultiFrag' ScanFragReq.
    
    Also enhance the ScanFragReq signal with the same
    'MultiFragFlag' indicator. If set, a list of Fragments
    to scan will be sent as the last 'section' in the signal,
    after the AttrInfo and KeyInfo (if present)

commit 67aa9257e240ce6042b74fcce4b7cbad2711a355
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Apr 26 09:17:55 2017 +0200

    wl#10234
    
    Introduce the 'MultiFragFlag' in the ScanTab signal
    to indicate that TC should send 'MultiFrag' ScanFragReq.
    
    Also enhance the ScanFragReq signal with the same
    'MultiFragFlag' indicator. If set, a list of Fragments
    to scan will be sent as the last 'section' in the signal,
    after the AttrInfo and KeyInfo (if present)

commit 5696ca6d8c269eb506e7c1ff16babe5ab9cb0536
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Apr 25 15:37:59 2017 +0200

    wl#10234
    
    Rename all scanIndex* methods and data types to scanFrag*.
    Completes the deprecation of the old scanFrag methods.

commit cff9b56fec6ccca13f04c0e8bffea8853acfc986
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Apr 25 15:27:06 2017 +0200

    wl#10234: Use multiple fragments in SCAN_FRAGREQ to SPJ
    
    Remove the now obsolete QN_SCAN_FRAG scanFrag* methods.

commit aee7b63db4e0e6e0649321ae65f22ad8b877332c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Apr 25 14:59:32 2017 +0200

    wl#10234: Use multiple fragments in SCAN_FRAGREQ to SPJ
    
    Refactor patch preparing the ground for wl#10234:
    
    There are currently two SCAN type treenodes in the SPJ block:
    
    - The QN_SCAN_FRAG (scanFrag* methods) scans a table,
    optionally through an index. It is the only scan-treeNode
    of the two which could be the 'root' of a scan type SPJ query.
    However, it is limited to scaning a single fragment.
    
    - The QN_SCAN_INDEX (scanIndex* methods) scans an child-treeNode
    which is linked to its parent treeNode trough a range equality
    on a (sub set of) its non unique indexed columns.
    Contraery to the QN_SCAN_FRAG, it is able to scan *all* fragments
    belonging to its table across the data nodes.
    However a QN_SCAN_INDEX can currently not be the
    'root' in a tree of SPJ operations.
    
    As WL#10234 will need even the root node to be able to handle
    scan across multiple fragments, some of the above limitations
    has to be lifted, Thus this patch:
    
     - Extend the SPJ scanIndex pseudo class to also be able to
       act as the root of a scan operation.
     - Dbspj::build() convert an incomming QN_SCAN_FRAG node
       to a SCAN_INDEX node.
     - Introduce a 'deprecation assert' in all existing scanFrag<foo>
       methods: They are now replaced with the scanIndex methods.
       (To be removed in later patch)
    
    This leaves the scanFrag* methods unused, but still present
    in the codebase.
    
    The following patches will eventually remove the scanFrag*
    methods and replace all its usage with the extendes scanIndex*
    methods.

commit fe0ef04713bff6398abe272f6767b0e01f8e956d
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 21 12:31:59 2017 +0200

    Bug#26279805 WRONG COPYRIGHT HEADERS IN COMPONENTS/ FILES
    
    Fix zip number in FSF address. Also fix some additional cases of wrong
    FSF address.
    
    Approved by Terje Rosten <terje.rosten@oracle.com>

commit 9d535b3c2e546d262de39684de24a0ac7037751f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 21 17:28:21 2017 +0530

    Remove ndb_perror from cluster 7.6 docker rpms

commit eebe6fcd6ec5a336575e9082ce86af3ca4110d73
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 21 17:20:40 2017 +0530

    Added ndb_top to cluster 7.6 docker rpms

commit 73515a0eb325cc8b66816c859eb9e0031988c1f6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 21 13:21:00 2017 +0200

    BUG#26321303: Fix OM_CREATE on Windows

commit a1e49ba3fc8236335120d9ee18ab3f83a2e946c2
Merge: 817ab39 1d7d460
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 21 16:15:48 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 1d7d460570c54166e8c53c4dc69690e51258693a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 21 16:14:39 2017 +0530

    Remove authentication_ldap_sasl.so and authentication_ldap_simple.so from cluster 7.5+ docker rpm

commit 1b46bbfdff7fe6144a8a035f7fb5c8ca982991e2
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Fri Jun 16 10:12:25 2017 +0200

    WL#9727 Flag unsupported window functions
    
    [ reviewed by Chaithra ]

commit f4a891c17b2728f10a90353e8a0f677598d684df
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jun 21 12:35:05 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 7, noclose]
    
    Post-push fix: Make an unordered result sorted, so that it is deterministic.
    
    Change-Id: Ib98b1939c95373eb35d0d9ef254e880c9bbd6670

commit 0fd8348b89a1739791b1de4af01c07ca30a8c72f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jun 21 12:25:41 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 7, noclose]
    
    Post-push fix: Ensure correct object destruction.
    
    Change-Id: I1203eb85fbdb4d70e93c297c57a3f4f5ad225153

commit aa409798390777b5543a48257ca152dd64bcfde5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed Jun 21 15:05:35 2017 +0530

    WL#9185 MySQL Cluster support for new DD
    
    - Update result files of the ndb_bushy_joins, ndb_join_pushdown_bka,
      and ndb_many_fragments tests
    - New result is due to 'explain' having changed its output

commit 0197a99fb06f346a4b3822c4dbd42937a0cb929c
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Wed Jun 21 11:08:36 2017 +0200

    Bug#25568493: GROUP MEMBERS BECOMES UNREACHABLE WHEN SERVER WITH LOWER VERSION TRIES TO JOIN.
    
    This patch removes the code that triggers the renegotiation of the
    Xcom protocol version. This logic was not robust enough, but
    fortunately is not needed yet, so it can be removed.

commit 3a19a01051596b8ce2a517a63850815edc5b7100
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jan 28 15:15:32 2016 +0100

    Bug#21974346: GROUPING ON AGGREGATED RESULTS NOT ALWAYS REJECTED
    
    If a subquery references the alias of an aggregated expression from
    one of the outer query blocks, it could sometimes be accepted even if
    the alias was referenced from within the GROUP BY clause of the query
    block where the aggregation happened. Such queries are meaningless and
    should be rejected.
    
    The problem lies in Item_ref::fix_fields(), which currently rejects
    the reference if it is not inside the HAVING clause of the query block
    that contains the reference. There are two problems with this:
    
    1) It is not the position within the query block that contains the
    reference that should decide if the reference is valid, but the
    position inside the query block where the aggregation happens.
    
    2) Non-outer references to aggregated expressions are allowed other
    places than HAVING, for example in ORDER BY. Outer references could be
    accepted in those positions too. They should be rejected if they are
    in the GROUP BY clause, though, since grouping happens before
    aggregation.
    
    This patch makes the following changes:
    
    Item_ref::fix_fields() now raises an error if a reference to an
    aggregated expression is in the GROUP BY clause of the query block
    where the referenced expression is aggregated. As before, it also
    raises an error if the reference is not in the HAVING clause of the
    query block it is referenced from. The net effect is that we reject
    the previously accepted meaningless queries, but we don't accept any
    new queries that were previously rejected.
    
    resolve_ref_in_select_and_group() is reorganized to make it clearer
    how it works. It now returns earlier when it knows what the result is
    going to be, so that it doesn't have to check the same conditions
    multiple times. This part of the patch is just a cleanup, and it is
    not essential for the correctness of the queries. It was originally
    included in the patch in order to remove some dead code for rejecting
    invalid forward references, but the dead code was revived in
    bug#22328395.
    
    Change-Id: I83a71931f5edf5e016bda5ba48672245d0eb099b

commit 9c289139ee8ce2cff0588c857f99e61feddc0a2e
Merge: 40b77aa 4585ae7
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 21 16:55:11 2017 +0800

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4585ae70078721d7ee1ed23ee632a251ac32de41
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 21 16:20:47 2017 +0800

    Bug #26266758  SKIPPING MYSQL SLAVE ERROR CODE 1590 (ER_SLAVE_INCIDENT) DOES NOT WORK
    
    After generating GTID for incident log event, skipping slave error
    code 'ER_SLAVE_INCIDENT' does not work. The root cause is that we
    did not commit the transaction to consume its owned GTID when
    applying the incident log event in the case, and more the slave
    job added by the incident's GTID is wrongly removed from the
    global assigned queue when MTS is enable.
    
    To make skipping slave error code 'ER_SLAVE_INCIDENT' work well,
    commit the transaction to consume its owned GTID when applying
    incident log event in the case and remove the slave job added
    by the incident's GTID correctly when MTS is enable.
    To make NDB cluster happy, if there is no binlog cache then we
    write incidents into the binlog directly.

commit 40b77aae2f5a699c657b51372522e6a9c635eb4f
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Tue Jun 20 13:46:37 2017 +0200

    Bug#26303972 HISTOGRAM.CC:1169: BOOL HISTOGRAMS::DROP_ALL_HISTOGRAMS
    
    Problem: When altering a table, the server will try to either rename
    or remove any column statistics that might become invalid due to the
    altering. During this process, the server tries to open the original
    table definition in order to retrieve all the columns of the original
    table, pre altering. The column statistics code tried in this case
    to open the original table definition after it became unavailable.
    
    Fix: Pass the original table definition that has already been aquired
    earlier down to the column statistics code. This way we know for sure
    that the table definition is available.
    
    Another problem that revelaed itself was that the value of
    create_info->encrypt_type was freed at the time we tried to read it
    in alter_table_drop_histograms (revealed by valgrind). The fix was
    to instead look at the options of the altered table definition to
    determine whether encryption is enabled or not for the altered
    table.
    
    Change-Id: I24e98c0282f156fbc6d2f6e6ca670d85d02c1641

commit 817ab395c0b288219925ab923fd1fc2d6b1ed308
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jun 14 16:00:17 2017 +0300

    wl#7614 terminator1.diff
    
    check long terminators fully

commit c5d7fcc8e22503efbdb97aa5cbeab32f7765b180
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Jun 13 16:49:42 2017 +0300

    wl#7614 nul-input.diff
    
    allow literal NUL (0x00) in CSV input

commit b7a4ae02d5e89f38d73034a19eb0a79bb97162c9
Merge: 7161164 b5edced
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jun 20 16:18:28 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit b5edcedae31330e4a001039e0224e2dcf0d7a11a
Merge: e538a9c 9ba24a8
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jun 20 16:16:02 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9ba24a80d321c38c513db14bb2e018a281d41d08
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jun 20 16:12:54 2017 +0530

    BUG#25033538: ASSERTION FAILURE IN THREAD X IN FILE
                  FTS0QUE.CC LINE 3831
    
    Analysis:
    ========
    Server exits when the full text search results
    exceeds the configured 'innodb_ft_result_cache_limit'.
    
    When the full text search results exceeds the
    'innodb_ft_result_cache_limit', an error is raised.
    During the FTS cleanup, the new result list i.e
    'query->intersection' is not freed, triggering
    the assert which checks if 'query->intersection'
    is NULL. Also the additional issues which was fixed
    by BUG 21140111 in 5.7 contributed to the problems
    reported in the bug.
    
    Fix:
    ===
    During the FTS query cleanup, free the result
    list 'query->intersection'.
    
    Also this fix backports the patch for:
    
    BUG 21140111: Explain ... match against: Assertion failed: ret ...
    
    The problem here is missing error check in
    Item_func_match::init_search() after the handler call
    ft_init_ext_with_hints(), and missing error propagation
    in the call stack.
    
    The fix also includes a new inlined query block property
    function has_ft_funcs() that is used to avoid an
    unnecessary and costly function call to optimize
    full-text searches.

commit 716116412b9eaae9b7d956e0eaa97bc06c07e767
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jun 20 11:24:24 2017 +0200

    Bug#25908290 FEW TESTS FAILING WITH ERROR "SHUTDOWN_SERVER" FAILED WITH ERROR 2. MY_ERRNO=175 [noclose]
    
    Make the tests run with longer timeout for server shutdown.
    
    Approved by Pavan Naik <pavan.naik@oracle.com> over IM.

commit bc9df9c9a13b49175887a53a2b8fc6c279db4510
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jun 20 10:24:44 2017 +0200

    Bug#26310678 MAKE IT POSSIBLE TO CONTROL SERVER SHUTDOWN TIMEOUT FROM AN MTR TEST

commit 65af136ea8cb1f5fd34fcb65b05a602723900b1d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 20 11:06:41 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 7, noclose]
    
    Post-push fix: ensure proper object construction.
    
    Change-Id: I226cfd42021e46dabb6467e36cfd1cbd79a9b5c1

commit 6b762b352bcd96686860f68103b295a0f367d6eb
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Jun 20 09:48:46 2017 +0200

    Bug#25811493 - REPLACE FAILS ON SPARC WITH: ERROR 1114 THE TABLE IS FULL
    
    The test inserts two tuples which end up in two different fragments in
    sparc, but one in x86s, due to hash differences.
    
    Each fragment uses its own extent from the tablespace and this minimal
    test has only one extent available for normal usage, causing the test failure.
    
    Changing the test to be independent of tuple-fragment connection.

commit 409642269d35c345c8e46bde82ccab9e5f2bdbb1
Author: Parveez Baig <parveez.baig@oracle.com>
Date:   Mon Jun 19 16:29:21 2017 +0530

    WL9776 : Add/Extend mtr tests for replication with generated columns or X plugin
    
    The aim of this wl is to just add mtr tests for replication regression suite for
    the below two sections.
    
    1) Generated columns
    2) X-Plugin

commit ad9d4bfbccfc1bca7751be0689ff00e5092a5841
Merge: 5a0fce9 e538a9c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jun 20 07:05:01 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit e538a9cdb23ce1abd96d9f2f867012260373f0f1
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jun 20 07:00:25 2017 +0200

    Revert "Bug#25432850 - MYSQLPUMP: PROGRESS INFORMATION INCORRECT"
    
    Revert since it broke on ASAN.

commit 5a0fce9128b7c6a198a75e5092ab671bd1307211
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 19 12:49:30 2017 +0200

    Stabilize the results for innodb_zip.prefix_index_liftedlimit
    
    Approved by Deepa Dixit <deepa.dixit@oracle.com> over e-mail.

commit fcd822689c7137c2daa657964de0dbbdec09b31e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 19 17:34:05 2017 +0200

    WL#10302: One more fix of variable handling around started LCPs in DIH

commit c7999cd48afbaff11ae45ae2ec2bdcd266799fda
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jun 19 19:01:29 2017 +0530

    Added ndb_perror to cluster debian builds

commit 8ff994fb33c2d994f087244855809e41966c8762
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed May 24 16:16:48 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 7, noclose]
    
    More conversions from HASH, finishing the last rpl_* instances.
    
    Change-Id: I0823f2933252a22afd1a20e761df952331795bc2

commit 01866368f8751ddcd8f96cb339270d85be4e88c2
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 19 13:21:05 2017 +0200

    Add ndb_tob to DEB_NDB_CLIENT_EXTRA
    
    (cherry picked from commit 04f61d9acb74b394efd2831a09d83a925a868f19)

commit 04f61d9acb74b394efd2831a09d83a925a868f19
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 19 13:21:05 2017 +0200

    Add ndb_tob to DEB_NDB_CLIENT_EXTRA

commit f7cf42b8fe5ae888eed4fbf336bd8d7e2dd3f73c
Merge: ed6d3ff 37b7d63
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Mon Jun 19 13:13:47 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 37b7d6346d7cdf487f8833a1626592e7eee23356
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Mon Jun 19 13:03:18 2017 +0200

    Bug#2603593 GROUP_REPLICATION_GROUP_NAME SHOULD NOT MATCH SERVER_UUID
    
    Description:
    When a node requests to join the group, we don't check to see if the joiner
    node's @@server_uuid == @@group_replication_group_name.
    
    That can lead to a variety of serious issues because we rely on GTIDs being
    globally unique and the basic idea that each unique GTID (UUID:GNO) refers to
    the same underlying data changes. But in the above scenario UUID:N could have
    been generated for one user transaction on the stand-alone instance. And it
    could have been generated for an entirely different user transaction in the
    group. That's because the UUID part of the GTID that both independent systems
    were generating was the same.

commit ed6d3ffdc6f8621592650c2c5bab895515cabc16
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon Jun 19 12:14:41 2017 +0200

    Bug #26280449: FILESORT USES HASH FOR KEY EVEN WHEN NO JSON IS PRESENT
    
    Post-push fix: Don't check hashes when use_hash is false. Fixes issues
    on branching on data past the end of string (which either crashes or
    returns unpredictable results).
    
    Change-Id: I91c6f2d7e757f8edd0e9e1ad1e12c3b45e02ba20

commit bfae442d5dab6702ab9f26ef578a26c0cf8b85a4
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 19 06:18:37 2017 +0200

    Bug#25819886  IMPROVEMENTS TO MTR TEST COLLECTIONS
    
    Add missing "--" to "vardir" at one point.
    
    Approved by Deepa Dixit <deepa.dixit@oracle.com> over IM.

commit a1c3617d8933a565e775d0f306335b76d751acc1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sun Jun 18 20:17:29 2017 +0530

    Add ndb_perror man pages to rpm builds

commit 6af5a6d3cb45bdfa3edbee9377f54180b30f7771
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:09:07 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Corrected the revert.
    
    (cherry picked from commit f637e524bf9b692c3ed46d856e2beac193b42a3e)
    (cherry picked from commit 4104f9089cdfaf9e7859365aaea9d1cdc7baaac5)

commit 23947b3e9e214daa15bfd692510ecd5aa7b14375
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:17:30 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Temporary revert of the VS2008 redist check.
    
    (cherry picked from commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96)
    (cherry picked from commit fb4b563273850e59dd61446a1145e84c3316ce89)

commit afc4138e4eaebe2336c09e6cb4587223794a825c
Merge: 2388f5c 92742c1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jun 16 21:29:12 2017 +0530

    Null merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 92742c1236326137241da15f83b197aa4535c5e0
Merge: 3666ae9 bf9663a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jun 16 21:28:13 2017 +0530

    Null merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit bf9663a7d34edbca4470867bbf76c564351978bb
Merge: 3a5b342 f5e5577
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jun 16 21:25:55 2017 +0530

    Null merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit f5e55773868fe712566b0c56fcb19e6cdea49ebc
Merge: 539060e 4104f90
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jun 16 21:23:55 2017 +0530

    Null merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 4104f9089cdfaf9e7859365aaea9d1cdc7baaac5
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:09:07 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Corrected the revert.
    
    (cherry picked from commit f637e524bf9b692c3ed46d856e2beac193b42a3e)

commit fb4b563273850e59dd61446a1145e84c3316ce89
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:17:30 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Temporary revert of the VS2008 redist check.
    
    (cherry picked from commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96)

commit 847b53c9e459be6c67b586a51ad661c86c0edd08
Merge: c61791a c3bf8e2
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Jun 16 18:02:21 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit c3bf8e2b5e8607262e20259952a1124113779b3b
Merge: 3d3936d 73d2027
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Jun 16 18:01:09 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 73d2027113befdd433f447a3b2a4df4e8363d261
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Jun 16 17:58:49 2017 +0530

    Bug#21421642 - SERVER CRASH WHEN CONNECTING SHA USER WITH
                   BLANK PWD FROM PYTHON CONNECTOR
    
    DESCRIPTION
    ===========
    When a user (created using sha256_password plugin) tries to
    connect to server through Python connector using a blank
    password, it results into server exit!
    
    ANALYSIS
    ========
    In the reported scenario during authentication process in
    sha256_password_authenticate(), 'pkt_len' which is an
    outcome of vio->read_packet() is calculated as 0. Later in
    the same flow, 'pkt_len-1' (which becomes an arbitary large
    number when casted to unsigned int) is passed as an
    argument to my_crypt_genhash() which is used for memory
    manipulations (such as memcpy() in case of YASSL) and hence
    the exit.
    
    When blank password is provided through client, 'pkt_len'
    is calculated to be 1 and is handled accordingly. This has
    to be extended for the case when 'pkt_len' is calculated to
    be 0 (e.g. When python connector is used to connect with
    blank password). All other values of 'pkt_len' are rightly
    handled in the code.
    
    FIX
    ===
    We avoid calling my_crypt_genhash() when 'pkt_len' is 0 and
    *buf is empty. In other words when the password is blank,
    return before calling my_crypt_genhash(). The return value,
    however depends upon if the 'auth_string' (corresponding
    column value from the mysql.user table for the given user)
    is empty (OK) or not (Error).
    
    NOTE
    ====
    The above fix takes its inspiration from the following:
    
    1. native_password_authenticate() - Handling when 'pkt_len'
                                        is 0
    2. connecting through client      - Checking emptiness of
                                        'auth_string'

commit c61791a29be8997b1ee66af8152d10dd5186f6a5
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Fri Jun 16 14:20:50 2017 +0200

    WL#8943 Extend ANALYZE TABLE with histogram support
    
    Post-push fix: Fix a failing unittest on Windows, due to missing
                   ON_CALL macros.
    
    Change-Id: I5494f062beb74ff8dc293f2ea277bdd08336ddf1

commit f4040e57cc7249aa984387ea096d85357ba574d7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 13:45:30 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - disable ndb_alter_table_error due to problem with
       Thd_ndb::open_tables containing invliad THD_NDB_SHARE
       pointer when ALTER TABLE fails with an error
     - this appeared after enabling atomic ddl

commit 49c9b19974d37301a3af8d44f12766674ed400a9
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Thu Jun 15 14:19:53 2017 +0200

    Bug #26280449: FILESORT USES HASH FOR KEY EVEN WHEN NO JSON IS PRESENT
    
    Filesort adds a 64-bit hash value at the end of the key. This is meant for
    JSON, but it's also used when we have other variable-length keys, such as
    strings. (This is because when the code was written, JSON was the only
    variable-length key in question.) This is wasteful, so remove it.
    
    Change-Id: I1af718d3c3be278707974884c53ab59276b9e3ef

commit 2388f5c6f5e52b78539f2b47906e07cb32ae5931
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jun 16 15:40:04 2017 +0530

    Add ndb_perror to rpm builds

commit 9218e544c181939f6a22e34559b1c8454a8c9480
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 11:37:15 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove now unnecessary friend declaration for
       ndbcluster_drop_database_impl() in ha_ndbcluster
     - remove outdated part of comment
     - mark ndb_optimize_table() as const

commit 6d7209ddae9714d2b93e92facf90270cc2899af0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:52:19 2017 +0200

    Bug#25413762 NDB_RESTORE SHOULD NOT CREATE NDB EVENTS
    
     - remove the create event code from ndb_restore, the first MySQL Server
       that opens the table will create the event.

commit a5abedccd2435668ec2a7670c17a0cd8346ea77a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 2 16:25:07 2017 +0200

    Bug#26161442 MAIN.SELECT* TESTS ARE FAILING WITH CLANG 4.0
    
    Problem: wrong results for some corner cases when converting string to double.
    This turns out to be a bug in Clang 4.0
    
    Fix: add -fno-strict-aliasing when compiling dtoa.cc
    
    Also silence some warnings reported by Clang 4.0
    
    Change-Id: I5c4b3238eb30a4659af0bb89a13922ea89d276d0

commit 09ea3c8b104b6b430710e3bb1853795759c3542e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:37:05 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove unnecesary DBUG ifdefs by moving get_share_state_string()
       into NDB_SHARE::share_state_string()

commit 49d4a5affdbff41f5458c79480acbf277a3487e6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:29:16 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove unused code

commit ad24913a7dba78f78089dbf1a90bb7a7e6c1d34c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:21:01 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove unused code, query which "refer field(s) from other tables"
       are not pushed down

commit 22be0f79e63f53b8eb37c2a26a76d4e3241a4990
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:09:15 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove old 7.2 defines for default value of ndb-join-pushdown

commit 03015cc23c62c6fe5a4ae38c0764c403caf09cca
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:06:55 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove old 7.2 defines for default value of ndb-index-stat-enable

commit e176ab133bfba30d2a5ee18ab1810e8348496b68
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 10:01:20 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - move comment for create_ndb_column() to correct place
       just above the function

commit 38e431c32162d4a1cbe5c0b07cfbbd3718dde551
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 09:59:31 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove obfuscating debug compile support for setting blob
       stripe size using environment variable

commit 76838b066fdfac01a3bfc358a0c26cc40bd8ace8
Merge: bb37d06 3d3936d
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Jun 16 09:54:03 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit df8c9411402a2eb1784c6d3e227aa77a3a28356c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 09:53:40 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove old 7.2 specific defines for limiting size of blobs

commit 3d3936ddd56efbe30c9db98d0248825ee91c1145
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Jun 16 09:51:07 2017 +0200

    Bug#26285484: Disabled failing test runnin in Hudson job until being fixed.

commit 134198fc6b56a9307a0959ad29cc0da81e3fe58f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 09:44:24 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove unused code

commit 8f117cc9124f8896b70204762f75ebdeeed98c34
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 16 09:43:11 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - problem with altering a table to other engine, the table is left
       in DD on participant mysqld(s)
     - add test
     - disable test waiting for fix

commit 0e92e510f589a21c8d1c967f40eeda5b5af71fec
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Fri Jun 16 08:14:48 2017 +0530

    Bug #23523926 DEPRECATE "PERROR --NDB" IN 7.5
    
    post-push fix: updating old test case to adapt the new feature.

commit bb37d0609a913eea3be60aabec42c2797e7eac97
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Thu Jun 15 18:36:58 2017 -0700

    revert set_recv_thread_cpu api

commit 2e92c5551a807fbfe7b9cdc6d15702bd1a451c11
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 15 15:07:08 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - implement support for storing the table id of the NDB table
       in the se_private_id field of DD.
     - add testcase showing that the se_private_id is set in DD,
       should preferrably also check that the value is same as
       in NDB Dictionary
     - disable until support for opening the table without using
       serialized metadata compare has been implemented.

commit ad40fdf35b42d3d7d85207462710e04d758f66bd
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 14 07:56:13 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - set flag indicating that ndbcluster now supports "atomic ddl"
     - fix ndb_dd_ddl.test which now get a slightly different
       but improved error message when dropping a tablespace which
       does not exist
     - disable ndb_single_user due to problem with tablespaces
       which are not yet distributed to all MySQL Servers connected to
       the cluster. This caused an inconsistency between the DD's which was
       not detected earlier, with atomic DDL it's not inconsistent but still
       problem with not distributing tablespaces persist.
     - update ndbinfo.result, the counter values decreased slightly due to
       different query paths
     - disable two ndb_rpl tests due to problem with CREATE LOGFILE GROUP
       when running mysqld with --bin-log, hitting DBUG_ASSERT claiming no
       transaction open

commit bc7a7af47a9c8622cbc1d5108f1454ac0e36c95e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 14 14:08:01 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - Move code which refuses an ALTER TABLE RENAME earlier in
       the code path to where the destination table is created.
       This patch is a prerequisite for atomic ddl.

commit 17ea073ae200b19cb6a668479f2ed77490a1e525
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 15 17:01:28 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Add gcol_ndb suite to ndbluster runs on trunk
    - The tests in the gcol_ndb suite use the include files present in
      the gcol suite. Thus, these tests are affected by addition of
      test cases or change in behavior of existing ones
    - Enabling the suite on ndbcluster runs will help in the early
      detection of such changes

commit d783fd09eb4b5652b25d0264e12c65aa393708e8
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 00:36:44 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the gcol_supported_sql_funcs_ndb and ndb_many_fragments
      result files
    - New result is due to WL#9687: Change default for
      explicit_defaults_for_timestamp to ON. Timestamp columns are
      now nullable by default
    - Another change is due to change in default character set to
      utf8mb4
    
    (cherry picked from commit 0d13c1ffe160636053ce7ea60d86c79dca597ad5)

commit 07da4a722e60d0346cd8af8d172d24c18916cf0c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 9 23:55:03 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the gcol_keys_ndb result file
    - New result is due to changes made in WL#9236, WL#9603 and
      WL#9727 - Add SQL window functions to MySQL
    
    (cherry picked from commit 582d84d797b5360e16db10164b8bd892b5e1a947)

commit 806ffcaa64c1c24f4bf9b3429347981830aa9fe1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 14 11:13:21 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - change implementation of when to turn off transactional behaviour
       for copying alter table to look at the new extra(HA_EXTRA_BEGIN_ALTER_COPY)
       and extra(HA_EXTRA_END_ALTER_COPY) calls instead of checking
       if transactions is enabled in THD internals. This is a prerequisite
       for enabling atomic ddl as the transaction is not disabled
       for engines supporting atomic ddl.
     - also cleanup implementation of Thd_ndb::trans_options, gaining some
       type safety and improved readability. Add commments.

commit 0d34563ba1cc21650af3dc657b7b78cd8ebc01ac
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jun 12 14:30:05 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - ndb_trigger.test caused a crash in participant mysqld when
       renaming a table with triggers.
     - fix by removing the code that "reopen table" for new name since
       it works anyway now when triggers are refernced by id rather than
       by name.
     - fix .result diffs due to upper/lowercase from information_schema
     - remove unnecessary drop table if exists etc. from test

commit bdfe53c420e5063995fb0ea46efc95dc4bd36fc8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 9 12:23:11 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - tests which fail after change to utf8 as default character set, fix
       by creating the tables using latin1
     - accept new result for SHOW CREATE showing new character set
     - accept new error codes and improved error messages when failure
       to create table in storage engine occurs.

commit bb6156d4d33bb2758fcd0a485d689296b7e23799
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 8 09:41:17 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - fix problem with rename table not properly renaming
       table on participant mysqld(s)
     - add new warning printout if failure to acquire the additional
       MDL lock for rename fails
     - enable some tests disabled due to this

commit b0c16a88a7bc74d9e3b0370d8d1c2b60c791b527
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 7 11:11:03 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove faulty release of transactional MDL locks in function which
       does not take any MDL locks

commit 93ab88ab8743c6e501380f986d91a089fe48dde4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 2 15:58:07 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove unused code which was used for working
       with .frm and .ndb files (which no longer exist)

commit fb2c721385640d06c91bdc1a393fe97a8b260837
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 2 11:10:44 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
    - reimplement Ndb_local_schema::Table::is_local_table() to use DD
      instead of .frm and .ndb files(whic no longer exists)

commit b61583f25101496355e1431fbb340fdab75ca679
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 2 10:04:57 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - add DBUG_PRINTs to Ndb_local_schema

commit d0ab11963c7d27d55c2322a5526ab861c7e48ef9
Merge: 6c37273 3666ae9
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:35:14 2017 +0200

    Upmerge of the 7.5.7 build

commit 3666ae9d962cbe871f6a29bc25e26a0c495f3618
Merge: a249bde 3a5b342
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:33:13 2017 +0200

    Upmerge of the 7.4.16 build

commit a249bde2f699cbbb58cf14743a34bda8e3c20b0b
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:32:51 2017 +0200

    Raise version number after tagging 7.5.7

commit 3a5b342224f7c2e55ab33f709c2b42d709897801
Merge: 2259369 539060e
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:31:30 2017 +0200

    Upmerge of the 7.3.18 build

commit 2259369b061ea22dd9a1643ffafd503627841389
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:31:01 2017 +0200

    Raise version number after tagging 7.4.16

commit 539060e86af7eb270ebdc9904975df55215a4a63
Merge: e3e7d11 7dbf545
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:26:29 2017 +0200

    Upmerge of the 7.2.30 build

commit e3e7d117dba24b971e09042703f0de37004032a4
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 13:25:40 2017 +0200

    Raise version number after tagging 7.3.18

commit 6c37273bff50e26b819bd9b5369e7a63ff277fb0
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Jun 15 16:43:50 2017 +0530

    Bug #23523926 DEPRECATE "PERROR --NDB" IN 7.5
    
    post-push fix adding new line after warning

commit 7dbf545b984d79cebc670af34863cd1584732309
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Jun 15 12:56:25 2017 +0200

    Raise version number after tagging 7.2.30

commit c060da959ff8fa8fcea18b95c30d2b74a92c49cc
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Jun 15 12:39:01 2017 +0200

    WL#9787: Allow SET PERSIST to set read-only variables too
    
    Post-push fix to copyright header
    
    Approved by Terje Røsten <terje.rosten@oracle.com> over IM.

commit e8155b25fbb663ebb339e6321f29b8b7b55e2ecc
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Jun 15 15:04:07 2017 +0530

    Bug #23523926 DEPRECATE "PERROR --NDB" IN 7.5
    
    post-push fix for pb2 failures

commit 51ff99994b65a7c6a4abbca51fc5c561caaa4612
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Wed Jun 14 17:13:46 2017 +0530

    WL#9687 : Change default for explicit_defaults_for_timestamp to ON
    
    Post push fix:
    
    main.mysql_client_test fails when executed with valgrind with error
    'Conditional jump or move depends on uninitialised value'. The
    reason is that fprintf() is passed with a NULL pointer instead of
    valid string.
    
    With change of the default value of explicit_defaults_for_timestamp,
    NULL value is not auto converted to current_timestamp value for a
    timestamp column. Instead, NULL is inserted in timestamp column.
    The test case ends up passing NULL instead of valid timestamp to
    fprintf() and this causes the valgrind error. The fix is to insert
    current_timestamp for timestamp column.

commit 901daf701bd142db642d01fd1d44e2bcb2f3d59a
Merge: 0faff41 929305f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 15 12:32:22 2017 +0530

    Null merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 929305f2b592e3bd960ef3f4472074dca6e614e2
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 15 12:30:43 2017 +0530

    Revert commit ec6d375a: ndb_top applicable only for 7.6+ releases

commit b9ca17202744e3663db7b093b118321270a7fc4e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 14 18:05:30 2017 +0200

    Bug#25917702: USE C++11 THREAD-LOCAL STORAGE INSTEAD OF MY_THREAD_LOCAL
    
    Followup patch: innodb.innodb-wl5522-debug fails on windows.
    
    Fix: add suppressions for new warnings, cf. previous follow-up patch.
    
    Approved by Tor Didriksen <tor.didriksen@oracle.com>.

commit b26b2125a983abc81807567fec773c701d97bf99
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 15 10:56:22 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (cherry picked from commit 0faff41685dd457561f98e6c72c879357086ead3)

commit 0faff41685dd457561f98e6c72c879357086ead3
Merge: d5aa318 ec6d375
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 15 10:56:22 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit ec6d375a13df55ba0acf30c4c0523e7f7addf892
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 15 10:51:38 2017 +0530

    Add ndb_top tool to rpm build

commit 413bfd632f2d79f3eb333785c62065cf6ec0d148
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed Jun 14 20:10:43 2017 -0700

    add simple set_recv_thread_cpu api

commit f3275b80f83f38313babb0f69effc754a7986eda
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Wed Jun 14 15:01:14 2017 +0200

    WL#8943 Extend ANALYZE TABLE with histogram support
    
    Post-push fix:
    
    1) Remove the file mysql-test/include/analyze-timeout.test
       that was added by a mistake.
    
    2) Adjust the help text for the new option "--column-statistics"
       in mysqldump and mysqlpump.
    
    Change-Id: Id1d28814dedb859a87f943d313f8318f9445315b

commit d5aa3189d2dfb02e25fe163eebd5243e0e95aab0
Merge: 3c845c4 c9acede
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 17:04:02 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit c9acedeec4d8510d8e90a32876584a983beed9ba
Merge: 3ea11b1 033c9f8
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:51:41 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 033c9f8c8058475d9b80de570af2c117ceeb9625
Merge: 471ac96f 66fd822
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:40:13 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 66fd8223bb0bad6eb952ec23342a5df48595ebf1
Merge: d27119c 1a89e18
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:39:52 2017 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 1a89e1835414feea7361c42c99777d8f4a705bc3
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:24:19 2017 +0530

    WL#10814 - Part III - Cleanup clusterj-openjpa and clusterj-jpatest
    
    Changes
     - Removed clusterj-openjpa and clusterj-jpatest source from the tree
     - Removed the clusterj_jpa test from MTR
     - Updated POM and CMakeLists to skip building these jpa modules and
       also removed all the jpa dependencies.
     - Updated clusterj/logging.properties
     - Removed references to jpa in comments from IndexHandlerImpl.java

commit c2dc8ca8b17899c586633f34f961cc30ba0e3a9b
Merge: e44d39a 2e797a8
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Jun 14 16:24:33 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit a02780865390208c6c602e6ebd32141189049bc9
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:24:12 2017 +0530

    WL#10814 - Part II - Cleanup clusterj-jdbc
    
    Changes
     - Removed cluster-jdbc source from the tree
     - Updated POM and CMakeLists to skip building clusterj-jdbc
     - Updated clusterj/logging.properties

commit 6e114270e89234f9d0b9272a1d5ad137bc5ca5aa
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 14 16:24:00 2017 +0530

    WL#10814 - Part I - Cleanup clusterj-bindings
    
    Changes
     - Removed clusterj-bindings source from tree.
     - Updated clusterj/logging.properties.

commit 2e797a885a0029eb6586439cd10e49251c0d2873
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Jun 14 16:22:00 2017 +0530

    Bug#25432850 - MYSQLPUMP: PROGRESS INFORMATION INCORRECT
                   FOR TABLES
    
    DESCRIPTION
    ===========
    While mysqlpump is performing backup, it shows incorrect
    progress of the tables.
    
    For example for a database having 500 tables each having
    500 rows, mysqlpump progress looks as shown below:
    
    Dump progress: 0/1 tables, 250/500 rows
    Dump progress: 0/73 tables, 18250/36500 rows
    Dump progress: 0/151 tables, 37750/75500 rows
    Dump progress: 0/229 tables, 57250/114500 rows
    Dump progress: 0/307 tables, 76750/153500 rows
    Dump progress: 0/385 tables, 96250/192500 rows
    Dump progress: 0/463 tables, 115750/231500 rows
    Dump completed in 9241 milliseconds
    
    Please note that the total-no-of-tables-backed-up at any
    given point of time remains zero throughout the process.
    
    ANALYSIS
    ========
    Abstract_chain_element::object_processing_ends() calls the
    following two functions in the respective order:
    
    1. Abstract_progress_reporter::report_object_processing_
       ended()
    
    In case of table dump, this function calls
    Abstract_progress_watcher::object_processing_ended(). If
    the latter finds that the task is fully completed by all
    elements of the chain [by checking if flag 'm_is_completed'
    is true], it increases the counter 'm_table_count' and
    reports the progress with a helper function.
    
    2. Item_processing_data::call_completion_callback_at_end()
    
    In case of table dump completion, this function finally
    calls Abstract_simple_dump_task::set_completed(). The
    latter is responsible for setting flag 'm_is_completed' to
    'true'. Logically this signifies that the task is fully
    completed by all the elements of the chain.
    
    In the current scenario, the 1st function always finds the
    flag to be false, the default value. Thereafter it skips
    the counter updation and progress reporting altogether.
    Calling 2nd function doesn't make any difference now.
    
    FIX
    ===
    The 2nd function has to be called first and only if it
    returns true, we call the 1st function. In other words,
    report the table progress only when the task is fully
    completed.

commit 3c845c4654ac90e2769df5bfa44e692a94b0a67f
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Tue Jun 6 15:00:18 2017 +0530

    Bug #23523926 DEPRECATE "PERROR --NDB" IN 7.5
    
    "perror" is a mysql tool to give error message for an error code. We can
    also get ndb cluster error messages when we pass "--ndb" as argument along
    with error code. But now a new tool called "ndb_perror" is available
    exclusively for ndb cluster. Hence now depricating "--ndb" functionality in
    "perror".

commit e44d39ac729307903216387ff13303baa8172e04
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 14 12:02:13 2017 +0200

    Bug #26247864: SET PERSIST_ONLY PRIVILEGE MODEL INCLUDES SUPER
    
    Problem: Privileges required for user to persist read only variables
    is either SUPER OR PERSIST_RO_VARIABLES_ADMIN and SYSTEM_VARIABLES_ADMIN.
    However, as per WL#8131 SUPER is deprecated. So SET PERSIST_ONLY should
    not be allowed if user has SUPER privilege.
    
    Fix: Fix is to remove SUPER_ACL for persisting read only variables and
    only check for PERSIST_RO_VARIABLES_ADMIN and SYSTEM_VARIABLES_ADMIN.

commit 29f316790f2b7105584e8a72078ebbef5108be0b
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Tue Jun 6 18:15:31 2017 +0530

    Bug#26048272 IMPLEMENT NDBINFO TABLE FOR LOOKUP OF ERROR CODES AND MESSAGES
    
    To diagnose error codes and messages returned from SQL commands easily, we
     need a way to lookup NDB error codes, error messages and error
    classifications using SQL.
    
    Hence, implemented ndbinfo.error_messages table which returns the array of
     errors for NDB as rows.

commit cab279ff3df6eb5af91d9055edc24c7792a9bbf1
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Jun 12 14:39:14 2017 +0800

    Bug#26243264 ALTER TABLE ON ENCRYPTED TABLE CAUSES FRM OUT OF SYNC AND DECRYPTS DATA
    
    This bug is cased by that we didn't set the encryption attribuite properly in altering table.
    
    Approved by Jimmy Yang <Jimmy.Yang@oracle.com>
    
    (cherry picked from commit 2ef1a5d1b626e1f5ae6a35c69f8a221f95a266f4)

commit f01e8d069939225127f428d960b83c7c57d3d88e
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Jun 1 09:55:08 2017 +0530

    Bug #23523869 IMPLEMENT NDB_PERROR AS REPLACEMENT FOR "PERROR --NDB"
    
    Overview:
    
    "perror" is a server tool which takes error code as input and prints the
    error message. It prints ndb error codes when --ndb is passed as
    argument.
    
    Problem:
    
    As perror is a server tool, when the mysql is not compiled with cluster
    flags then we will not get the ndb error codes. So, vanilla MySQL Server
    when compiled will not have "perror --ndb" functionality.
    
    Solution:
    
    Implemented new tool ndb_perror with functionality identical to that of
    perror.
    
    Signed-off-by: Dinesh Surya Prakash <dinesh.prakash@oracle.com>

commit 947ecbd9a9155ee7c0f04cea6c9239bb9d60798e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jun 12 15:47:52 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update result file of json_functions_ndb
    - Include test case for WL#10570: Provide logical diffs for partial
      update of JSON values
    - Include test case for WL#9831: Ranges in JSON path expressions
    - Update result of a few queries which return different results due
      to WL #9554: Varlen keys for sorting multibyte String values
    
    (cherry picked from commit d62c6ed81773e85b46f95f0a31f397bff4b1f1e1)

commit c3ef6c965f270b5c4ae118b7f689e360dd1508fb
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 01:24:31 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - The following tests failed with syntax errors:
      - ndb_binlog_unique_epoch
      - ndb_fk_restart
      - ndb_rpl_conflict_epoch
      - ndb_rpl_conflict_epoch2
      - ndb_rpl_conflict_basic
      - ndb_rpl_slave_binlog_index
      - ndb_rpl_conflict_epoch_ext
      - json_functions_ndb
      - ndbinfo_tables
    - Fix by adding back quotes to various identifiers that are now
      reserved words
    - The rpl_ndb_extra_col_master failed with a Result Content
      Mismatch error. Fix was to update the result file such that
      the binlog_format being set was enclosed within single
      quotes
    - Changes were required due to WL#9236, WL#9603 and WL#9727 -
      Add SQL window functions to MySQL
    
    (cherry picked from commit 406e4d9dc89c86f06f74d63a4683174b23c83482)

commit d3fbd42253b6b2a8e1c2a4d2bef0cc140eab25cd
Merge: 34dc813 7327a58
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 14 07:56:55 2017 +0200

    Merge branch 'mysql-5.7' into mysql-trunk

commit 7327a5846bba094bab40a82ff212b679ac6eba3b
Merge: 4fc154a 44eec51
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 14 07:53:18 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 44eec513f267db22cec665ae9716f706c00c3659
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 14 07:50:43 2017 +0200

    Bug#23531150: MYSQLDUMP GET_VIEW_STRUCTURE DOES NOT FREE MYSQL_RES
                  IN ONE ERROR PATH
    Fix memory leak in mysqldump in case of an error.

commit 34dc81399294889443058b5264adefc2ae26852e
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Jun 14 05:42:38 2017 +0200

    Revert "WL#4321 --SKIP-GRANT-TABLE IMPLY NO NETWORK"
    
    This reverts commit d348578ce0ca2227ced673d3f057281b99fcacc4.

commit 9225b46c0059b8b920ca0b4c58a9ead62efc5722
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jun 13 22:13:50 2017 +0200

    WL#10302: Fixed some ndbrequire handling in DIH

commit d348578ce0ca2227ced673d3f057281b99fcacc4
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Jun 12 12:22:11 2017 +0200

    WL#4321 --SKIP-GRANT-TABLE IMPLY NO NETWORK
    
    Disable networking when --skip-grant-tables is used and only allow access using sockets.

commit e54ed329697472ad72f888974e8360c15198ebc8
Merge: 954ef28 4fc154a
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jun 13 18:42:40 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 4fc154a093e803815d7e284a1dfc78e460a21000
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jun 13 18:41:54 2017 +0530

    Bug #25942592 INNODB: FAILING ASSERTION: INDEX->PAGE != 0XFFFFFFFF IN BTR0CUR.CC LINE 816
    
    Post push fix to fix ASAN failures
    
    Approved by jimmy over IM

commit 954ef289b9c647b0e975d8aa70aa0c43c410610f
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 13 14:54:55 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [noclose]
    
    Post-push fix: Fix a concurrency issue where DROP PROCEDURE could get a
    hash pointer outside the ACL lock, leading to a crash if FLUSH PRIVILEGES was
    running at the same time, replacing the hash.
    
    Change-Id: Ic05865663414673ebbf8a793eeed65bd0a8aa5d8

commit 3d2b7fd1d052b3ae3a643fa81f3b6cadd086ae4f
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Jun 13 17:11:09 2017 +0530

    WL#9424 post push fix
     * Fixed the compilation error in case of -DDISABLE_PSI_MEMORY=1

commit 0b38dd1a6b279db663122e635d393c5e652063c4
Merge: 5931438 a0805d4
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Jun 13 16:39:38 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit a0805d44c32bcea8219c90588d3d1e9e9992349e
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Jun 13 16:39:09 2017 +0530

    Bug#22914463 SET BINLOG_CHECKSUM CRASHES WHEN EXECUTED INSIDE
        TRANSACTION
    
        Analysis: SET binlog_checksum causes the binlog to rotate.
        Also on a binlog enabled server, gtids are stored in the gtid_executed table when
        binary log is getting rotated.  global_update function for binlog_checksum
        system variable acquire LOCK_LOG before starting the variable update
        procedure and now if the statement is allowed inside transaction and if transaction
        contains the statements of the session's ongoing transaction, that needs to be binlogged.
        So this invokes binlog group commit. This function tries to acquire LOCK_LOG again.
        This function is not meant to be invoked this way. The stack trace show that the thread
        tries to acquire a mutex that it already holds.
    
        Fix:  Disabling binlog_checksum update inside a transaction.

commit 5af8e240052cf3094e6c072168b4f2558619ba4e
Merge: 1d75f4e 3ea11b1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 16:22:38 2017 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'clone-5.5.57-build' into mysql-5.5-cluster-7.2)

commit 3ea11b169874aed826da772fdc272eb61c5d3d2f
Merge: ffe2f87 471ac96f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 16:22:01 2017 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'clone-5.5.57-build' into mysql-5.5-cluster-7.2)

commit 471ac96f6c7e93523ff6973c5a5d7361f7b1d335
Merge: f2fe272 d27119c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 16:21:22 2017 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'clone-5.5.57-build' into mysql-5.5-cluster-7.2)

commit d27119c8695ca9d89ec7c037381bfdfcfc1c0b1b
Merge: 98a5675 4742513
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 16:19:25 2017 +0530

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    (Merge tag 'clone-5.5.57-build' into mysql-5.5-cluster-7.2)

commit 4742513a1739a7f595e3d8466c0069ec236ad31a
Merge: 00fca74b 151fe52
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 16:14:50 2017 +0530

    Merge tag 'clone-5.5.57-build' into mysql-5.5-cluster-7.2

commit 1d75f4ec4bbebde1ecd7d26d069b135f0dd86fe2
Merge: 823a4fe ffe2f87
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 15:50:22 2017 +0530

    Null Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'clone-5.6.37-build' into mysql-5.6-cluster-7.3)

commit ffe2f870d8a064d03bc525e3e77f2db263e5e648
Merge: de56eb9 f2fe272
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 15:46:39 2017 +0530

    Null Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (Merge tag 'clone-5.6.37-build' into mysql-5.6-cluster-7.3)

commit f2fe2722ef8c6a3404d7f3825bc380e5a74efe49
Merge: 027ffa3 98a5675
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 15:43:21 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (Merge tag 'clone-5.6.37-build' into mysql-5.6-cluster-7.3)

commit 98a56755c5ef4038eb6176c5a573a2a925dc2f2c
Merge: 3e2a580 a8c1489
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 15:40:18 2017 +0530

    Merge tag 'clone-5.6.37-build' into mysql-5.6-cluster-7.3

commit 823a4fe133ea9cde1095bf2330047c79c497d7ea
Merge: 60a372b de56eb9
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 14:58:43 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (Merge tag 'clone-5.7.19-build' into mysql-5.7-cluster-7.5
    
     Removed AWS plugin from default list to fix Debian 7 build
    
     Deb packaging: Workaround for keyring_aws build failure
    
     Post Merge Fix updating result files of ndb_dist_priv and
     ndb_rpl_dist_priv test)

commit 593143825b72619b34a863aa340a2b89471e972d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Jun 13 11:24:09 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [noclose]
    
         - fix compilation failures on Windows

commit de56eb990e750e577bf62e53cf814c291598668c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 1 18:40:15 2017 +0530

    Post Merge Fix
    
    - Update result files of ndb_dist_priv and ndb_rpl_dist_priv tests
    - A new user msysql.session is created on bootstrap of the server.
      It was added in commits 762edb6ddf6d244b88e1c3e22787c76dc388ee92
      and 0c12827cbee50f8c5e4581008967d85c1463f40e
    - The result files are updated to include additional entries
      corresponding to this new user returned by a variety of select
      queries

commit 0d241eb5b2b84ad41c9dc8e1e2ac78e31ebe0508
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue May 30 14:44:21 2017 +0200

    Deb packaging: Workaround for keyring_aws build failure
    
    The DEB_AWS_SDK cmake flag was lost during the build. Change
    to pass it on internally.
    
    (cherry picked from commit 9da34cff69d050ba0c6cd46fa072ba2d1f427a4c)

commit 864c443d2508bf1f0bc7e6c6fccc31b8444cc23e
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue May 30 09:48:47 2017 +0200

    Removed AWS plugin from default list to fix Debian 7 build
    
    The AWS plugin should only be added to platforms supporting the AWS SDK, but
    was also added to the default list, breaking the build on Debian 7. Removed
    from the list, so the plugin is only added is DEB_AWS_SDK is set.
    
    (cherry picked from commit defbef08fd86f0fc09f297827d6f8b952aeeace2)

commit 1ca64204ac09369a1184996ab735ab57c239d202
Merge: 1e7a8ab ec0357e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Tue Jun 13 14:37:38 2017 +0530

    Merge tag 'clone-5.7.19-build' into mysql-5.7-cluster-7.5

commit e4fbf47aa59ce943554f430cf42ef44dacefe2b0
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue Jun 13 10:19:30 2017 +0200

    1. Removed usage of --combinations to workaround "Bug #26263142 MTR SHOULD GIVE SAME TREATMENT TO --MYSQLD AND --COMBINATION OPTIONS:
    2. Changed value passed to --master-info-repository from TABLE to FILE. WL#10474
     changed default to TABLE and hence is tested in regular runs
    3. Moved some rpl tests in default.weekly to the correct section
    4. Fixed some typos
    
    Approved by : Erlend Dahl <erlend.dahl@oracle.com>

commit 60a372b18d29cbde7fb7156d73a248324dab9da0
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Jun 13 09:53:28 2017 +0200

    Raise version number after tagging 7.6.3

commit f14cf8ae27f69436c36fec81eb4174ad643fbe95
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Jun 8 04:15:07 2017 +0200

    Bug #25819886   IMPROVEMENTS TO MTR TEST COLLECTIONS
    
    Follow up patch to Bug#25819886. Removed runs with different innodb_undo_tablespaces. WL#10498 changed default value of innodb_undo_tablespcaes to 2. That made runs with value 2 redundant. Further there are tests in the suite that set this variable to different values. Hence there is no need of runs that pass different values in MTR command line.

commit dd7d3be7d9241a3730ee1574bc1c63fd30e92280
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jun 13 09:48:37 2017 +0530

    Bug #25909540   UNINSTALL PLUGIN DAEMON_MEMCACHED MAKE MYSQLD CRASHED
    
    Post push fix to remove include/have_innodb.inc from the test case

commit 1d0ca54c00b0339cd07fd1cd7ed240a301bf71f3
Merge: ec4f8a5 70aa1ff
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 23:10:24 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 70aa1ff98295f97eb8da1a6b18a98f69eb4fcfcd
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 23:08:20 2017 +0530

    Bug #25942592	INNODB: FAILING ASSERTION: INDEX->PAGE != 0XFFFFFFFF IN BTR0CUR.CC LINE 816
    
    PROBLEM
    -------
    
    ha_innopart::records_in_range() checks only the first partition to see if it is discarded
    or not before calling the btr_estimate_n_rows_in_range() . Apart from first partiion if
    any other partition is discarded then the server will assert because root page of index
    will be NULL for discarded partition.
    
    FIX
    ---
    Extend the check for each read partition .
    
    [rb 16481 approved by Jimmy ]

commit ec4f8a5cc358b90be31897eab5b83bbc0711db68
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Jun 1 16:22:35 2017 +0200

    Bug#26133507: ATTEMPT TO DROP NONEXISTING DATAFILE FROM TABLESPACE GIVES
    'INCORRECT FILE NAME'
    
    Problem: Attempting to drop a tablespace file, resulted in a
    misleading error message.
    
    Fix: Create new and improved error message and use it when a
    dd::Tablespace_file object with the specified name cannot be found the
    collection of tablespace files in dd::Tablespace.

commit bea731df9f1e59f4d0de6c79889b87ced24c8d3f
Merge: f32b2d4 8771db3
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Jun 12 17:56:28 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit d62c6ed81773e85b46f95f0a31f397bff4b1f1e1
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jun 12 15:47:52 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update result file of json_functions_ndb
    - Include test case for WL#10570: Provide logical diffs for partial
      update of JSON values
    - Include test case for WL#9831: Ranges in JSON path expressions
    - Update result of a few queries which return different results due
      to WL #9554: Varlen keys for sorting multibyte String values

commit d2756097ecee5b902008a3647868a625fbcfd11d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jun 12 14:16:11 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update result file of the ndb_binlog_index test
    - New result is due to Bug#26142776 : DIFFERENT MYSQL SCHEMA AFTER
      UPGRADE. The ndb_binlog_index table is now created in mysql
      tablespace

commit 3e131096fb6dcb5aeb4be1924a3a318ec68e28d4
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jun 12 11:31:29 2017 +0530

    Bug#26202775 FAILURE OF NDB TESTS RELATED  TO BINLOG AFTER SERVER MERGE [noclose]
    
    - Disable the ndb_binlog_discover_multi, ndb_rpl_skip_gap_event,
      and ndb_rpl_gap_event tests under Bug #26202775

commit 9665e43f3fa2ad3780e7a979b1770131553ef38f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sun Jun 11 23:06:01 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove duplicate includes

commit 248f6041a64087c7f9871b8c42e732fa6410b508
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sun Jun 11 18:04:32 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update result files of ndb_rpl_2innodb, ndb_rpl_innodb2ndb, and
      ndb_rpl_dd_partitions tests
    - Change is due to fix for Bug#18513130: STRANGE INTERACTION OF
      SQL_MODE=ANSI AND PARTITION BY TIMESTAMP. The way partition
      expressions are printed using SHOW CREATE TABLE has been changed

commit 406e4d9dc89c86f06f74d63a4683174b23c83482
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 01:24:31 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - The following tests failed with syntax errors:
      - ndb_binlog_unique_epoch
      - ndb_fk_restart
      - ndb_rpl_conflict_epoch
      - ndb_rpl_conflict_epoch2
      - ndb_rpl_conflict_basic
      - ndb_rpl_slave_binlog_index
      - ndb_rpl_conflict_epoch_ext
      - json_functions_ndb
      - ndbinfo_tables
    - Fix by adding back quotes to various identifiers that are now
      reserved words
    - The rpl_ndb_extra_col_master failed with a Result Content
      Mismatch error. Fix was to update the result file such that
      the binlog_format being set was enclosed within single
      quotes
    - Changes were required due to WL#9236, WL#9603 and WL#9727 -
      Add SQL window functions to MySQL

commit 8771db30c6b3cf9a29eaaec1c66f631dac6a4832
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Jun 12 17:49:09 2017 +0530

    Bug#24679056:MULTI-THREADED SLAVE LEAKS WORKER THREADS IN CASE OF THREAD CREATE FAILURE
    
    Post-push fix:
    Fixed the valgrind and asan failure.

commit f32b2d419f5d300e02e54dc733a619315bf1fe36
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Jun 12 17:41:35 2017 +0530

    WL#9424 post push fix
    * Fixed the ASAN failures

commit c8905cb29ce7b492586d8506f7baf0ae97edd25d
Merge: 5e0b81e f7c21ca
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 17:20:48 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f7c21ca5aa40c331d2e562a15735fae3c071c635
Merge: 2ef1a5d 88fcfa5
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 17:18:11 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5e0b81ebf4f881a6cd2d289f1877498b64585ca2
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Jun 12 13:39:57 2017 +0200

    Use existing bug for reference

commit 88fcfa5eb662de56e84d50098a2663e06f457462
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 17:07:50 2017 +0530

    Bug #25909540   UNINSTALL PLUGIN DAEMON_MEMCACHED MAKE MYSQLD CRASHED
    
    ANALYSIS
    
    innodb_conn_clean() doesn't check if conn_data->thd is NULL before
    attaching it to the thread.
    
    FIX
    
    Check if conn_data->thd is present before attaching.
    
    [rb 16426 Approved by jimmy ]

commit e3ef2ba030d3362fd4bbf20a3989bafbe90018e0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 12 12:21:46 2017 +0200

    WL#10302: Fix to avoid crashing when using nodes without node groups

commit c314e7e483798d3fc4a62dd66e811c88513bac66
Merge: 21d705c 2ef1a5d
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Jun 12 14:39:53 2017 +0800

    Null-merge from 5.7.

commit 2ef1a5d1b626e1f5ae6a35c69f8a221f95a266f4
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Mon Jun 12 14:39:14 2017 +0800

    Bug#26243264 ALTER TABLE ON ENCRYPTED TABLE CAUSES FRM OUT OF SYNC AND DECRYPTS DATA
    
    This bug is cased by that we didn't set the encryption attribuite properly in altering table.
    
    Approved by Jimmy Yang <Jimmy.Yang@oracle.com>

commit 0d13c1ffe160636053ce7ea60d86c79dca597ad5
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 00:36:44 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the gcol_supported_sql_funcs_ndb and ndb_many_fragments
      result files
    - New result is due to WL#9687: Change default for
      explicit_defaults_for_timestamp to ON. Timestamp columns are
      now nullable by default
    - Another change is due to change in default character set to
      utf8mb4

commit 0dbbe9f74a1415c52ccf478a12fc6af24faee07a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 00:10:48 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - The ndb_dd_initial_lg and ndb_dd_dump test cases failed with a
      Result Content Mismatch error due to the presence of auto-
      generated InnoDB undo files
    - Fix is to use stricter where clause in the queries to ensure that
      only the relevant NDB undo log files are returned

commit e2743f553a4eeb8769a52922eef5c041825fcc82
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Sat Jun 10 00:05:49 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - The load data local functionality is now disabled by default
    - The --local-infile option is added to the .cnf files of
      suites that contain tests needing the above functionality
    - The --local-infile option is added to the .cnf files of tests
      that have specific .cnf files

commit 88402e73d8182b202bb465e05ac48e7850b26de2
Merge: deaa7a4 1e7a8ab
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Jun 11 10:04:31 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 1e7a8ab96cb1003c95186c36ac725ee8b7c16f60
Merge: 429b879 027ffa3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Jun 11 10:03:56 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 027ffa3818489ce798411669ee9458fa4d8a91c0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Jun 11 09:59:44 2017 -0700

    DIRECTORY was added in 2.8.12.
    CMake 2.8.2 must be supported on linux for MySQL 5.7.
    For MySQL 5.6 CMake 2.8 must be supported.

commit deaa7a42f910b5fa62b517a9c5cd8f7d23216a5d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jun 10 20:28:34 2017 +0200

    WL#10302 Ensure that things works also when not executing local LCP first

commit 21d705cb01144254224659b5267ffa30b05bec73
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Mon May 29 17:22:25 2017 +0300

    Pre-requisite patch for WL#6049 "Meta-data locking for FOREIGN KEY tables".
    
    Ensure that we set Foreign_key_spec::db at the Foreign_key_spec
    construction time and not later, during statement execution
    phase. Also now we normalize both database and table names in
    --lower-case-table-name > 0 modes at this point. For cases
    when original database and table names are necessary
    Foreign_key_spec::orig_ref_db/orig_ref_table members
    were introduced.

commit 582d84d797b5360e16db10164b8bd892b5e1a947
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 9 23:55:03 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Update the gcol_keys_ndb result file
    - New result is due to changes made in WL#9236, WL#9603 and
      WL#9727 - Add SQL window functions to MySQL

commit e6353ef72b97417fa3f173c4f2c0841332d4f14e
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Jun 9 16:51:05 2017 +0200

    Fix for max parts suite running under Hudson: local-infile is now mandatory.

commit d7f7001af87329e237d8f2ed4980aae682e3f42b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 9 14:55:00 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [noclose]
    
     - fix compilation failures in debug compile

commit 7e8207ba183cbac438f9f5f4226936341c36a3e0
Merge: 8eadd63 429b879
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 9 14:51:49 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#26138592)

commit 429b879d0cfadf2d9dd15d6c6f40a36db93ec545
Merge: 47cbf84 4f13aee
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jun 9 14:49:10 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#26138592)

commit 4f13aeefee7ecdfc03d8ebef1eeeb79f39cb723c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu May 25 00:37:58 2017 +0200

    Bug#26138592 MANY DELETES (OR MANY INSERTS) THEN DROP TABLE MAY CAUSE UNDEFINED BEHAVIOUR
    
    When a fragment is about to be released (releaseFragResources), make sure
    that there are no pending expand or shrink on fragment.
    
    As optimization change fragment state so that expand or shrink will do
    nothing.
    
    In addition to the above bug fix, in execEXPANDCHECK2 and execSHRINKCHECK2
    check of fragment level is moved before potentially pages allocation.

commit 620867b99adffc4e9cc64da69b84aef234bb61cb
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jun 7 16:28:08 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 12, noclose]
    
    Convert all the remaining NDB instances of HASH.
    
    Change-Id: I3e25e0dd32d444d4a74925f12b962caf411a297e

commit 6af5ce306a5f7cd84c7b2b16abd17cc8c183e2d3
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Mon May 29 16:16:30 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 9, noclose]
    
    Convert NDB's HashMap adapter class from using HASH to std::unordered_map.
    Ideally, it should just go away and everything should use std::undered_map
    directly, but there are too many callers to do in this cleanup. The API
    is nearly unchanged; only iteration over all elements is different.
    
    Change-Id: I366db8e222e925c8066382e32b42615a2d296194

commit 8eadd63ad9a74120175b28ad9bc6f612b1add21c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 9 13:24:40 2017 +0200

    WL#10302: Updated version numbers for partial LCP and local sysfile introduction

commit 1d62250530b21a54dfff626d4f6c79a479517706
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 9 12:29:59 2017 +0200

    WL#10302: Various cleanups to prepare for push, many printouts moved g_eventLogger->debug instead of info

commit f05ebceae5d3bd505a00d640763ca9c85c4e76dc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 8 23:30:49 2017 +0200

    WL#10302: Disable automatic start of LCP after copy fragment phase

commit 665b0b79a5a55bfad005122157e085c616074c06
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 8 23:22:00 2017 +0200

    WL#10302 Disabled all extra debug output in preparation for push

commit 57f6b946ea7571bb3859363ebbbaf613b9998b5b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 7 15:53:00 2017 +0200

    WL#10302 BUG#26115576: Had to use LQHs version of nodeState, Backup's version of node state is not sufficiently up-to-date

commit e8cb679bd9cc4c3971a85c9846aa71084c556822
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jun 6 14:30:52 2017 +0200

    BUG#26198089: Fix initialisation mistake in previous patch

commit 4ef6d36f7ed14c548a91c7e3ccdc968c06de4c5d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jun 6 13:04:17 2017 +0200

    BUG#26198089: Added ndbrequire such that we crash instead of hang when a node fails to set activeTakeOver variable correctly, this will assist in finding bug around this code

commit 7b0eb9a341418f599b15c05848dd6933d1411dd2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jun 6 11:37:25 2017 +0200

    WL#10302 BUG#26201284: WRITE_LOCAL_SYSFILE_REQ could happen concurrently from LQH and NDBCNTR, so simple delay signal used to handle concurrency

commit 9889b928eca5197d43ebd8884bd5830199155246
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 5 13:27:49 2017 +0200

    WL#10302: Fix of previous fix for hanging LCPs, the new code cannot be called for master take over case

commit 8b1559625e34ccb5e5d7d1b314bc207304b4db3b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 5 12:49:03 2017 +0200

    WL#10302 BUG#26115576: Have to ignore RESTORABLE_GCI_REP in SL_STOPPING_4 in backup block since not all senders check for SL_STOPPING_4

commit 3a399c7963d572ddaabc172a5a4bc025b249dfb1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jun 5 11:10:27 2017 +0200

    BUG#26193525 WL#10302: Fixed a missing set of m_restart_seq to 1 at initial node restarts

commit 73cb42fbee173856f6ecd8cc3e27febecb8cd6a0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 2 14:27:41 2017 +0200

    WL#10302: Fixed an issue with an earlier push around initial node restart that caused almost all LCPs to be of a drop case which obviously wasn't intended

commit e3f905ccb844db3cf9da7bc6917c49c3fd8d3eeb
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 2 13:49:31 2017 +0200

    WL#10302: BUG#26166901: Possible to get hang of LCP due to a node failure at a very inopportune timing when all nodes waited for this node to complete its last fragments

commit a6909387c6415a5db0532932c4e96b19d6e06240
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 2 13:21:12 2017 +0200

    WL#10302:
    Fixed such that m_restart_seq starts at 1 and is printed also in initial node restarts.
    Also set to 1 always at initial node restarts as well.
    Extra check that we don't try to use a page with m_restart_seq == 0.

commit ac9947ea50f580a10b29ad36dab1fd55a678b17a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 2 12:18:05 2017 +0200

    WL#10302:
    Added more debug printouts and new test case for testing of disk data in relation to initial node restarts.
    Added handling of removing old LCP files at initial node restart

commit f4c1f5d5d7afa6b718db23b22e4cd3add89fded7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 1 15:15:12 2017 +0200

    WL#10302: A bit more debugging info to find extent bug

commit 96460c4e641796739a4f44c9ba9f75485ba7d7f4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 1 14:56:06 2017 +0200

    WL#10302: More debug printouts to trace down the hanging LCP that causes node restarts to hang

commit f1340edce7566e664efd945ebbeba01688ebb1fd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 29 17:01:39 2017 +0200

    WL#10302: BUG#26162253: Fixes of some problems with warning in compilation and had to use unsigned char

commit 0f157c10f95b0a1f147c81bcb7fd5bf604a23004
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 29 15:32:24 2017 +0200

    WL#10302:
    Used fewer bytes for representing part pairs to be able to fit more in the same space
    BUG#26162253 Fixed minor ndbassert problem in conjunction with LCP watchdog printouts

commit 7bdf55d1e0729b87892ff948d63691a660727f9a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat May 27 08:25:40 2017 +0200

    WL#10302: Added a bit more debug info for analysing crash in DIH

commit 75f03a99036f3395060ea50365da753bf3e00977
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 24 12:40:27 2017 +0200

    WL#10302: Fixed bug introduced by cleanup

commit ae12a12e645139af2f3a398b7f031ae3f3ce44a8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 24 11:10:12 2017 +0200

    WL#10302: Added a bit more debugging around number of extents

commit 1642bef0d6edc9ec52751b73251d5664064b59e4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 24 10:58:14 2017 +0200

    WL#10302 BUG#26130117: Backup block needs to check both LCP id and local LCP id to see if a new LCP have started

commit 79bb539622fe9516d6e529f6c1956046c1d82b50
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 24 10:02:04 2017 +0200

    WL#8069 WL#10302: Various push preparations, clean up

commit 390891c4399128e7bea1628a68544cbe96008b84
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 23 17:01:47 2017 +0200

    WL#10302: Added more debug printouts around allocation and free of extents

commit a1b83a7b24f809d042d9274da5bf416ed83de308
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 23 16:41:52 2017 +0200

    BUG#25923125: Problem with allocation of extent during restart

commit 2a35e6fa19e172fa79c527cbb0725b09bdc0838a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 23 09:10:38 2017 +0200

    BUG#26115576 BUG#26115813, fixed problem with writing old GCI into local sysfile and not calculating free_log_words correctly with add_entry_complex, removed a bit more debugging info

commit c924fde0d234604f8cc51c01ead54b46afa38f26
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 16 00:28:53 2017 +0200

    WL#10302: Fix for BUG#26074593: Remove another ndbrequire that was wrong

commit d3e659d53d45ed520fdb6bad9d548b3bcfa0cf8e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 16 00:22:56 2017 +0200

    WL#10302: Fix for BUG#26074593: Remove ndbrequire that was wrong

commit 29369c8ab15a5a826d33bcdaf4aa653f23fef531
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 15 23:30:14 2017 +0200

    WL#10302: First step in decreasing amount of debug logging

commit 98b07801090b55bce1ae46bafc1cecfa62ff5cf4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 15 23:04:33 2017 +0200

    WL#10302: BUG#26076862: A table that was dropped and not properly dropped by DICT caused restore to crash, fixed by adding a drop case also to restore code such that all control files and data files are deleted if we find an LCP file from an old table version

commit 18256c287b36ee0cce67df30acd5fcbbead047ba
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 15 15:42:24 2017 +0200

    WL#10302: BUG#26074593: Ensure that fragment state is properly setup for executing LCP after ensuring no more REDO log is to be executed

commit da18a8d9889de35bc9fe95a6b9eb0f71eb1308b2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri May 12 15:54:43 2017 +0200

    WL#10302: Important to not report restorable GCI to BACKUP before restart is completed, also we are not allowed to report a GCI as restorable during restart until we have written the local sysfile, otherwise we might remove LCP files that is the last restorable one.

commit a8a45c886ed26e54ec49b41c596ac92f966d5592
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 18:13:11 2017 +0200

    WL#10302: More work on when to report restorable GCI to Backup block, had to carefully consider the handling of graceful shutdown and the phase SL_STOPPING_4 when LQH no longer does GCPs but still runs both transactions and LCPs. Thus it is important to NOT update Backup block with any new RESTORABLE_GCI_REP signals while in this phase, this ensures that we cannot overwrite LCP files to get into a situation where no restorable LCP files exists. The LCP will stop waiting for the restorable GCI to arrive that allows delete of old files and this will never come in this state.

commit 6172f5c092b6d40273b4d3fe6c22670d5bba9693
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 12:14:56 2017 +0200

    WL#10302: Removed an erroneus ndbrequire, fixed another ndbrequire that was no longer accurate

commit 5dd763c96b35ad877913f37ac3e521e9f159914d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:41:36 2017 +0200

    WL#10302: Must ensure that m_newestRestorableGci is properly set before executing any LCPs

commit 18a307348a691cfdfe7e1f9ac6bfad5bc172d831
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:06:07 2017 +0200

    WL#10302: When changing MaxGciCompleted locally it is important to also change it such that DIH is informed of the changed value

commit fc2e78ca3f402d079a543c10ad37bcd8a210b8bb
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:05:29 2017 +0200

    WL#10302: Minor fix of debug printout

commit eeeeec5e53c95fa87105f078443fc773382a9333
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:04:26 2017 +0200

    WL#9775: Fix test case test_event -n Bug33793 to also work with 3-4 replicas

commit d556dbc5c5361bf5d955c7fc2f84f15e7657841a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:03:15 2017 +0200

    WL#10302: Fix problems with error-insert on ndb_restore for testcase testBackup -n Bug19202654

commit f7e7de1d9d34d1519bedf4c8700e2b59cb1fd4bf
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:02:00 2017 +0200

    WL#10302: Ensure that we don't write any MaxGciCompleted that isn't restorable unless we actually have written any transactions in an unrestorable GCI

commit 09031175f5328814d9ef11bbfacf42f256dfe7e0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:01:13 2017 +0200

    WL#10302: When performing system restart we can sometimes start from an old GCI, in this case we need to update the m_max_completed_gci at reception of CNTR_START_CONF since no GCPs will be executed during a SR. Fixed a bug in lgman.cpp introduced by WL#10302, after this it is better understood how the LGMAN actually uses head and tail.

commit 0d47d3e5a68967df28df264373b5bade503cb92d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 09:00:16 2017 +0200

    WL#10302: Disabled test case Bug18612SR until we have fixed a permanent fix for handling of partitioned clusters, this test case wasn't really working, also fixed some printouts from Qmgr to node log and cluster log that had mixed up parameters

commit 69a01473ef6407bdccbd0eac022e0decb6b2cb7e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:57:11 2017 +0200

    WL#9775: One more test case that couldn't handle 3-4 replicas

commit 9b3ba636b69b70e41fdb7fd4d390b204b2638e54
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:56:17 2017 +0200

    WL#10302: We needed to ensure that MaxGciCompleted was always incremented or kept the same as we create new LCP control files. Special considerations needed when restoring from not restorable on its own nodes

commit dd46493f16fb02d1cbe8214c1919be5dd55b401d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:39:29 2017 +0200

    WL#10302:
    Fixed problem with initial node restart where we didn't discover that first
    LCP_PREPARE_REQ was a start of a new LCP since backupId of this LCP is 0,1
    and backupId is initialised to 0, added new variable m_initial_lcp_started
    to always discover first LCP_PREPARE_REQ as a start of a new LCP
    Need to set also local LCP id when setting LCP id to stop UNDO log at

commit 79f32e42f3379d09552955cd8ddbe8628f8d9ce9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:38:43 2017 +0200

    WL#10302: Now LCP ids and local LCP ids completely controlled by LQH, NDBCNTR gets max LCP ids restored and for local LCPs it uses the maximum lcp id and adds one to the local LCP id for this local lcp id pair

commit be80ccc22c4b102d6aade13ddebbd2935d5416ca
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:14:53 2017 +0200

    WL#10302: Tail and head should be equal when all of UNDO log have been executed

commit aeb65422cc6a7060a48e12ce442cb49ec7d7a515
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:14:09 2017 +0200

    WL#9775: testNodeRestart -n ClusterSplitLatency is only developed to test with 2 replicas

commit 5882c7096acdb87999f90d54df11a24f915fcf7c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:12:45 2017 +0200

    WL#9775: Fixed test case testNodeRestart -n NodeFailGCPIOpen that can only run with 2 replicas

commit 328bda7fdf8592ad22b1c97fd7013cc5406bf629
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:11:47 2017 +0200

    WL#9775: Fixed test case MNF in testNodeRestart to also handle 3 and 4 replicas

commit 91b6d966b729453f65f4bbc18376c6e218617ad1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:11:09 2017 +0200

    WL#10302: Merge fix, compiler warning fix

commit 48b1b78f5eaea2a1f89f05163a3814adca220e65
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:08:53 2017 +0200

    WL#10302:
    Ensured that Copy Fragment and REDO log execution can use the full UNDO log
    to avoid crashes due to out of UNDO log.
    Adapted the calculation of space and also fixed some remaining merge issues.
    Set the log levels for halting copy fragment and starting local LCPs during node restart properly.

commit e6e755f70de0ff8fe8cb46d769574bce184c652b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:07:22 2017 +0200

    WL#10302: Merge of some changes from WL#8069 tree into the context in WL#10302

commit ca548be011ec5925e0586cb58d733f8b3ae07e4d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:06:42 2017 +0200

    WL#10302: With local LCPs possible the deviation between m_dih_lcp_no and m_used_ctl_file_no can be bigger and we have to take care of that in the code. Also documented restore variables a lot more

commit 2d02f7d9214cd987063863bd50256e33ae33f9b8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:05:54 2017 +0200

    WL#10302: More debug info to be able to find disk data crash

commit 5698bcb1fdf8faeef315b2fb0b67fe875c7e4605
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:05:09 2017 +0200

    WL#10302: Temporary crash injection to analyse bug

commit dce45d7a5087d918e35194649cd206b9980a58fb
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:03:58 2017 +0200

    WL#10302
    Added more printouts around maxRecordSize changes of LCP records

commit a40a4af281c73038b302dda12049e8a4e3e88dde
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:03:05 2017 +0200

    Changed mikael2 to use 4 nodes and added new test case to devel--07

commit 73dfc13a03035435141f2506b86c820541fdfeea
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 08:00:43 2017 +0200

    WL#10302 baseline

commit 7c388247087dbc395fa279275fc7bbbe91a1001c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri May 12 00:07:05 2017 +0200

    WL#8069: One more fix of send handling in mt.cpp

commit 98084e07cc534dd42fcb496a409fc4f2a1115e10
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 11 07:15:46 2017 +0200

    WL#8069: Improved handling of waiting for end LCP, had a few problems around drop table that needed fixing and also to ensure that we can guarantee that m_wait_end_lcp is cleared immediately when queue is made empty

commit 46513c1f96218885fc08eed3bbc6e826ceac25b2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 10 23:16:52 2017 +0200

    WL#8069: Some adaptions of reporting restorable GCIs to speed it up, ensured that we don't report LCP watchdog issues when the real issue is a GCP stop issue

commit af8588907b5b0a9b2100c3930061a0c22c1afc65
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 20:13:22 2017 +0200

    WL#8069 BUG#26001020: Fixed wrong ndbrequire in previous patch

commit aac99a731f763248921cd28bb06ad47e0485eb1b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 19:57:28 2017 +0200

    WL#8069: BUG#26001020: Missing state ScanOp::Aborting in is_rowid_in_remaining_lcp_set

commit f246f170d1dd694cb01d673a8e0d9eacf32f62c9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 18:05:22 2017 +0200

    WL#8069: Fixed issue with ndbrequire's around checks of CreateTableVersion, LCPs can be created while table is being dropped, so have to take that into account when checking CreateTableVersion validity

commit a17e712e53d4f01617508fe9943f0ac16702c294
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 13:00:47 2017 +0200

    WL#8069: Use of block variable in getCreateSchemaVersion caused havoc when called from rep thread, moved to use stack variable instead

commit f773df3b48cb89515d7ed48fb1a182593cbc4305
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 11:36:19 2017 +0200

    WL#8069: LCP scanned bit was set and not reset when the partition was empty when the LCP scan started, fixed by ensuring that we perform scan even if the partition is empty and there have been pages in it at the LCP scan start

commit 93668fb899b64c3d97dfe10b86070d6a37d03cd2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 4 09:41:35 2017 +0200

    WL#8069: The attempt to use CreateGci as unique identifier of table together with table id and fragment id failed since it can change after a system restart since the DIHs in the cluster doesn't synchronize on one CreateGci, instead using CreateTableVersion that should be synchronised since the dawn of NDB, so now checking that the LCP is really from same table using the triplet TableId, FragmentId, CreateTableVersion

commit ce7ec9b259ac6a988f1edee7444149600ede788a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 3 14:11:09 2017 +0200

    WL#8069: Fixed problem that when finding a drop case we didn't manage to get cleaned up, so hanged in the restart due to LCP stopping finally causing LCP watchdog crash, actually we should never have entered this case. So added code to ensure that the LCP control file contains CreateGci of the table to ensure that we know if we are dealing with the correct table

commit e30d424feef35a2fbbdc5746b0c02f4f2ce25bf9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 2 12:52:53 2017 +0200

    WL#8069: Used ntohl to check page version in UNDO log execution, this led to executing log records on never written pages and later to overwriting extent information

commit 65e64424b27b3f948782e83df144bc25e82c4909
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 2 11:22:04 2017 +0200

    WL#8069: More debug printouts when reporting error 1501

commit ee7c73dcf0e3c15f1571f205bb449e499e87b8a6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 2 10:46:16 2017 +0200

    WL#8069: Fixed wrong condition on handle_lcp_skip_bit, also added more debug printouts and more ndbrequire's

commit df6e1f1fb57a0b6c1570cd3c901d56e73c4cb318
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 2 09:54:04 2017 +0200

    WL#8069: Fixed a test case that dropped SCAN_NEXTREQ signals, sometimes this dropped a SCAN_NEXTREQ as part of a LCP scan and this caused the wrong error to occur and thus test case to fail

commit 95903ed20e9a65ae686573d84d66c162c278ca1c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 2 08:23:46 2017 +0200

    WL#8069
    Fixed bug in DIH where we assumed that no LCP could have been saved
    and still no LCP valid found. With 8069 we report LCP completed much
    later, so this means that this is a perfectly legitimate event.
    
    We kept around some checks that we didn't start an LCP with a queue.
    This kept around check was buggy, so removed it and replaced it with
    a simple check at start of LCP that queue is empty.
    
    Fixed one bug previously with handling of skipped pages, however this
    meant that the variable all_parts got to be always false and we entered
    into the Partial LCP code. The partial LCP code needed to initialise the
    m_tableId in the scan record, but we also needed to always set the
    all_parts to true to ensure that we don't use the Partial LCP code just
    yet. Will require some fixing later on when adding Partial LCP for real.

commit 4a53da9bed8fc804f90cdc7154a2cc83e6e00e29
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Apr 29 12:08:59 2017 +0200

    WL#8069: LCP_SCANNED_BIT was set when the page had already been LCP scanned due to using wrong function to discover if it was LCP scanned, the is_rowid_in_remaining_lcp_set is the fully featured function that handles all state variants

commit 4ba40468977e22e53fb41127ae474837a6b3678d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Apr 29 07:06:05 2017 +0200

    WL#8069: Fix merge issue

commit 920f76d4175865a8733aed3d15114b0c60a8a48a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 28 10:26:09 2017 +0200

    WL#8069: The test case testSystemRestart -n Bug54611 relied on local checkpoints to pause one GCP between them, this is no longer certain, so to make sure test case passes even when running with constant LCPs we change it to move on after 15 attempts to get the right test condition

commit 00d7395dcff1b89f59978628fef8a4608d93007b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 28 09:13:00 2017 +0200

    WL#8069: Fixed an issue introduced by removing the double m_next_lsn variables, now checking the total_log_space to see if UNDO log is ready, also added check that UNDO log entry is only created for disk data tables, this should decrease risk of unnecessary UNDO log sync's to remove space in UNDO log

commit bd466c528c22c401aa8f0cf3a04eb5a699799eb9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 27 19:22:11 2017 +0200

    WL#8069: Also idle LCPs have to respect the sync_lsn calls, it means that we have to detect if table is disk data table and ensure that LSN is synced before we write a validFlag in the LCP control file

commit 83df574c33455e1875efbfe17599292f40171b4d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 27 12:53:13 2017 +0200

    WL#8069: Minor change of interface to handle_send_node and setting of node to 0 in send thread loop for absolutely safe handling of stop node handling

commit 7aff621a3c57204529a39f28065d1cd63b307b2e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 27 12:51:23 2017 +0200

    WL#8069: Temporary change of MTR defaults

commit 84f3de781d6c8f8300282c6d87dc5d2cc407207a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 27 10:03:34 2017 +0200

    WL#8069: More debugging to find lcp_scanned_bit crash

commit c1c7b307e9eadb21ff2e9a1a45a29ea7e2662d7d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 26 16:10:34 2017 +0200

    WL#8069: Fixed issue when rewriting LCP file after waiting for GCI to complete, it could interact with drop table in bad way, added synchronisation from LQH to BACKUP to ensure that delete LCP file queue removed all entries from queue before drop table started removing all LCP files

commit 2306e6ef64cc6c898dad94fb4097871104999e95
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 21 01:10:18 2017 +0200

    WL#8069: The new UNDO_FREE_PART + UNDO_UPDATE_PART pair had problems when the UNDO_UPDATE_PART was too big and overwrote the free list information before the UNDO_FREE_PART had a chance to make use of that information. Fixed by ensuring that UNDO_FREE_PART is at least covering 6 words (only 2 words was absolutely necessary now, added 4 more for future use). No need to extend the overhead space since that already accounted for at least 15 words of wasted space per page break

commit dc78f4a3bf534b987f50293d657afa1a479deded
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 20 22:20:42 2017 +0200

    WL#8069:
    A problem in handling of Delete LCP files queue,
    it removed from first when don,
    it could be inserted a new first while it executed,
    so it should not use removeFirst,
    needed to make list double linked list with prevList element
    
    In addition a simplification of the LCP scan code where I removed
    the function set_lcp_scanned_state since it was only used to
    set and directly reset. So instead I always reset immediately
    and jump out of loop to ensure that I also keep track of
    loop counting.

commit f7e605b57e447bb228898a58b071706a2a1d23e3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 20 19:28:47 2017 +0200

    WL#8069: Some rework of Bug48474 test case

commit 96e2d0c58e62127254b729f82309a5ea8bbcff31
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 20 14:49:43 2017 +0200

    WL#8069: Added more jam's to trace bugs in DIH

commit 9da35d085a7de35083a9605d5373c21c2a36a253
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 20 14:01:10 2017 +0200

    WL#8069:
    Added check that we don't stop UNDO log execution in the middle of a two-part UNDO log record
    Ensured that all LCP files were handled before reporting LCP_COMPLETE_REP to DIH to ensure
    that DIH always have an older and never a newer view of the real LCP state
    Fixed issues with UNDO log
    Fixed missing initialisation of m_lcp_loop_ongoing
    Removed m_next_lsn from LGMAN object, only in logfile group now
    Ensured that 25% of the log space is not used for normal transactions
    during restart and 33% during normal operation. This log space is
    dedicated to handling sync_lsn of already dirty pages, handling
    copy fragment actions
    Fixed restore issues
    Removed support for Type 2 UNDO log records

commit ebb32d9ef41d00241e1bc267dde1b14c705dbeab
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 19 16:30:03 2017 +0200

    WL#8069: Ensure that we have a large part of the UNDO log saved up to ensure that we can always complete an LCP (an LCP can cause use of log space due to sync_lsn calls, also ensure that we have more space in UNDO log during recovery

commit f41ba72fc8883b6943326ece21a7142f9b2a2744
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 19 14:09:09 2017 +0200

    WL#8069: Delay the sync_lsn by about 2 GCPs, this requires a double write of the LCP control file in many cases where the LSN haven't been flushed to disk while we scanned the fragment. It does have the advantage that we don't waste a lot of UNDO log space for each fragment LCP, this only applies to fragments with disk data columns

commit f820c4c0b5538729f7e6c0677c00216cb6ce2143
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 18 15:52:09 2017 +0200

    WL#8069: Introduced pre_sync_lsn interface to LGMAN, ensure that LCP use of sync_lsn always also syncs up the maximum sent in pre_sync_lsn

commit aff15f0120dada2b503c51fa430897b92fe5ee18
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 18 15:11:57 2017 +0200

    WL#8069: Turned out that it is possible to prove that it isn't necessary to call sync_lsn at DROP TABLE of a fragment in TUP, this is good since each such sync_lsn can potentially waste an entire page of log space, thus making it very hard to prove that we can't run out of UNDO log space

commit 497a9816bcb91977b78c12ad17bbcb24227448cc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 18 13:23:09 2017 +0200

    WL#8069: Removed one more part of struct no longer needed

commit c4f94f284d50ee35f0961ff836fe8f75a3ef6de8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 18 12:24:51 2017 +0200

    WL#8069: Ensure that normal transactions overallocate space in UNDO log to ensure that we don't run out of UNDO log due to page breaks during commit of a large transaction

commit 7b138ee5b9d0d1b7b67f3b40b4e6a8e2251eadfa
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 17 23:27:00 2017 +0200

    WL#8069: Use UNDO log more efficiently by splitting UNDO log records into two records at page breaks

commit 144930b8fef0cfbe1c9f90efd832259b290dc650
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Apr 15 14:22:25 2017 +0200

    WL#8069
    Remove unused parts of the UNDO logging code

commit 212c41e39f568200688c6f6b6f54411b3a4dada5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 14 22:52:13 2017 +0200

    WL#8069: A lot more debugging to find problems in UNDO log execution, and handling of extents

commit f12e7416ae844503d7aa47238ffd2a1360551246
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 13 08:57:28 2017 +0200

    WL#8069: Found one more potential glitch in start of LCP scan that could cause inconsistency between LCP main memory rows and the disk data parts by adding rows to LCP inserted after start of LCP

commit 76037530c551bcec22bc0a1c024d797d682945c4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 13 08:26:30 2017 +0200

    WL#8069: Minor improvement of debug printout for disk_page_alloc

commit 27bf731974ec5cc13167bb9395afcf05196fe818
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 13 08:16:28 2017 +0200

    WL#8069: Improved debug printouts of LSNs and their synch:ing, activated LGMAN debugging

commit d34eb080b7c3ceb9747eb68bb11deb750d20e53b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 13 08:02:02 2017 +0200

    WL#8069: Fix rowid debug printout to use logical page id and not real page id

commit d583a3443ac37a22482fb24a8deb178bac36fa5f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 12 21:41:22 2017 +0200

    WL#8069: Fix check of newestGci changed since last LCP and more fixes around
    calculating number of changed rows.

commit ceed3915f3df73f38bd751bd23479828def113bf
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 12 17:35:34 2017 +0200

    WL#8069: Ensure that we don't use an idle LCP when newestGci have been updated since last LCP, this is an indication of that a transaction have been committed since last LCP on the fragment.

commit 6b1bdde5c31aa0cd006217024bc658001f8a8e02
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 12 15:04:32 2017 +0200

    WL#8069, WL#9778: Added debug printout for finding file size issue

commit e121688035fdb9870ff9ff692bcf87f5ba99b41e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 12 13:32:28 2017 +0200

    WL#8069: More debugging info to find hanging node restarts

commit 77383dd1ae43201408ecd5d0f51a38574b89d6c2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 12 12:01:07 2017 +0200

    WL#8069:
    Decreased test time for TableAddAttrs tests, got a bit too long, some debug changes
    BUG#25860002:
    Fixed an issue where I missed to initialise the lcpPtr

commit 887d04d32ba501d41164a37572f531e96178b47f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 11 22:54:20 2017 +0200

    WL#8069: Remove unnecessary printouts, fix erroneus error check

commit 04e8320e2b487224e3adc86373ec9c16484b6f08
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 11 15:01:21 2017 +0200

    BUG#25860002: Fixed problem during online add column where we need to update maxRecordSize regularly in LCP scans to ensure we don't overrun memory buffer

commit b4cc7b7e251b61b0c17f305bd5341da74eb33882
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 11 14:55:35 2017 +0200

    WL#8069: One more round of fixes to ensure that LCPs are started with all parts synchronized in one signal execution

commit 679f3186c3c519e23af487d363071df60d79667d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 7 18:41:24 2017 +0200

    WL#8069: More fixes for which rows to LCP scan

commit dd1f2a0ce773f8862a289afd49e7b2bf4f5103aa
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Apr 7 17:00:07 2017 +0200

    WL#8069: We missed setting LCP_SKIP bit in a very short time interval between ScanOp::First to setting ScanOp::Next, in this interval we reported all rows as being scanned and thus no need to set LCP_SKIP bits, led to inconsistent data much later in a restart

commit b16da5f8d97d6dea812db8d39e6b5fbc8b7fbc81
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Apr 6 11:00:04 2017 +0200

    WL#8069: More debug output to find problems with allocation of records on disk pages

commit 4a54058c99b1130f1bc90fc6de5a1f0d0aeb9c3e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 5 16:03:47 2017 +0200

    WL#8069: Fix errors after merging with 7.6

commit b7d771f4aa95f782b90f4a6cbb722bd90c2cab4f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 5 14:42:53 2017 +0200

    WL#8069: Treat FSREADREF as reading a file with length 0

commit ffa5f8a96875c03fbe6138fc840d982b47548663
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 5 14:38:55 2017 +0200

    WL#8069: Fix test case for Bug48474 to handle out of REDO log

commit e51e7ff17efeda2618cb4e3e00f094e45e0809ce
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 4 00:39:42 2017 +0200

    WL#8069: One more possible variant to gather data files after autotest run

commit f2a72a54e50214982fcaef1c6c38fb3ca9fd1fd5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 4 00:33:04 2017 +0200

    WL#8069: More debug printouts to understand connection between row id and disk reference, in particular during execution of REDO log, but also in general

commit 6e243a24e909a9ab468523c10b94b6dc14d37247
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 3 16:20:26 2017 +0200

    WL#8069: Crash when not EXEC_FRAGCONF have arrived in time instead of entering eternal wait loop

commit d549f5bdaeb4c64770dc60278c365c65a7ed16d3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 3 15:54:13 2017 +0200

    WL#8069: Missing initialisation of some variables in LcpRecord

commit ec9475a0e5dcabd1d73a5931f420fff110b4eea3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 3 12:33:13 2017 +0200

    WL#8069: Fix LQHKEYREQ printer, add new comment line for how to gather autotest results, make asserts in tuppage.cpp into require's for autotest runs, activate alloc and free of disk record debug printouts, fix few things for improved output of ndb_print_backup_file

commit 917c762d4c619f3ce2a509672c0923cde4a34b51
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Apr 1 07:24:24 2017 +0200

    WL#8069: Turn assert into require to ensure that we catch overwrites of memory at the source

commit ab661072135010100d291c4ca75af29aa959a4a3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 30 15:13:58 2017 +0200

    WL#8069: For some peculiar reason I had NOT disabled REDO logging during COPY_FRAGREQ, must have been a typo

commit a7347eead839e89d6f4eaf003737e2ede2ea1fef
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 30 12:28:44 2017 +0200

    WL#8069: Added more debug printouts and activated getting core files when crashing to get chance to find some hard bugs

commit f4f1974f5c70c4b184d49708a6e71f82e159456b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 29 16:42:03 2017 +0200

    WL#8069: Covered one more problem with extents written by old tables

commit bcce28b141d9d13be1eda88740144a1c84b9ce15
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 29 14:25:36 2017 +0200

    WL#8069: More debug printouts to find error

commit a43615547134e3f7e0c94e6c556420633ec8f267
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 29 14:10:36 2017 +0200

    WL#8069: Added more debug printouts when failing Bug34216 test case

commit dcf4fbf1655d5bea905c267871c3cb8f17ff969d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 29 13:31:28 2017 +0200

    WL#8069: Temporarily disable new logger thread

commit ec5a27fa568214d2d8dc3a569430db1da8e12e9d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 23:39:35 2017 +0200

    WL#8069: Fix state handling of when to apply an UNDO log record in the context of CREATE and DROP TABLE

commit 4967d166f7c2f356c65ac827bfa8c822abc213e5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 21:28:29 2017 +0200

    WL#8069: More debug to find crash in DIH

commit 66bb320420addfb7c2ea7d398da88f4a5d53ea6a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 17:06:30 2017 +0200

    WL#8069: Added latest GCI printouts to a number of test cases to more easily track verification errors

commit 82e970d108bb5bc891bb05d7206d7856fc3fc30a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 13:21:44 2017 +0200

    WL#8069: Fixed testcase testNodeRestart -n TestLCPFSErr to use CRASH_INSERTION at proper place

commit d325a67fb4535fc943bb4e7489f31675f00e3577
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 10:19:21 2017 +0200

    WL#8069: Some debug improvements, fixed potential issue in testRedo when calculating remaining redo log usage

commit f92cc902493f0f768515ad660508563dfd151c34
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 27 09:01:46 2017 +0200

    WL#8069: Ensure that RESTORE block reports restoredLcpId == 0 and restoredLocalLcpId == 0 when no LCP was found to execute in RESTORE block, otherwise we can go wrong in handling move_start_gci_forward

commit 6f0e17c471687cda16b5529e51b90aad59d196d1
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 24 13:50:17 2017 +0100

    WL#8069: Fixed testNodeRestart -n RestoreOlderLCP T1, had changed variable of keeping track of restart LCP id, in addition we now restores the most recent LCP and the second most recent LCP

commit 7fd2cb833b6e376bf0a71875fb94df7829bac4cd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 23 18:44:07 2017 +0100

    When PREPARE_DROP state was set it wasn't ready to start off the new LCP, the CTL files had to be closed first. So added a state PREPARE_DROP_CLOSE during which it isn't possible to start off a new LCP. Once the close is completed we move the files to delete into the queue and set the state to PREPARE_DROP.

commit 5b1798a7ec35dc723b98696f7e173b7746f25505
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 23 02:32:08 2017 +0100

    WL#8069: One more fix of RESTORABLE_GCI_REP fix

commit 741cf69b0b8b3df8761836c0d598a9e5adb5add7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 23 01:21:23 2017 +0100

    WL#8069: Fixed problem with new RESTORABLE_GCI_REP signal sent from NDBCNTR

commit 99a54e330fd90ff26f8d4bb244159742fba8766b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 22 15:45:57 2017 +0100

    WL#8069: Added more debugging information and crash information and also more
    checks of consistency when reading disk pages to ensure that we find
    inconsistencies ASAP.
    
    Fixed a bug in deletion of LCP files. The deletion of LCP files relies on
    the RESTORABLE_GCI_REP being sent to the BACKUP block as soon as a GCP is
    fully completed. However at System Restart no such signals are sent.
    Thus we won't delete any LCP files during System Restart. This is bad in
    itself, but even worse is that the System Restart hangs in LCP handling
    in the PREPARE_DROP state when a table is dropped as part of the
    System Restart. Fixed by NDBCNTR sending RESTORABLE_GCI_REP to BACKUP
    block with the restorable GCI.

commit e5eab86b545d1016dde6a375f5076b2cea4de28c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 20 16:40:56 2017 +0100

    WL#8069: Made idle LCPs at restarts when changing records that had GCI set to higher than MaxGciCompleted but smaller than MaxGciWritten, adapted set_lcp_start_gci to take MaxGciWritten into account as well when figuring out if an LCP is an idle LCP

commit 7e89934d97632b54e7f1c3cdcf8822ccd8754460
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 17 14:22:53 2017 +0100

    WL#8069: Handling of LCPs cannot be done while processing update_lsn calls, this can cause state changes in TUP of pages currently worked on and thus cause complex state handling, so we ensure that we only process LCPs from independent signals, mostly CONTINUEB signals, FSREADCONF signals, FSWRITECONF signals and also SYNC_PAGE_CACHE_REQ and SYNC_PAGE_EXTENT_REQ signals

commit 31a1b5897c6ea1d4aacae83f5503e9bf49829838
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 16 00:49:37 2017 +0100

    WL#8069:
    Ensure that extents are used at restart for proper tables,
    ensure that extents are written properly at restart if not written before crash.
    We skipped extents in error when no LCP had been executed on the fragment before
    the crash. This led to extents being owned by several fragments and thus causing
    errors. Removed reset of table exists flag in DbtupProxy block, assumes that
    DICT will only restore the proper tables.
    
    Ensure that DIRTY flag is kept for extent pages when DIRTY bit is set during
    pageout. In this case the page was written, but during its write we made more
    changes to the page, so we need to keep the DIRTY bit even after completing
    the pageout.
    
    Various debug stuff to understand code better.
    
    Large new comment statements describing various variables supporting
    disk data extents.

commit b14c38966e8a7818c8a6bf6e555646e3449bf454
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 15 10:42:35 2017 +0100

    WL#8069: Fixed problem that extent information might not have been written before node stopped, UNDO log records will in this case ensure that we write the extent as part of UNDO log execution

commit 46a2109b6b723a07c22a84d6ec9725209f44b52c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 15 10:13:48 2017 +0100

    WL#8069: More debugging and aligned various debug messages

commit c3ba0d852a17901735bec6d6b7f40b4e394e1531
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 10 10:50:06 2017 +0100

    WL#8069: Fixes transported from WL#10302 tree

commit c909d11c86742990bcf800c6746060b98adb496a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:21:56 2017 +0100

    WL#8069: Fix to ensure that we can handle LCPs to remove that reused the same data file although GCP written changed

commit 3821438c0b643809dffc2e2a09ca92b8dbbd85ba
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:20:56 2017 +0100

    WL#8069: Temporary fix for BUG#25353234

commit 76a6da92a3b22662790c6a44a4d0dca56c406ae6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:20:14 2017 +0100

    WL#8069: Set EMPTY_PAGE on all requests for empty pages, after a restart we don't have full control of which have been used before

commit a2d1f2b5fd32281d6c42d39f8b4f54d7e9a992b3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:19:42 2017 +0100

    WL#8069: Reuse of a LCP id is possible since DIH will do that if the LCP wasn't completed before the crash. However in local LCP we need each LCP id to be unique, so we need to increment the local LCP id when the LCP id is the same as the last one

commit 7fbef98c2aff146efa6821fbd2df12ec80b5abae
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:19:16 2017 +0100

    WL#8069: Fix problem that RESTORABLE_GCI_REP was sent during restarts when actually GCIs were not yet completed leading to deleted LCPs that were still necessary to keep

commit 34c2d4dbe4c0dcca284ec9943608dc78d031a012
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:18:43 2017 +0100

    WL#8069: Fix problem with using IDLE LCPs even when they weren't idle, missed setting m_lcp_start_gci properly in restart situations

commit bcb8a0194fa74c0107f3d18584c4803e8cab087c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jan 31 11:12:59 2017 +0100

    WL#8069 merged with 7.6 after WL#9778 pushed

commit c83ff61eccba292c0d0944f63995f3462f4c28c6
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 9 10:57:48 2017 +0200

    WL#10426: Separate credentials for different hosts in Auto Installer

commit 6d41b73155b4fbedbac10d64bee2375a57641ccc
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jun 9 09:16:49 2017 +0200

    Bug#25908290 FEW TESTS FAILING WITH ERROR "SHUTDOWN_SERVER" FAILED WITH ERROR 2. MY_ERRNO=175 [noclose]
    
    Disable for Valgrind
    
    innodb_undo.trunc_multi_client_01
    innodb_undo.trunc_multi_client_02
    innodb_undo.truncate
    perfschema.init_pfs_from_dd
    main.table_definition_cache_functionality
    
    in order to avoid noise.

commit eb146485f159c0899c5ade2301b15fbc0694c184
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jun 9 09:14:08 2017 +0200

    Bug#25633175 MECAB PLUGIN FAILS TO LOAD ON WINDOWS [noclose]
    
    Disable two tests on Windows to reduce noise

commit 2b0d6accba97cbd500dc1f004506c3094c6fa4ce
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jun 9 09:10:45 2017 +0200

    Minor cleanup after DMR cutoff

commit 861a1dfe0deaa3ea353842909449691787a7220b
Merge: 29e90c4 0622d39
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Fri Jun 9 13:06:16 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit 0622d39a0812199f0d6bbf8b45a54f6e754cf42c
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Fri Jun 9 12:11:18 2017 +0530

    Bug#26161674: GR_SINGLE_PRIMARY_ASYNC_AFTER_GR_PRIMARY IS SPORADICALLY FAILING ON PB2
    
    - Fixed sync issue in GR_SINGLE_PRIMARY_ASYNC_AFTER_GR_PRIMARY testcase.

commit 29e90c480731e4a3f71f6b6433b29353dac3862f
Merge: fcf10b1 f65534d
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Jun 9 12:53:49 2017 +0530

    Merge branch 'mysql-5.7' into mysql-trunk

commit f65534d21339523139e8a4a1f4715badd5f3d6e5
Merge: dbee02e d4b222d
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Jun 9 12:53:42 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d4b222d53d56b79426d4f847e9c5929fab9647b6
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Jun 9 12:50:35 2017 +0530

    Bug#24679056:MULTI-THREADED SLAVE LEAKS WORKER THREADS IN CASE OF THREAD CREATE FAILURE
    
    Problem:
    If one adds SHOW PROCESSLIST to the end of rpl.rpl_mts_debug.test, it will show
    an orphaned SQL worker thread that is there regardless that the slave is
    stopped. It is a thread created by mts_worker_thread_fails failure injection
    point testcase, which tries to set up MTS with two worker threads and
    simulates a pthread_create failure for one of them.
    
    Analysis:
    The root cause is that the variable slave_parallel_workers will not be
    incremented in case of failure in slave_start_single_worker
    (caused here by "mts_worker_thread_fails" injection). This will end up
    causing an early exist in slave_stop_worker
    
    void slave_stop_workers(Relay_log_info rli, bool mts_inited)
    {
      int i;
      THD thd= rli->info_thd; if (!mts_inited)
        return;
      else if (rli->slave_parallel_workers == 0)
        goto end;
    
    Fix:
    Incremenet the variable slave_parallel_worker for every successful call to
    the method slave_start_single_worker(). In this way the early exist will be
    avoided when there are worker threads present which needed to be stopped.

commit ac4e7f8c25b00686a2ed44908ff53cf0a4bc0a1c
Merge: 61b431d 47cbf84
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 9 09:10:25 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 47cbf84f79a9c4545fa1899426e63175abd80e73
Merge: 5a0883b ec06283
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 9 09:09:45 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit ec06283b6ee98031416c52fa74e707a96493df0e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Jun 9 08:56:07 2017 +0200

    Bug#26239591 ALLOW JOIN-PUSHDOWN OF JOIN IN COMBINATION WITH 'GROUP BY'
    
    Due to previous unclear seperation between the optimize
    and execute phases when the query involved a 'GROUP BY',
    the 'join-pushable evaluator' couldn't previously be sure
    whether the optimized QEP (Query Execution Plan) was pushable
    or not. Thus it choosed to not push 'grouped joins'.
    
    This has been cleaned up by WL5558 long ago, so we can
    now remove this limitation.

commit fcf10b1bbd7f4d78b6a2acb44c292567fe8463a0
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Jun 9 08:37:18 2017 +0200

    WL#9424 post push fix: Reset persistent variable to avoid effects on succeeding tests.

commit fa066f5f013f89237810d2dfd3a18f11aa7b407a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Jun 9 11:57:35 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Reintroduce the --skip-ndbcluster option to the default.push-vanilla
      collection file. The vanilla runs are used to run the all-default
      tests by compiling the server without NDB

commit 722ae9b5c6531627d2cd7e4e2c5b94fe1544af40
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Jun 9 05:14:53 2017 +0200

    Bug #25563891: OPTION SET BY !INCLUDE OR !INCLUDEDIR SHOWED AS 'COMPILED'
                   IN P_S.VARIABLES_INFO.
    Problem: P_S.variables_info table: VARIABLE_SOURCE column is not reflected
             with correct values for variables which are specified in config file
             as part of include directive file.
    Fix:     default_paths is a hash map which keeps track of all standard paths
             with respective variable source enum values. Since include directives
             can be specified in cnf and login config files, we add the new path
             specified as part of include dir in this hash map along with appropriate
             enum value. This update will cause ps.variables_info.variable_source
             column to be populated with correct values.
    Test:    Added the new testcase to persisted_variables_extended.test.

commit 61b431d217af03f5c8290f95b74a0cccbbdc1eea
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 8 16:59:15 2017 +0200

    WL#9788:
    More build changes
    Error handling fixes
    More help text fixes
    New attempt at disabling ndb_top on Solaris

commit 3c4955fca1e6886a89c24b8e6f3ac74f73aa2fa6
Merge: b7c92b44 09e5088
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 8 19:32:35 2017 +0530

    Merge branch 'mysql-trunk' into mysql-trunk-cluster

commit f5fbec46d52beab23fda807639089d9c2bb7e30d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 8 14:37:13 2017 +0200

    WL#9788: Temporarily disabled Solaris for ndb_top

commit 09e508819e727df9adf9e0705613d72a7a36450b
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Jun 8 14:07:09 2017 +0200

    WL924 MANDATORY ROLES
     - fix: Doxygen errors: A subsection must have an unique identifier

commit 5b42d5486a6de1339b4257eb9459f571f0cd3c32
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Jun 7 15:10:01 2017 +0200

    Bug#26227946 TESTFAILURE IN MAIN.GRANT_DYNAMIC
    
    Fix of test failure. The test grant_dynamic.test didn't
    restore root privileges after dropping the global_grants table.
    This patch adds appropriate GRANTs to restore root privileges
    after the global_grants table was dropped. It also modifies
    MTR so that the global_grants table is checked for changes
    after each test.

commit b7c92b44087409d4e1a279982c0071e4b461fe73
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu Jun 8 15:43:33 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Remove unnecessary trailing semi-colon after mysqltest command
      eval
    - Disable ndb_dd_ddl test under Bug 26187744

commit 116f728f8746c13bf77055a5dadd22650113da72
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Thu Jun 8 07:57:38 2017 +0200

    Test main.information_schema-big runs faster after WL#6599, which
    implements I_S tables as a system view over DD. So, the test case
    does not suite for big-test. This patch moves the remaining
    single test case from information_schema-big.test to
    main.information_schema.
    
    Change requested by Erlend/Anitha.
    Reviewed by Praveen.

commit f898ee56c63be1e94b2276b0a243924754b92b84
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 8 13:05:14 2017 +0530

    Fixed the changelog in rpm packages

commit ae4751e6fcb6273fa930203557c7d0d853a75187
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Thu Jun 8 09:29:41 2017 +0200

    Put entries to disable tests in wrong file. This is fixing it.

commit 6cb033eb8d7cfe51e2b00874537ced2983bccb5d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Mon Jun 5 12:00:12 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Add test case reproducing the scenario of Bug 26187744:
      TABLESPACE IS NOT DROPPED PROPERLY WHEN ADD DATAFILE FAILS
    - Disable the tablespace_datafiles and ndb_dd_dump tests until
      the above bug is fixed

commit 1d6aabf39cc7dff965a9977d0fb66aa064aaa2ea
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Jun 8 05:36:58 2017 +0200

    WL#10824 Remove query cache
    
    Stopping runs with query cache since it is decided to remove query cache.
    
    Approved by : Erlend Dahl <erlend.dahl@oracle.com>

commit e8d9c5ce96a2efd8a4c634b210b0e3ae36bc7f62
Merge: 3d3749a 5a0883b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 7 19:49:29 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 5a0883bda26b7f16b850c4de8beb2811724561ad
Merge: 639ca2c 5f5a711
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 7 19:49:07 2017 -0700

    Null merge from mysql-5.6-cluster-7.4

commit 5f5a71104fbd954b25e014be5931b07871111211
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 6 19:55:23 2017 -0700

    For Cluster 7.4 only, fix ndb nodejs build errors on Solaris

commit 90aba89028a6be64ff1cf5686ed55624987c77f0
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Wed Jun 7 22:09:30 2017 +0530

    WL#9424: Configuration system variables as a service for
             mysql_server component (sub-worklog for wl6667)
    
    This worklog will provide the configuration system variables
    as a service to the mysql_server component. The components
    can use to register, unregister and get_variable to handle
    their own system variables. Status variables are handled
    as separate task.

commit 28fbb031cca1693b6a3dc2f50d9d0cf9244c1c73
Merge: 29f6fa3 dbee02e
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Jun 7 08:29:20 2017 -0700

    Null-merge from 5.7.

commit dbee02efb087576853341f7fcd1caaafe60d6590
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Jun 7 08:26:03 2017 -0700

    WL#10322 Post-fix
    A restart was added to sys_vars.innodb_undo_logs_basic.test so it also needed
    to have not_embedded.inc.

commit 29f6fa3f56a005fb5c3ca9c7cffc9702b5549d25
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 7 17:19:44 2017 +0200

    Bug#26228734 INNODB.TABLE_ENCRYPT_DEBUG: ASSERTION FAILURE: FSP0FSP.CC:4195:0
    
    Disable the test for now.

commit 3d3749a0cd47f49b513a72059d002acaeb131c9f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 7 16:53:16 2017 +0200

    WL#9788: One more minor change of help text

commit d4facb299ce398045c66c3c4c96ac0ee126d7d7e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 7 16:36:05 2017 +0200

    WL#9788: Minor addition to the help text

commit ba008769f7eecc0cc465d04fc7a9ddbdaeb0d694
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Jun 7 16:28:21 2017 +0200

    WL#8020 post push fix: The test failed sporadically. It is now modified to run deterministicly.

commit 757b3cc916d186685cb4ecf20a0868acb5e3ebd5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 7 16:14:55 2017 +0200

    WL#9788: A new tool ndb_top that uses ASCII graphics to display how much CPU threads in the NDB data nodes uses

commit 5cfb51312833c6766ee9bae0b454d6492474b8a0
Merge: 92fd65a 562eaa2
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Jun 7 15:02:59 2017 +0200

    Null-merge from 5.7.

commit 562eaa23e4670b38ff4650861abc4bca4e3eca6d
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Jun 7 14:57:35 2017 +0200

    Bug#26042764 Post push fix: Update of the result files of the PAM tests running under Hudson.

commit 92fd65a4189602fcdf59b0e60057199fc8b4cd61
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Jun 7 14:28:47 2017 +0200

    Bug#26193630 INCREASE PERFORMANCE_SCHEMA_MAX_MUTEX_CLASSES
    
    Increase performance-schema-max-mutex-classes
    default value from 220 to 250.
    
    This is needed to account for new instrumentation added in 8.0

commit c8d6c2406c2b748b562aea6f8ea86a3d977c9219
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jun 7 13:38:07 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 4, noclose]
    
    Post-push fix: Fix a memory leak that only manifested itself in the test
    with GCC 4.x (which doesn't have the short-string optimization for
    std::string).

commit ab7d89959145e783bbc8d0590382c9ec71756f34
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Wed Jun 7 13:27:40 2017 +0200

    Fix two missing override attributes.
    
    Silences a bunch of Clang warnings.
    
    Change-Id: Ibb0ba390b14f0c84b8481c82110e5f982ba52ca5

commit a362c7c999f2517987faf24345467808994c8c52
Author: Prabeen Pradhan <prabeen.pradhan@oracle.com>
Date:   Wed Jun 7 16:47:14 2017 +0530

    WL#988: Roles
    
    Issue:
    ------
    This test verifies the behavior of roles in replication environment
    
    Fix:
    ----
    During push of WL#988, somehow this was not pushed to trunk and was missed. So now pushing it.
    
    Reviewed-by: narendra.chauhan@oracle.com
    Reviewed through mail

commit 33aa1fc372934a1c3c3acd6a517f7d09637f8a0e
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jun 7 14:07:06 2017 +0300

    wl#7614 win32-12.diff
    
    add windows note to usage message

commit d2f3527ac6b34f8ea2f5becdd4c2614477b1e0d0
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 7 12:32:46 2017 +0200

    Bug #25776940: SERVER NOT COMING UP WHEN VARIBLES SET WITH PERSIST&RESTARTED
                   WITH SKIP-GRANT-TA
    Problem: When event_scheduler variable is persisted and server is restarted
             with --skip-grants-tables option then server does not start and
             instead reports error as below:
             2017-03-24T08:50:13.127995Z 2 [ERROR] Failed to set persisted options.
             2017-03-24T08:50:13.128091Z 0 [ERROR] Setting persistent options failed.
             This error is not allowing end user to understand what the problem is.
    Fix:     Fix is to report some meaningfull error so that user can take necessary
             actions to overcome the error.
    Test:    Did manual test and i see that proper error message is reported.

commit 059a6b8158ea8404555e85466e3df982d4660a85
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Jun 6 17:57:07 2017 +0200

    BUG#25700098: GROUP_REPLICATION.GR_REPLICATION_TIMESTAMPS TEST IS FAILING.
    
    The issue is once the joining server is online sometimes the view_id
    transaction is being shown as last_applied_transaction in applier channel
    instead of the recovery channel. Sometimes view_id transaction is being applied
    through applier channel and being skipped in recovery channel.
    
    The transaction for the view change is spitted in three steps: BEGIN, VCLE
    (view change log event) and the COMMIT.
    
    Once the recovery channel applier dispatches the VCLE event, it triggers the
    recovery process end. This recovery process end will inform applier channel
    that it can start to apply its queued transactions.
    The first queued transaction on applier channel it is the same exact view
    change that did arrive through recovery. View change it is logged on all
    members on the same order. This view change will be skipped since its GTID was
    already applied on recovery channel.
    
    Though, on unlikely situations, the actual apply of the COMMIT of the view
    change that arrives through recovery may be delayed, and the recovery end
    signal, sent after event dispatch may interrupt its apply.
    On that case the view change will be applied through the applier channel. Since
    the view changes are exactly the same and the order it is ensured, there is no
    issue. The only subtle change it is that DBA will see it being applied through
    a different channel and its server_id will be the one of the joining server and
    not the donor.

commit ec34198edc80ee48321b59fa7219e107cc531437
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jun 7 12:25:46 2017 +0200

    Revert "Bug #25563891: OPTION SET BY !INCLUDE OR !INCLUDEDIR SHOWED AS 'COMPILED'"

commit 9f2087bfa22526187785ef99452975ebd120bf03
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Thu May 18 15:35:21 2017 +0100

    BUG#26020990 --PRINT-TABLE-METADATA DOES NOT DISPLAY ALL METADATA IN TABLE_MAP_LOG EVENT
    
    Problem:
    WL#4618 introduced additional metadata to Table_map_log_event and the
    option to have it printed by mysqlbinlog. However, when using this
    option, some metadata already stored in this event was not printed.
    
    Fix:
    When a column is marked as NOT NULL, either explicitly or implicitly
    (for instance, when it is a Primary Key), NOT NULL is printed after its
    type.
    Fixed typo INVALIDE_GEOMETRY_TYPE.
    Fixed spacing when the column name is not printed and when the types SET
    and ENUM are printed.

commit e9aef85c58745f38dad551dbd811d5225762f971
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 7 08:57:07 2017 +0200

    Bug #25563891: OPTION SET BY !INCLUDE OR !INCLUDEDIR SHOWED AS 'COMPILED'
                   IN P_S.VARIABLES_INFO.
    Bug #25608115: VARIABLES_INFO.SET_TIME COLUMN INITIALIZED INCORRECTLY
    Bug #25776940: SERVER NOT COMING UP WHEN VARIBLES SET WITH PERSIST&RESTARTED
                   WITH SKIP-GRANT-TA
    
    Problem: P_S.variables_info table: VARIABLE_SOURCE column is not reflected
             with correct values for variables which are specified in config file
             as part of include directive file.
    Fix:     default_paths is a hash map which keeps track of all standard paths
             with respective variable source enum values. Since include directives
             can be specified in cnf and login config files, we add the new path
             specified as part of include dir in this hash map along with appropriate
             enum value. This update will cause ps.variables_info.variable_source
             column to be populated with correct values.
    Test:    Added the new testcase to persisted_variables_extended.test.
    
    Problem: When event_scheduler variable is persisted and server is restarted
             with --skip-grants-tables option then server does not start and
             instead reports error as below:
             2017-03-24T08:50:13.127995Z 2 [ERROR] Failed to set persisted options.
             2017-03-24T08:50:13.128091Z 0 [ERROR] Setting persistent options failed.
             This error is not allowing end user to understand what the problem is.
    Fix:     Fix is to report some meaningfull error so that user can take necessary
             actions to overcome the error.
    Test:    Did manual test and i see that proper error message is reported.
    
    Problem: performance_schema.variables_info table SET_TIME columns default value
             is not set to server startup time, instead set to time when first
             SELECT is executed on this table.
    Fix:     Intialize this columns default value to server startup time.
    Test:    Added the new testcase to persisted_variables_extended.test.

commit 4fb21420a489375b249143dd1fef1d373cb2d93c
Author: Parakh Agarwal <parakh.agarwal@oracle.com>
Date:   Wed Jun 7 11:30:21 2017 +0530

    Bug#26195913: i_main.bug11761752 and main.secure_file_priv_win
                  failing on windows.
    
    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. Also kept the
    vardir name short to to keep maiximum path length within  260
    characters limit for windows.
    
    Reviewed-by: srikanth.b.r@oracle.com
    RB: 16471

commit b352238a9c8cf0d1a3ffedd24371ee221f09e232
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed May 24 05:20:25 2017 +0200

    Bug #25819886   IMPROVEMENTS TO MTR TEST COLLECTIONS
    
    Made following changes to test collections:
    1.  Improved comments
    2. Removed references to disabled-per-push.list, disabled-daily.list and disabled-weekly.list. Tests should be disabled with the normal disabled.def mechanism and not by any other means.  Per push runs have to be kept short by moving tests to daily and weekly, not by disablng lists.
    3. Removed disabled-per-push.list, disabled-daily.list and disabled-weekly.list
    4. Use --do-suite MTR option to avoid listing several suites in command line .  eg: Replace "--suite=rpl,rpl_gtid,rpl_nogtid" with --do-suite=rpl. This makes command lines easier to read. It also ensures that any new suites that are added will run if the suite name is prefixed with "rpl".
    5. Removed --testcase-timeout=60 from command lines that do not have --big-test. These should run with default timeout
    6. Removed runs with --binlog-checksum set to CRC32. This is the default value and hence just duplicates normal runs of replication suites
    7. Removed explicit references to --retry-failure and --max-test-fail. Tests
     should just use the default values
    8. Removed bug#23622964-valgrind-skip-list. The test is skipped in valgrind by not_valgrind.inc
    
    Reviewed by : Erlend Dahl <erlend.dahl@oracle.com>

commit 593e0afbcdb1f50c36d30e4e9da750cafb1ed714
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Jun 6 14:05:34 2017 +0300

    wl#7614 win32-11.diff
    
    test windows directory separator

commit 87b7246dfdf0a25f3ae0f5a6f70179d2b727cf28
Merge: aa716a3 60cf68a
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Jun 6 16:08:20 2017 +0100

    Merge branch 'mysql-5.7' into mysql-trunk

commit 60cf68a6762a97d30d7d7d221cfbdcc95a92bd8d
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Jun 6 15:42:41 2017 +0100

    BUG#25786490 XA TRANSACTIONS ARE 'UNSAFE' FOR RPL USING SBR
    
    Post push fix re-recording some related test cases results.

commit aa716a329f34bfcbea4cc4008f46606ede649ec5
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 6 15:53:18 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [noclose]
    
    Post-push fix: Fix a missing #include in table.h.

commit 4b9f8043c42cf6fc42dc086fa61f604c186e5665
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jun 6 15:41:13 2017 +0200

    Applied clang-format version 4.0.0 (git)

commit 831dcfc724a7bb3ad6b682e113941751cf8cac69
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Jun 6 19:04:53 2017 +0530

    WL#9236, WL#9603 and WL#9727 - Add SQL window functions to MySQL
    
    Post-push fix to stabilize the tests main.window_std_var* and
    main.window_min_max

commit faf53650a445e5258ac2536a1d85413a7ecd1861
Author: Elżbieta Babij <elzbieta.babij@oracle.com>
Date:   Mon Jun 5 14:18:48 2017 +0200

    Bug #26043363 - CRASH INNMEM::TABLE::INSERT AT INNMEM/SRC/TABLE.CC:85
    
    Post-push doxygen fix.

commit 86d7ca3a07aa2ebcdfa1a921aa7c59b642f8ebf0
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Tue Jun 6 13:52:33 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [noclose]
    
    Post-push fix: Include missing map_helpers.h declarations.

commit c19d363017c2afa66f502847011502b5a659904b
Author: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
Date:   Tue Jun 6 13:02:47 2017 +0200

    WL#10645: X Protocol Crud.Find with row locking
    
    Add support for locking reads (FOR UPDATE and FOR SHARE) in the X plugin.
    
    RB: 16213
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed by: Lukasz Kotula <lukasz.kotula@oracle.com>
    
    Approved by: Tarique Saleem <tarique.saleem@oracle.com>

commit cc94e0c9578d8c7d0da1eac44cb4d38e828e5654
Author: Steinar H. Gunderson <steinar.gunderson@oracle.com>
Date:   Fri May 12 14:32:18 2017 +0200

    Bug #25997748: MIGRATE FROM HASH TO STD::UNORDERED_MAP [patch 4, noclose]
    
    Convert the ACL structures from HASH.
    
    The increased type-safety of the new structures made it harder to maintain
    the current structure in handle_grant_struct(), it so it was rewritten to
    be more straightforward and split out common code into functions instead of
    trying to share the core loop between all the cases and then having multiple
    switch statements. (Actually it ended up being shorter, too, despite less
    sharing.)
    
    Change-Id: I3361427eefcc0a6763044529c7829834a52a3ed9

commit f2dd5925449c6b52de734a5dd1d5cb765ebb4fe1
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Jun 6 12:07:31 2017 +0200

    Fix broken merge of Docker RPM spec file change:
       some plugins disappeared from list to remove before packaging.

commit 28b8b615c8b7289105002161de27f1d2b1910c69
Merge: 71cc57f 1039252
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Jun 6 11:54:25 2017 +0200

    Null-merge from 5.7.

commit 1039252ee9cba7a775808087705651b616cbd491
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Jun 6 11:41:16 2017 +0200

    BUG#25232042: ASSERT "!CONTAINS_GTID(GTID)", RPL_GTID_OWNED.CC:94 OWNED_GTIDS::ADD_GTID_OWNER [Post-Fix]
    
    Test gr_perfschema_group_member_stats was failing due to two
    rollback error messages being printed on the error log.
    The test is doing a hacky thing:
     1) It stops group_replication_applier on server1;
     2) server2 does join the group;
     3) server1 will not log the View_change_log_event on which server2
        joined, it will just queue it;
     4) Local transactions (T1,T2) on server1 are executed and logged
        to the binary log;
     5) group_replication_applier is resumed;
     6) View_change_log_event it is logged.
    This makes T1 and T2 arrive server2 through two ways, first through
    recovery, then through GCS.
    
    Before the fix of BUG#25232042: ASSERT "!CONTAINS_GTID(GTID)"
    RPL_GTID_OWNED.CC:94 OWNED_GTIDS::ADD_GTID_OWNER, the transactions
    were allowed on both ways and would be skipped by the auto-skip
    feature of GTIDs on the second apply.
    After the fix, certifier rollbacks the second time it sees the same
    GTID, making that transaction to be rollback, which on
    group_replication_applier means discard the transaction (and do not
    queue it on group_replication_applier channel).
    
    On this scenario, the correctness is ensured and we can safely
    suppress the error messages.

commit 71cc57f74c76804501d566359b33ea1795f73696
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Jun 6 08:48:44 2017 +0200

    Bug#25953183: Disabled test in Hudson (mysql-trunk) until bug will be fixed.

commit 4e8919d14c9795c897b3a98b28d0f9cfbd0d15cc
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Jun 6 10:24:32 2017 +0200

    Update milestone also for docker rpm

commit b7ec95802900b29fec9ccf0bf266220242a6d6db
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Jun 6 09:56:01 2017 +0200

    Raise version number after cloning 8.0.2-dmr

commit 0c589117753d6eebdb72c4cf9dff9757b29e80c2
Merge: 93e04f6 639ca2c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 16:45:13 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 639ca2c5d404b6881686d8c7f8aa418ed43cd6ea
Merge: 042e0d4 9c9444b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 16:44:59 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 9c9444b7097b5c86768e8b79687c5692c851884e
Merge: eac1d87 3e2a580
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 16:44:48 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 3e2a580e9bbcd961d6fc6c4b1224ec86687c848a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 16:43:51 2017 +0100

    Fix include/have_ndb_debug.inc to avoid leaving a table behind
    in failed-require cases.
    Drop the table before checking the require case.

commit 93e04f69638f7b5769d4098f3f6c0d2a7cecc7f9
Merge: 8f3cd17 042e0d4
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 12:00:56 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 042e0d4a7d534387312d6fb213741ee2ddeb4ebe
Merge: afbcd2a eac1d87
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 11:59:42 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit eac1d87951d09df3e29797de53a86ea09e615c3b
Merge: df540e1 60fdd0f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 11:58:54 2017 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/src/kernel/blocks/backup/Backup.cpp

commit 60fdd0f31e74b04de579bc1b0e89891489824c96
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jun 5 11:49:57 2017 +0100

    Bug#25891014 NDB : ONLINE BACKUP LOG CONTAINS EXTRA ENTRIES
    
    Current ndbmtd online backup is including too many entries in the
    backup log.
    
    Specifically, row changes occurring to fragments managed by LDM
    instance 1 are always recorded in the log, even if they are for
    non-primary fragments.
    
    This wastes resources at restore time, and can result in other
    problems when e.g. staging tables are used for schema transforms
    during ndb_restore.
    
    This patch corrects the problem, and adds an MTR testcase which
    checks that the backup log contains only the expected entries,
    and no duplicates.

commit 1042f0a113cd7b2be1a38092e9f78eaad4025df4
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:09:07 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Corrected the revert.
    
    (cherry picked from commit f637e524bf9b692c3ed46d856e2beac193b42a3e)

commit 8f3cd17bd30f3b892d233d36ae68b5aab0ef5e10
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Jun 3 17:33:42 2017 +0300

    wl#7614 win32-10.diff
    
    binary byte 032 and CR-LF testing

commit 69af14eaaa778d9b8a94f36be87152a255a32a03
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri Jun 2 15:47:18 2017 +0300

    wl#7614 win32-09.diff
    
    use _O_BINARY for all files

commit 0a3478f4ab65766d88a50d5725a293100576fbd6
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Jun 1 19:01:30 2017 +0300

    wl#7614 win32-08.diff
    
    always use perl :raw io

commit a37dfc39557a25ddec059ed787724bf1c8eab941
Merge: 86fb864 afbcd2a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 2 11:21:18 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit afbcd2ab37ac15acc233b774f38b33b93d6c3ad2
Merge: 32bf61a df540e1
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 2 11:20:46 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	storage/ndb/src/ndbjtie/jtie/test/myjapi/CMakeLists.txt
    	storage/ndb/src/ndbjtie/test/CMakeLists.txt

commit df540e1b623e03cbc5adbe1bf1349abb19c6bece
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 2 11:15:49 2017 -0700

    bug#26088583 jtie unit tests do not run
    
    Remove TAP scaffolding including command shell scripts and wrapper programs
    from jtie unit tests. Configure the executable unit tests as CTest tests.

commit 4d1a9b9de8589d1ea35e7e247bb82983c42d667b
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 12:04:40 2017 +0200

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

commit 79f13c5f657881eb140526f134b4390358d8acbf
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 08:03:07 2017 +0200

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

commit 2e81c7cb8066a910077615d68eb4cca176043e0b
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Mon May 29 22:40:23 2017 +0300

    Fix for bug#26106655 "DISCREPANCY BETWEEN IMPLICIT DB OF PARENT TABLE FOR FK AND REFERENCES PRIVILEGE".
    
    Check for REFERENCES privilege was using incorrect database in some cases.
    
    There was discrepancy between database which was used by SEs for parent
    tables and used for check of REFERENCES privilege in cases when no explicit
    database was specified for parent table.
    
    This patch removes the discrepancy by aligning check for REFERENCES
    privilege with SE behavior.
    
    (cherry picked from commit bd6aa24131505886b06381fcce97d97efa9f6002)

commit b28034c34388c7db8fbb709ccc0964d61ca271b7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 1 12:48:13 2017 +0200

    Bug#22834591: unused-local-typedef warnings from boost 1.59
    
    Build broken when all -DWITH_XXX=system
    
    cmake .. -DWITH_EDITLINE=system -DWITH_LIBEVENT=system -DWITH_LZ4=system -DWITH_MECAB=system -DWITH_SSL=system -DWITH_ZLIB=system
    
    CMake Error at plugin/keyring/CMakeLists.txt:53 (ADD_COMPILE_FLAGS):
      Unknown CMake command "ADD_COMPILE_FLAGS".
    
    Fix:
    INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
    
    (cherry picked from commit 70b6d76899732daf96da1f02777e4049dc2a6bca)

commit 702b46ebbcfdfaa620cc3d96426ae2555336dc13
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 11:56:42 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 6ddc838acd11da6d43d2b86f2e73f0b7ebf125c2)

commit f3c4fa0dfb74a0c7132e1af51a591085b43e3b05
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:17:30 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Temporary revert of the VS2008 redist check.
    
    (cherry picked from commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96)

commit dd6ce85bbe59b9c0842e0418131616ccdba1b720
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 15:25:04 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids
    
    (cherry picked from commit bf47fb74dcc3e84057314817c56e6f8e05af094c)

commit 86fb86434310843411d9731e41f28a537f4a412a
Merge: 0dfc0f4 32bf61a
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:26:40 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 32bf61ab992cc81ed3e6c67e612940ddc3f8b417
Merge: 90b37ac a5965ef
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:24:50 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a5965efa40f95f01bbbc59ba886288da1e1ee4ba
Merge: 1343cd2 f5fbd57
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:21:28 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit f5fbd575e4f708b9d7811dc551b6c610d73798dd
Merge: 9050e2a 00fca74b
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:17:00 2017 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 00fca74ba8028d079296e48e26a37dad5ce026d2
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:13:15 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids

commit e9c19162a933bd442f047df76df812219035f10d
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 18:07:45 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids

commit 0dfc0f41b6ad25986f4e9b1685c860019b78878c
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 17:55:46 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids

commit ee3d46841b915e6e2e7d38eb4b89affc9e5de98d
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Jun 2 03:48:00 2017 +0530

    Refractoring get_foreign_key_create_info().
    
    In an followup to the patch for the Bug#16371292, the
    ha_ndcluster::get_foreign_key_create_info() function is refactored here
    to use the new method from Ndb_fk_util to generate fk info.

commit 4c016fa941b3cd5fb70c4bda666df6b364147ac0
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Jun 2 03:47:31 2017 +0530

    Bug#16371292 : Print FK violation information (PART II : ha_ndbcluster fix)
    
    Part II of the fix.
    This patch updates the get_error_message() method of the ha_ndbcluster to
    fetch the proper details of the FK constraint on an fk constraint violation
    error and print it back to the server's buffer. The fk details is got
    either from the last transaction stored in thd_ndb for DML erros or from
    ndb's dictionary for DDL errors.
    
    A new method is also added to the Ndb_fk_util class to generate the FK
    constraint info in required format when an FK object is passed to it.
    
    This patch also updates all the MTR testcases and replaces the `Unknown
    error codes` text with proper FK info.

commit 7b7eea928c28df4aa8cb091e1e6fbe49ebfaedce
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Jun 2 03:42:22 2017 +0530

    Bug#16371292 : Print FK violation information (PART I : ndbd + ndbapi fix)
    
    When there is an error in a SQL query on an NDB table due to a Foreign
    Key constraint violation, the details of the foreign key are not shown
    in the error message. The server actually asks the ndb handler about
    the FK details before printing it but the handler itself doesn't know
    the FK details, so, it sends back a 'Unknown error code' message. In
    fact the violation information never leaves the DBTC block.
    
    This patch fixes the ndbd and ndbapi side to handle and return the fk
    id on a fk constraint violation.
    
    The DBDICT block now sets the apiConnectPtr's errorData variable to the
    fk id on failure. Rest of the code is already in place. This fk id
    reaches back to the ndbapi via the TCROLLBACKREP signal and gets read.
    The ndbapi adds this additional details to the transactions's ndberror.
    
    Also now during a drop table failure due to an FK constraint, the fk id
    is saved into the NdbDictionary's ndberror by the ndbapi.
    
    This patch also updates the getNdbErrorDetails function of the ndb so
    that now it returns the Foreign Key's fully qualified name when an
    NdbError filled with a FK constraint violation error is sent to it.

commit 91f64e219c312f912ee2bc90c9caa15fdb0c82ce
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Jun 2 03:41:53 2017 +0530

    Bug#26029485 : FIX ERROR FOR INPLACE ALTER ADD FK
    
    When an inplace alter add foreign key fails, due to a child row not
    present in parent, the error "Cannot add or update a child row" is
    displayed.
    
    This patch changes it to "Cannot add Foreign Key Constraint" - which is
    more suited to the situation.

commit 40df46b91ce89d61644222a863482856556f8eef
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 24 09:48:25 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - implement ha_ndbcluster::truncate(), more or less just calling
       ha_ndbcluster::create() in order to activate the existing
       "drop and recreate" logic.
     - remove flag saying that ndbcluster supports HTON_CAN_RECREATE
       thus changing the mysqld to start calling the new truncate()
     - change ha_ndbcluster::table_flags() to allow the TRUNCATE query
       to be logged in STATEMENT format in the binlog. This is due to new
       code path where THD::decide_logging_format() is now also executed.
     - remove DBUG_ASSERT(m_table_info) as it's totally normal that
       it's set when closing a table, it's just a pointer to datastructure
       stored elsewhere

commit 21afe93e9bd381ac98053f4a75d73a1b7f37c750
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 12:05:29 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove usage for of 'my_errno' in remaining places
       of ha_ndbcluster, it's simply not correct or unnecessary.
       Instead save return value from the called functions
     - remove comment claiming that my_errno is set when
       get_share() has failed

commit 378c7656814134755e48a2aa3336cb3382f6f92a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 11:57:40 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove usage for of 'my_errno' in ha_ndbcluster::create()
       in all places which create NDB schema objects by introducing a new
       "create_result" variable which will hold the error code instead
       of 'my_errno'.
     - require "create_result" to be zero before function starts to apply
       rerplication settings and binlogging for the new table
     - add comment describing how the code which drops the table
       when table can't be opened from NDB is most likley defunct.

commit 684dfdb11bdeb9d4078cef7410d06650b97c2303
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 11:15:24 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove 'err_return' from ha_ndbcluster::create, instead just inline
       the two lines of code which the goto saved
     - move "abort_error" down a bit to minimize it's scope

commit 42ce79f644ca504654f01f9b9837f8d9dbeb284a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 11:06:19 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove usage for of 'my_errno' in ha_ndbcluster::create()
       in all places which does "goto abort", introduce a new
       'abort_error' variable which will hold the error code instead
       of 'my_errno'. Require the 'abort_error' variable to be set
       when the abort label is executed.

commit 33f4f6bfbb80971b905107d03e62e9a818a07e3c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 10:46:56 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove setting of 'my_errno' and usage of 'errno' from
       create_ndb_column() and create_ndb_index. Instead return
       HA_ERR_OUT_OF_MEM since that's the only reason the three called
       functions may fail

commit 543768306b979bffd654cbbeb145355bd5a07338
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 10:31:07 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - add comment describing why set_my_errno() is still called in
       ha_ndbcluster::end_bulk_insert() and describing that it can be
       removed when newly reported upstream bug has been fixed.

commit e2a81df7154f4b3ba998dcdfb239420d94369095
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 10:09:24 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove setting of 'my_errno' from prepare_inplace_alter_table
       if failure create a column in NDB occurs, neither caller or
       rest of function checks the value of my_errno. Also remove
       the seting of "error" in same branch as the error variable
       is noth cheked in remainder of function.
     - remove setting of 'my_errno' from prepare_inplace_alter_table
       if failure to create foreign keys in NDB occurs, neither caller
       or rest of function checks my_errno.

commit 7f6d37da64be2c08aa747b4a99973feea9dc44bf
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 09:58:59 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove setting of 'my_errno' if failure to allocate
       Ndb_cond_stack using new fails.
     - NOTE! The check for null pointer here is
       dead code since Ndb_cond_stack derives from Sql_alloc
       and as such failure to allocate memory here will terminate
       mysqld and print error message to log.

commit caf13d6132a3df7373adce42bc39294666519158
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 09:55:51 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove setting of 'my_errno' if failure to allocate
       a Ndb_cluster_connection using new fails.
     - also fix places using new in combination with the
       g_ndbcluster_connection to use std::nothrow making it possible
       to check for nullptr return value from new.

commit 0989073bfa051cd3ec216bd048bf8c6bdd692aa4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 23 09:03:43 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - remove setting of 'my_errno' if failure to allocate
       a_ndbcluster_cond using new fails.
     - the caller(s) does not need 'my_errno' set and this is just an
       old artifact
     - however, the code which checks for null pointer after new is
       dead code. As the code is written now we get a std::bad_alloc
       exception and mysqld will be terminated.
     - change to use std::nothrow so that null pointer is returned if new
       should fail

commit 9321fa3e1539f11fd40bfede8cdde18cb30f57bb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 22 10:08:19 2017 +0200

    WL#9185 MySQL Cluster support for new DD
    
     - add basic test for truncate table

commit c81115113cfcf8d784a48290b30b24ad19b470e6
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 07:41:27 2017 +0200

    Bug# 26168832: TEST DATABASE DOESNOT EXIST IN MSI PACKAGES
    
    Fixed accidental removal of the initial data base installation.
    
    (cherry picked from commit c04822bd9ab68efbc4ff62fa0df442d88b5c88ee)

commit e620446b261d2068fadbf3b79be9f65de44a06d4
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed May 31 19:02:08 2017 +0530

    Update compatver to 5.6.37 for fedora26 server builds
    
    (cherry picked from commit d5aae9182fdc0d0f82c387561f99b3a00ec71411)

commit dbb6d6936b69c11bdc7d35bc60bb212c040387db
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 31 11:32:56 2017 +0200

    Debug to follow Bug#25811493 REPLACE FAILS ON SPARC WITH: ERROR 1114 THE TABLE IS FULL

commit 161ddb439b15175f9b3dd51081879893d0bcf444
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue May 30 14:44:21 2017 +0200

    Deb packaging: Workaround for keyring_aws build failure
    
    The DEB_AWS_SDK cmake flag was lost during the build. Change
    to pass it on internally.
    
    (cherry picked from commit 9da34cff69d050ba0c6cd46fa072ba2d1f427a4c)

commit d8c50d5222af5e5c304b6be8980a6f5cb24bfa8d
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue May 30 16:20:43 2017 +0300

    wl#7614 win32-07.diff
    
    check UTF8 output, avoid byte 032

commit 7d9107cc906dc64685c0a626fec8be1194787089
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon May 29 18:29:46 2017 +0300

    wl#7614 util-list1.diff
    
    make Util::List type-safe
    no functional changes

commit 2cdcfaafff9e45fbeb8e5253ff6d03de4a2c0600
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue May 30 10:28:10 2017 +0200

    BUG#26148391 MYSQLD_PRE_SYSTEMD SCRIPT DOES NOT GET ERROR LOG FROM CUSTOM MY.CNF
    
    Script searched for log-error only, however log_error is also
    supported by mysqld, fixed by using regexp.
    
    (cherry picked from commit 10819a832cccddf894ba32b6b39f739b16283433)

commit 0a07424eef304505a9f5dee294efb7f43a67641e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue May 30 13:20:15 2017 +0530

    Remove authentication ldap plugin from docker rpms
    
    (cherry picked from commit b440be3fd79b0635b5759dcdd7851a7fa2970c51)

commit 2985b090034f1be7ed2624c8655e1367b0cff9c6
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue May 30 09:48:47 2017 +0200

    Removed AWS plugin from default list to fix Debian 7 build
    
    The AWS plugin should only be added to platforms supporting the AWS SDK, but
    was also added to the default list, breaking the build on Debian 7. Removed
    from the list, so the plugin is only added is DEB_AWS_SDK is set.
    
    (cherry picked from commit defbef08fd86f0fc09f297827d6f8b952aeeace2)

commit 3d2e4b2882a95d28c4cc5b0112cc16f9cc22fb57
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue May 30 12:02:20 2017 +0530

    Bug#26163403: COPYRIGHT HEADER MISSING IN AUTHENTICATION_LDAP FILES
    
    * Added GPL licensing text for LDAP SASL client side plug-in.
    
    (cherry picked from commit 55df42e3a3ad7b39c793c66d41fff76dc9910143)

commit c80729814641e8990f2900bffe6e792e2365cccc
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 29 13:43:22 2017 +0200

    WL#9143: Keyring plugin for the Amazon's AWS
             Key Management service
    
    Post-push fix: Fixing keyring_udf failure
    
    (cherry picked from commit 9c5ae02e3ce451c328cf6d851fa05a2d3410b0c3)

commit 37b18042c9be65179522cb0f4935d55c1d5e8262
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon May 29 13:35:58 2017 +0200

    Fixing the test by increasing data file's initial size to allow
    reservation (followup of the fix for Bug#25923125).

commit 2a80c2ca6df360515b70477343eda2ab6da87ad8
Merge: 6240b62 90b37ac
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 23 11:13:26 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 90b37ac15ef888a8a057de1760072ed377896f34
Merge: ae4ae95 1343cd2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 23 11:12:36 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 1343cd2fbeab0f8241bd148e2f4983d51bad621b
Merge: a842d2e 9050e2a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 23 10:29:08 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 9050e2a6d80a970d3725917e52b6ac3166f23540
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 22 21:46:08 2017 -0700

    Bug#26080804 jtie unit test compile failure
    Remove deliver_null_ref() and take_null_ref() from C++ myapi and Java myjapi

commit 6240b6248a3201e55388d077a21a211bf44e648b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 22 11:46:44 2017 +0200

    Bug#26116231 INTERNAL ERROR 631 IS EXPOSED TO APPLICATION
    
    test_event -l 10 -n Bug27169 T1 failed due to error 631.
    
    Test failure is due to 631 was a permanent (internal) error.
    
    Error 631 is now reclassified as Node Recovery error which is a temporary
    error class and visible to applications.

commit 2fecdda12252f25a47278e7fce4bf39570effc42
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon May 22 11:25:59 2017 +0200

    Bug#25923125 - 7.6.2: NODE CRASHED DURING RESTART WITH ERROR "COPYFRAG FAILED, ERROR: 1601
    
    If the tablespace of a disk table is fully consumed when a node goes
    down and the table rows are deleted and inserted while the node is
    away (or updated with shrinking/expanding disk column values), the
    node restart may fail with error 1601 - "Out of extents, tablespace
    full".
    
    This is fixed by reserving 4% of the tablespace to be used during
    node starts.

commit 779913ead1a1f94df52e5f229197c161b024d3fe
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat May 20 15:29:49 2017 +0300

    wl#7614 win32-06.diff
    
    test quoting and escapes in windows

commit f9a89a4d2acc9c930fa90f07cfb40d12cdeb39be
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri May 19 21:42:50 2017 +0300

    wl#7614 csvopt1.diff
    
    option --csvopt

commit ec8fc26b9d3c2ed242566976d9fd19097c699989
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 8 00:39:33 2017 +0200

    Bug#26107514 SOME ERROR MESSAGES STILL REFER TO INDEXMEMORY INSTEAD OF DATAMEMORY PARAMETER
    
    Change 'increase IndexMemory' to 'increase DataMemory' in error messages.

commit de2d3e508a5510a85c9e2da7b463e32d267ecc79
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 14:00:32 2017 +0530

    Added ndb_import man page to deb builds

commit 6e76fc5cc46e2407b1bc1a01678d609c458e9022
Merge: d838507 ae4ae95
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 11:34:07 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit ae4ae95af50d86e99c0f2c28a5d88fbad3726454
Merge: 837f23b a842d2e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 11:33:27 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a842d2e4ece547b677866edd757298aaa2ae0704
Merge: 06a9db9 ccea5dc
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 11:25:17 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ccea5dc958d8578561585accb03277e951f2f2e6
Merge: 6ed6c21 31f4015
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 11:24:12 2017 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 31f401585959bfa540b8cf629c7ee018eef42a90
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 18 11:22:26 2017 +0530

    Added ndb_move_data man page

commit d838507a635b084f1d83db527283c18d7aa91bed
Merge: 2d74ba1 837f23b
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 17 17:16:41 2017 -0700

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6
    
    Adapt clusterj for connector-j 5.1.38

commit 837f23b8bd785ebe938f1c1d60e4fca33e4a4107
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 17 17:14:19 2017 -0700

    Adapt clusterj for connector-j 5.1.38
    
    Using default connection properties results in:
    WARN: Establishing SSL connection without server's identity
    verification is not recommended. According to MySQL 5.5.45+, 5.6.26+
    and 5.7.6+ requirements SSL connection must be established by
    default if explicit option isn't set. For compliance with existing
    applications not using SSL the verifyServerCertificate property is
    set to 'false'. You need either to explicitly disable SSL by setting
    useSSL=false, or set useSSL=true and provide truststore for server
    certificate verification.
    
    AbstractClusterJTest.java
      add useSSL=false to connection properties

commit 2d74ba11348e37cab29668f734e0240342b5dc06
Merge: 6fb94ea 0cdd58c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 17 15:52:43 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#26092639)

commit 0cdd58c19d337964e81a329c19a93fa7aa98eb94
Merge: e0abf39 06a9db9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 17 15:52:01 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5 (Bug#26092639)

commit 06a9db9ce22cc2b5d4a05c72ca3c61397f5ca8bd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue May 16 17:31:59 2017 +0200

    Bug#26092639 READ BEYOND BUFFER IN EXECUTE_SIGNALS
    
    Only read section pointers passed with signal.

commit 6fb94ea9ba3051e904292025aad21aad4a67b16d
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue May 16 00:32:59 2017 +0300

    wl#7614 connect-wait.diff
    
    correct con->wait_until_ready

commit 3916b39953873e92e776bc768e798c1c1ebe3458
Merge: 341e363 e0abf39
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue May 16 01:52:14 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit e0abf396e73f2d21bc900d383a7cc0f4348e98cc
Merge: 48a6759 9776797
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue May 16 01:51:31 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 97767970e4293ef9ea303ff53a603e052f3317ef
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue May 16 01:46:43 2017 +0530

    Bug#25859977 : WRONG ERROR MESSAGE SHOWN AFTER ALTER ADD FK FAILURE
    
    Post-push fix
    The actual fix wrongly picked up the fk name from Foreign_key object of
    the server. Moreover the name there was a LEX_STRING which caused the
    test case to fail in windows. This patch fixes that by reading the fk
    name from the actual NDBFK object.

commit 341e36375f3dfb08761255eba5925183daa7bbd6
Merge: dd87fc4 48a6759
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 15 17:18:28 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#22627519)

commit 48a675940f5b28f5f91cf8600cf6e50678831c40
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 15 17:12:28 2017 +0200

    Post push fix for bug#22627519.
    
    Result mismatch when running with Query Cache enabled (#scan)

commit dd87fc49a93fbc24f31dbc962498b4af92fb28f9
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat May 13 22:10:13 2017 +0300

    wl#7614 win32-05.diff
    
    enable windows in ndb_import*test

commit d0896b31f4847020f6893a8bc9b294012357801a
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat May 13 15:44:34 2017 +0300

    wl#7614 win32-04.diff
    
    no signals on windows yet

commit ba392179cd993591670218f8b853f5737ac6d587
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat May 13 13:36:34 2017 +0300

    wl#7614 win32-03.diff
    
    hope for stdint.h

commit 2c56f20e6256e51b21de7f25a4d835b3a70a42cb
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat May 13 00:42:56 2017 +0300

    wl#7614 win32-02.diff
    
    use BaseString snprintf for windows

commit 1a214065821ffea99974290d8b43c319ae2a657c
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri May 12 21:29:17 2017 +0300

    wl#7614 win32-01.diff
    
    fix windows build, part 01

commit b45539ef4b7e03cb39426438630565383819a94e
Merge: 4d9897a 4779b67
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 12 08:38:49 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 4779b678063a0f514e123e14b634d068c2268b2b
Merge: 17a5a18 f9f7338
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 12 08:36:31 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit f9f733841b591d57ae4ad35ba01e40c75a28a6eb
Merge: ba455e3 6ed6c21
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 12 08:36:06 2017 -0700

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 6ed6c21054e0b15da8034438e40be93c8440c0a7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 12 08:33:38 2017 -0700

    Workaround for bug#25690926
    For gcc 6.x and newer, compile NDB kernel with -flifetime-dse=1

commit 4d9897aab35e0cfdc16c638e82fa0187279eee7e
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri May 12 18:02:36 2017 +0300

    wl#7614 relay-tx3.diff
    
    handle start trans temp errors better

commit 2928d342885ce3ab5eb09cd77277b0454f309745
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri May 12 18:01:59 2017 +0300

    wl#7614 relay-tx2.diff
    
    avoid trans in relay-op node select

commit 4809df4a1213f5050972a7346380053cb54ab70e
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Fri May 12 17:58:52 2017 +0300

    wl#7614 relay-tx1.diff
    
    move auto-incr from relay-op to exec-op

commit caf865ce13f7a24b22e99ee0261777dbfe745024
Merge: e5b3663 17a5a18
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 23:10:27 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit 17a5a181eb2a551fcfaca832c22855720b40d261
Merge: d43c7f8 ba455e3
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 23:10:15 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit ba455e358ee46b706b3912131b856dd057f945b2
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 23:08:11 2017 +0100

    Remove invalid inline marker from method in .cpp file
    
    Stray inline marker stops linker finding definition for .so

commit e5b36635e9875b3394117efce643d2db4aacbb9e
Merge: b8824ed d43c7f8
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 17:25:41 2017 +0100

    Merge ../mysql-5.7-cluster-7.5 into mysql-5.7-cluster-7.6

commit d43c7f8f9f31072cd6901405622ad19e65cf51b1
Merge: ea2fca1 6565095
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 17:24:51 2017 +0100

    Merge ../mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5

commit 65650959b98f2b5691d1467026ebf151b91fd09e
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu May 11 17:10:17 2017 +0100

    Bug #24829435 	NDB : NDBTABLE::GETCOLUMN(CONST CHAR*) IS INEFFICIENT
    
    The getColumn functionality in the NdbApi dictionary is used to
    map from a column name to a column object.
    This can be used explicitly by users, or implicitly as part of
    passing a column name to an NdbApi function.
    The current implementation uses a linear search of an array of
    strings (column names), whose cost scales O(n) in the number of
    columns.  This has been seen to waste cpu in real-world NdbApi
    applications.
    It is possible for applications to lookup column objects or ids
    upfront, and then use them which gives O(1) access to a column
    object.
    However to improve the experience of users using column name strings
    at runtime, a column name hash is implemented.  This should give
    ~O(1) lookup performance from name strings to column objects.
    
    It is still recommended to perform name->object/id lookups upfront,
    but the cost of doing them at runtime is reduced.
    
    A new test is added to testNdbApi which can be used to show
    that column lookup performance is independent of the #columns.

commit b8824edbc73b69524e8708a39a6a7612288b8ba0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri May 5 23:37:01 2017 +0200

    Test case verifying that drop table do not leak data memory pages.
    
    Bug#26030894 ERROR[NDB-827]: OUT OF MEMORY IN NDB KERNEL, TABLE DATA (INCREASE DATAMEMORY)

commit 587802371d3b17c68789c2092c5ec04b998fe5c3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon May 8 23:53:16 2017 +0200

    Make all hash index pages be freed when table is dropped.
    
    Bug#26030894 ERROR[NDB-827]: OUT OF MEMORY IN NDB KERNEL, TABLE DATA (INCREASE DATAMEMORY)
    
    Prior fix, there was at most one attempt in Dbacc to remove the freed pages.
    
    For big partitions using more than 32 pages there were always some pages lost.

commit 2356619fa22e313bd4ac017bcce85ef8c7828a76
Merge: 405dcc8 ea2fca1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 10 18:16:50 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (Bug#25974560)

commit ea2fca1f4258411518ab2e85f4ee9f2ed30b3219
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 10 15:47:02 2017 +0200

    Resolve symbol Int32 clash between nodejs/v8 and NDB.
    
    Post push fix for Bug#25974560.

commit 405dcc81f7edea2f7ffe49feab19268f8b79159a
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 10 18:29:01 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Suppress warnings for undefined identifiers in bison output in
      ndb_import

commit 4d6e6fe1bdb430074e56488bac869985f3e7fc8d
Merge: 52f2691 54a9809
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 10 14:51:37 2017 +0200

    Null merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6 (bug#25974560)

commit 52f2691db5934057694dec73475aac2cb3a4beaa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 10 14:50:38 2017 +0200

    Use {UINT,INT}32_{MIN,MAX} from stdint.h
    
    Bug#25974560 COMPILER WARNINGS ON WINDOWS: WARNING C4005: 'INT32_MAX' : MACRO REDEFINITION
    
    Remove the definitions for the above from ndb_constants.h.
    
    This should get rid of build warnings on Windows.

commit 54a9809235dbcaec41499a60fad21b2a3609bb19
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed May 10 14:07:58 2017 +0200

    Use {UINT,INT}32_{MIN,MAX} from stdint.h
    
    Bug#25974560 COMPILER WARNINGS ON WINDOWS: WARNING C4005: 'INT32_MAX' : MACRO REDEFINITION
    
    Remove the definitions for the above from ndb_constants.h.
    
    This should get rid of build warnings on Windows.

commit fd4c971da301058fbb585405d5eca4ea942e000e
Merge: 7699fd6 8381d5c
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 10 14:22:24 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 8381d5c5b2fbad35343cc78e2fc20b08d4c7c5ee
Merge: 51865ae 7cb07f6
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 10 14:20:33 2017 +0200

    Null-merge from 7.4.

commit 7cb07f61eb8778e401e3793e03721e9a31d7b7c0
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 10 14:09:37 2017 +0200

    Fixing build break after Bug#25806659.

commit 7699fd609d4ffcb4b0d1cb16ef2282db4874ab4e
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Wed May 10 16:31:06 2017 +0530

    Bug #25923164 : FIX BROKEN --UNQUALIFIED OPTION IN NDB_SHOW_TABLES
    
    Post-push fix.
    Remove --unqualified option from ndb_show_tables.
    This option is deprecated in 7.4 and 7.5.

commit e68acd1d19aa4562f03f66d21333227aca8b534a
Merge: 1e1e019 51865ae
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Wed May 10 16:04:28 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 51865ae35fbf00f791890b91ab84e142dc77d9ae
Merge: 9592f32 601e20a
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Wed May 10 16:01:01 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	mysql-test/suite/ndb/r/ndb_show_tables.result
    	mysql-test/suite/ndb/t/ndb_show_tables.test
    	storage/ndb/include/ndbapi/NdbDictionary.hpp
    	storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp

commit 601e20af5fde7384826f301b31ca0ea5d54ace73
Author: Sanjana DS <sanjana.ds@oracle.com>
Date:   Wed May 3 16:39:46 2017 +0530

    Bug #25923164 : FIX BROKEN --UNQUALIFIED OPTION IN NDB_SHOW_TABLES
    
    Problem
    -------
    The fully qualified table and index names were not being displayed
    when the --unqualified option was set to 0.
    
    Fix
    ---
    Fixed --unqualified so that fully qualified table names get displayed
    when it is set to 0.
    Also added new option --fully-qualified to display fully qualified table names.
    Made --unqualified deprecated since it's easier to use --fully-qualified
    than --unqualified=0 when the fully qualified table names need to be displayed.

commit 1e1e0194115e35a028c506b339161c4c1d318437
Merge: 5b77908 9592f32
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed May 10 12:18:45 2017 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 9592f32ec97bc95e6f180759b773938776da6319
Merge: be15450 2ad6750
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed May 10 12:13:37 2017 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 2ad67501483db38df4804ad2311b41f4f4d6c35e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed May 10 12:05:53 2017 +0200

    Bug #22627519 NDB : SPJ INSTANCE USAGE IMBALANCE
    
    If number of configured LDM blocks is not divisible by number
    of TC/SPJ blocks, the SPJ requests will not be evenly distributed
    over the available SPJ instances.
    
    This patch introduce a round-robin distribution of the SPJ
    requests over the available SPJ instances.

commit 5b779084da6673df096a003802056faecd1ed8ae
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 9 15:37:56 2017 +0200

    Bug #21074209 SLAVE STOPS, ERROR_CODE: 1296; HANDLER ERROR
    HA_ERR_ROWS_EVENT_APPLY
    
     - remove parts of test which has no effect

commit 1f2ea82f722870c4d7f686890c512760445d1198
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 8 15:06:50 2017 +0200

    Bug#25703113, Follow up patch.
    
    Partly revert minor part of patch for this bug.
    m_rowSize can leagally be '== 0' if no ndbRecord has been
    set up. Thus remove assert, and change back init of 'unknown'
    m_rowSize to '0xfffffff'

commit e006d48413650c502f69445e06280de6a4ad0fa0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 8 15:02:53 2017 +0530

    Added ndb_import man page to rpm builds

commit 7eeb0c324229d27d921bd10360790b35be88f4f7
Merge: dd83bdd be15450
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 5 15:22:46 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit be1545097ccfad7a65eed0fbf5de82197b2a22fa
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 5 15:21:05 2017 -0700

    ndb nodejs: CMakeLists.txt bugfix

commit dd83bdd45999c8d2a6f4be59fd657edff5b7b1e7
Merge: 844d5f8 797b7d3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 5 13:56:12 2017 -0700

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    Conflicts:
    	storage/ndb/nodejs/CMakeLists.txt

commit 797b7d3c5fc9246639f187dba71d5388436dc2d3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 3 17:38:05 2017 -0700

    Platform portability fixes for ndb nodejs
    Upgrade node.js dependent version to 6.10.2 where newer gcc supports it
    Compiler and linker fixes for Windows and Solaris

commit 844d5f80218da25708353a73f17174a0958e689c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 5 16:02:23 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - mtr.pl no longer allows # in test file names:
        'Invalid test file name 'ndb.bug#24926009'. Test file
         name should consist of only alpha-numeric characters,
         dash (-) or underscore (_), but should not start with
         dash or underscore.'
    
     - fix by renamong bug#24926009 test case -> bug24926009
       '

commit 8316d104e51a3202311092eb6d229c239866057f
Merge: 9f58504 b943a6b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri May 5 18:06:20 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit b943a6b8c86dd934d16906d9f6f51b263c9635d4
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu May 4 15:09:23 2017 +0530

    Bug#25749218: PACKAGE(MYSQL-CLUSTER-COMMUNITY-TEST-7.6.1-1.EL7.X86_64.RPM )MISSING DEPENDENCY
    
    - For server, DEB_NDB_CONTROL_TEST_DEPS is empty so that leaves
      an empty line which is a syntax error causing the debian builds
      to fail
    - Fix is to move it to the end of the line above such that there's
      no empty line
    
    (cherry picked from commit 454343c19318c4b3b6d2cd2249285ed9033fc155)

commit 9f58504aa7a9da71b28add367878a1e37c5e74b3
Merge: 3b393c8 87c918f
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu May 4 19:20:29 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 87c918fcd3c239c672b333685650d9c62af483ac
Merge: c783642 f40bb0e
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu May 4 19:17:02 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 3b393c8042a60bdabbd6919a726626c3d6eb88fb
Merge: 454343c c783642
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 4 16:34:28 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit c7836428d202e48606f2902e5493b70b1f3c39ae
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 4 16:32:04 2017 +0530

    Bug#25998285 - ADD MYSQLADMIN DOCKER/MINIMAL SERVER BUILDS
    
    - mysqladmin is needed by InnoDB Cluster, add tool to docker/minimal package.

commit f40bb0e613ea92b4080367d749aecb682e57bfc6
Author: Dinesh Surya Prakash <dinesh.prakash@oracle.com>
Date:   Thu Apr 27 23:58:47 2017 +0530

    Bug#11766869 NDB_CONFIG TO DUMP COMPLETE CURRENT CONFIGURATION
    
    Problem
    =======
    
    1)Ndb_error_reporter internally uses ndb_config with a deprecated parameter
    "id". Hence ndb_config returns null and that breaks the testcase
    "ndb.ndb_error_reporter".
    
    2)ndb_config accepts deprecated parameter "id" but now it does not support
    it and it is not compactable with the earlier version.
    
    Fix
    ===
    
    1)Replaced the deprecated parameter "id" with new parameter "Nodeid" also
    added checks in the Ndb_error_reporter to fail in right place when the
    config file is wrong.
    
    
    2)have changed ndb_config to be compactable to earlier version.

commit 454343c19318c4b3b6d2cd2249285ed9033fc155
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Thu May 4 15:09:23 2017 +0530

    Bug#25749218: PACKAGE(MYSQL-CLUSTER-COMMUNITY-TEST-7.6.1-1.EL7.X86_64.RPM )MISSING DEPENDENCY
    
    - For server, DEB_NDB_CONTROL_TEST_DEPS is empty so that leaves
      an empty line which is a syntax error causing the debian builds
      to fail
    - Fix is to move it to the end of the line above such that there's
      no empty line

commit 20fdc0305688d37642d464d202787c5b29f4988b
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 3 21:06:21 2017 +0300

    wl#7614 connect1.diff
    
    remove confusing unused method

commit 08af60891d7d9b2fe503cc28b96088e613098a15
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 3 21:05:39 2017 +0300

    wl#7614 job-continue2.diff
    
    move global table id to job level
    fix --continue on missing table

commit 70b9c79e078e20339a5fdce2d5b217d2b8bb64ab
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 3 21:03:20 2017 +0300

    wl#7614 opt-stats.diff
    
    make stats file .stt optional

commit c4ad24490fcf9a266e0f1c924b812efe68547411
Merge: 3fcd475 9af1b21
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed May 3 22:04:11 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit 9af1b21684601864ff4eb3c13869cee5dced2a08
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed May 3 22:03:08 2017 +0530

    Added nodejs package for debian

commit 3fcd475640838a95ef942c9d53bb754d732ed253
Merge: c417e6a 5a45793
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 16:16:58 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (WL#8500 Adapt MySQL Cluster to 8.0
    
     - Fix windows build
     - Replace popen and pclose with _popen and _pclose respectively
       on windows platforms)

commit 5a4579365a94eeda21f48842c5b396cde98ced66
Merge: f08dd6c 8fd341f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 16:15:54 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    (WL#8500 Adapt MySQL Cluster to 8.0
    
     - Fix windows build
     - Replace popen and pclose with _popen and _pclose respectively
       on windows platforms)

commit 8fd341fe4976f28f337da5713ceb5eea741ef7c6
Merge: bc1071a df71dc2
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 16:12:26 2017 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    (WL#8500 Adapt MySQL Cluster to 8.0
    
     - Fix windows build
     - Replace popen and pclose with _popen and _pclose respectively
       on windows platforms)

commit df71dc289e68f2834e05b9cbf05ca3c0214ac158
Merge: ad47d4a 3f496ab
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 16:09:36 2017 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    (WL#8500 Adapt MySQL Cluster to 8.0
    
     - Fix windows build
     - Replace popen and pclose with _popen and _pclose respectively
       on windows platforms)

commit 3f496ab1d3f31191047f10b0d68fe3248348fa2c
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 15:57:03 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix windows build
    - Replace popen and pclose with _popen and _pclose respectively
      on windows platforms
    
    (cherry picked from commit 4424cb5d5db6f2e9c0750c26a172717fcc9437dd)

commit c417e6a251f39fb294fa89644b6c85d5567a210f
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 12:08:28 2017 +0530

    WL#7614 ndb_import internals
    
    - Fix a couple of mismatches in format specifiers
    
    (cherry picked from commit 67a73cf5f9f9a623723301d153f03fb27b4a2e6f)

commit bb4b61aa20a1ef2470ad6c646ebe844e78c8106e
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Wed May 3 12:03:24 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix warnings detected by -Werror=suggest-attribute=format
      by adding format specifier attribute
    
    (cherry picked from commit 6cbccaa8e86584da0e33f9b875582d5cd1af3f1c)

commit 84781c0b40c73e54601e607bb6e404bcbc208581
Merge: 28bc570 f08dd6c
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue May 2 16:34:02 2017 +0200

    Upmerge of the 7.2.29 build

commit f08dd6ca7597e6a53a74ef17c69e801348332e1e
Merge: dd49a3f bc1071a
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue May 2 16:32:06 2017 +0200

    Upmerge of the 7.2.29 build

commit bc1071a984113263955c02339846cc11ed802b17
Merge: 7fc3834 ad47d4a
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue May 2 16:28:57 2017 +0200

    Upmerge of the 7.2.29 build

commit ad47d4ac4d080f039e85b0f1c935b2459f70383e
Merge: 28d740f 6de09f7
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue May 2 16:26:24 2017 +0200

    Upmerge of the 7.2.29 build

commit 6de09f74c14806a2bdf98050020dab589ab21b1c
Merge: 472c8fb 8d6e3f1
Author: Sreedhar Sreedhargadda <sreedhar.sreedhargadda@oracle.com>
Date:   Tue May 2 16:07:14 2017 +0200

    Merge branch 'mysql-cluster-7.2.29-release' into mysql-5.5-cluster-7.2

commit 28bc570ea03b742e2e5dcdf0c1a9259c5651a37e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 2 11:55:00 2017 +0200

    WL#8500 Adapt MySQL Cluster to 8.0
    
     - remove unused UINT32_HALF

commit d8eea251eef32d81a93437b30abe502b70249e2c
Merge: 13f78a8 dd49a3f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue May 2 15:32:30 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6

commit dd49a3f70875e3103a6fc800364000a11abd0572
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue May 2 15:30:45 2017 +0530

    Updated spec file for cluster minimal rpm builds

commit 13f78a8b17963e1da7abfc787dc11310103bcd1d
Author: Arnab Ray <arnab.r.ray@oracle.com>
Date:   Fri Apr 28 17:31:21 2017 +0530

    WL#8500 Adapt MySQL Cluster to 8.0
    
    - Fix warnings detected by -Werror=suggest-attribute=format
      by adding format specifier attribute

commit 8d6e3f1ee656cd52d2cd9b0a92d97d480f97b723
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Apr 27 07:41:27 2017 +0200

    Bug#25942414: SSL VARIABLES USAGE WHEN LIBMYSQL IS COMPILED WITH WITH_SSL=NO
    
    Description: If libmysql is compiled with WITH_SSL=NO,
                 --ssl-* are not useful.
    
    Solution: 1. Restricted WITH_SSL to values : bundled | yes | system
              2. Made "bundled" as default value for WITH_SSL. Also,
                 not specifying WITH_SSL or even specifying WITH_SSL=no
                 will be treated as/converted to WITH_SSL=bundled.
    
    Reviewed-By: Tor Didriksen <tor.didriksen@oracle.com>
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    (cherry picked from commit 3eb2058be34d1a21771fe89ff1a0c08f156899bc)

commit 3c83d86511baa580b4b73fb2d75f9886e8854123
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Mar 3 13:06:29 2017 +0100

    Raise version number after cloning 7.2.28
    
    (cherry picked from commit 8881754b6b6a804eefc130ddccfc0ff444bb292e)

commit 10b631a8ed9ee835da5bcb87afe85515534336a0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 19 11:15:12 2017 +0530

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7-cluster-7.6
    
    (cherry picked from commit b3cb4ea79732a1caab14d046d7642463da068a1d)

commit 4fdc32b88882e1c0268ddc90d4c2fb533f57ae1e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 19 10:45:59 2017 +0530

    Rename ndbd_redo_log_reader man page to ndb_redo_log_reader
    
    (cherry picked from commit 3e02a529abdc4f43040b8e83fa075d8bb2280385)

commit 8abcb22252c72e5447131cce04c8e804fac221e6
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Apr 17 21:37:49 2017 +0300

    wl#7614 sparc-bit.diff
    
    bit(x) fix for sparc
    
    (cherry picked from commit ecae44ecc35ee746b856ef124be39c8afd22bb7d)

commit 929ed638e9e4d5ada80a07d4913fb552b3a1bc38
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Apr 15 13:37:19 2017 +0300

    wl#7614 auto-incr1.diff
    
    handle autoincrement temporary errors
    
    (cherry picked from commit 4ffa72047fcd2663a25b22d28cc66999dc7fec85)

commit 638a6f6a1ca9e2e2057bf1100e47724ea57a73bd
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Apr 13 15:57:25 2017 +0300

    wl#7614 worker-state1.diff
    
    fix require() in worker stop
    
    (cherry picked from commit de71dbcb7d289a3cd0e405d0c79a3771bdb7ff28)

commit de5160d441f14d1d5cd2e665a4b775048a522b80
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Apr 12 12:08:33 2017 +0300

    wl#7614 alignment1.diff
    
    avoid alignment crash on sparc
    
    (cherry picked from commit 554bb4157cb4340017044c9866a35c2676cce8c3)

commit 0eaee3e830f14641691981eaa043d2aca8714d7c
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Apr 10 16:50:51 2017 +0300

    wl#7614 un-inited1.diff
    
    un-initialized member + misc
    
    (cherry picked from commit 8606b5e40dac92fc7da43d7f04e3e49b48000861)

commit 8c4314d7c2149f010945de615743941d87dd5a04
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Apr 8 22:52:06 2017 +0300

    wl#7614 csv-delim1.diff
    
    usage error for unknown CSV escape
    
    (cherry picked from commit ac4b9b7341c7eef1cae2b7781f2e02f1210664bf)

commit 6eef25fc4710a9150c2ad3e77f440a28d3063c3f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Apr 8 22:50:24 2017 +0300

    wl#7614 opts-check1.diff
    
    check --input-type and --output-type
    
    (cherry picked from commit a2350e14f9e61431bdac0eef62d73ffc47da1fdd)

commit a08a4bbe68001711989e25173b656a4ba26ab6d5
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Apr 8 22:45:31 2017 +0300

    wl#7614 char-subscript1.diff
    
    macos(clang): char as array subscript
    
    (cherry picked from commit cbbeb630475297c75df32ba194ccdccebbfb2994)

commit 2ce839987c719d8245a507b398f228315c2752f4
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Sat Apr 8 22:43:29 2017 +0300

    wl#7614 struct-fwd1.diff
    
    macos(clang): mult fwd struct decl
    
    (cherry picked from commit fd72b8880b6eda36efd27b1638de5b327429b97e)

commit 1b99cc3746d2e98c2398efc5dcf0d2433a8ebfc2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 18 11:19:35 2017 +0200

    BUG#25508233: Fix error in calculation that gets out of hand with file sizes above 4GByte
    
    (cherry picked from commit 53726f1f8d34889b43f65d25fd346f8f3adeff94)

commit cd8f70d0ebe2b8cbcba6e808700518cbf7abd541
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Apr 8 00:49:07 2017 +0200

    Bug#25851801 7.6.2(DMR2):: COMPLETE CLUSTER CRASHED DURING UNIQUE KEY CREATION ...
    
    DynArr256::truncate() now succeeds if there are no pages allocated in array.
    
    The test case with the above fix now brought up another bug there two calls to
    Dbacc::releasePage() is missing when pages was not possible to add to fragments
    page directory due to out of memory when allocating directory page.
    
    This made some checks failed and the dbacc page was leaked.
    
    The missing calls to releasePage() were added.
    
    (cherry picked from commit cec32871ab7158046670ef676413ef42c41f4595)

commit ec5bb13165f87a35ad50e586faae18086178ea0b
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Apr 6 23:08:12 2017 +0300

    wl#7614 mgm-conn1.diff
    
    missing use of opt_ndb_connectstring

commit bf96a7ba47e17521625c98c30db2615ad1da1998
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Apr 6 19:11:02 2017 +0300

    wl#7614 static-const1.diff
    
    conditional expression created lvalue
    https://gcc.gnu.org/wiki/VerboseDiagnostics#missing_static_const_definition

commit 7a3f2eb31732cdb86ddfb242dfdfdfda7df7f6ef
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Mar 15 13:30:24 2017 +0100

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

commit a0d2f1bd69ffd3d8989da4dbdd2a034a5de49df7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 08:59:02 2017 +0100

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

commit 621bc679a2e4b9db39fbf0516468befe1f40fd6a
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Mar 13 18:16:48 2017 +0100

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

commit a4ae707fc37091431a5c468d3c226c6ec5ecbc0c
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
    
    (cherry picked from commit 0f94c14be2276f93b6a98b397111cb475076e0a6)

commit 3b688f1e9419456a52b9a3ad48bfe005e5ccbb2d
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 200b72d46d414e84d981b08ee8c27992550fed13
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 57103a9e67d411d73acd3b93621f5d4adc5d06c9
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 553430521e6afd1c7b8cfb3543a86e1595dd43a0
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Apr 6 11:01:09 2017 +0300

    wl#7614x
    
    add ndb_import to deb and rpm

commit e8e57910bf7b627ef7e0fc373c84fe94da07f200
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Apr 5 14:38:26 2017 +0200

    Fixed the last copyright year, I hope...

commit 3b7d88cf6729b402eda269bf431bd2dd6e205834
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Apr 5 14:28:35 2017 +0200

    Updated copyright years
