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 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 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 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 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 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 ec0357e6af37bd95c723b3f860c396c65324a524
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Sun May 28 22:40:02 2017 -0600

    WL#10322: Deprecate innodb_undo_logs in 5.7
    
    * Add (deprecated) to innodb-undo-logs description and mention that it
    is actually setting the number of rollback segments.
    * Delete “(deprecated)” from innodb-rollback-segments message.
    * Add a deprecation warning message when innodb_undo_logs is used
    at runtime and also at startup in a config or the command line.
    * Return a warning when innodb_undo_logs is used at runtime.
    * Rename srv_undo_logs to srv_rollback_segments in code
    * Rename innodb_undo_logs to innodb_rollback_segments in all collections
    and testcases except sysvars.innodb_undo_logs_basic.
    * Fix sysvars.innodb_undo_logs_basic to suppress the deprecation warning.
    Add a restart to exercise the deprecation code for using it at startup.
    
    Approved by Satya in RB#15389

commit c85f3f04d7bfb9b5f4a3da9294f63621f7a5c826
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed May 24 11:01:05 2017 +0200

    Bug#25799465	MISSING DEPENDENCIES IN CLUSTER PACKAGES FOR APT
    
    Added missing deps:
    data-node: libclass-methodmaker-perl
    auto-installer: python-paramiko

commit ed578d107be3285273ae3dfeae7834891a4fbfca
Merge: 9b1fe87 a8c1489
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri May 26 19:48:04 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a8c14896943b88b7fda8d8b945d8b7fb0101f186
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Fri May 26 19:46:46 2017 +0530

    BUG#26121192 : --NO-CONSOLE IS COMPULSORY IF --LOG-ERROR USED TO MAKE
                   WINDOWS RUN PASS
    
    Issue:
    ------
    MTR adds '--console' option if '--no-console' options is not specified.
    But adding '--console' option when '--log-error' is specified either in
    test-[master/slave].opt or in the config file will cause the test run
    to fail on windows.
    
    Fix:
    ----
    On windows, don't add '--console' option if '--log-error' is specified
    either in test-[master/slave].opt or in the test config file. This patch
    is a back-port of bug#20341933.
    
    Reviewed-by: Deepa Dixit <deepa.dixit@oracle.com>
    RB: 16372

commit 9b1fe87e55b2f4c5f7d961f76cdde37aebb5bc46
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri May 26 15:35:02 2017 +0200

    BUG#26042764: BACKPORT BUG#25642343 AND BUG#24311527 TO 5.7
    BUG#24311527: PLUGIN-LOAD FAILS AFTER MYSQLD --INITIALIZE
    BUG#25642343: THE SERVER SHOULD HAVE A DEFAULT USER FOR THE SERVER SESION SERVICE
    
    There were two leaks after the above patch was introduced:
      1) There was a possible memory leak on method
         Session_plugin_thread::terminate_session_thread(), on which the
         terminate event could be queued after the thread handler being
         already terminated. This would cause the terminate event memory
         not to be released.
         In order to prevent that, the
         Session_plugin_thread::terminate_session_thread ensures that
         when it ends all queued events are released.
    
      2) When the Group Replication was not able to contact the server
         core through the SQL API, some memory structures were not being
         released.
         Now that memory structures are properly released.

commit 08309af50aff67345f440a40d3cd77341d62ea05
Merge: b4e3c4c a0dfe93
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri May 26 16:07:56 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b4e3c4c424fd54232fb25099189680bf89904205
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri May 26 12:37:28 2017 +0200

    WL#9143: Keyring plugin for the Amazon's AWS
             Key Management service
    
    Description: This worklog introduces a new keyring
                 plugin -keyring_aws. The plugin will
                 communicate with Amazon's AWS Key Management
                 Service andfetch keys that can be used by
                 MySQL server. It will provide ability to
                 store/fetch/remove keys from Key Management
                 service.
    
                 In addition, Plugin also introduces two
                 UDFs which provides ability to:
                 - Rotate Customer Master Key
                 - Reencrypt data keys using latest Customer
                   Master Key.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>

commit a0dfe93941af0aa5e7faa87ec95c2779ea659257
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri May 26 16:05:03 2017 +0530

    Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND
                   GROUP BY
    
    Post-push fix on mysql-5.6
    
    The unittest - ItemEqual fails because FAKE_TABLE object's
    pos_in_table_list is left unset and hence contains a junk
    value.
    
    Since pos_in_table_list is now checked in
    Item_field constructor this can cause a problem. Fix is to
    set to NULL explicitly.

commit f3dfe27c95bdeb4b7c6afd1c4c20b1110d136216
Author: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
Date:   Fri May 26 12:33:33 2017 +0200

    BUG #25835833: SHOW STATUS SSL CRASHES GPL SRVR WHEN SRVR STARED WITH XPLUGIN,EXPIRED SSL CERTS
    
    Description
    ===========
    Crash in community version of server with X plugin loaded when checking
    for SSL system variables and using expired certificates.
    
    Fix
    ===
    Add validation if certificate is not null when checking for certificate
    details.
    
    RB: 16362
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed by: Lukasz Kotula <lukasz.kotula@oracle.com>

commit 064a9c69f13ec4d30d33e9b092095c07cbd45f8f
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Thu May 25 12:01:35 2017 +0200

    BUG#25232042: ASSERT "!CONTAINS_GTID(GTID)" RPL_GTID_OWNED.CC:94 OWNED_GTIDS::ADD_GTID_OWNER
    
    When a existing GTID_NEXT transaction gets a conflicting GTID generated by
    server, the Group Replication plugin will generate a assert due having two
    transactions with same gtid.
    
    On Group Replication the gtid is generated after conflict detection, later than
    normal replication.
    
    Some conditions were relaxed to allow only be called when commit is done and
    add message to alert when gtid is already used.
    
    The check for macro HAVE_REPLICATION was removed due to being now correctly
    defined on cmake.

commit 477635b0586f7e5842ba49b332c565d4d12a8ec0
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri May 26 14:48:38 2017 +0530

    Bug#25303711 SIGNAL 11 DURING CERTAIN QUERY WITH AGGREGATION
                           IN NESTED CONDITION
    
    Post push test case fix.

commit 599664672cf9171510948cef0ac87d90bccbc205
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri May 26 10:53:07 2017 +0200

    BUG#26042764: BACKPORT BUG#25642343 AND BUG#24311527 TO 5.7
    BUG#24311527: PLUGIN-LOAD FAILS AFTER MYSQLD --INITIALIZE
    BUG#25642343: THE SERVER SHOULD HAVE A DEFAULT USER FOR THE SERVER SESION SERVICE
    
    Update initialize-sha256 test.

commit 0fc7e760a3dbc6159f67de521891e1d98c75dd8e
Merge: 6e64622 2a0ee9b
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri May 26 10:20:10 2017 +0200

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

commit 2a0ee9b666cf0001ef7b00a07cfa61c4f37f24af
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed May 24 14:24:25 2017 +0200

    Bug#25799475	APT: CLIENT PACKAGE OVERWRITES FILES IN NATIVE 5.5 PACKAGES WITHOUT "CONFLICTS:"
    
    Added missing conflicts between our and native packages

commit 6e64622e042d5195eab2b5a10ed5bdee974d246d
Merge: ca5c137 6c49af9
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri May 26 08:54:42 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6c49af9e8eff4dd535fc67f440ba39d7bcf1b02e
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue May 23 15:21:41 2017 +0100

    BUG#26128931 USE `DATABASE` STATEMENT FAILS INSIDE GTID SKIPPED
                 TRANSACTION
    
    Problem
    -------
    
    When GTID skipping transactions using mysql client program, when the
    transaction contains a binary log dump including "use `<DATABASE>`"
    statements, the "use" statement is failing accusing:
    
    USE must be followed by a database name
    ERROR 1046 (3D000) at line ...: No database selected
    
    Analysis
    --------
    
    When the USE statement has quotes, the mysql client program asks the
    server to translate the database name, issuing two statements to the
    server:
    1. USE `database`
    2. SELECT DATABASE();
    
    When GTID skipping a transaction, the USE `database` is taking no
    effect, leading to SELECT DATABASE() to return NULL.
    
    Fix
    ---
    
    Made SQLCOM_CHANGE_DB also an "innocent" statement from the GTID skip
    point of view. In this way, the USE `database` will take effect and the
    SELECT DATABASE() should not return NULL anymore.

commit ca5c1370151f56528efe99a79609811c6ec4c371
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri May 26 12:14:45 2017 +0530

    Bug#25369742 INCORRECT BEHAVIOUR IN SEL_ARG::RB_INSERT DURING
                 RANGE QUERY OPTIMIZATION
    
    Summary
    ========
    This patch fixes a wrong reference counting during creation
    of RB tree resulting in server exit and also causing incorrect
    estimates and thereby wrong plan choice for some cases.
    
    Details
    ======
    Range optimizer creates a RB tree representing the entire
    where condition present in the query. Nodes in the tree
    represented by SEL_ARG's are OR conditions from where clause.
    For each node, next_key_part will point to another RB tree
    which is the AND condition present in the query along with
    current node condition. ref_count in rb_tree/SEL_ARG represents
    how many nodes are referring to this particular tree. Please
    refer opt_range.cc for RB tree details.
    
    Below explanation uses a simplified format for representing the tree.
    Symbols used below are
    
     -->    => AND relation.
    
       |      => OR condition
    
    [ Node Condition, Node Name, ref_count ]  =>  Node format
    
    Consider a query with where clause as:
    (c1 = 1 AND c2 = 2) OR (c1 = 2 AND c2 = 1) OR
    (c1 IN (3, 100) AND c2 = 10) OR (c1 IN (1, 2, 3) AND c2 = 2);
    
    The resulting condition for this should be:
    (c1 =1 AND c2 = 2) OR (c1 = 2 AND c2 = 1) OR
    (c1 = 3 AND c2= 10) OR (c1 = 100 AND c2 = 10) OR
    (c1= 1 AND c2 = 2) OR (c1=2 AND c2=2) OR (c1=3 AND c2=2)
    
    First part of the where clause:
     [ (c1 = 1 AND c2 = 2) OR (c1 = 2 AND c2 = 1) OR (c1 IN (3, 100) AND c2 = 10) ]
     will result in below RB tree
    
    First time when we OR, we get
    
    [c1=1, D, 1] --> [c2=2, C, 1]
       |
       v
    [c1=2, A, 0] --> [c2=1, B, 1]
    
    Second time we OR, we get [Tree 1]
    
    [c1=1, D, 1] --> [c2=2, C, 1]
       |
       |
    [c1=2, A, 0] --> [c2=1, B, 1]
       |
       |
    [c1=3, E, 0] --> [c2=10, G, 2]
       |                 ^
       |               /
    [c1=100, F, 0]
    
    Rest of the condition [ (c1 IN (1, 2, 3) AND c2 = 2) ] will
    result in below tree formation [Tree 2]
    
    [c1=1, I, 1]
      |                \
      |                  v
    [c1=2, H, 0]  -->  [c2=2, K, 3]
      |                  ^
      |                /
    [c1=3, J, 0]
    
    Below steps are performed while doing tree_or between these two trees.
    
    Step 1. Take the first node from Tree.2 (Node I) and try to insert
    into tree 1. As there is an exact match found in Tree 1 (Node D),
    this node will be ignored and will be deleted from Tree 2.
    As part of the delete operation, increment_use_count() for the
    deleted node will be called with -1. This function will reduce ref_count
    of next_key_part of all nodes in the current tree. As a result,
    ref_count of Node.K will be reduced 3 times (one for Node H, I, J).
    
    Resulting [Tree 2] will look like below
    
    [c1 = 2, H, 1]
        |               \
        |                 v
    [C1 = 3, J, 0] --> [c2 = 2, K, 0]
    
    Step 2. Node H will be merged with Node A. Steps to merge
    these nodes are; As the condition is exactly same, it will
    copy next key part of H and merge with B. If the next key part
    node (Node K) ref_count is more than 1 then a copy is made
    to avoid any unwanted links. In this case, it is (0) not more
    than 1 and Node.K will be added as an OR element to Node.B.
    Resulting Tree 1 will look like below.
    
    [c1=1, D, 1] --> [c2=2, C, 1]
       |
       |
    [c1=2, A, 0] --> [c2=1, B, 1]
       |                      |
       |                      |
       |           [c2=2, K, 0]  <-- [c1=3, J, 0]
       |
    [c1=3, E, 0] --> [c2=10, G, 2]
       |                 ^
       |               /
    [c1=100, F, 0]
    
    Note that Node.J is attached to Tree 1 now. Which is an unwanted
    consequence of the ref_count reduction of Node.K 3 times at step 1.
    
    Step 3: Node J will be merged with node E. Similar to above case,
    node conditions are exactly same, so next_key_part merge will happen.
    Like above scenario Node.K ref_count is not more than 1, so no
    copy will be made but a copy of G will be made (Node H)(due to
    ref_count = 2) and together attached to node E.
    Resulting tree will look like below.
    
    [c1=1, D, 1] --> [c2=2, C, 1]
       |
       |
    [c1=2, A, 0] --> [c2=1, B, 1]
       |                      |
       |                      |
       |                  [c2=2, K, 0]
       |                      |
       |                      |
    [c1=3, E, 0] --> [c2=10, H, 2]
       |
       |
    [c1=100, F, 0] --> [c2=10, G, 2]
    
    As a result of above tree, few new conditions are possible. Which
    were not present in orginal querry. Example,
    
    Consider link C1 = 2 and (C2 = 1 or C2 = 2 or c2 = 10) from above tree.
    In this, condition (c1 = 2 and c2 = 10) was not present in orginal query.
    
    This will result in wrong estimate as it accounts for the
    newly formed possibilities as well and results in wrong plan.
    
    Issue that caused server exit is due to Node.H insertion to
    Node K will result in undecided result as node K suppose to
    be the root of the tree and which not the case here due to its
    link with B as a consequence of the wrong ref_count of Node.K.
    
    Solution: During node deletion in tree_or, reduce ref_count
    of next key_part only once instead of one for each node in the tree.

commit 980eb3a732f7bbde947f0341b337186fc2516813
Author: Libing Song <libing.song@oracle.com>
Date:   Mon May 22 16:12:01 2017 +0800

    BUG#25379659 MASTER MAY BINLOG A WRONG LAST_COMMITED
    
    DESCRIPTION
    ===========
    Transactions could binlog a last_commited smaller than expected. With the wrong
    last_commited values, the transactions which sould be applied sequentially could
    be applied parallel. That caused applier errors or data inconsistency.
    
    ANALYSIS
    ========
    When committing a transaction, its last_commited is set to the value of
    max_committed_transaction. max_committed_transaction is the maximum
    sequence_number of committed transactions. It is maintained just before
    committing each transaction to engine. If its sequence_number is not
    SEQ_UNINIT then updates max_committed_transaction accordingly.
    
    However, it checked wrong sequence_number(the sequence_number of the
    leader thread's transaction instead of the sequence_number of the transaction).
    That caused that max_committed_transaction was only updated in time for leader
    thread's transaction. The update for following transactions were delay to
    finish_commit() which was after the transaction commited to engine.
    
    FIX
    ===
    Just checks its own sequence_number of each transaction instead of the
    sequence_number of the leader thransaction.

commit 9f1b178f62a047265a22d9d446826f54871844b1
Author: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
Date:   Thu May 25 22:11:11 2017 +0200

    Backport BUG#25750822

commit 4601be093ae8ea47783a38ec5a213d49671094f6
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu May 25 18:45:11 2017 +0530

    Bug#25303711 SIGNAL 11 DURING CERTAIN QUERY WITH AGGREGATION
                           IN NESTED CONDITION
    
    Analysis
    ========
    Aggregate function in certain nested queries does have
    context set to aggregate select instead of bsae select
    of the item and leads to unwanted behaviour during merge
    context.
    
    The problem lies within Item::split_sum_func2(), where an
    Item_aggregate_ref object that wraps the set function is created.
    It is created with context.select_lex equal to the aggregation
    query block, and depended_from is the same query block,
    when this query block is different from the "base" query block
    of the set function.
    
    Fix
    ====
    Created the Item_aggregate_ref with context.select_lex set
    to be the "base" query block of the set function, and depended_from
    as the aggregation query block.
    
    [This is a backport of a change done in 8.0 to fix Bug#17270896:
    Crash in Item_ident::fix_after_pullout()]

commit 66611ea1ae72a8d40c9ff0099f38880b0b803695
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu May 25 12:16:47 2017 +0200

    Bug#25473794: GR: PARTITIONED NODE SHOULD GET UPDATED STATUS AND NOT ACCEPT WRITES
    
    When there is a network partition and a member is on a minority all
    queries into that member will block.
    In an effort to improve this situation, a new variable is added.
    This variable will allow the user to chose if the member shall leave
    the group after N seconds of being in a minority.

commit 091d0fe9c0ff28baaad14d63770ce33f45b080e5
Merge: 48a0a60 c18052c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu May 25 15:12:21 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c18052c7a9588e5ed25eca8bbccc82906d46cca7
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed May 24 16:01:41 2017 +0530

    Bug #18301877	RPL.RPL_FLUSH_LOGS TEST FAILS OCASIONALLY ON
    PB2: FILE_EXISTS" ERROR 1
    
    Analysis: In the test script, after executing "Flush logs" command
    on Master, test script expects slave to create two relay log files.
    Before checking for the existence of these files, test script is
    doing "sync_slave_io_with_master.inc". This works fine if the test
    script runs with 'GTID_MODE=OFF' because sync is checked with
    positions. In case of GTID_MODE=ON , sync is checked with gtid
    numbers. Flush logs (admin commands) does not generate a gtid number.
    So sync_slave_io_with_master.inc (with gtid_mode ON mode) assumes
    that slave is in sync with master even though it is not yet
    executed latest "flush logs" command from the master.
    
    Fix: "Flush" commands are logged as rotate events in the binary
    log without gtid events. So it is correct to check master
    and slave sync logic with positions instead gtids numbers.
    Hence for this test script, making use_gtids to false
    in all the cases (GTID_MODE ON or OFF).

commit 48a0a60075f148c2998aeeef89a662e5904d4556
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Thu May 25 10:46:30 2017 +0200

    Bug#25876841: THE ERROR MESSAGE ABOUT SLAVE-PARALLEL-TYPE IS WRONG
    
    Problem: Error message displayed for slave-parallel-type is wrong.
    
    Description:
    Present message:
    In order to use parallel applier on Group Replication, parameter
    slave-parallel-workers must be set to 'LOGICAL_CLOCK'
    Issue:
    LOGICAL_CLOCK is related to slave-parallel-type and not
    slave-parallel-workers
    Correct message:
    In order to use parallel applier on Group Replication, parameter
    slave-parallel-type must be set to 'LOGICAL_CLOCK'
    
    Resolution:
    Correct error message to "slave-parallel-type must be set to 'LOGICAL_CLOCK'"

commit cd49d5c45078f35539df25ee14b81f01d43400f6
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed May 24 13:12:54 2017 +0200

    BUG#26134361: GROUP_REPLICATION.GR_KEY_ROTATION TEST FAILING FREQUENTLY ON PB2 MYSQL-5.7
    
    The test gr_key_rotation instruments some failures on the keyring
    plugin, such as "keyring not found", which contains the full path.
    The suppression of the error message was not considering correctly
    Windows path separator character.
    
    This patch fixes that by ignoring both '/' and '\' characters on the
    error message suppression.

commit 0c12827cbee50f8c5e4581008967d85c1463f40e
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu May 25 10:19:25 2017 +0200

    BUG#26042764: BACKPORT BUG#25642343 AND BUG#24311527 TO 5.7
    
    Rename user account mysql.session_user to mysql.session

commit 47d1f7a5a4719708ad8370f5c6344c9b1735f732
Merge: f04824c e7482a7
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu May 25 12:40:19 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e7482a70d9b783a32623ec05c132119388978a95
Merge: 7aa6ca9 151fe52
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu May 25 12:40:08 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 151fe524b33d9f5192404ae3a30b51927fd51e67
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed May 24 16:12:57 2017 +0530

    Bug#18950197 RPL_SEMI_SYNC_UNINSTALL_PLUGIN FAILS BECAUSE
    RPL_SEMI_SYNC_MASTER_CLIENTS=1
    
    Analysis: Uninstalling rpl_semi_sync_slave on slave
              will trigger removing the slave logic on Master which
              will reduce Rpl_semi_sync_master_clients by one number.
              But it happens asynchronously on Master. Having assert
              to check this value with zero will have problems on
              slow pb2 machines.
    
    Fix: Change assert into wait_for_status_var condition.

commit f04824ca32ca4057534b8ac1074fde57f5b3c828
Merge: 91aacba 7aa6ca9
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Wed May 24 18:26:51 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7aa6ca9c579f5493c9d992a6c5bae80e98b9f93e
Merge: 0172a8d 40ecadb
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Wed May 24 18:14:02 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 40ecadb305a9ae831f882fd1176bac4856a84aa8
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Wed May 24 18:09:17 2017 +0200

    Bug #25658832 VALIDATION CHECK FOR MSVC REDIST NEEDED IN SERVER COMMUNITY MSI
    
    Added matching redist prerequisite check to the server msi installer.

commit 91aacbafffbcc353588cf684ec18163738e620cb
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Wed May 24 09:08:09 2017 +0530

    Bug#26084820: CHARACTER SET PROBLEMS IN INNODB_FTS.PROXIMITY TEST
    
    Issue:
    ------
    The innodb_fts.proximity contains Unicode characters, but does not
    set the character set to uft8, so by default on 5.7, latin1 is used.
    This means that the Chinese characters in the test are not
    interpreted as Unicode characters, but as latin1 characters. They
    are then converted to utf8 before being inserted into the table
    which is created with utf8 character set. This results is some queries
    returning an incorrect number of rows because certain characters are not
    matched.
    
    Fix:
    ----
    Set the character set to utf8 in the test on 5.7. Utf8mb4 is the default
    character set in 8.0.1, so no changes to the test have to be made.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 16278

commit 4cc63239da93926f54f22c514d440d85d512080a
Merge: 762edb6 0172a8d
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed May 24 08:53:36 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0172a8d6e23f8e112c7c6d3c31e2c77ed27baf44
Merge: b75ceeb ef13055
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed May 24 08:51:35 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ef1305508bcd08c90bcd6627bfa8acabaad96246
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed May 24 08:50:05 2017 +0530

    Bug #24595639: INCORRECT BEHAVIOR IN QUERY WITH UNION AND
                   GROUP BY
    
    Issue 1:
    --------
    This problem occurs in the following conditions:
    1) A UNION is present in the subquery of select list and
       handles multiple columns.
    2) Query has a GROUP BY.
    
    A temporary table is created to handle the UNION.
    Item_field objects are based on the expressions of the
    result of the UNION (ie. the fake_select_lex). While
    checking validity of the columns in the GROUP BY list, the
    columns of the temporary table are checked in
    Item_ident::local_column. But the Item_field objects
    created for the temporary table don't have information like
    the Name_resolution_context that they belong to or whether
    they are dependent on an outer query. Since these members
    are null, incorrect behavior is caused.
    
    This can happen when such Item objects are cached to apply
    the IN-to-EXISTS transform for Item_row.
    
    Solution to Issue 1:
    --------------------
    Context information of the first select in the UNION will
    be assigned to the new Item_field objects.
    
    
    Issue 2:
    --------
    This problem occurs in the following conditions:
    1) A UNION is present in the subquery of select list.
    2) A column in the UNION's first SELECT refers to a table
       in the outer-query making it a dependent union.
    3) GROUP BY column refers to the outer-referencing column.
    
    While resolving the select list with an outer-reference, an
    Item_outer_ref object is created to handle the
    outer-query's GROUP BY list. The Item_outer_ref object
    replaces the Item_field object in the item tree.
    Item_outer_ref::fix_fields will be called only while fixing
    the inner references of the outer query.
    
    Before resolving the outer-query, an Item_type_holder
    object needs to be created to handle the UNION. But as
    explained above, the Item_outer_ref object has not been
    fixed yet. Having a fixed Item object is a pre-condition
    for creating an Item_type_holder.
    
    Solution to Issue 2:
    --------------------
    Use the reference (real_item()) of an Item_outer_ref object
    instead of the object itself while creating an
    Item_type_holder.

commit 762edb6ddf6d244b88e1c3e22787c76dc388ee92
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue May 23 20:01:50 2017 +0200

    BUG#26042764: BACKPORT BUG#25642343 AND BUG#24311527 TO 5.7
    BUG#24311527: PLUGIN-LOAD FAILS AFTER MYSQLD --INITIALIZE
    BUG#25642343: THE SERVER SHOULD HAVE A DEFAULT USER FOR THE SERVER SESION SERVICE
    
    Backport of BUG#25642343 AND BUG#24311527 into mysql-5.7
    
    Plugins like X and Group Replication try to use the root user to
    contact the server using the Server Session Service.
    This approach has many drawbacks as the root user may not be in the
    server or is expired.
    This patch proposes a different approach by adding to the server a
    default locked user that can be used by plugins.
    
    This patch introduces:
      - The user creation on --initialize
      - The user creation on upgrade
      - MTR changes so the user is created on bootstrap
    
    This patch also includes changes to the way the group replication
    plugin contacts the server to protect the context associated to
    external users sessions.

commit 41f8bcdeb2ab558c664e8fe6b411df7c2c9270d0
Merge: d04ecc4 b75ceeb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue May 23 16:40:00 2017 +0200

    NULL merge from 5.6

commit b75ceeb8568e55bf0624a5bd37b7329a41d8a338
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon May 22 17:15:34 2017 +0200

    Bug#26105359 BUILD BREAK OF MYSQL 5.6 WITH GCC .7.1.1
    
    sql_acl.cc:3533:59: error: ISO C++ forbids comparison between pointer and integer

commit d04ecc4d2b393828b0faf522d0794aecdd51ab4d
Merge: edc3c84 a6b114d
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Tue May 23 11:28:36 2017 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit a6b114d580e8861da97d4998f1fcb8b7e3c1a4dc
Merge: 1cc7e9f b0f667e
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Tue May 23 11:27:15 2017 +0300

    Merge branch 'mysql-5.5' into mysql-5.6

commit b0f667ea5a36a0c07519bde14526a933dec10452
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Tue May 23 11:24:23 2017 +0300

    Bug# 25998635: Client does not escape the USE statement
    
    Postfix:
    On *NIX platforms backtick (`) carries a special
    meaning under shell, so it needs to be escaped

commit edc3c8475f369bb692ddb3c389e63b0b41792f3c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri May 19 09:05:11 2017 +0200

    Bug#26100488	MAIN.MYSQL_NOT_WINDOWS TEST FAILS ON UBUNTU 17.10
    
    The "unreasonably high" file limit of 1M is within Ubuntu 17.10's
    hard limit, causing the test to fail. Increased to 10M

commit 291c302032c3a8ad1507b4516bffb66220ea2120
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon May 15 08:40:51 2017 +0200

    Bug#26002288	SERVER INSTALL FAILS AFTER AKONADI-BACKEND-MYSQL ON UBUNTU 17.04
    
    * Server package now conflicts with native client packages.
    * Client package now conflicts with native server packages.

commit 8c4b4ce6ccd1db06648c58dcefe04d51a0c1ed52
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri May 12 09:01:25 2017 +0200

    Bug#26048433	INCONSISTENT VARIABLE USE IN PACKAGING/DEB-IN/DEB_NDB.CMAKE
    
    Fixed inconsistent variable use in ndb import file.
    The file was using both ${DEB_PRODUCTNAME} and @DEB_PRODUCTNAME@, and the latter
    fails a check on cmake policy CMP0053.

commit 9d6f7291e83e39fde20ea4294080b335800c409b
Merge: 2895ffa 1cc7e9f
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue May 23 07:16:14 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1cc7e9f7695ce58bfa8b536112f1e4cfdbe5bc1a
Merge: 6f7d4f1 dec932d
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue May 23 07:15:54 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit dec932d3930cfe7b73aff5d7b1a186883bc83795
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue May 23 07:14:33 2017 +0200

    Bug#25988681: USE-AFTER-FREE IN MYSQL_STMT_CLOSE()
    
    Description: If mysql_stmt_close() encountered error,
                 it recorded error in prepared statement
                 but then frees memory assigned to prepared
                 statement. If mysql_stmt_error() is used
                 to get error information, it will result
                 into use after free.
    
                 In all cases where mysql_stmt_close() can
                 fail, error would have been set by
                 cli_advanced_command in MYSQL structure.
    
    Solution: Don't copy error from MYSQL using set_stmt_errmsg.
              There is no automated way to test the fix since
              it is in mysql_stmt_close() which does not expect
              any reply from server.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Ramil Kalimullin <ramil.kalimullin@oracle.com>

commit 2895ffae55b4ab96748faf2eb3ab0b9331abbab5
Merge: a326f87 6f7d4f1
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 23 10:25:19 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6f7d4f1cbfcba58f7f0762bcb0376bf53bae3842
Merge: 26deac8 669d6be
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 23 10:24:12 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 669d6be28901eecf9965a69ad546a74ec6570658
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 23 10:22:33 2017 +0530

    Bug#16212207 - LOAD XML INFILE PERFORMANCE WITH INDENTED
                   XML
    
    Post-push fix for build failure on Linux machine
    sles11-x86-64bit

commit a326f870a605a6c9926a706d6d23354c1679467c
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu May 11 15:17:22 2017 +0530

    BUG#24590891: RESTARTING A SLAVE AFTER SEEDING IT WITH A MYSQLDUMP LOSES ITS POSITION
    
    Background:
    SET GTID_PURGED will set the correct GTID_PURGED value in memory
    and persist it in mysql.gtid_executed.
    mysqldump is supposed to output SET GTID_PURGED statements that
    cause the restored server to have GTID_PURGED equal to the dumped
    server's GTID_EXECUTED.
    
    Problem:
    With gtids enabled, mysqldump would first write a SET GTID_PURGED
    statement and then write statements that recreate the
    mysql.gtid_executed table to an exact copy of the dumped server's
    mysql.gtid_executed table.  Therefore, the table would hold the wrong
    value for GTID_PURGED. This was not seen immediately because
    GTID_PURGED is cached in memory. But after a restart, GTID_PURGED is
    re-read from the table, and then it would be set to the wrong value.
    
    Fix:
    Make mysqldump exclude mysql.gtid_executed from the dump.

commit 4c2413e646f82bcc22fcba0a564403e3db2feb4e
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Tue May 23 08:37:25 2017 +0800

    Bug #19594845  INCIDENT LOG EVENTS SHOULD HAVE UNIQUE GTIDS WHEN GTID MODE IS ON - post fix
    
    Fix a werror on el7-x86-64 and a docxygen issue.

commit d56a1c37217528ce3f58e7d3bdc972c718119cb0
Merge: 272bc22 26deac8
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon May 22 18:45:23 2017 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 26deac81617a15e903a780a02a71d574ffc3ac16
Merge: b782314 effdd36
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon May 22 18:38:36 2017 +0300

    Merge branch 'mysql-5.5' into mysql-5.6

commit effdd36dd351c51d2284ab77772416ef32750cf7
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon May 22 15:52:00 2017 +0300

    Bug# 25998635: Client does not escape the USE statement
    
    When there are quotes in the USE statement, the mysql client does
    not correctly escape them.
    
    The USE statement is processed line by line from the client's parser,
    and cannot handle multi-line commands as the server.
    
    The fix is to escape the USE parameters whenever quotes are used.

commit 272bc229b09099f56f94e1521937b486a7aa96cf
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Mon May 22 14:22:22 2017 +0530

    BUG#26078602: BACKPORT BUG#25574200 TO 5.7
    
    Issue:
    ======
    For a given below scenario where S1 and S2 are in Group Replication in Single
    Primary Mode and S3 and S2 are in asynchronous replication. In Group Replication
    between S1 and S2, S1 acts as Primary and S2 as secondary. In Asynchronous
    Replication between S3 and S2, S3 acts as master and S2 as slave.
    
       --Single Primary Mode--
       |                     |
    Primary              Secondary
      S1<------------------->S2<--------------------S3
          Group Replication      Async Replication
    
    Now issue comes when any data is inserted in S3 which gets replicated to
    S2 which has super_read_only mode active due to single primary mode. But
    super_read_only mode only prohibits client updated and so it can get data
    from master. And as S1 and S2 are in Group Replication data gets through
    to S1 from a read-only member.
    
    Resolution:
    ===========
    Don't allow asynchronous channel to start on secondary when group replication
    is in single primary-mode.
    Don't allow group replication to start on single primary-mode when
    asynchronous replication channels are running.
    
    Note:
    
    This is a backport of Bug#25574200 patch from mysql-8.0.

commit d0a749e19b5ade9c9935db30d249fee2ea4ed688
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon May 22 16:08:02 2017 +0530

    Bug #25452210: SETTING _SSL_MODE=REQUIRED BEFORE
                   _TLS_VERSION DOWNGRADES _SSL_MODE
    
    
    Description:- Setting of some of the ssl options downgrades
    SSL_MODE option value.
    
    Fix:- All implicit SSL_MODE settings are removed.

commit 2f5d02493cbfb275662d3e86a9a520cac597ee06
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Mon May 22 15:59:06 2017 +0800

    Bug #19594845  INCIDENT LOG EVENTS SHOULD HAVE UNIQUE GTIDS WHEN GTID MODE IS ON - post fix
    
    Fix a compilation error completely.

commit cebd67983a71f903bfc874c3f3e567c4d31a8c2e
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Fri May 19 18:10:20 2017 +0800

    Bug #19594845  INCIDENT LOG EVENTS SHOULD HAVE UNIQUE GTIDS WHEN GTID MODE IS ON - post fix
    
    Fix a compilation error on some platforms.

commit e5af4e0843375fdafa33c2d3677c239fa6aa28df
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri May 19 10:48:55 2017 +0530

    Bug #26089518: SPORADIC FAILURE OF INNODB.INNODB-ISOLATION
    
    Problem
    -------
    The results diff is because the explain output
    of the query sometimes gives the number of rows
    slightly different that what is stored in result file.
    This is because the row count variable provided by
    the explain is merely a estimate and  can vary.
    
    FIX
    ---
    
    As done in other parts of test case we have
    we are ignoring the number of rows returned
    by the explain query. We make sure that plans
    are not changed by using analyze.
    
    [ #rb 16267 Pushing on behalf  Sree Harsha ]

commit 11ad3e0cd7ac2af639f89cbb82f988b7cd5322ad
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Fri May 19 09:23:30 2017 +0800

    Bug #19594845  INCIDENT LOG EVENTS SHOULD HAVE UNIQUE GTIDS WHEN GTID MODE IS ON
    
    Currently, if any Incident event occurs that breaks RPL, the incident
    is binlogged without GTIDs. Due to this, if user wants to skip the
    Incident event through general commands of GTID i.e.
    'set gtid_next=<GTID>; begin; commit;', user cannot. User has to take
    approach of setting the relaylog file and relaylog positions to post
    incident_log_events to skip such incidents. Specially, when
    autoposition is ON, user has to stop the autoposition, then set the
    relaylog file/pos and then set it back to ON.
    
    To fix the problem, we write the Incident event into stmt_cache, so
    that a GTID is generated and written for it prior to flushing the
    stmt_cache, and make the slave applier work with the change. Then
    users can skip the Incident event through general commands of GTID
    i.e. 'set gtid_next=<GTID>; begin; commit;'.
    
    Remove testing purpose code at sql/parser.cc, since we don't
    have a real case that generates an incident log event before
    writing the real event to the binary log.
    
    rpl_skip_incident.test and rpl_incident.test are removed, since
    the related testing purpose code at sql/parser.cc is removed and
    skipping incident on slave is tested by the two new added test
    when gtid mode is on and by rpl.rpl_stm_binlog_max_cache_size
    when gtid mode is off.
    
    binlog_incident_ignore.test and binlog_incident.test are updated
    with an incident caused by partially failed GRANT statement.

commit d2d58885017b505ef02969307457abb3191a04ef
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu May 18 17:47:30 2017 +0530

    - Post-push fix to avoid truncate_debug failure in release build

commit 8a1c8d2a02dfeacc3d59ed67b499273c6f8f13cd
Merge: e75b739 b782314
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu May 18 14:32:55 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b782314a1a623a689e516dce8c447b2ca8b106c3
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu May 18 14:31:01 2017 +0530

    Bug #24605783 MYSQL GOT SIGNAL 6 ASSERTION FAILURE
    
    PROBLEM
    
    The in memory record gets corrupted while memcached plugin tries to
    fetch record because the innodb_api_rec member of row prebuilt structure
    is made to point to physical address of record directly while searching
    rows from mysql which might get corrupted meanwhile causing the
    assertion failure.
    
    FIX
    
    Probable fix is to do a memcopy of the physical record and use that to
    fetch records in ib_cursor_read_row.
    
    Reviewed-by: Jimmy Yang<Jimmy.Yang@oracle.com>
    RB: 15496

commit e75b739b940d68e77da99d233070628732779a6a
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu May 18 14:09:23 2017 +0530

    Bug #25357789   INNODB: LATCH ORDER VIOLATION DURING TRUNCATE TABLE
                            IF INNODB_SYNC_DEBUG ENABLED
    
    Analysis:
    ========
    
    (1) During TRUNCATE of file_per_table tablespace, dict_operation_lock is
    released before eviction of dirty pages of a tablespace from the buffer
    pool. After eviction, we try to re-acquire
    dict_operation_lock (higher level latch) but we already hold lower
    level latch (index->lock). This causes latch order violation
    
    (2) Deadlock issue is present if child table is being truncated and it
    holds index lock. At the same time, cascade dml happens and it took
    dict_operation_lock and waiting for index lock.
    
    Fix:
    ====
    1) Release the indexes lock before releasing the dict operation lock.
    
    2) Ignore the cascading dml operation on the parent table, for the
    cascading foreign key, if the child table is truncated or if it is
    in the process of being truncated.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 16122

commit c492e2d670f1abdc62fa80ee6499bdfb4da5d6ed
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu May 18 13:53:27 2017 +0530

    Bug #24961167	CONCURRENT INSERT FAILS IF TABLE DOES REBUILD
    
    Analysis:
    =========
       During alter table rebuild, InnoDB fails to apply concurrent insert log.
    If the insert log record is present across the blocks then apply phase
    trying to access the next block without fetching it.
    
    Fix:
    ====
    During virtual column parsing, check whether the record is present
    across the blocks before accessing the virtual column information.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 16243

commit 30003da7e0e518fcaca9f94c92aa1fef2366eebe
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed May 3 10:29:51 2017 +0200

    WL#9053: Group Replication: Push Group Replication Plugin to mysql-trunk
    
    Build with gcc (GCC) 5.4.0
    error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
     #define number_is_valid_port(n) ((n) > 0 && (n) <= UINT16_MAX)
    
    Fix: cast UINT16_MAX to int
    (cherry picked from commit 940e828bb8213624aea163d45ada65871c15ea12)

commit 53d584f8d43aef89dca67d69b4cb7cd325179c53
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Wed May 17 18:28:02 2017 +0530

    BUG#25209512: CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER
    
    Post push fix:
    Valgrind reported errors because INSERT and LOAD operations
    compared the old data record (TABLE::record[1]) and the
    new data record (TABLE::record[0]). New data record is
    initialized only for UPDATE operations.
    
    A check is now introduced to ensure only UPDATE operations
    compare records.

commit cf901b607cc165911d7b21ece5d0ad45fff92f12
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue May 16 15:34:34 2017 +0530

    Bug#24829050 INDEX_MERGE_INTERSECTION OPTIMIZATION CAUSES
                 WRONG QUERY RESULTS
    
    Analysis
    ========
    When using index_merge for InnoDB tables with a primary key,
    the server does not set read_set correctly for index scan after
    optimization. This does not cause a problem in other cases
    because InnoDB does create templates during first call to
    index_read(). Innodb uses sql_stat_start to decide initializing
    templates in index_read(). sql_stat_start is set to false at
    handler creation and set to true during first call to index_read().
    In case of sub-query, during optimization we scan the index
    and reset it for index read for execution. Further call to
    index_read() does uses the templates created at reset as
    inited is set to true during optimize phase.
    
    This leads to InnoDB not reading primary key of the rows and
    furthur leads to mismatch during index merge.
    
    Fix
    ====
    Provide correct read_set for each index during index_reset
    to innodb for creating the right column template for reading.

commit a263e14b41f34ac4c11b36a60fe76b6ab3b0a9ef
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue May 16 11:54:27 2017 +0200

    BUG#25420001 KEYRING_OKV PLUGIN FAILED TO WORK IF SELINUX IN ENFORCING MODE ON EL PLATFORMS
    
    Correct SELinux context must be set on all files in keyring directory,
    add recursive option to enable this.

commit d7cca9c54c8175a725116251165c1cfa5409e15e
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Mon May 15 16:22:17 2017 +0300

    Bug #22834591: unused-local-typedef warnings from boost 1.59
    
    Description:
    Boost version 1.59 produces lots of unused-local-typedef warnings.
    Boost version 1.64 (used in version 8) does not.
    
    Copying from client/dump/CMakeList.txt I add the compiler flag to ignore
    these warnings.
    
    Testing Done:
    Compilation on linux:
    Scanning dependencies of target keyring_file
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/common/keyring_key.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/common/keys_container.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/common/keyring_impl.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/keyring.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/hash_to_buffer_serializer.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/buffered_file_io.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/file_io.cc.o
    [ 51%] Building CXX object plugin/keyring/CMakeFiles/keyring_file.dir/buffer.cc.o
    [ 51%] Linking CXX shared module keyring_file.so
    [ 51%] Built target keyring_file
    [ 51%] Built target validate_password
    
    Compilation on Windows succeeds too.
    mtr on Linux and Windows
    
    RB:16241

commit 7af24039d879a037d71dc8821ce39c95118155e9
Merge: ef2c8c9 9606f01
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 16 13:55:40 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9606f011ef4d7a18ae6c464cacfec79eda6ba3bd
Merge: 50096c5 ceea4b8
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 16 13:50:41 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ceea4b825ddb974b4723bf6f645fc73cac7aaf41
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 16 13:48:52 2017 +0530

    Bug#16212207 - LOAD XML INFILE PERFORMANCE WITH INDENTED
                   XML
    
    DESCRIPTION
    ===========
    LOAD XML INFILE performance becomes painfully slow if the
    tags' value has any space(s) in between them. They're
    usually kept intentionally for indentation purpose.
    
    ANALYSIS
    ========
    The extra spaces are calling clear_level() many a times
    which is having overhead of clearing taglist etc. This can
    be avoided altogether by skipping all such spaces.
    
    FIX
    ===
    Trim all the starting whitespaces from the value before
    passing it to read_value()

commit ef2c8c996dfd73b6f7abd8b7e152473760f327f6
Merge: db73420 50096c5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue May 16 09:32:38 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 50096c53b4fe5bd3c8dd59e442ac3229418d08b0
Merge: 2640dab dc6a5d8
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue May 16 08:58:21 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit dc6a5d87d1cd6893dc86fc5554329a70b2864866
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 26 12:45:38 2017 +0200

    Bug #25436469: BUILDS ARE NOT REPRODUCIBLE
    
    Backport to 5.5
    
    Current MySQL builds, even on Pushbuild, are not reproducible; they return
    different results depending on which directory they are built from (and
    Pushbuild uses several different directories). This is because absolute paths
    leak into debug information, and even worse, __FILE__. The latter moves code
    around enough that we've actually seen sysbench changes on the order of 4% in
    some tests.
    
    CMake seemingly insists on using absolute paths, but we can insert our own
    layer between CMake and GCC to relativize all paths. Also give the right flags
    to get debug information reproducible and turn off build stamping. This makes
    the mysqld build 100% bit-for-bit reproducible between runs on my machine,
    even when run from different directories.

commit db73420a73ea6d75e7425d113291d7b8ad98ee9b
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue May 16 11:30:49 2017 +0530

    BUG#25209512: CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER
    
    Post push fix for test failure.

commit fb0cfd51c837c58954e76a273be5254d6849b6ec
Merge: 19ca9ea 2640dab
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue May 16 09:50:07 2017 +0530

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

commit 2640dabf07bc74af296a576d2e0dd3f9aa38bc25
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue May 16 09:47:45 2017 +0530

    Bug #25332330	COUNT(*) ON INNODB SOMETIMES RETURNS 0
    
    PROBLEM
    
    When using Index merge optimization current partitioning code in 5.6
    does a memcpy instead of column of copy of the columns on which index
    read is done . Because of which wrong record gets copied and optimizer
    thinks there is no matching record as per the search criteria returning
    0 for the count(*) value . The problem is sporiadic as the plan is not
    always using intersection .
    
    SOLUTION
    
    Added a similar column copy function that would do the copy of required
    column and not overwrite the other as in 5.7.
    
    Reviewed-by: Debarun Banerjee<debarun.banerjee@oracle.com>
    RB: 16157

commit 19ca9eab9aedcca927ab90316b8eb369ceb7bcbb
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue May 16 07:14:59 2017 +0530

    Bug#21280753    MTS MUST BE ABLE HANDLE LARGE PACKETS WITH
    SMALL SLAVE_PENDING_JOBS_SIZE_MAX
    
    Post push fix (Test designed in mysql-5.6 where we have only
    slave_parallel_type=database type). Including
    that restriction in the test.

commit 8daf83a2bf7278e90f2053bbf96802eba9cdfbe8
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon May 15 18:30:35 2017 +0530

    BUG#25209512: CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER
    
    ANALYSIS:
    =========
    Zero date(0000-00-00 00:00:00) is generated by the
    'BEFORE INSERT' trigger defined on a table with TIMESTAMP
    or DATETIME field having the default as CURRENT_TIMESTAMP
    or NOW().
    
    Similar behavior is observed with LOAD INFILE queries and
    also with BEFORE UPDATE triggers.
    
    Whenever a 'BEFORE INSERT' trigger is defined on a table
    and an insert happens on it, the trigger body is executed
    first and then the new record is written into the table.
    If the trigger body tries to utilize the default values
    of the fields in the table, the values used will be
    incorrect.
    
    Brief working of 'AFTER INSERT' triggers:
    1. Set function defaults for the table.
    2. Write record into the table.
    3. Process the trigger defined on it.
      3.1 Execute the trigger body.
    
    Brief working of 'BEFORE INSERT' triggers:
    1. Process triggers defined on the table.
      1.1 Execute the trigger body.
    2. Set function defaults for the table.
    3. Write record into the table.
    
    Hence when a 'BEFORE INSERT' trigger is defined for a
    table, the evaluation of default functions is not done for
    the table before processing the trigger. Thus the default
    values of the table are not updated and if the trigger body
    tries to utilize these values, incorrect result will be
    obtained.
    
    FIX:
    ====
    We are now evaluating the function defaults for a table
    before processing the 'BEFORE INSERT' or 'BEFORE UPDATE'
    triggers defined on it.

commit e9f9ef11f0b9bf1e1b2755a024ef5f72077b51b7
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Mon May 15 17:47:47 2017 +0530

    Bug#26036570: NEW PRIMARY IS NOT ELECTED BASED ON LOWEST ID IN
    LEXICOGRAPHICAL ORDER
    
    Issue:
    The member having lowest server uuid is selected as primary leader in single primary mode election.
    But that got reversed in Bug#25876807 push, so now its electing primary as member having highest server uuid.
    
    Solution:
    The sorting method comparator_group_member_uuid should sort in ascending
    lexicographical order instead of descending lexicographical order.

commit 2e11c90c23833e33966ddb6b7b22c5466b4d8543
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Mon May 15 12:43:24 2017 +0200

    Bug#26077226 DATABASE INITIALIZE FAILING IF SELINUX IS ENFORCING MODE ON EL6
    
    Under SELinux mysqld can't read files under /tmp, switch directory to
    /var/lib/mysql-files which have correct SELinux context.

commit b26599068505aba0862d7278425e31db80b01d3b
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon May 15 11:01:49 2017 +0200

    Bug#24559588	CANNOT RUN MULTIPLE MYSQL INSTANCES UNDER SYSTEMD
    
    Post-push fix: One of the help script functions has a syntax error

commit 825808ad4c379f3431ed375eeaa7a1742dec76d7
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 15 08:56:15 2017 +0200

    Bug#23289541: THE PROXIES_PRIV TABLE IS NOT REPLICATED
    
    Description: PROXY grants are not properly replicated.
                 This fix makes sure that query rewrite is
                 done properly.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Luis Soares <luis.soares@oracle.com>

commit d7d95e6c081cdc6bd851992ddfc2e7d7789648b4
Merge: a1f69c2 0c1e512
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Sat May 13 10:26:18 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0c1e512b175c562376a9d8cd25d567fb6f0d77bd
Merge: 02b3992 94411a0
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Sat May 13 10:25:05 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 94411a02b27a3d3c9d1b5f6e55a20bb0f5ce61bb
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Sat May 13 10:22:46 2017 +0530

    BUG#25451091:CREATE TABLE DATA DIRECTORY/INDEX DIRECTORY SYMLINK
                 CHECK RACE CONDITIONS
    
    Post push patch to fix test failure.

commit a1f69c29b5540af018631d6823ffb379d7cbdd43
Merge: 0dcc766 02b3992
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Sat May 13 07:27:20 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 02b39926e3317ffbc9f6300e06de85f758f82509
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Sat May 13 07:25:42 2017 +0530

    Bug#21280753    MTS MUST BE ABLE HANDLE LARGE PACKETS WITH
    SMALL SLAVE_PENDING_JOBS_SIZE_MAX
    
    Problem: MTS is unable to process an event which is smaller than
    slave_max_allowed_packet but bigger than slave_pending_jobs_size_max.
    
    Analysis and Fix:
    In the current code , slave_pending_jobs_size_max is hard limit i.e., any
    packet greater than slave_pending_jobs_size_max is rejected by Coordinator.
    Slave SQL thread will be stopped with error
    ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX. Now in this patch,
    this limitation is changed to soft limit.
    
    If there is an event whose size falls in between soft limit
    (slave_pending_jobs_size_max) and the hard limit (slave_max_allowed_packet),
    then we consider it as big event and MTS coordinator will wait till all
    workers queue becomes empty. After it is empty, then this big event will be processed.
    i.e., only one event of this size will be executed at any given time.
    All the next events ( big or small) will wait in the coordinator for this big event to finish
    it's execution.
    
    IO thread has already having logic to protect event size with
    slave_max_allowed_packet size (as the hard limit).  When IO thread is
    downloading the event from the master, if the event size is greater than
    slave_max_allowed_packet size, IO thread stop by throwing error
    ER_NET_PACKET_TOO_LARGE. Hence there are no changes required
    there.

commit 0dcc7669851e6fa00a7291d2f6cff462e8aabbb0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri May 12 12:23:32 2017 +0530

    BUG#25040331: INTERLEAVED XA TRANSACTIONS MAY DEADLOCK SLAVE APPLIER
                  WITH REPEATABLE READ
    
    Problem and Analysis
    --------------------
    
        Because of the use of MTS and/or XA transactions, the order statements
        from distinct transactions were originally applied on the master may not
        be the same order they are applied on the slave.
    
        On those cases, using RBR with a transaction isolation level other than
        READ COMMITTED might might lead to blocking conditions that didn't
        happened on the original workload (see BUG#25082593).
    
    Fix
    ---
    
        We are now using a flag on the [Anonymous_gtid|Gtid]_log_event stating
        if the transaction might have changes logged with statements.
    
        When this flag is set (default for non-fixed servers) the slave will not
        change the applier thread transaction isolation level.
    
        When the flag is not set, the applier will set the transaction isolation
        level of the current transaction to READ COMMITTED if necessary (it will
        not change it when the applier session isolation level be equal or less
        restrictive than READ COMMITTED).
    
        In this way, we are forcing that all transactions replicated using row
        based replication will always use the READ COMMITTED transaction
        isolation level on the slave side, regardless of any server transaction
        isolation level configuration.
    
        The fix also restored the applier session transaction isolation level
        after applying a Xid_log_event (after committing a replicated
        transaction), a XA_prepare_log_event (after preparing a replicated
        transaction) and in the cases of aborted/failed transactions.
    
        The mysqlbinlog dump of a transaction flagged as "rbr_only" will also
        include a "SET TRANSACTION ISOLATION LEVEL" statement when dumping the
        GTID event.
    
    Changed files:
    
        @ libbinlogevents/include/control_events.h
    
          We gave a meaning to the already logged flag information.
    
        @ libbinlogevents/src/control_events.cpp
    
          Processed the GTID flags, collecting the "might_have_sbr_stmts" info.
    
        @ plugin/replication_observers_example/replication_observers_example.cc
        @ rapid/plugin/group_replication/src/observer_trans.cc
        @ rapid/plugin/group_replication/src/handlers/certification_handler.cc
    
          Fixed calls to GTID constructor.
    
        @ sql/binlog.cc
    
          Created a new flag at "binlog_cache_data" named "with_sbr" that is
          set true when the cache is fed with non-terminal query event.
    
          Created a new flag at "binlog_cache_data" named "with_rbr" that is
          set true when the cache is fed with Table_map or Rows event.
    
          Created also the "might_have_sbr_stmts" function, that returns false
          for "pure RBR" transactions. This new function was implemented for
          the "binlog_cache_data".
    
          Added the logic to reset and set the new flags at
          "binlog_cache_data::reset" and "binlog_cache_data::write_event", and
          also to preserve the flags upon "SAVEPOINT/ROLLBACK TO SAVEPOINT".
    
          Made "MYSQL_BIN_LOG::write_gtid" to consider the cache information
          about the binary log content when creating the Gtid_log_event.
    
        @ sql/log_event.h
    
          Updated "Query_log_event::is_trans_keyword()" to recognize XA
          transactions terminal keywords that should not be considered as
          statements changing content.
    
          Created a new function "Log_event::is_sbr_logging_format()" that
          will return true if the event was/has to be logged using SBR and
          does not contains a transaction control statement.
    
          Created a new function "Log_event::is_rbr_logging_format()" that
          will return true if the event was/has to be logged using RBR.
    
        @ sql/log_event.cc
    
          We will stop the applier with an error when we assumed the
          transaction as "rbr_only" and some statement changing content be
          applied.
    
          Restored the applier session transaction isolation level
          after applying a Xid_log_event (after committing a replicated
          transaction), a XA_prepare_log_event (after preparing a replicated
          transaction) and in the cases of aborted/failed transactions.
    
          "Gtid_log_event::print" will now also print "rbr_only=[yes|no]" when
          dumping a Gtid_log_event with mysqlbinlog. It will also include a
          "SET TRANSACTION ISOLATION LEVEL READ COMMITTED" statement when
          dumping the GTID event with "rbr_only=yes".
    
          "Gtid_log_event::write_post_header_to_memory" now computes the GTID
          flags field instead of just writing "1" to it.
    
          "Gtid_log_event::do_apply_event" now set the transaction isolation
          level to READ COMMITTED when the "might_have_sbr_stmts" flag be false.
          Note that we don't change the isolation level for skipped GTID and
          when the isolation level be less restrictive than READ COMMITTED.

commit b58cd64f5891887b0c6e4dd8978c74c27bc8a48a
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri May 12 10:59:41 2017 +0200

    BUG#25793366: GR NODE IS IN RECOVERING STATE IF BINLOG_CHECKSUM CONFIGURED ON RUNNING SERVER [Post-Fix]
    
    Missing two mtr suppression on gr_binlog_checksum_failure test

commit 42b81e003b3753497fb4f19cedc320d3b3c9dc2f
Merge: 61badeb dbf1ee1
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri May 12 09:59:10 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit dbf1ee19fbf13f4cdd0606b054635d1c0db74097
Merge: 8bf8ef0 0530096
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri May 12 09:55:35 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0530096e00884220388f4a575a6aa0852bad7b61
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri May 12 09:47:48 2017 +0530

    BUG#25451091:CREATE TABLE DATA DIRECTORY / INDEX DIRECTORY
                 SYMLINK CHECK RACE CONDITIONS
    
    ANALYSIS:
    =========
    A potential defect exists in the handling of CREATE
    TABLE .. DATA DIRECTORY/ INDEX DIRECTORY which gives way to
    the user to gain access to another user table or a system
    table.
    
    FIX:
    ====
    The lstat and fstat output of the target files are now
    stored which help in determining the identity of the target
    files thus preventing the unauthorized access to other
    files.

commit 61badeb9b25c3f0790572ecd4909bf77114987fc
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Fri Apr 28 09:33:51 2017 +0200

    BUG#25793366: GR NODE IS IN RECOVERING STATE IF BINLOG_CHECKSUM CONFIGURED ON RUNNING SERVER
    
    When node configured in GR setup with binlog_checksum='NONE' on a running
    server, then start group replication return success but node is in RECOVERING
    mode forever and server shutdown hangs at this moment. Only option is kill the
    server.
    
    The Continuation object used on the plugin applier pipeline to wait for the
    applications of events was the source of the issue.  Multiple invocations of
    the waiting for execution method when there was a previous error lead to a
    stuck pipeline.
    
    As a solution the waiting method no longer waits when there is a known previous
    error.

commit 65b37c854653101f88dd0f2f8d9e7c47aa91f3ae
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu May 11 14:56:28 2017 +0200

    WL#10166 Require WKB input in WKB parsing functions
    
    Post push fix for failing NDB testcase.

commit b6d6b7ba570f2aa5327747ef8df515ac6eec57a1
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed May 10 13:56:35 2017 +0530

    WL #5847: LDAP, fixed sasl test cases and some cleanup.

commit f2d9e31509ad95fc6b8b4baeb4d65cb52f3010af
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Wed May 10 09:36:34 2017 +0200

    WL#10166 test fix

commit 3d7a7ea29c83b54687462434117c994c655d3b7a
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon May 8 10:03:37 2017 +0200

    Bug#24559588	CANNOT RUN MULTIPLE MYSQL INSTANCES UNDER SYSTEMD
    
    Added new service file for mysql@.. services. This service is disabled by default.
    Updated systemd scripts to take instance info when checking config, etc.
    
    Known issues:
    * User needs to manually update/disable apparmor profile for new data locations
    * mysql@-instances must be manually stopped before uninstallation or upgrade

commit c347aec34c90858181346e227f92b1e8a034b26d
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Tue May 9 17:42:08 2017 +0200

    Bug #25814143: ADD SUPPORT FOR RUNNING UNITTESTS FROM SPEC FILES
    
    Don't fail build when unittests fail.

commit 30c678a2655385708886d5034a7f31453f45aca5
Author: Daniel Horecki <daniel.horecki@oracle.com>
Date:   Mon May 8 17:13:44 2017 +0200

    Bug #25814143: ADD SUPPORT FOR RUNNING UNITTESTS FROM SPEC FILES
    
    Add separate setting to run unittest while building RPM.

commit 478d3887784f67cce06c49be21fb4163588feb8d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon May 8 10:28:58 2017 +0530

    Bug #24960450   CONCURRENT DELETE DOESN'T APPLY DURING TABLE REBUILD
    
    Analysis:
    ========
    During alter table rebuild, InnoDB fails to apply concurrent delete log.
    Parsing and validation of merge record happens while applying the
    log operation on a table. Validation goes wrong for the virtual column.
    Validation assumes that virtual column information can't be the end
    of the merge record end.
    
    Fix:
    ====
    Virtual column information in the merge record can be end of the merge
    record. Virtual column information is written at the end for
    row_log_table_delete().
    
    Reviewed-by: Satya Bodapati<satya.bodapati@oracle.com>
    RB: 16155

commit 9d03e7548ed8c2789cbc155fc8825513dd1ead85
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu May 4 16:56:08 2017 +0530

    BUG#25385334: MYSQL 5.7 ERROR WITH ALTER TABLE MODIFY SYNTAX
                  AND DATETIME TYPE.
    
    Analysis:
    ========
    The problem reported in the bug is:
    ALTER TABLE MODIFY operation with FIRST/AFTER clause for
    DATE/DATETIME and GEOMETRIC types to modify the position
    of columns failed with an error.
    
    ALTER TABLE operations for DATE/DATETIME and GEOMETRIC
    types require additional handling. The cases where
    an error should be reported is discussed below:
    
    a) When a new NOT NULL column of type DATE/DATETIME/GEOMETRIC
       without a default value is added to a table which is not
       empty, a zero date and empty string is used. Under
       NO_ZERO_DATE and STRICT SQL mode, zero date is not allowed.
       An empty string is an invalid value for GEOMETRIC type.
    b) When a column of different data type which can hold NULL
       value is changed/modified to GEOMETRIC NOT NULL type,
       the NULL value is converted to a empty string which is
       invalid value for GEOMETRIC types. Note that data type
       conversion of existing columns is possible only using
       COPY algorithm. Attempt to change/modify datatypes of
       existing columns using INPLACE algorithm is not supported
       and will fail with an error.
    c) GEOMETRIC/DATE/DATETIME can be modified from NULLABLE
       columns to NOT NULL using COPY and INPLACE algorithm.
       When the table holds NULL value, an error is reported
       at SQL layer for COPY algorithm, while the SE enforces
       the restriction for INPLACE algorithm.
    
    Patch for bug19880316 utilized the flag 'error_if_not_empty'
    to enforce the restrictions for GEOMETRIC types listed above
    for COPY algorithm and also handled the case of ALTER TABLE,
    ADD column for INPLACE algorithm.
    
    The patch for bug19880316 introduced a bug-ALTER TABLE MODIFY/
    CHANGE operation with FIRST/AFTER clause for GEOMETRIC types
    using COPY/INPLACE algorithm to modify the position of columns
    failed with an error. The scope of the bug was extended to
    DATE/DATETIME types with the bug fix for bug16888677 which is
    now raised in the current bug report.
    
    The flag 'error_if_not_empty' is set in 'mysql_prepare_alter_table()'
    when:
    * Field is DATE/DATETIME or GEOMETRIC.
    * Field is NOT NULL and DEFAULT value is not supplied.
    
    The flag is later utilized to report error "Invalid use of NULL
    value" in mysql_inplace_alter_table() if:
    * The MDL lock is not upgraded from SU to block writes.
    * Table is not empty.
    
    The ALTER operation reported in the bug report can be performed
    using INPLACE algorithm which does not require the SE to block writes.
    Hence the MDL lock is not upgraded. The flag was incorrectly set for
    the above ALTER operation which triggered the error.
    
    Fix:
    ====
    a) The flag 'error_if_not_empty' is set when new NOT NULL columns
       of DATE/DATETIME/GEOMETRIC types are added.(Note that the other
       case where the flag is set when datatype is modified/changed to
       GEOMETRIC NOT NULL from NON-GEOMETRIC types using COPY algorithm
       introduced by patch for bug 19880316).
    
    b) Also the check to ensure that MDL lock is upgraded
       from SU is removed from 'mysql_inplace_alter_table()'.
       ALTER TABLE, INPLACE algorithm does not support
       changing/modifying data type. So, the flag
       'error_if_not_empty' is set only for ALTER TABLE,
       ADD which takes an exclusive lock.
    
    c) ALTER TABLE, MODIFY/CHANGE using INPLACE algorithm to change
       columns from NULL to NOT NULL, the validation is pushed down
       to SE.
    
    d) Change in error message is recorded for the test
       'alter_spatial_index.test' in innodb_gis since the fix
       pushes the check during the data validation.

commit a8340abe61cc5cde29e71dae26672ebf85c3f560
Merge: c7a5d8f 8bf8ef0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 4 16:14:05 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8bf8ef028050e1f19af059e569c01eb9981628dc
Merge: 8f5fdf6 0fcbe53
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 4 16:07:07 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0fcbe53be63fd261f729198720a067b08e3a414c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 4 16:05:04 2017 +0530

    Bug#25998285 - ADD MYSQLADMIN DOCKER/MINIMAL SERVER BUILDS
    
    - mysqladmin is needed by InnoDB Cluster, add tool to docker/minimal package.

commit c7a5d8f0bfe7db79ff0d6b06d11fe2ecd95f31a5
Merge: 5b9b646 8f5fdf6
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu May 4 12:59:58 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8f5fdf68b435cc802335342d29163a61365530d4
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu May 4 12:57:57 2017 +0530

    Bug#24465081        FAILURE IN ATOMIC_* TESTS DUE TO CLEAN-UP ISSUES
    IN BINLOG_DISKFUL
    
    Post-push: Fixing test script windows failure

commit 43ccff9b0fdcd116e87ad180f70b1452a0146c66
Merge: 158220b 8ee4de8
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed May 3 15:17:52 2017 +0000

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8ee4de89ce63c98af2f88cc9dcc528110530107b
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed May 3 15:16:08 2017 +0000

    Bug#25340722 - PRINT BINARY DATA AS HEX IN THE MYSQL
                   CLIENT (CONTRIBUTION)
    
    DESCRIPTION:
    ============
    Binary data should be printed as hex in the mysql client
    when the option binary-as-hex is enabled.
    
    ANALYSIS:
    =========
    The fix deals only with mysql command line client.
    It does not change, at all, the data sent to the
    applications. Printing binary data as hex also
    allows to use the output in the where clause
    of the query.
    
    FIX:
    ====
    A new option 'binary-as-hex' is introduced to print the
    binary contents as hex in the mysql client. The option
    is disabled by default. When the option is enabled, we
    convert the binary data to hex before printing the
    contents irrespective of whether it is in tabular,
    xml or html format.

commit 5b9b646e86fcea43d78b7a39296735907936d376
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed May 3 17:43:21 2017 +0530

    Bug #24929748	REVERSE SCAN ON A PARTITIONED TABLE DOES ICP
                  CHECK INCORRECTLY, CAUSING SLOWDOWN
    
    PROBLEM
    
    Partition helper functions assume that end range condition will
    be checked by the server and reset the end range condition
    causing innodb to do scans beyond the end range condition passed
    by ICP from optimizer.
    
    FIX
    
    Remove the redundant resetting of end ranges in partition
    helper functions
    
    [ #rb 15977 approved by deb ]

commit 0314d621f0cc87e401a67a8de4471706bb7f8792
Merge: 21093af 43ccff9
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed May 3 15:20:17 2017 +0000

    Merge branch 'mysql-5.6' into mysql-5.7

commit 21093af29ac1018f3759b59e8fbb976dc77baef2
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Mar 28 16:42:14 2017 +0530

    Bug#25984429 MTR: BACKPORT OPTION --report-unstable-tests TO 5.7
    
    Problem:
    --------
    Various Linux distributions are running the MySQL Test Suite during
    build. As known, MySQL test suite has some flaky tests. If a build
    is unlucky and gets a sporadic test failure, it is cancelled and
    in the worst case, the distribution is blocked from upgrading MySQL
    to a new one. Even if MTR is run with --retry > 1 and all failed
    tests pass on retry, exit code from MTR is non zero and build stops.
    
    Solution:
    ---------
    An MTR option named --report-unstable-tests is added which does the
    following:
    - Reports any test which has passed on at least one retry attempt
      in a separate category called "Unstable tests" in the summary.
      They will be in the format :
      <test_name>(<number_of_failures>/<number_of_attempts>)
    - In case all failures are due to unstable tests, it causes MTR
      to print a warning and terminate with a zero exit code.
    
    Note:
    This is a backport of the patch for Bug#24473420 from mysql-8.0
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit 858f0a827c13aefc3c5484dbe06489ee3a14045f
Merge: 9672ff8 158220b
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue May 2 19:11:58 2017 +0200

    Upmerge of the 5.5.56 build

commit 158220bea188b907d08583b2d0ce69f346656245
Merge: 8a0a7e6 8594e1b
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue May 2 19:10:30 2017 +0200

    Upmerge of the 5.5.56 build

commit 8594e1ba1e331b3d001c6ae711d5ee5c27250b80
Merge: a0b48bb a2613a1
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue May 2 19:07:29 2017 +0200

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

commit 9672ff891ce835e89f68bd74d37b4dd815e84cf3
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue May 2 19:56:07 2017 +0530

    wl 5847:  Windows fixed.

commit 5a2eaccb82cdb9bf0b565fd3db065c118a30f3a4
Merge: a462ce1 8a0a7e6
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue May 2 18:56:44 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8a0a7e61f0177604f37c73f25cfce6343ae4ab2c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue May 2 18:54:33 2017 +0530

    Bug #25943038: QUERY WITH DERIVED TABLE IS CACHED IN MVCC
                   SCENARIO
    
    Issue:
    ------
    Queries with derived tables which used materialization were
    stored in Query Cache without fully taking into account storage
    engines for some tables used by them (specifically information
    for underlying tables of derived table was disregarded).
    So, cached results for such queries were used without check
    against SEs which led to stale results sometimes.
    
    This problem occurs when:
    1) Rows are being inserted into a table (t1 for example)
       but they haven't been committed yet. Storage engine
       used is INNODB
    2) Query with a derived table contains t1 as a base table.
    3) Optimizer has chosen to materialize the derived table.
    
    In this case Query Cache returned stale results for the query
    after transaction commit.
    
    Solution:
    ---------
    When a derived table is present, no check is performed to
    make sure that all the base tables qualify to be cached.
    This has been corrected. If the query qualifies to be
    cached, then the storage engine will be consulted at cache
    lookup time.

commit a462ce10fa9ac4c7cc0520ecdabbc2d856911a1e
Merge: d22f9da 36d17d0
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue May 2 12:45:42 2017 +0200

    Null-merge from 5.6.

commit 36d17d0cf6be996b7e5486e31ad4235b580ba459
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue May 2 12:44:54 2017 +0200

    BUG#25719975 SHEBANG HARD CODED AS /USR/BIN/PERL IN SCRIPTS, BREAKS ON FREEBSD
    
    Post push fix for Solaris.

commit d22f9da5e5130d7a2ba8ed06ab3542bbbb52f5d2
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue May 2 14:24:26 2017 +0530

    wl# 5847: ASAN and some more minor fixes.

commit 90cae25d881580ad8b6529f688dcbf1aee756d4c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Apr 27 19:00:52 2017 +0530

    Bug#25287633:GCOLS: INCORRECT BEHAVIOR WITH CHARSET CHANGES
    
    Issue:
    ------
    Virtual generated column functions that contain certain
    string functions can cause problems when there is a change
    in charset.
    
    Steps:
    1) Create table t1 with virtual generated column containing
    string functions that generate strings in the connection
    character set.
    
    2) SELECT * FROM t1;
    This step creates the item tree for the generated column.
    While creating the objects, the table's memroot is used.
    The flag "permanent_changes_completed" is set to true to
    indicate that no further permanent changes will take place
    in the item tree.
    
    3) SET NAMES utf8;
    Changes the connection's default charset to utf8.
    
    4) SELECT * FROM t1;
    While re-fixing the generated column items
    (TABLE::refix_gc_items), it is noticed that the default
    charset of the result of some string functions doesn't
    match with other parameters. So a new Item object is
    created with the correct charset. This new object now
    replaces the one present in the item tree (created in
    step 2).
    
    But the new object is created on the statement's
    mem_root and hence will be destroyed at the end of the
    statement. Thus leaving the generated column's item tree
    with a dangling pointer.
    
    5) SELECT * FROM t1;
    While going through the generated column's item tree,
    dangling pointer strikes.
    
    The root cause here is that a conversion due to charsets is
    required and a new Item creation is required in step 4.
    This should be avoided.
    
    Solution:
    --------
    In the resolve_type phase, some string functions assign the
    current charset to the Item object. This can return strings
    in the connection character set.
    
    Use the table's charset (mentioned in the DDL) while doing
    fix_fields. Before fix_fields is called on the generated
    column's expression, switch to the table's charset. This
    will side-step any problem with aggregating charsets since
    it is independent of any charset changes made by the user
    after the DDL.

commit 910f892ab51806d5cd43f2732962e1a20faf33cd
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Apr 27 16:25:13 2017 +0530

    Bug #23573575: GCOLS: INCORRECT BEHAVIOR WITH BLOB IN DML
    
    Issue:
    ------
    This problem occurs when:
    1) A virtual generated column is of type BLOB and is part
       of a secondary index.
    2) A REPLACE statement tries to update an existing row.
    
    The row in the clustered index has the new value but the
    value of the virtual generated column in the secondary
    index has not been updated.
    
    This can result in incorrect behavior with future DML
    statements.
    
    Root cause:
    -----------
    ha_index_read_map calls update_generated_read_fields.
    Field_blob object is required here to keep track of the
    actual value of column 'c'.
    
                           a   b            c
    table->record[1] ==> --------------------------------
                         | 7 | 7  |   ptr_to_blob_value |
                         --------------------------------
                                            ||
                                            \/
                                          ......................
                                          | <to-be-calculated> |
                                          ......................
    
    
                           a   b            c
    table->record[0] ==> --------------------------------
                         | 7 | 13 |   ptr_to_blob_value |
                         --------------------------------
                                            ||
                                            \/
                                          ........
                                          |  13  |
                                          ........
    
    table->record[0] was calculated in update_generated_write_fields.
    
    update_generated_read_fields tries to re-create the
    existing row to see if the index's value needs
    modification. Here it has to use the same blob object
    referred to above.
    
    At the end of update_generated_read_fields :
                           a   b            c
    table->record[1] ==> --------------------------------
                         | 7 | 7  |   ptr_to_blob_value |
                         --------------------------------
                                            ||
                                            \/
                                          ........
                                          |  7   |
                                          ........
                                            /\
                                            ||
                           a   b            c
    table->record[0] ==> --------------------------------
                         | 7 | 13 |   ptr_to_blob_value |
                         --------------------------------
    
    update_generated_read_fields never calls
    Field_blob::keep_old_value and hence the value is
    over-written with the current row. This allows the server
    to mistake that no change is required for the secondary
    index. This results in a mis-match between the values in
    the clustered index and the ones in the secondary index.
    
    Solution:
    ---------
    Effectively what we need is a producer-consumer type model:
    Whichever function (among update_generated_write_fields and
    update_generated_read_fields) is called first should set
    the m_keep_old_value flag to true.
    
    The succeeding function (again among the two) should consume
    the flag. If the flag isn't consumed, at the end of the
    statement, set it to false. This will avoid issues that
    arise when, for example an INSERT preceeds an UPDATE.
    
    There are other exceptions, like
    update_generated_write_fields being called from
    COPY_INFO::set_function_defaults. This was done as part of
    Bug#21875520, to avoid a much larger re-factoring. The flag
    is set to false in this case.

commit 7096ec55ee1912dc49dbccd3ee4585e532623da9
Merge: 54e73e5 f927eda
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Apr 27 12:34:47 2017 +0530

    Empty version change upmerge

commit f927edaee823b3425dba062e02a5cb2e0cf95817
Merge: affb439 a0b48bb
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Apr 27 12:30:55 2017 +0530

    Empty version change upmerge

commit a0b48bb5e7773f03771cc93a9966c9607dfed3cd
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Apr 27 12:27:52 2017 +0530

    Raise version number after cloning 5.5.56

commit a2613a149e85c1b97b0a34c6cfcf37d057a443d9
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 57d15c867e32326fffbb91b75fa651b9bcf899b4
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 27 17:20:51 2017 +0530

    Raise version number after cloning 5.5.55
    
    (cherry picked from commit 7df8dc750c26ead87c643f87dccba28a66cf3c9b)

commit 54e73e55e3e09a740d47e9bdc2624270ce4b26e0
Merge: 6301617 affb439
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Apr 27 07:45:14 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit affb4391c1eaa4b172ce65bdb1193731c5de0feb
Merge: 520e6da 3eb2058
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Apr 27 07:44:26 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 3eb2058be34d1a21771fe89ff1a0c08f156899bc
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>

commit 6301617b611e1b6177f316050f7f6c5680595a6b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Apr 24 11:55:03 2017 +0100

    BUG#25800025: SQL THREAD ERROR 1778 WHEN GTID SKIPPING PARTIAL TRX
    
    Post-push fix for non-deterministic behavior of the MTR include file
    'rpl_receive_event_count.inc' sourced by
    'rpl_nogtid_rollback_on_anonymous_gtid' test case.

commit febba40d7b3511cfa3b9911e7bb201cfa6bcfe78
Author: Jens Even Berg Blomsøy <jens.even.blomsoy@oracle.com>
Date:   Wed Apr 26 10:59:22 2017 +0200

    WL10166 Result missmatch content fix

commit 06f60d20cc6f80bff38793937dad371e173f2db3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Apr 26 11:10:41 2017 +0530

    Bug #25793677   INNODB: FAILING ASSERTION: CLUST_TEMPL_FOR_SEC || LEN
    
    Problem:
    ========
    During searching, length of the virtual column field from virtual index record is
    less than the (expected) template column length and it leads to failure.
    
    Fix:
    ===
    Length of the virtual column field from virtual index record can be less than
    template column length if record is fetched from prefixed virtual index.
    
    Reviewed-by: Jimmy Yang jimmy.yang@oracle.com
    RB: 16047

commit f85408e5dea242a55b83932e66bb11f946a181b1
Merge: 7df008c 520e6da
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 25 13:20:40 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 520e6da17595ae1983e23a5f856b090b94cd5f12
Merge: 01749a7 fc303e6
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 25 13:15:07 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit fc303e6e750bcd4be3df4941d860b5b42584c833
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 25 13:12:30 2017 +0530

    Added plugins for commercial docker rpm builds

commit 7df008c4e5f7ee4be7801170fd4138488bb30919
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 11 08:23:49 2017 +0200

    Bug#25909965 REMOVE DEPENDENCIS ON LIBSTATOMIC.SO ON SOLARIS
    
    man -M /opt/developerstudio12.5/man CC
           -xatomic=a
               Specify which atomics support runtime library is linked.
               a must be one of the following:
               studio    Link with the libstatomic  library  bundled  with  Oracle
                         Developer Studio.
               gcc       Link with the libatomic library in /usr/lib.
               none      Do not link with any atomics support library.
               The option -xatomic=studio is the default when neither -latomic nor
               -xatomic  is  specified,  and  the   compiler   is   compiling   in
               -std={c++03|c++11|c++14} mode.
    
    So with -latomic we got dependency on
    /opt/developerstudio12.5/lib/compilers/atomic/sparcv9/libstatomic.so
    
    For InnoDB memory barriers: prefer HAVE_IB_MACHINE_BARRIER_SOLARIS
    over HAVE_IB_GCC_ATOMIC_THREAD_FENCE on Solaris, since the latter is
    really part of C11/C++11 and creates a dependency on libstatomic which
    is not installed by default.

commit b220c1751b9ca9a1e7fde31d0d204317d5eb2461
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 18 15:28:37 2017 +0200

    Bug#25731075: INCOMPATIBLE POINTER TYPES WARNING WHEN BUILDING XCOM
    
    Broken build for gcc/Solaris
    Backport from trunk.

commit 766bdcd1482ed2f08c3cbd14317aae3179bb75ab
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Apr 24 15:41:18 2017 +0530

    LDAP: skipping SASL test temporally. need to specify sasl client path in the test. will fix it.

commit 1e81a9f1d221b587d42eaa8466dde4830d180883
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Mon Apr 24 15:16:58 2017 +0530

    BUG#25476479:  MYSQLD FILLS UP ERROR LOGS WITH [ERROR]
                   ERROR IN ACCEPT: BAD FILE DESCRIPTOR
    
    DESCRIPTION:
    ============
    When mysqld is secured with TCP wrappers and the files
    hosts.allow and hosts.deny are configured to restrict access
    from an IP address, very large error log files are generated
    if we try to connect to the server via that IP address.
    This runs indefinitely resulting in ever growing error log
    files and puts load on the machine. The server continues to
    serve authorized connections although slowly.
    
    ANALYSIS:
    =========
    When the listening socket is accepting connections, if a
    connection was refused by TCP wrappers, we were closing the
    listening socket which led to connect socket being polled
    continuously, leading to indefinite number of errors being
    logged to the error log.
    
    FIX:
    ====
    We are now closing the connect socket only, thus avoiding
    its polling and also allowing the listening socket to
    accept other connections.

commit 42b84aa3a592877f0e24e8dbd91926bd5bc60226
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Mon Apr 24 00:33:23 2017 +0530

    Bug #25264253: QUERY REWRITER PLUGIN CRASHES WHEN READ_ONLY IS
                   ENABLED
    
    ISSUE: When server is started with read_only option enabled, query
           rewriter plugin fails to take appropriate lock resulting in
           assertion and server exiting abnormally.
    
    FIX: Made change to ignore read_only option so that the query rewiter
         plugin takes appropriate lock.

commit 84eebede6570df4c77821ec20d4e0a736e43f1d1
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Mar 29 13:27:26 2017 +0100

    BUG#25800025: SQL THREAD ERROR 1778 WHEN GTID SKIPPING PARTIAL TRX
    
    Problem
    -------
    
    SQL thread is unable to GTID skip a partial transaction.
    
    Analysis
    --------
    
    The SQL thread has a mechanism to rollback the partial transactions left
    on the relay log. The mechanism is activated every time the SQL thread
    is going to apply a Gtid_log_event and the THD already owns a GTID.
    
    The issue is happening when the transaction being applied is to be GTID
    skipped. Because in this case the THD owns no GTID, the rollback
    mechanism is not being used.
    
    Fix
    ---
    
    When applying a Gtid_log_event, the SQL thread will "rollback" the
    partial transaction when a transaction that was being skipped was
    incomplete in the relay log.

commit 95ab8be686acd375374d7b6a6def93c48ef6b50c
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Thu Apr 20 15:12:06 2017 +0200

    Bug#25912557 ST_LATFROMGEOHASH/ST_LONGFROMGEOHASH ODD INPUT TYPE REQUIREMENT
    
    The functions ST_LatFromGeohash, ST_LongFromGeohash and ST_PointFromGeohash
    did not allow data that originated from a CHAR column.
    
    Change-Id: I88f7fed5ad992394c18a945f00896c033b0688ba

commit e335827e39dd80fe1bc4d2ffc9a65b8a0dcef4af
Merge: af75eb5 01749a7
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Apr 21 11:58:51 2017 +0530

    Bug#25452277: OUT OF DISK SPACE CONDITION LEADS TO SIGNAL 11
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 01749a76963ab0562e5a1b56cc7d40b276d54bd9
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Apr 21 11:38:31 2017 +0530

    Bug#25452277: OUT OF DISK SPACE CONDITION LEADS TO SIGNAL 11
    
    Problem:
    ========
    An out of space condition has been developed, after some
    warnings mysqld exits abnormally with signal 11.
    
    Analysis:
    =========
    User has configured binlog_error_action= ABORT_SERVER.
    During master server execution disk becomes full and due to
    this, update on binary log index file fails. On this critical
    error server aborts. Now users try to restart the server but
    still there is no free disk space. While the server is
    trying to come up it finds the binary log being enabled it
    tries to open the file and update the index file with this
    information. Again it results in critical error and code
    tries to access server thread specific diagnostic area which
    is not yet initialized. This causes the server to exit
    abnormally.
    
    Fix:
    ===
    In existing code when server encounters any critical error
    while it is coming up it just logs appropriate error message
    into the error log and aborts. Similarly, binlog error exit
    handling code should just log message into error log when
    the actual 'thd' object is not yet ready.
    
    Write error message into error log and exit.

commit af75eb5552bb971352805e2a0784aba82bcf118a
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Apr 20 21:33:11 2017 +0530

    ldap: Changed ldap sasl client library to dynamic library.

commit 0050b8b64546a87b9fcf9b0c1616e5b13d6a933a
Author: Tomasz Stepniak <tomasz.s.stepniak@oracle.com>
Date:   Thu Apr 20 16:57:43 2017 +0200

    BUG #23107137: TYPOS IN MYSQLXTEST --HELP-COMMANDS
    
    Description
    ===========
    Using mysqlxtest with --command-help switch gives output containing some
    minor typos. --help provides incomplete information for the --bindump help
    entry.
    
    RB: 16011
    Reviewed by: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
    Reviewed by: Lukasz Kotula <lukasz.kotula@oracle.com>

commit 4ef48eaa5daaf33e72b9b094485d7504025344dc
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Thu Apr 20 17:46:24 2017 +0530

    Bug#23280117: 5.7 BUG XXXXX TEST REPLACE NUMBER ROUND+GIS PRECISION DIFFERENCES
                  (CONTRIBUTION)
    
    Post push fix: Changing name of the mysqltest command from
    'replace_numberic_round' to 'replace_numeric_round'.
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>

commit feb666b00e391ddb3a9330bf64159e7c750e0e25
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Thu Apr 20 11:11:34 2017 +0530

    Bug#23280117: 5.7 BUG XXXXX TEST REPLACE NUMBER ROUND+GIS PRECISION DIFFERENCES
                  (CONTRIBUTION)
    
    Issue:
    ------
    MTR tests written to test GIS functions fail with a result content mismatch
    on some platforms due to difference in precision. These have been corrected
    using the mysqltest function --replace_regex till now.
    This requires a complex regular expression to replace the result with a lower
    precision.
    
    Fix:
    ----
    For ease of use, a new mysqltest command 'replace_numberic_round' has been
    introduced to round off numeric values.
    The usage is as follows:
    --replace_numberic_round <precision>
    where precision is the number of digits after the decimal that the result will
    be rounded off to. The precision can be any number between 0 to 16.
    
    Patch contributed by: Daniel Black
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    Reviewed-by: Srikanth BR <srikanth.b.r@oracle.com>
    RB: 14633

commit cdd91861963186bcaa64dd0d393d85f0dd51cf1a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Apr 20 08:09:44 2017 +0530

    Bug #25331425: DISTINCT CLAUSE DOES NOT WORK IN
                   GROUP_CONCAT
    
    Issue:
    ------
    The problem occurs when:
    1) GROUP_CONCAT (DISTINCT ....) is used in the query.
    2) Data size greater than value of system variable:
    tmp_table_size.
    
    The result would contain values that are non-unique.
    
    Root cause:
    -----------
    An in-memory structure is used to filter out non-unique
    values. When the data size exceeds tmp_table_size, the
    overflow is written to disk as a separate file. The
    expectation here is that when all such files are merged,
    the full set of unique values can be obtained.
    
    But the Item_func_group_concat::add function is in a bit of
    hurry. Even as it is adding values to the tree, it wants to
    decide if a value is unique and write it to the result
    buffer. This works fine if the configured maximum size is
    greater than the size of the data. But since tmp_table_size
    is set to a low value, the size of the tree is smaller and
    hence requires the creation of multiple copies on disk.
    
    Item_func_group_concat currently has no mechanism to merge
    all the copies on disk and then generate the result. This
    results in duplicate values.
    
    Solution:
    ---------
    In case of the DISTINCT clause, don't write to the result
    buffer immediately. Do the merge and only then put the
    unique values in the result buffer. This has be done in
    Item_func_group_concat::val_str.
    
    Note regarding result file changes:
    -----------------------------------
    Earlier when a unique value was seen in
    Item_func_group_concat::add, it was dumped to the output.
    So result is in the order stored in SE. But with this fix,
    we wait until all the data is read and the final set of
    unique values are written to output buffer. So the data
    appears in the sorted order.

commit 86b66ec95fe227ab1dfa5d5be78dab216a33577b
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Apr 19 16:20:42 2017 +0530

    wl 5847: ber_free not supported, removed.

commit adf405df7b9023daac1dc28cca62137d59570734
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Apr 19 15:19:47 2017 +0530

    wl 5847: Ubuntu 16 will run 11 tests and minor fixes.

commit bb138be204dc315555ac9bc0480233e74b50b210
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 19 12:54:37 2017 +0530

    Rename ndbd_redo_log_reader man page to ndb_redo_log_reader

commit 4e99d4aa34dc0095d9f57269e1d720a57874de6b
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Apr 18 14:18:50 2017 +0530

    Bug#25876807: FOR DIFFERENT VERSION (5.7 AND 5.8) GROUP, LEADER SHOULD BE ONLY FROM 5.7
    
    Updating missing @param lowest_version_end definition for
    sort_members_for_election() and removing @param lowest_version_end
    for sort_and_get_lowest_version_member_position() in gcs_event_handlers.h
    for Group Replication plugin.

commit f35db067815f0e80c2a5095385108b2c99e95e3a
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 18 09:52:38 2017 +0530

    Bug#25469190: MYSQLPUMP SHOULD EXCLUDE REPLICATION
                  REPOSITORY METADATA TABLES
    
    Description : Replication meta data tables such as
    mysql.slave_master_info and mysql.slave_relay_log_info
    gets backed up when MYSQLPUMP is executed.
    
    Analysis: The above mentioned replication tables should be
    excluded from backups because they are not a logical part of
    data. These tables contain replication channel meta data
    that will leave the replication meta data in an invalid
    state after the restoration of the dump.
    
    Fix: Both the tables are excluded from MYSQLPUMP.

commit d540b9de70c152baf41871ae6822bb5df07a0a58
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 18 09:45:22 2017 +0530

    Bug #25469161: MYSQLDUMP SHOULD EXCLUDE REPLICATION
                   REPOSITORY METADATA TABLES
    
    Description : Replication meta data tables such as
    mysql.slave_master_info and mysql.slave_relay_log_info
    gets backed up when MYSQLDUMP is executed.
    
    Analysis:- The above mentioned replication tables should be
    excluded from backups because they are not a logical part of
    data. These tables contain replication channel meta data
    that will leave the replication meta data in an invalid
    state after the restoration of the dump.
    
    Fix: Both the tables are excluded from MYSQLDUMP.

commit c0f3d4750b3af36dd98c4949120ade68ed2e7912
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Mon Apr 17 15:31:53 2017 +0530

    Bug#25876807: FOR DIFFERENT VERSION (5.7 AND 8.0) GROUP, LEADER SHOULD BE
                  ONLY FROM LOWER VERSION
    
    PROBLEM STATEMENT
    =================
    When a group contain members of two different versions (5.7 & 8.0), higher
    version members are put in read compatability mode and cannot write to the
    group. In single primary-mode, currently the primary member can be elected
    from the higher version members also thus making a member what should be in
    read mode writable, what can lead to failures in the lower version members.
    
    PROPOSED SOLUTIONS
    ==================
    The primary member should be elected from lower version members i.e 5.7, in
    single primary-mode. And so only the members with the lowest versions should
    participate in the election.

commit c0e71ffc464cbba48eb20154cc5fe3123becff8a
Merge: e350d6d 25afd70
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Mon Apr 17 12:07:52 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 25afd7057b6387528e73903b1521e841053de115
Merge: 0e159c3 c1d45aa
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Mon Apr 17 12:06:24 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit c1d45aa7c43e844f04f9fae0a0ad84d0c0d37926
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Mon Apr 17 12:04:14 2017 +0530

    Bug#25043674 - MYSQLACCESS SCRIPT LOADS AND EXECUTES CODE
                   FROM THE CURRENT DIRECTORY
    
    DESCRIPTION
    ===========
    When 'mysqlaccess' tool is run, it reads (and executes) the
    content of its configuration file 'mysqlaccess.conf' from
    the current directory. This is not a recommended behaviour
    as someone with ill intentions can insert malicious
    instructions into this file which could be executed
    whenever this tool is run.
    
    ANALYSIS
    ========
    The configuration file is presently looked for, in the
    following folders (in given order):
    1. Current directory
    2. SYSCONFDIR       //This gets expanded
    3. /etc/
    
    Owing to the reasons mentioned above, we should not permit
    the file to be in the current directory. Since the other
    two folders are assumed to be accessible only to authorized
    people, the config file is safe to be read from there.
    
    FIX
    ===
    Modified the script so that it looks for the config file
    now in the following two folders (in the given order):
    1. SYSCONFDIR
    2. /etc/
    
    If it's absent from above locations but present in current
    directory, an error is thrown asking the user to move the
    file to one of the above locations and retry.
    
    NOTE
    ====
    The location paths and their precedence are not documented
    for this tool. It needs to be noted as part of the
    associated documentation.

commit e350d6d930d9cb86d1af62115642531409b45c11
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Apr 14 16:16:31 2017 +0530

    Bug #24753281: REQUEST FOR SLAVE_SKIP_ERRORS = ER_INCONSISTENT_ERROR
    
    Problem:
    --------
    Replication applier thread returns 3002, ER_INCONSISTENT_ERROR, when there's
    difference between expected error number and actual error number on slave.
    
    So when ER_INCONSISTENT_ERROR is passed as an input to slave-skip-errors,
    the replication should continue despite having different expected error and
    actual error on slave.
    
    But in current code, the slave is not able to ignore ER_INCONSISTENT_ERROR.
    
    Fix:
    ----
    Check if ER_INCONSISTENT_ERROR is passed in the list of errors to be
    skipped. If yes then do not throw error, just log this info with the mention
    of actual and expected error  as a note in the slave's error log.

commit 162b99f74e60bc8949130453c3092e819e7ade2f
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Tue Apr 11 14:34:43 2017 +0530

    Bug #24754897 RPL_INJECTOR API FUNCTION FOR UPDATE_ROW WITH BEFORE AND AFTER COLUMN BITMAPS
    
    An UPDATE_ROW binlog event contains 2 versions of the updated
    row: a Before Image which has the row before the update,
    and an After Image of the row after the update. The Before
    and After Image do not always include all the columns in the
    row. The binlog format decides which columns will be included.
    
    There is a requirement in ndbcluster to reduce the size of the
    binlog event while retaining the UPDATE_ROW format of
    BeforeImage/AfterImage. This can be done by writing only
    primary key columns from the Before Image and only modified
    columns from the After Image. However, the existing binlog
    formats do not support different sets of columns in the Before
    and After Images.
    
    The --binlog-format=MINIMAL option is not usable for ndbcluster
    because enabling the binlog format code breaks the
    --ndb-log-updated-only option in ndb replication.
    
    This patch implements 2 new ndb binlog formats for UPDATE_ROW
    where the Before Image and After Image are minimised to remove
    duplicate information.
    
    UPDATED_ONLY_USE_UPDATE_MINIMAL: log update as UPDATE_ROW, log
    only primary key columns in Before Image and only updated columns
    in After Image
    
    FULL_USE_UPDATE_MINIMAL: log update as UPDATE_ROW, log only
    primary key columns in Before Image and all non primary key
    columns in After Image
    
    This means that each column is contained only once in each event,
    bringing efficiency close to that achieved by the variants logging
    with WRITE_ROW events.
    
    The UPDATED_ONLY_USE_UPDATE_MINIMAL and FULL_USE_UPDATE_MINIMAL
    formats can be used with the conflict resolution algorithms
    NDB$EPOCH(), NDB$EPOCH2() and NDB$EPOCH_TRANS(), because these
    do not require the 'Before' values of non-primary-key-columns.
    Conflict resolution algorithms like NDB$MAX() and NDB$OLD()
    require the old values of non-PK columns, and will not work
    correctly with these new variants.

commit 769803e69dea1ba50e17fee3f9384cabd0dbedca
Merge: 9662a2c 0e159c3
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Mon Apr 10 18:27:09 2017 +0200

    Upmerge of the 5.6.36 build

commit 0e159c39fd0e10cd5a9c4e1f3e383c7e56ce6a6b
Merge: 56794f7 1e7cb2a
Author: Prashant Tekriwal <prashant.tekriwal@oracle.com>
Date:   Mon Apr 10 18:20:39 2017 +0200

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

commit 9662a2c7d70d4a861a9fcb9f6a04ad3ceb8a66c3
Merge: dea7749 c1df4fd
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Mon Apr 10 17:38:38 2017 +0200

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

commit dea7749fba67f60d510146ed523f108407f945b8
Author: Grzegorz Szwarc <grzegorz.szwarc@oracle.com>
Date:   Mon Feb 20 14:20:45 2017 +0100

    Bug #25549637: QUERY WITH GROUPBY AND HAVING GETS ERROR;
    Bug #24497007: GROUPBY() AND HAVING() CLAUSES GENERATES WRONG SQL QUERY
    
    Description:
    In some cases of usage a crud.find message together with grouping
    criteria the x plugin returns unproper results.
    
    Fix:
    Generation of sql query has been improved by moving 'grouping_criteria'
    expression to the derived query.
    
    Reviewed-by: Lukasz Kotula <lukasz.kotula@oracle.com>
    RB:15532

commit 25d37dc54ec13f91f5f97984d1aed594c7d0dc68
Merge: 61b7233 56794f7
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Apr 10 16:31:11 2017 +0530

    Upmerge of the 5.5.55 build

commit 56794f79bb7982bc31f67c1356e7e3a0e205583e
Merge: 7f3f1f7 4e40dea
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Apr 10 16:30:11 2017 +0530

    Upmerge of the 5.5.55 build

commit 4e40dea46890d8274eeca7f6162441e59c2ff458
Merge: 189d28b 3a2a53a
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Apr 10 16:25:53 2017 +0530

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

commit 61b7233a161c175b9fe55c3cb5e653968c9a4b1b
Merge: 6fc2131 7f3f1f7
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Apr 10 14:30:57 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7f3f1f702d1335309596a063028456979a0aabfa
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Mon Apr 10 12:45:01 2017 +0530

    Bug #24323288: MAIN.MYSQLBINLOG_DEBUG FAILS WITH A LEAKSANITIZER ERROR
    
    Issue:
    ------
    On a system with AddressSanitizer support that includes Leaksanitizer,
    the test mysqlbinlog_debug fails.test when compiled with -DWITH_ASAN and
    -DCMAKE_BUILD_TYPE=Debug option.
    
    Cause:
    ------
    When the events are read from remote server using mysqlbinlog utility,
    in two scenarios the memory clean up is not done. Those scenarios are.
    
    1) When fake Rotate_event occur. Places where
       Rotate_event->when.tv_sec == 0
    2) When we are using raw mode with mysqlbinlog, then for those cases
       where the log file could not be created or write had some issues.
    
    Solution for 5.6 and 5.7:
    -------------------------
    5.6:
    ===
    Scenario (1) will be fixed by backport of Bug#21697461 from mysql-5.7,
    which is to create a method that will handle the memory clean up and
    call this method from all the suspected places.
    
    Scenario (2) will be an extension to Bug#21697461, for cases discussed
    above in the *cause* section.
    5.7:
    ===
    As we already have Bug#21697461 in mysql-5.7, scenario (1) need not be
    addressed separately.
    For scenario (2) same fix as above, extension of Bug#21697461.
    
    Solution for trunk:
    -------------------
    Implemented a different solution(removed Bug#21697461) to fix scenario
    (1) and (2).
    
    - A new solution is implemented to make the area around the
    - Manage the clean up of temp_buf through m_free_temp_buf_in_destructor
      variable added in Log_event class.
    - Created a new RAII class Destroy_log_event_guard to handle memory of
      Log_event object created in the dump_remote_log_entries method.
    - Extended mysqlbinlog_debug.test to test the changes done.
    
    A new solution is implemented thinking that any modification done to
    the area around the code causing memory leaks at present have lesser number
    of memory issues in future.

commit 6fc213173274a4819013f2b3d2e20b97eb2bea80
Merge: b0c7c57 33831f1
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 10 08:54:55 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 33831f1d048e49489a5c138098ac4855ee3a1833
Merge: 20d1b85 189d28b
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 10 08:52:39 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 189d28b303e90ca25f10d10d5f75966c93e3e8b2
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 10 08:51:28 2017 +0530

    BUG#25250768: WRITING ON A READ_ONLY=ON SERVER WITHOUT SUPER
                  PRIVILEGE.
    
    Post push fix for fixing test failure in embedded server mode.

commit b0c7c5709ef0ed01c12ba74ace7c187c530086aa
Author: Tiago Jorge <tiago.jorge@oracle.com>
Date:   Thu Mar 30 10:52:53 2017 +0100

    BUG#25503458 - SOME CLASS B PRIVATE ADDRESS IS NOT PERMITTED AUTOMATICALLY
    
    Description:
    ---------------
    According to
    https://dev.mysql.com/doc/refman/5.7/en/group-replication-options.html#sysvar_
    group_replication_ip_whitelist, when group_replication_ip_whitelist = AUTOMATIC,
    private network is permitted automatically.
    
    Below 172.21.134.27/23 is class C private IP address, but 172.21.134.0 is not
    permitted. How To Repeat? Set class C private address other than 172.16.X.X
    
    Analysis:
    ----------------
    Looking at the code in get_ipv4_local_private_addresses in gcs_xcom_networking.cc
    we notice that local class B addresses are not being tested in a range but only
    for 172.16.X.X
    
    Suggested Fix:
    ----------------
    Refactored get_ipv4_local_private_addresses to make numeric and range comparisons.

commit d0c79b3b53fe5794633d5dbf6cdc3a754f0e176c
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Apr 7 17:02:38 2017 +0530

    WL 5847# Fixed NDB build issue.

commit 158b2d97fb2831e9ed815e8357802fe0755d80e0
Merge: f5870e1 20d1b85
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Apr 7 13:51:07 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 20d1b85778bb9bcb10968d2f461c74ef7e883560
Merge: 4be1ad8 98549f1
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Apr 7 13:47:36 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 98549f14482c068c43b7fda2f69c0885795da36e
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Mon Jan 9 20:09:57 2017 +0530

    BUG#25250768: WRITING ON A READ_ONLY=ON SERVER WITHOUT SUPER
                  PRIVILEGE.
    
    Backport from mysql-5.7 to mysql-5.5 and mysql-5.6.
    
    BUG#13969578: TEMPORARY TABLE IN A DATABASE ON A READ-ONLY
                      INSTANCE CAN BE OVERWRITTEN
    
    Analysis:
    ========
    
    Creation or modification of a persistent table by a non-super user
    is NOT ALLOWED in read_only mode. Only TEMPORARY tables are allowed
    to be created or modified in read_only mode. But the creation of
    a persistent table was being allowed when a temporary table of
    the same name existed.
    
    The routine which denies updating a non-temporary table in a
    read_only mode does not handle the case of creation of a regular
    table when a temporary table of the same exists.
    
    Fix:
    ===
    Handled the condition where an attempt is made to create a persistent
    table having the same name as that of the temporary table. Hence
    the creation of a persistent table by a non-super user when a
    temporary table of the same exists is denied under read_only mode.

commit f5870e1c28c81fb6f85f04422791f84be9eaf20c
Merge: 3100442 e99d2b7
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Apr 6 21:41:37 2017 +0530

    Merge branch 'mysql-5.7-wl5847' into mysql-5.7

commit e99d2b7485511c1f7c1248813c8d0442e1d8d099
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Apr 6 21:39:50 2017 +0530

    skipping.

commit 22f5a9e00b3331b4f36f24c5e9b709b4535e56ca
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Apr 6 18:02:57 2017 +0530

    extra logs.

commit 310044285aa244ed6d1414e7beb0604f1906fb94
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Apr 6 17:50:57 2017 +0530

    Bug #25361251: INCORRECT BEHAVIOR WITH INSERT ON DUPLICATE
                   KEY IN SP
    
    Issue 1:
    --------
    The VALUES part of the ON DUPLICATE KEY UPDATE can refer to
    the column list of an INSERT statement. When a BLOB value
    is used in such a clause as part of an INSERT statement in
    stored procedure, this can result in incorrect behavior.
    
    BLOB values require some special handling because of
    problems like the one mentioned in Bug#13901905. This is
    done using the "insert_update_values_map" member of LEX.
    Field_blob values are added to this map during
    Item_insert_value::fix_fields. But the cleaning up takes
    place at the end of the statement in lex_end.
    
    This works fine for conventional execution statements. But
    for statements in the body of an SP, lex_end is called only
    once per statement. This is irrespective of whether the
    statement is executed in a loop. This can result in
    incorrect behavior because "insert_update_values_map" needs
    to be cleaned up after statement execute.
    
    
    Solution 1:
    ------------
    The solution is to make sure that lex->clear_values_map is
    called at the end of statement execution.
    
    
    Issue 2 (from Bug #24538207):
    -----------------------------
    The problem here is similar to the one mentioned above. The
    INSERT is a prepared statement. Each PREPARE also creates a
    new "insert_update_values_map" for handling the BLOB values.
    Only lex_end cleans up here too.
    
    This results in the same problem as above.
    
    Solution 2:
    ------------
    The "EXECUTE ..." part will be fixed by Solution 1. But for
    the "PREPARE ..." statements, lex->clear_values_map will be
    added at the end of "Prepared_statement::prepare".

commit c349f6732818d0d72c83ae645245e0705708cb27
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Apr 6 15:38:20 2017 +0530

    final

commit 42073c98c122f09c6a639c0f64c10dcf1bfc380f
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Apr 4 11:26:38 2017 +0530

    sample push.

commit d495a0952d467ed7a42d639775a65aaccd83aa81
Author: Alfranio Correia <alfranio.correia@oracle.com>
Date:   Tue Apr 4 06:54:00 2017 +0100

    BUG#25681977 GROUP REPLICATION NODE ON OPC FAILED TO REJOIN AFTER REBOOT
    
    PROBLEM
    -------
    For many maintenance operations, VMs on OPC need to be restarted, but
    after a VM restart, the node fails to rejoin the GR group. The problem
    is that the private IP is changed after a VM restart and the remaining
    nodes have a cached reference to the previous private IP.
    
    When a node reconnects, a node's description called "server" is reused
    if there is any. The server contains a reference to the addrinfo
    structure and the current implementation does not check whether the
    stored information is still valid or not.
    
    FIX
    ---
    To fix this issue, a new addrinfo structure is always fetched while
    adding a new node or connecting to it.

commit 5f07d496288d7846cb343363f8aa7f507b316f5c
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Apr 4 10:17:11 2017 +0530

    merge and some test.

commit f08b441ed2f7480ee28d8241f062ff0708c24ae8
Merge: 2cb66f6 a59bf83
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Apr 4 10:15:07 2017 +0530

    Merge branch '5.7' into mysql-5.7-wl5847

commit 2cb66f6512046951c6f12b6ab5b3cbb41849a2c8
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Apr 3 21:38:34 2017 +0530

    New tests added.

commit a59bf83cc9b1ab2646184b9295a4dbafa77d05d9
Merge: 9c2175e 4be1ad8
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Apr 3 12:35:58 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4be1ad8103a6b58324146e5039944d3f3d93bfc2
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Mar 30 09:13:05 2017 +0200

    Bug#25811814	DEBIAN/UBUNTU PACKAGES SHOULD BUILD WITH --FAIL-MISSING
    
    * Changed --list-missing to --fail-missing
    * Added exclusions for files that should not be included
    * Added missing manpages to packages

commit 9c2175e5cb22ea7ce24e133b765f1bafb4ba5743
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Mar 31 12:39:59 2017 +0200

    Bug#24352163: CANNOT COMPILE WITH CLANG ON MAC OS X 10.10.5
    
    Fix "cannot take the address of an rvalue of type" compilation
    error when compiling with -std=c++11.
    
    Partial backport from trunk of:
    ea56f33fc55183b88a8f5f6fd9e1abbf1176c9f6
    
    Also similar to contribution from Davi Arnaut.

commit 37b5a1491e9a98c6bbf46818505b08d7ae8ee691
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Mar 31 17:13:46 2017 +0530

    Bug#24748639:CAN'T SET SLAVE_SKIP_ERRORS > 3000
    
    Problem:
    MySQL 5.7 has introduced error numbers > 3000 but "slave_skip_errors"
    doesn't allow error numbers which is greater than
    3000(error numbers between 2000 and 2999 are for client side errors)
    
    Fix:
    Modify the MAX_SLAVE_ERROR variable, and add check for the client
    side error while checking for errors to be skipped.

commit 39d8611eed5e42cafa0f974b786aca14b459cb24
Merge: d3643d8 ee048d8
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Mar 30 15:18:31 2017 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit ee048d8a0881ed88186317c80e73a257df386787
Merge: f29e57b 9b8907b
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Mar 30 15:13:04 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit d3643d80a0d72ccabb3a7415d6adc82bd0c11322
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Mar 30 16:42:28 2017 +0530

    Bug 25364178 - XA PREPARE INCONSISTENT WITH XTRABACKUP
    
    Issue: XA PREPARE, XA ROLLBACK and XA COMMIT for transaction
    from a disconnected session does not take global commit lock
    and modifies binlog and innodb redo log even when server is
    in FTWRL. This could lead to inconsistent backups when
    backup tools assume the server is in read-only state during
    FTWRL mode.
    
    Fix: Take global commit lock during these operations. Failure
    to acquire lock during XA PREPARE will result in transaction
    rollback. Failure to acquire lock during XA COMMIT and XA
    ROLLBACK will return an error without changing transaction state.

commit 56d0979dce4970121d9a2e62a16476a4729bb5a2
Merge: b2f4cc9 f29e57b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Mar 30 11:50:04 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit f29e57b928abcb20fbde50855ea2053ff937cd13
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Mar 30 10:39:24 2017 +0100

    BUG#18949364 I_BINLOG.BINLOG_MYSQLBINLOG_FILE_WRITE FAILS: COULD NOT
                 CONSTRUCT LOCAL FILENAME
    
    Problem
    -------
    
    mysqlbinlog client program is using default temporary directory for
    constructing temporary local files.
    
    Fix
    ---
    
    Added a mysqlbinlog client program option into MTR configuration factory
    to use the test case temporary directory for constructing temporary
    local files.

commit b2f4cc906b80efee03ccf60e2a16a89ae65a6c44
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Fri Mar 17 14:17:59 2017 +0530

    Bug#25349924 MTR: FIXES AND ENHANCEMENTS TO THE --XML-REPORT OPTION
    
    Issues
    ------
    The XML report generated by MTR when the --xml-report option is used has
    the below problems :-
    - It does not report any test which has failed in one of the retries
      but has passed on the final attempt as a failure i.e., it is
      reported like a successful test making usage of the option with
      --retry > 1 ambiguous
    - It does not distinguish between disabled and skipped tests
    - The xml reports are generated in the source directory 'mysql-test'
      even for out-of-source builds
    - Testcase tags lack information about combinations.
    - There can be multiple <testsuite tags> for a single suite scattered
      accross the report such that each tag has a bunch of tests belonging
      to a suite.
    - The <failure> tag does not include any information regarding failed tests
    
    Changes
    -------
    The patch does the following :-
    - Reports tests failing on any retry attempt with the <failure> tag
    - Adds statistics and fields for skipped tests and disabled tests separately
    - Creates xml report in build directory if no absolute path is given for
      out-of-source builds
    - Adds a field named variation in the <testcase> tag in case it is a
      combination run
    - Aggregate results of all tests belonging to a suite within a single
      <testsuite> tag
    - Generates and reports information regarding failures with a brief reason
      in an attribute named 'message' and embeds other details within the tag
    
    Reviewed-by: Pavan Naik <pavan.naik@oracle.com>
    RB: 15016

commit 78f086caec09cb144e4a1d58a3ee1fb44bce1589
Merge: 87532ad 34e2f12
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 29 12:06:18 2017 +0200

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

commit 34e2f12510c6deb639bab35bd80ac4c57d03e1c4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 29 11:14:16 2017 +0200

    Bug#25795538 SEGFAULT-T FAILING UNDER RECENT ADDRESSSANITIZER
    
    Patch for 5.6 only.
    
    Disable Segfault test for ASAN builds.
    
    Fix mismatching new/delete for Fake_TABLE objects.
    
    Backport patch for:
    Bug#21255860: ASAN: MEMORY LEAK IN QUEUE UNIT TEST

commit 87532ad368b158b1f8c4000922db05d7b6668567
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Mar 28 18:32:15 2017 +0200

    Bug#24360663 AUDIT LOG FILTER JSON PARSER DOES NOT CHECK WHETHER JSON ELEMENTS ARE EXPECTED
    
    Problem:
    ========
    Audit log filter is defined as JSON. JSON parsing algorithm searches for
    certain elements in the JSON tree. Remaining elements are simply discarded.
    This potentially creates a problem for a user. Filter is accepted as correct,
    but in fact the filter does not work as intended.
    
    Following filter may look correct for the user, but event element is not
    expected at this point. Without any notification the user may not know,
    whether the filter is correct or not.
    
    '{ "filter": { "event": { "name": "status" } } }'
    
    This should generate error message that "event" is not expected at this level:
    
    ERROR: 'event' element not expected here [$.filter.event].
    
    Fix:
    ====
    When a certain JSON element is not expected at certain point, error is generated:
    
    '{ "filter": { "class": { "name": "general",'
    '                         "event": { "name": "status",'
    '                                    "log": { "and": [ { "field": { "name": "general_command.str",'
    '                                                                   "value": "aaa" } } ],'
    '                                             "log2": false } } } } }'
    
    ERROR: 'log2' element not expected here [$.filter.class.event.log.log2].
    
    Although JSON "comment" element is not used by the parser, it does not generate error:
    
    '{ "filter": { "comment": "This is my super filter" } }'
    
    Revieved-by:
    ============
    Harin Vadodaria <harin.vadodaria@oracle.com>
    Ramil Kalimullin <ramil.kalimullin@oracle.com>

commit 9b8907b708dbd2643dbf587bfa8f4e6fb13a5a0d
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Tue Mar 28 13:22:32 2017 +0200

    BUG#25719975 SHEBANG HARD CODED AS /USR/BIN/PERL IN SCRIPTS, BREAKS ON FREEBSD
    
    Use cmake variable to adjust shebang to platform.

commit 275023ee4b1d7145825c597c9d4db1cdfaa078b1
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Mar 27 08:54:57 2017 +0530

    test not needed for el5

commit 5eb6e342b43b8237558919f89d7157abcd6f56d8
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Sun Mar 26 21:27:11 2017 +0530

    test in all.

commit c8cebd283e839d41ba706746ed9e666509091d1a
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 21:26:48 2017 +0530

    aa

commit 483f4cc63161dd7a938db3f2e340db1b0368d72b
Merge: 260ff54 d7a9fbe
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 19:58:19 2017 +0530

    Merge branch 'mysql-5.7' into mysql-5.7-wl5847

commit d7a9fbe453f54bf6418a9523dd7aa3d72fd66687
Author: Anibal Pinto <anibal.pinto@oracle.com>
Date:   Tue Mar 21 13:04:59 2017 +0100

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

commit 260ff547395d33af4b8d4acfaa66e6fe02bf2c10
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 14:55:45 2017 +0530

    Added some test change.

commit 22c609f0b8b37f666fe7c03e9b378882447e65a5
Merge: 176b261 0f887f9
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 14:14:38 2017 +0530

    Merge branch 'mysql-5.7' into mysql-5.7-wl5847

commit 176b2612ee4e8b24de86634eeef239cec378d213
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 14:09:58 2017 +0530

    log level.

commit 7aa168cd5319f3a67fa535c36aefbb81fb2daf10
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Fri Mar 24 12:18:52 2017 +0530

    BUG#25365223 ERRORLOG UPDATED WITH NOTES INFORMATION WHEN A REF
    FKEY ISN'T FOUND IN GRSETUP
    
    Issue
    ====
    The issue is that the info message that InnoDB prints when a table
    is created with a reference which doesn't exist fills up the log as
    it's printed for every insert when foreign_key_checks is disabled.
    
    Fix
    ===
    The fix is to display the message only if foreign_key_checks is
    enabled.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 38fb460fb1f0e8cb8a846a0cfb9bd4b2349b88ef
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 24 09:31:00 2017 +0530

    reverted the loogging

commit 0f887f9fbc34c35f7eec370db2416643d473d627
Merge: aa8b481 52e0df8
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Mar 23 22:59:33 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 52e0df89e83266637dcfee0eaa3b72910bbcf491
Merge: 398e8a8 e7bd56c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Mar 23 22:58:19 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e7bd56cccb3ab90afb29d139f433d8398ad126a0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Mar 23 22:57:25 2017 +0530

    Bug#24465081	FAILURE IN ATOMIC_* TESTS DUE TO CLEAN-UP ISSUES
    IN BINLOG_DISKFUL
    
    Problem: binlog_diskfull is not cleaned properly which causes problems
    to other tests.
    
    Analysis: simulate_no_free_space_error simulation point is inside
    my_write function which is called during SET GLOBAL.DEBUG statement.
    When the simulation point is active, SET GLOBAL.DEBUG will fail
    before it sets SESSION.DEBUG value. This uncleaned SESSION.DEBUG
    is causing problems to other tests.
    
    Fix: Instead of GLOBAL.DEBUG, test script will use SESSION.DEBUG directly
    now and it will be cleaned at the end of the test.
    Also, it is observed that search pattern logic is missing in the test
    which verifies that DROP TABLE does produce the expected errors. Hence
    adding them along with this patch.

commit c891dcd07b5e9a131b566d2efcd37aab13272179
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Mar 23 18:32:11 2017 +0530

    test

commit aa8b481ee68c10c5377036b19c730c3c767aec1f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Mar 23 07:44:49 2017 +0530

    Bug#25674926 VIEW CHANGE LOG EVENTS GENERATE NEW GTIDS
    
    Problem: When there is replication (async) between
             two groups, group nodes are confused when it
             receives view_change_log_event that is generated
             on the other group. This event is making round
             trips between these two groups in case if
             the async replication is circular replication.
    
    Analysis: GR plugin pipeline considers that
              View_change_log_events are only injected on
              the pipeline by the plugin itself when a view
              change happens. On that moment, the pipeline
              wrap the View_change_log_event on a GTID and
              queue it on group_replication_applier channel.
              View_change_log_events that go through
              group_replication_applier and group_replication_recovery
              channels are not injected back on the plugin applier,
              that would cause a infinite loop. But Other channels
              are injecting the GTID, BEGIN, VIEW, COMMIT into the
              plugin pipeline. Then pipeline wraps again the VIEW
              on a new GTID and queues it on group_replication_applier
              channel. This is creating a infinite loop between two
              groups.
    
    Fix: When a GTID, BEGIN, VIEW, COMMIT is injected on the pipeline,
        this VIEW must not originate a new GTID2, BEGIN, VIEW, COMMIT on
        group_replication_applier channel.

commit 82fbed68c97b6b50876b4ca28cafa7887c9ac657
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Mar 22 19:04:06 2017 +0530

    AD test..

commit 81f25f2cc1a742c5f1a98ff9692bc16ca30d1a3e
Merge: 3c55332 398e8a8
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Mar 22 16:40:41 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 398e8a8ebc9fe776cc372ef14dd0dc38a86d3883
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Mar 22 16:39:35 2017 +0530

    Bug #25573565   TABLE REBUILD USES EXCESSIVE MEMORY
    
    Problem:
    =======
       Offsets allocates memory from row_heap even for deleted row
    traversal during table rebuild.
    
    Solution:
    =========
      Empty the row_heap even for deleted record. So that
    offsets don't allocate memory everytime.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 15694

commit 3c55332fe331b3689ac724345c8a80a5853d204a
Merge: 66a717d decdffe
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Mar 22 11:24:11 2017 +0530

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

commit decdffeeb558ad84888b5cd2bafb8e7ccd504a33
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Mar 22 11:21:00 2017 +0530

    Bug #25501659: HANDLE_FATAL_SIGNAL (SIG=11) IN GET_ADDON_FIELDS
    
    ISSUE: Uninitialized Field member of Table structure was getting
           dereferenced in function get_addon_fields() resulting in
           server exiting abnormally.
    
    FIX: Passed pointer to Table structure to get_addon_fields() to
         get read_set from it directly.

commit 66a717d579e3575181b006b294f779a6279006c5
Merge: 77febd3 b04443f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Mar 22 09:36:31 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b04443f1abe21fbbcc67a563198435b44a04f08b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Mar 22 09:36:17 2017 +0530

    Bug#24609402 MYSQLBINLOG --RAW DOES NOT GET ALL LATEST EVENTS
    
    Fixing post push pb2 failure

commit 77febd376d3a73fc2e83b9adfe62ac4a840b5319
Merge: 03a4c9c b33900b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 21 15:14:26 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b33900bdedbed8433c780a0fddb7c68e1672fe80
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 21 15:10:48 2017 +0530

    Bug#24609402 MYSQLBINLOG --RAW DOES NOT GET ALL LATEST EVENTS
    
    Problem: When mysqlbinlog is used with --raw option, output file
             is not getting flushed till the process is completed.
             With --stop-never option (mysqlbinlog process never completes),
             output file will never contain any events.
    
    Analysis & Fix: --read-from-remote-server is a mysqlbinlog tool option that
                    allows the users to read the binlog from a MySQL server
                    rather than reading a local file.
                    The read binary log event will be processed and
                    written to output files in text format. In this case,
                    the output file is getting flushed after every event in
                    copy_event_cache_to_file_and_reinit() function.
    
                    By default, mysqlbinlog reads binary log files and writes
                    events in text format. But the --raw option tells
                    mysqlbinlog to write the events into output file directly
                    in their original binary format. In this case, the output
                    file is not getting flushed until mysqlbinlog downloads all
                    the content. This will be more problematic if --stop-never
                    option is used (which is used for "live" binlog backup) as
                    the mysqlbinlog process will never stop, the output file
                    will never get flushed.
    
    Fix: Flush the output file after every event is written to it
         (just like how we flush when --raw is not specified).

commit 03a4c9cabe477d26965ba12d20b1d89ef4f81f2d
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Mar 20 13:00:58 2017 +0530

    Bug#25479538  ASSERT:SIZE == SPACE->SIZE DURING BUF_READ_AHEAD_RANDOM
    
    The assert as added by the fix for BUG#25053705  is blocking the ntest. So removing
    the assert for now until I come up with a fix for the bug.
    
    Reviewed-by : Satya Bodapati <satya.bodapati@oracle.com>

commit e2f0fa9950d919db54684521b703f775ed3b792c
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Tue Mar 21 10:31:43 2017 +0530

    Bug #25189192	ERRORS WHEN RESTARTING MYSQL AFTER RENAME TABLE.
    
    PROBLEM
    
    While renaming table innodb doesn't update the InnoDB Dictionary table
    INNODB_SYS_DATAFILES incase there is change in database while doing
    rename table. Hence on a restart the server log shows error that it
    couldnt find table with old path before rename which has actually been
    renamed. So the errors would only vanish if we update the system
    tablespace
    
    FIX
    
    Update the innodb dictionary table with new path in the case there is
    not a change in the table but the database holding the table as well.
    
    Reviewed-by: Jimmy Yang<Jimmy.Yang@oracle.com>
    RB: 15751

commit 5ceeb3277ba3a64eb380a62bd303585a368e514b
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Tue Mar 14 14:23:37 2017 +0100

    Bug#22671846: SENDING LARGE MESSAGES CAN TRIGGER NODE EXIT FROM GROUP
    
    Second attempt.
    
    Problem:
    
    When large messages are sent, the XCOM thread becomes busy for a long
    time sending it. As this happens, mainly as the number of member
    nodes grows, the alive task can trigger a group view change and GCS
    can trigger a node exit due to the 5 second timeout period.
    
    Solution:
    
    For large messages, the select will mark the socket as readable many
    times for a single message, since TCP sends a large message as
    multiple fragments anyway. Each time this happens, the
    acceptor_learner task is activated and will call read_msg/read_bytes.
    Until now we have updated only when a complete messages has been
    received, which may take a long time. By updating the server timestamp
    inside the loop in read_bytes/buffered_read_bytes, the timestamp will
    be updated often enough that nodes are not marked as being
    unavailable.

commit 29edf3f8fffa4dd3a6cfdb42aa769d7108e9c7a5
Merge: 31f0274 28dbfd0
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Mar 20 08:34:57 2017 +0530

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

commit 28dbfd0b41769acc1dd4dcf7d8bd2430b1c64d19
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Mar 20 08:32:27 2017 +0530

    Bug #25175249       ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
                    || (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    - Post push fix to avoid compilation failure in pb2

commit 1e7cb2a9af423dae8db534e323a69333cec7779d
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 13:17:44 2017 +0100

    Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITARY QUERY.
    
    Post push fix.
    
    (cherry picked from commit de4b2f7f7c541b9e97df9a4c7b261065f1de7f6d)

commit 239c72507f93bcb9a46cc51f3f607bbfe8ef216c
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 08:44:04 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 7396facd28cc8fb6de7817c4e5978993b7267b6b)

commit 2f9d9af828689be9b80edb5d8a0f1027aa95082b
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Mar 15 13:28:57 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 bb1af908fce21b0d8708cdccde628e3d5b1d86ec)

commit 3a2a53ac8dd3c7febdbf38ed7b8c90204e620137
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 08:41:31 2017 +0100

    Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITRARY QUERY
    
    While writing comments if database object names has a new
    line character, then next line is considered a command, rather
    than a comment.
    This patch fixes the way comments are constructed in mysqldump.
    
    (cherry picked from commit 1099f9d17b1c697c2760f86556f5bae7d202b444)

commit 2a79df23fe534b55f48a51a218797556f5dbe222
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 17 18:47:48 2017 +0530

    Fix build issues, forest etc.

commit 31f02740dade323c98bfce5602c91f52f1cdf616
Merge: e4e0569 de4b2f7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 13:26:40 2017 +0100

    Null merge from mysql-5.6

commit de4b2f7f7c541b9e97df9a4c7b261065f1de7f6d
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 13:17:44 2017 +0100

    Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITARY QUERY.
    
    Post push fix.

commit e4e05691fb7941528ee3b2927a4ea6fff23d8888
Merge: f1e6ace 9d97026
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 12:11:11 2017 +0100

    Null-merge from 5.6"

commit 9d970268634ecdb2764c18508e20b87159a045e7
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 12:07:52 2017 +0100

    Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITRARY QUERY
    
    Post push fix. Recording main.mysqldump result file.

commit f1e6ace429bb95b417e46fa7e5104790dbca5412
Merge: bcc8548 7396fac
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

commit 7396facd28cc8fb6de7817c4e5978993b7267b6b
Merge: 31c698e 1099f9d
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 08:44:04 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1099f9d17b1c697c2760f86556f5bae7d202b444
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Mar 17 08:41:31 2017 +0100

    Bug #25717383: MYSQLDUMP MAY EXECUTE ANY ARBITRARY QUERY
    
    While writing comments if database object names has a new
    line character, then next line is considered a command, rather
    than a comment.
    This patch fixes the way comments are constructed in mysqldump.

commit bcc854833591367b1c3b7e08143442cd58521df4
Merge: 5b14c8e 31c698e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Mar 17 11:25:14 2017 +0530

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

commit 31c698e24feb8391f2b020e9b33b3bd7496b57df
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri Mar 17 11:24:25 2017 +0530

    Bug #25175249	ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
    		|| (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    - Backport the patch to mysql-5.6
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 5b14c8ee20595e2b8aa8cc331b14bd23a87215df
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Apr 29 13:44:13 2016 +0100

    BUG#23203678 CHANGING MASTER_DELAY AFTER STOP SLAVE RESULTS IN LOSS OF EVENTS
    
    Problem
    -------
    
    The slave server is losing events not yet applied when
    MASTER_AUTO_POSITION=0, both replication threads are stopped and the
    applier delay is changed using CHANGE MASTER TO MASTER_DELAY.
    
    Analysis
    --------
    
    WL#6120 introduced the possibility of issuing CHANGE MASTER TO commands
    without having both replications threads started.
    
    Issuing CHANGE MASTER TO RELAY_LOG_FILE/RELAY_LOG_POS/MASTER_DELAY is
    possible with only the SQL thread stopped.
    
    When both thread are stopped and a CHANGE MASTER TO MASTER_DELAY is
    being issued, the slave is purging the relay log. In this case, as it is
    possible that the SQL thread was not in sync with the I/O thread, the
    SQL thread positions should be copied to the I/O thread. The I/O thread
    will then start replicating from where the SQL thread stopped, but this
    (the copy of the positions) is not happening.
    
    Fix
    ---
    
    Fixed the behavior of the MASTER_DELAY option.

commit 18b373a75391807d765f99a9b07191975403cd09
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Feb 21 10:08:25 2017 +0000

    BUG#25587390 RPL.RPL_XA_SURVIVE_DISCONNECT_LSU_OFF TEST FAILING ON
                 DAILY-5.7 ON PB2
    
    The test case is failing by chance, when the random seeds generate
    values equal to zero for two test case variables.
    
    The fix ensures that the variables will never be zero.

commit 52b30b144ccabc25aa30d62b66f5d86f1b2530cf
Merge: 579637d 0888195
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Mar 15 17:01:00 2017 +0000

    Merge branch 'mysql-5.6' into mysql-5.7

commit 08881958ea173db18684da9faa2b4322f1f56ba2
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Mar 14 11:04:46 2017 +0000

    BUG#25717761 I_RPL.RPL_STRESS_FLUSH_ROTATE_RELAY_LOG SPORADIC ERROR
                 REPORTED WITH MTS
    
    The i_rpl.rpl_stress_flush_rotate_relay_log test case is failing
    sporadically when executed with MTS because of a non-suppressed error
    message: Slave SQL for channel '': ... The slave coordinator and worker
    threads are stopped, possibly leaving data in inconsistent state.
    
    The error is happening because there is a "STOP SLAVE" in the test case
    that is not waiting for the MTS applier to by in sync with the relay log
    to stop.
    
    The provided fix refactored the test case to sync the MTS applier and
    also removed unneeded STOP/START of the slave threads.

commit 579637daba48c372fe6210f33e410fcb4293acfe
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.

commit dbe8c69488c1d7d156d27d02935c1d6e4a2adc18
Merge: 0970bf1 bb1af90
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

commit bb1af908fce21b0d8708cdccde628e3d5b1d86ec
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Mar 15 13:28:57 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.

commit 0970bf1c34b628d1fc45fab5b6debe2fad2f8c92
Merge: 1ba5907 bb012df
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Mar 15 16:53:51 2017 +0530

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

commit bb012dffd6149eb9d2bfdb74f9033626ee7e1277
Merge: 17811bc 06c46fb
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Mar 15 16:52:51 2017 +0530

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

commit 06c46fb0ca4a59136b7fa332d4b52f94155c8b83
Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com>
Date:   Wed Mar 15 16:45:21 2017 +0530

    Bug #25447551: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   FT_BOOLEAN_CHECK_SYNTAX_STRING
    
    ISSUE: my_isalnum macro used for checking if character is
           alphanumeric dereferences uninitialized pointer
           in default character set structure resulting in
           server exiting abnormally.
    
    FIX: Used standard isalnum function instead of macro my_isalnum.

commit 07dc66331eac15e130fade7cc0fe0db77d4217b5
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Mon Mar 13 17:01:59 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    Changed MYSQL_OPT_SSL_MODE to be the same as in 5.6 (ABI compatibility).
    
    (cherry picked from commit 47bb4eb5df1629b5d5e30aebfa9d7a6d74388a5d)

commit 1ba590721f6ffbbcbf8f173cb1e9122f98bc3f9f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Mar 14 05:18:32 2017 +0100

    Revert "Bug#22671846: SENDING LARGE MESSAGES CAN TRIGGER NODE EXIT FROM GROUP"

commit f064d9f95a95cf20a810e5aca5192f90ff167a7d
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Mon Mar 13 19:51:45 2017 +0100

    Fixed compile error introduce by fix for Bug#22671846.

commit c3455a9ba5bbd80ae879c01fc4faad432d341f67
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Mar 13 18:54:10 2017 +0100

    Revert for the fix for the 'Bug#23593091: MYSQL SERVER MSI - REGISTRY ITEMS LEFT BEHIND WHEN > 1 SERVER VERSION INSTALLED'
    The Server Installer needs some changes to accomodate for this fix so it got postponed for the next release.

commit 09b50ab8c41db000561d92809e48755b907c149b
Merge: 67475cc 17811bc
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

commit 67475cc3b109f7f16ee9f65cd8ba26d288a0458a
Author: Ole-Hjalmar Kristensen <Ole-Hjalmar.Kristensen@oracle.com>
Date:   Tue Mar 7 18:42:21 2017 +0100

    Bug#22671846: SENDING LARGE MESSAGES CAN TRIGGER NODE EXIT FROM GROUP
    
    Problem:
    
    When large messages are sent, the XCOM thread becomes busy for a long
    time sending it. As this happens, mainly as the number of member
    nodes grows, the alive task can trigger a group view change and GCS
    can trigger a node exit due to the 5 second timeout period.
    
    Solution:
    
    For large messages, the select will mark the socket as readable many
    times for a single message, since TCP sends a large message as
    multiple fragments anyway. Each time this happens, the
    acceptor_learner task is activated and will call read_msg/read_bytes.
    Until now we have updated only when a complete messages has been
    received, which may take a long time. By updating the server timestamp
    inside the loop in read_bytes/buffered_read_bytes, the timestamp will
    be updated often enough that nodes are not marked as being
    unavailable.

commit 17811bc0759ef241d46b2ef1e6f51bc1c4f5695d
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Mar 13 18:09:51 2017 +0100

    Revert for the fix for the 'Bug#23593091: MYSQL SERVER MSI - REGISTRY ITEMS LEFT BEHIND WHEN > 1 SERVER VERSION INSTALLED'
    The Server Installer needs some changes to accomodate for this fix so it got postponed for the next release.

commit 2626bf3859ea240487b94fe1f56761b031add74d
Merge: 3b201be 7a042d3
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Mon Mar 13 17:06:03 2017 +0400

    Null-merge from mysql-5.6

commit 7a042d3c38f17aaca6c6ea46e71868c8e4819c7b
Merge: 0d07d7f 47bb4eb
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Mon Mar 13 17:05:38 2017 +0400

    Null-merge from mysql-5.5

commit 47bb4eb5df1629b5d5e30aebfa9d7a6d74388a5d
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Mon Mar 13 17:01:59 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    Changed MYSQL_OPT_SSL_MODE to be the same as in 5.6 (ABI compatibility).

commit 3b201be6779b0c00b4a6f550df2df4201922c334
Merge: 015f58f 0d07d7f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 13 17:39:34 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0d07d7fd7d043e23ee6b4f350b346f87057b750b
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 13 17:37:29 2017 +0530

    Bug #25196653: INCORRECT BEHAVIOR OF SP IN INDEX CONDITION
                   PUSHDOWN
    
    Issue:
    ------
    This problem occurs when:
    1) A certain type of Stored Procedure / Function (SP) is
       used in a query's WHERE clause.
    2) Such a condition is pushed to the storage engine as part
       of Index Condition Pushdown (ICP).
    
    Root cause:
    -----------
    When a condition containing an SP is pushed down as part of
    ICP, it might initiate new sql statements which are part of
    SP. This is not allowed by some storage engines.
    
    Fix:
    ----
    A condition containing SP is currently restricted from being
    part of ICP. But in certain cases Item_func_sp can be
    converted to a constant item (Item_cache_*) and the same
    check needs to applied in this case too.

commit 015f58fb4ef6c81e4704dfedc6952d9a21fff906
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 10 15:04:46 2017 +0100

    Make unit tests ASAN clean:
    
    Disable (FatalSignalDeathTest, Segfault) for ASAN
    
    Backport from trunk:
    5fcdc09e5d60cfddc40d23b02b5334038657a3b7
        Fix flaky InnoDB unit test mem0mem by using SetUpTestCase rather than SetUp.
    b8c056699e7c0895ec2439ee1fa4db7f186406d8
        Fix memory leak in ut0new unit test.

commit f3e297d822efb6d638bd187da12f248ea0915a6a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 8 16:57:45 2017 +0100

    Bug#25685958 ASSERTION FAILED: RETVAL == 0 IN ITEM_SUM_HYBRID::VAL_DECIMAL()
    
    Turns out the DBUG_ASSERT added as part of patch for Bug#59686 is a bit
    too strict. Relax it to accept a nullptr or a zero value.

commit f65e27bcaa51c3327fb127dd333de787af465f8f
Merge: 000a60d 672ede5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 13 11:09:53 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 672ede5c9f4be7a2029f630b89c9933cc94cf875
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 13 11:06:57 2017 +0100

    Test cleanup for windows,
    which prints host:port in column host.

commit 000a60db274eaeaba69a1831375469552ee5fcf5
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Mar 13 15:03:15 2017 +0530

    Bug #25175249	ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD)
    		|| (FIELD && FIELD->PREFIX_LEN ? FIELD
    
    - Fix post-push failure regarding missing check of clust_templ_for_sec
    before calling fts doc id extraction.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 24d1e36b477aab85c480408f9ec9e5090938368e
Merge: cbb2565 7f0e47d
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Fri Mar 10 22:40:02 2017 +0530

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

commit 7f0e47d678973db400181799a68490eb6d028958
Merge: f91b941 031cb6c
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Fri Mar 10 22:38:24 2017 +0530

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

commit 031cb6c9f2d8b669bea62ce2b63b327e3a059d8a
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Fri Mar 10 22:34:38 2017 +0530

    BUG#24807826: UINT3KORR SHOULD STOP READING FOUR INSTEAD OF
                  THREE BYTES ON X86
    
    Post push fix for resolving main.archive test failure in valgrind.

commit cbb256541e35923d5c87051c10a154adac877391
Author: Jaideep Karande <jaideep.karande@oracle.com>
Date:   Fri Mar 10 12:35:58 2017 +0100

    BUG#25510757: PREVENT LARGE TRANSACTIONS IN GROUP REPLICATION
    
    A large transaction can have bad consequences on a group, either in
    terms of memory allocation and on network bandwidth consumption, which
    may cause failure detector to think that a given member is unreachable
    while it is just busy.
    
    To avoid these bad consequences, we introduce a safety option which
    prevents big transactions to being committed on the group.
    DBA can configure this option in order to match her/his workload
    requirements.
    
    Introduced new global variable to limit transaction size.
    DML transactions that overcome that limit are rollback.
    Option name: group_replication_transaction_size_limit= bytes
    
    Variable Scope      Global
    Dynamic Variable    Yes
    
    Type                integer
    Default             0 (5.7)
                        150000000 (8.0)
    Min Value           0
    Max Value           2147483647
    
    Value of 0 will allow transaction of any size, switching off option.

commit 7b485523772fbd80d0e609d403aa5f87295fe89c
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 02:05:24 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    MYSQL_OPT_SSL_MODE option introduced.
    It is set in case of --ssl-mode=REQUIRED and permits only SSL connection.
    
    (cherry picked from commit f91b941842d240b8a62645e507f5554e8be76aec)

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

    Bug#25648545	PACKAGING CONFLICTS WITH MARIADB PACKAGES ON DEBIAN/UBUNTU
    
    Added conflicts:
    * mysql-packagesource-client conflicts with mariadb client
    * mysql-packagesource-server conflicts with mariadb server
    * mysql-packagesource-test conflicts with mariadb test package
    
    (cherry picked from commit 7b50590b2512eb063f2d6c012aca7e4b52d17558)

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

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

commit 7597dc927e5fd5f5bd2259b190cc70ed15c8e167
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Fri Mar 10 10:08:14 2017 +0100

    Bug#25672750 PASSWORD VALIDATION PLUGIN ACTIVATION IS BINLOGGED FOR RPM DISTRIBUTION
    
    Disable logging to binary log in scripts.
    
    Also syncs SysV initscript and systemd ExecPre script.

commit 2ec030813eff3e3102dd15c1ed5b28211009902d
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 01:19:50 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    MYSQL_OPT_SSL_MODE option introduced.
    It is set in case of --ssl-mode=REQUIRED and permits only SSL connection.
    
    (cherry picked from commit 3b2d28578c526f347f5cfe763681eff365731f99)

commit 76262b07a3e95edebe0f634abe131785768fabaf
Merge: 9c351ec f91b941
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 02:06:29 2017 +0400

    Null-merge from mysql-5.6

commit f91b941842d240b8a62645e507f5554e8be76aec
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 02:05:24 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    MYSQL_OPT_SSL_MODE option introduced.
    It is set in case of --ssl-mode=REQUIRED and permits only SSL connection.

commit 9c351ece3969169bf1ad27320a9725e14fad12ea
Merge: cd88a9d eb7e68e
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 01:30:55 2017 +0400

    Null-merge from mysql-5.6

commit eb7e68ee6bdfbf39ec9ac5fa0c3bf08b30afa989
Merge: 821b976 3b2d285
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 01:29:17 2017 +0400

    Null-merge from mysql-5.5

commit 3b2d28578c526f347f5cfe763681eff365731f99
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Fri Mar 10 01:19:50 2017 +0400

    BUG#25575605: SETTING --SSL-MODE=REQUIRED SENDS CREDENTIALS BEFORE VERIFYING SSL CONNECTION
    
    MYSQL_OPT_SSL_MODE option introduced.
    It is set in case of --ssl-mode=REQUIRED and permits only SSL connection.

commit cd88a9dc2bbf6436b6c17be8af2ba8e50a7a911d
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Thu Mar 9 15:33:45 2017 +0000

    BUG#22150112 REPLICATION BREAKS WITH NOT PRESERVE EVENTS
    
    Problem and analysis:
    Events defined as "ON COMPLETION NOT PRESERVE" can be automatically
    dropped when they complete executing or when the scheduler is started.
    The issue reported refers to when the event scheduler is started and
    events that have passed their execution times are automatically dropped.
    This automatic drop was already removing the event from the event queue
    and from the mysql.event table. However, it was not being written to
    the binlog and, consequently, a slave would not replicate these drop events.
    This would cause an error on the slave if the master created another event
    with the same name as one automatically dropped.
    
    Fix:
    When the scheduler is started, if any event is dropped automatically,
    the drop is written to the binlog so that it can be replicated to
    the slaves.

commit b5a8aef550b0eb9c2ccfb9d86da4b8fe3d845b00
Merge: 3bb768f 821b976
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Mar 9 11:41:48 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 821b976814e3b3d26961c03a01e47be46c3b04fb
Merge: 8c1a0ff 7546938
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Thu Mar 9 11:40:47 2017 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 7546938d2a80b4fd245ba8cba4b4260ca2e9b543
Author: Terje Rosten <terje.rosten@oracle.com>
Date:   Wed Mar 8 08:29:02 2017 +0100

    BUG#25364806 MYSQLD_SAFE FAILING TO START IF DATADIR GIVEN IS NOT ABSOLUTE PATH
    
    mysqld_safe is working on real files, however passing these file paths
    as is to mysqld as options gives different meaning when paths are
    relative.
    
    mysqld_safe uses current working directory as basedir for relative paths,
    while mysqld uses $datadir as basedir.

commit 3bb768f711dc97fe45f38f9ac15cbb202105273b
Merge: 9c749d3 8c1a0ff
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Mar 9 15:00:40 2017 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8c1a0ff645621c9dd98f267496000f9d245e6209
Merge: c35e1d5 909d9b8
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Mar 9 14:58:51 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 909d9b8aae960fc68e17d0c1fcfe1dd0c77bcd41
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Mar 9 14:57:20 2017 +0530

    BUG#24807826: UINT3KORR SHOULD STOP READING FOUR INSTEAD OF
                  THREE BYTES ON X86
    
    Analysis:
    =========
    The macro uint3korr reads 4 bytes of data instead of 3 on
    on x86 machines.
    
    Multiple definitions were created for this macro for
    optimization in WIN32. The idea was to optimize reading of
    3 byte ints by reading an ordinary int and masking away the
    unused byte. However this is an undefined behavior. It will
    be an issue unless users are aware of allocating an extra
    byte for using this macro.
    
    Fix:
    ====
    Removing the definition which reads 4 bytes of data. The
    only definition of this macro would now read just 3 bytes
    of data thus prohibiting the usage of an extra byte.
    
    Note:
    =====
    This is a backport of Patches #5 and #6 for Bug#17922198.

commit 9c749d320dd593970250794de6d2cf284872d5c8
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 8 15:58:14 2017 +0100

    Test cleanup for 5.7

commit 86a6a0cf545974dc7d9a668e4ec2f23d533806d1
Merge: 69f39d4 c35e1d5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 8 15:56:17 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit c35e1d5ebb8866e0314bbefe2f350c16c8e985c1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 8 15:55:19 2017 +0100

    Test cleanup

commit 69f39d4ef28648aafb235108cd3616ead93a527c
Merge: 85919e9 31a302d
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 8 13:57:41 2017 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 31a302d880df99c25864d058f81f2fc5387ad118
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Mar 7 15:00:30 2017 +0100

    Bug#25309017 - THE FIX FOR BUG 78777 HAS DIFFERENT
    BEHAVIOR WITH PERF.  SCHEMA VS. WITHOUT IT
    
    Context:
    ========
    
    Before the fix for MySQL BUG 78777,
    THD::proc_info was not reset when a session goes IDLE.
    
    While SHOW PROCESSLIST handled this case,
    SHOW ENGINE INNODB STATUS did not,
    and displayed an incorrect status for an idle thread.
    
    The fix for bug 78777 exposed then another issue:
    
    When a session that was IDLE is now active again,
    aka when a request is received,
    the session status is not always changed back
    to reflect the statement execution.
    
    When compiling with the performance schema,
    the session status was changed to Init, as expected.
    
    When compiling without the performance schema,
    the session status was left unchanged.
    
    In particular for the SHOW PROCESSLIST statement,
    the STATE column for the running session did not reflect that
    this statement is being executed (with a state set to Init).
    
    Having statements that behave differently with and without the performance
    schema is very undesirable, as this confuse monitoring tools and cause
    regressions.
    
    Root cause:
    ===========
    
    The problem is with init_net_server_extension().
    
    When compiling without the performance schema,
    this function takes a shortcut and do not hook up
    net_before_header_psi() and net_after_header_psi()
    at all, assuming these functions have no effect.
    
    This is incorrect, init_net_server_extension()
    has an effect even without hte performance schema,
    because the call to THD_STAGE_INFO() affects THD::proc_info,
    which is the data exposed in column STATE in SHOW PROCESSLIST.
    
    The reason for THD_STAGE_INFO() to behave this way
    is to maintain consistency between
    - the (relatively recent) performance schema STAGE instrumentation
    - the existing THD::proc_info instrumentation,
      which has to be preserved for backward compatibility.
    
    Fix:
    ====
    
    In init_net_server_extension(),
    do not take shortcuts when compiling without the performance schema.
    Invoke net_after_header_psi() normally,
    by hooking up the callback.
    
    Tested both with and without the performance schema.

commit 85919e9d2b5e518c199665d357d3bd366786d3bc
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 7 18:39:50 2017 +0530

    Bug#24285104 RELAY LOG CORRUPTION NOT HANDLED CORRECTLY WITH
    MULTI-SOURCE REPLICATION
    
    Post push:
    Fixing a test failure

commit ca59ea753b757942c834093c83b1e83717a62869
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Mar 7 16:16:06 2017 +0530

    Bug #23046302   COUNT(*) MUCH SLOWER ON 5.7 THAN 5.6
    
    Test case fix for cmp_per_index.test which was using count(*)
    for scanning the table using primary index. The removal of
    Wl6742 triggered count(*) to use secondary index which was
    causing the test to fail for some innodb compression levels.
    Fix is to force the table to use primary index by doing
    select * from table.

commit 6960299bb23d554838d88ca412a79ff7cbb034b4
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Mar 7 12:20:12 2017 +0530

    Fixed crash

commit f88d481d308b4047bea817be2af1bd686766f34e
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Mon Mar 6 13:05:05 2017 +0100

    WL#10166 Require WKB input in WKB parsing functions
    
    Post-push fix: re-record test case
    
    Change-Id: I7064d26c76ca0a35a040dffd76a5587214ee752f

commit 8634f1ff852579e7bb609b4055e677f0341e0c29
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 3 18:23:04 2017 +0530

    window fixed

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

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

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

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

commit 4def8562953def72a561553e91985e5303cde41b
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Mar 3 15:51:02 2017 +0530

    Fixed build issues.

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

    Merge branch 'mysql-5.6' into mysql-5.7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

commit 8eb46eda365a8050b2a598350ffa151c3191ded3
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 28 17:07:47 2017 +0530

    Fix build issues.

commit 5a62916a9be64f9f9418de3caade01cfe44b4c4b
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 28 15:55:53 2017 +0530

    Fixe build issues

commit b0758de5f4aafa10d103ed81931e2181e72c7a37
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 28 15:17:01 2017 +0530

    Fix build issues and added tests

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

    Backport fix for Bug#22849423 to 5.6
    
    The fix adds the Debian/Ubuntu install path to mtr search ca
    
    (cherry picked from commit a3ef6eadac144cc4aa426e0b1a6e027d55ac7d36)

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

    Merge branch 'mysql-5.6' into mysql-5.7

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

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

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

    Merge branch 'mysql-5.6' into mysql-5.7

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

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

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

    Merge branch 'mysql-5.6' into mysql-5.7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Raise version number after cloning 5.7.18

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

    Raise version number after cloning 5.6.36

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

    Raise version number after cloning 5.5.55

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

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

commit 1eecc449b572022a4634dbe6c1468990c284cf65
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 16:59:24 2017 +0530

    build issue fix

commit bac198dd94a6b3cf9c85b74e9327d6bef2ca3086
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 16:25:21 2017 +0530

    Fix buid issue

commit dc7327d057e761554711835c4436ef84ba43d0aa
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 16:03:00 2017 +0530

    Fixed build issue

commit 4b41c28e2bc25e516aec3f2be5de71f3e24311fd
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 13:12:48 2017 +0530

    fixed TLS_CTX

commit 4718b74ddf2d671732d9633f9d6ed43517f76d26
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 11:56:12 2017 +0530

    Fix crash.

commit f5915a06d35bf6ea3f7e90b94ec93fb7469bff2b
Merge: 621deac e2e0fd5
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 11:30:05 2017 +0530

    Merge branch '5.7' into mysql-5.7-wl5847

commit 621deac24bb62416186441055ec5664d4a5018a3
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 27 11:26:51 2017 +0530

    for gcov 1

commit 5a4818fc81c67bac57e1efd5889260aaa9117657
Merge: 1c8057c 72e307e
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Feb 24 12:01:56 2017 +0530

    Merge branch '5.7' into mysql-5.7-wl5847

commit 1c8057cfbdec1279dbc9ffe674e8ad5a42b35f7e
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Thu Feb 23 13:04:19 2017 +0530

    fixed build issues.

commit ac01082ce71e65eadcef778ea16d1af3ba146379
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 21 16:35:10 2017 +0530

    Fixed build issues.

commit a9b7dae891695b9015a9111a51e3ca7df276d0c7
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 21 12:15:06 2017 +0530

    Added test and fix a bug

commit 43448b85a3ddc756345696f693cc22a311c8aee1
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 20 18:44:46 2017 +0530

    Fixed solarise build issue and added file to run the test.

commit 23c5e6f16aa081459368e292fd8a9803ca638db9
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 20 14:04:36 2017 +0530

    Removed unwanted files

commit dd06c771de007357ff54b191b6e1b4bc8adf1c4f
Author: git <yashwant.sahu@oracle.com>
Date:   Mon Feb 20 12:38:48 2017 +0530

    Fixed build issue.

commit 97ee094bbfb587047af9bd01e5d0a38df2e2d0e2
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 20 11:23:31 2017 +0530

    build fix

commit 0d6139e5ebb2220d03314d9c08addef2c2eff096
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Feb 20 10:25:20 2017 +0530

    Fixed build issue and fixed review comments

commit 73c567107bd2fca8afdddbc1f4cce261ef4d8d13
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 7 12:32:12 2017 +0530

    Test Fix.

commit 6e44da8023985ede37f1f9b90bf552fba5f7aeba
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Feb 7 12:15:33 2017 +0530

    Fixed tests.

commit b70c4dd42a3b9ff62fa8d7a051a1ff08d50dffef
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Feb 3 16:36:18 2017 +0530

    Added more tests.

commit 0f7d09e9706965665ad8f2f98118f9dc9042d5de
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Feb 1 18:09:49 2017 +0530

    test.

commit 72baa7e86b501c82915673adf6f24d2faff9a9fc
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Feb 1 16:29:50 2017 +0530

    Added test and fix TLS name.

commit 454da6889a914195d0133f3c85c5ec7ac66736ba
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Jan 23 14:10:26 2017 +0530

    23 Jan. working

commit 29f06c1786f709c1d8a8ba0f96e44e60dbca89e3
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Jan 11 15:02:49 2017 +0530

    removed hashed pool

commit e66ae6423f56b6232f5e21c62f4073d4bc1f4889
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Jan 6 14:29:00 2017 +0530

    wl:8196: removed deperacted LDAP codes.

commit 79ffb23cff5d0df9184a4a642e9d290563f2e33c
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Jan 4 12:11:53 2017 +0530

    wl: 8196: ldap, fixed pool

commit cc3c3841c040bec1d01450b99b40e581679c83c3
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Tue Dec 27 12:31:54 2016 +0530

    After hash pin

commit a0eb97f9c398f35ddde8b0eae55cfb378a17deb0
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Sep 7 18:19:57 2016 +0530

    ldap: fixed makefile

commit 539891f5dee15baa234351813f0806d0f60553dc
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Sep 2 15:22:40 2016 +0530

    ldap plugin: initial version
