commit 733577633b7eec78a51b70636568d735c187e96c
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Sep 13 12:17:36 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    (cherry picked from commit 148b35d25800dfac8855262967eb76408126649b)

commit 3fa3a31fc8fdbee002f32991f16ac6768c70c9c0
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Fri Sep 8 18:30:57 2017 +0530

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

commit 3b1b08679365116dc0a3cd7451559736203580ac
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Aug 28 12:30:21 2017 +0200

    Bug #26501092 mysql server installer cannot detect that visual c++ 2010 is installed.
    
    (cherry picked from commit 816d1307409636655afee3424aa96451a4e22be2)

commit bdc4aa601950295a602c5320f260d91e66e6ff82
Merge: 0012c45 ebfd0eb
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Aug 24 17:04:45 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ebfd0ebe55692c0f115f01d5441050b773674a71
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Thu Aug 24 17:03:21 2017 +0530

    Bug#26361149  MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST,
                           COL), NAME_CONST('NAME', NULL))
    
    Backport of Bug#19143243 fix.
    
    NAME_CONST item can return NULL_ITEM type in case of incorrect arguments.
    NULL_ITEM has special processing in Item_func_in function.
    In Item_func_in::fix_length_and_dec an array of possible comparators is
    created. Since NAME_CONST function has NULL_ITEM type, corresponding
    array element is empty. Then NAME_CONST is wrapped to ITEM_CACHE.
    ITEM_CACHE can not return proper type(NULL_ITEM) in Item_func_in::val_int(),
    so the NULL_ITEM is attempted compared with an empty comparator.
    The fix is to disable the caching of Item_name_const item.

commit 0012c451bf04e49a50dc113637de2144ddfb89ee
Merge: 801b070 0bed495
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Aug 24 14:23:52 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0bed495b4909b9d72e37c9075f0057263040ab3f
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Aug 24 14:19:38 2017 +0530

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

commit 801b0707e21d9e6033b7698abd3ad3a6ee8d89e0
Author: Anushree Prakash B <anushree.prakash.b@oracle.com>
Date:   Wed Aug 23 13:58:51 2017 +0530

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

commit c8b79b122008e17ce3d0710a0c6a9ee04ceebbb1
Merge: ca782a5 331fb96
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Aug 23 13:02:23 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 331fb96afc1af52a44c0d218feb2f9f7e1a1b9a7
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Aug 16 13:58:25 2017 +0530

    Bug#26390632: CREATE TABLE CAN CAUSE MYSQL TO EXIT.
    
    Analysis
    ========
    CREATE TABLE of InnoDB table with a partition name
    which exceeds the path limit can cause the server
    to exit.
    
    During the preparation of the partition name,
    there was no check to identify whether the complete
    path name for partition exceeds the max supported
    path length, causing the server to exit during
    subsequent processing.
    
    Fix
    ===
    During the preparation of partition name, check and report
    an error if the partition path name exceeds the maximum path
    name limit.
    
    This is a 5.5 patch.

commit ca782a59ef6d56e3ee555005fd9cd71d6195f313
Merge: 01a355e be9b6bc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Aug 23 09:26:41 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit be9b6bc9f9fa758b39eb914732996e68633e8b9c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 15 13:15:19 2017 +0200

    Bug#19875294 ASSERTION `SRC' FAILED IN MY_STRNXFRM_UNICODE (SIG 6 -STRINGS/CTYPE-UTF8.C:5151)
    
    Backport from 5.7 to 5.5 Field_set::val_str()
    should return String("", 0, cs) rather than String(NULL, 0, cs)

commit 01a355e5f0c5dd07d89b1f6ec6a15e52192ea176
Merge: f3d8bdc 5a88c15
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 23 09:17:38 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 5a88c153df08d73674197b5cff78dbfcb9c13030
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 23 09:16:12 2017 +0530

    Bug#24763131 LOCAL-INFILE DEFAULT SHOULD BE DISABLED
    
    Problem & Analysis: Slave's Receiver thread, Applier thread and worker
        threads are created with LOCAL-INFILE option enabled. As the document
        says https://dev.mysql.com/doc/refman/5.7/en/load-data-local.html,
        there are some issues if a thread enables local infile.
        This flag should be enabled with care. But for the above mentioned
        internal threads, server is enabling it at the time of creation.
    
    Fix: Further analysis on the code shows that none of threads really
        need this flag to be enabled at any time as Slave never executes
        "LOAD DATA LOCAL INFILE" after reading it from Relay log.
        Applier thread removes "LOCAL" before start executing the query.

commit f3d8bdcac4e8a137549ad6be9434185a9ee71c3f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 16 13:30:52 2017 +0530

    Bug#22382199	RPL.RPL_DUMP_THREAD_KILL FAILS WHEN RUN WITH --MEM
    
    Problem: RPL.RPL_DUMP_THREAD_KILL is failig frequently in test runs.
    
    Analysis: When this test script is running in combination with other tests,
    it is possible that dump threads from those tests are not killed.
    Every test script has rpl_end.inc but that .inc does not kill dump threads.
    This test script expects that the number of dump threads are zero before
    starting the test.
    
    Fix: Doing cleanup (stopping dump threads) before the actual test starts.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Merge branch 'mysql-5.5' into mysql-5.6

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

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

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

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

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

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

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

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

commit b7ea062b65f3239e7d2d081a7334339d9d393ca1
Merge: c1028cc 8dbc7ce
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:52:11 2017 +0530

    Upmerge of the 5.5.57 build

commit 8dbc7cedf12ccac5e9dd78016d0968a2a7e2c9fa
Merge: 1af074c 1042f0a
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Mon Jul 17 16:47:22 2017 +0530

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

commit c1028cca87a17d61026979ea11d16806f337ab68
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Thu Jul 13 11:21:24 2017 +0530

    Bug #24938374   MYSQL CRASHED AFTER LONG WAIT ON DICT OPERATION LOCK
    WHILE SYNCING FTS INDEX
    
    PROBLEM
    
    As part of rb#12340, dict_operation_lock was acquired to avoid dropping
    of FTS index/ table while the sync is in progress in the background. Due
    to this change server gets killed on long wait for dict_operation_lock
    while a long sync is in progress.
    
    SOLUTION
    
    We remove the dict operation lock that is held by sync (fts) in
    background. We will manage the concurrency of drop index and sync index
    in 2 ways:
    1) If sync is already in progress, Drop index would wait for sync to
    complete.
    2) If alter is already happening and sync is invoked then sync would do
    a check for index/table to be dropped flags are set or not, if it is it
    would skip syncing that index.
    
    Reviewed by: Jimmy Yang <Jimmy.Yang@oracle.com>
    RB: 15344

commit 9c1bc9d4f6cc1ce40300136fd79466b98b036884
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Tue Jul 11 10:48:24 2017 +0530

    Bug#26412663 MEMCACHED.MEMC_297_CRASH: REMOVE DEPENDANCY ON PERL MODULES
                 DBI AND DBD::MYSQL
    
    The test memcached.memc_297_crash is being skipped on many machines due to
    the unavailability of DBI and DBD::mysql perl modules. It has been altered
    to use the mysql client binary bundled with the build.
    
    Reviewed-by: Aditya A <aditya.a@oracle.com>

commit e17756e1ab8bc70df70ba33cfaaffa43acfcf9bd
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jul 11 10:36:28 2017 +0530

    Bug#26405350: MAIN.MYSQLHOTCOPY_ARCHIVE AND
                  MAIN.MYSQLHOTCOPY_MYISAM TESTS
                  FAILING IN PB2-5.6
    
    Description: Mtr tests, main.mysqlhotcopy_archive and
    main.mysqlhotcopy_myisam are failing recently in PB2-5.6.
    
    Analysis: The test failure is due to the mismatch in the
    exit code returned by the mysqlhotcopy utility when the
    utility encounters an error.  This mismatch is happening due
    to the unpredictable exit code returned by the "die" command
    used in the "mysqlhotcopy" perl script.
    
    In the perl documentation for "die" command it is mentioned
    that "the value of the exit code used by die can be
    non-predictable, so should not be relied upon, other than
    to be non-zero."
    
    Fix: Error number 255 is also added along with 9, 11, 110
    and 2304.

commit 2f0b0a5368f54a845d658ab8538c11b6c6cb2881
Merge: 401aaf6 1af074c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:46:16 2017 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1af074c99d902d88a008581fbd1f48e4cbc5385a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Jul 7 17:43:40 2017 +0530

    Bug#26400146 - 5.5 AND 5.6 DOCKER PACKAGES MISSING MYSQLCHECK UPGRADE NOT POSSIBLE
        - Add mysqlcheck tool to docker rpms for upgrade

commit 401aaf6b9882e76062ecf708a631d026e93f5ada
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Jul 6 18:28:26 2017 +0530

    Bug #25586766	INNODB: FAILING ASSERTION: EVENT
    
    Analysis:
    ========
     Buffer pool load now command fails with assert in read only server mode.
    Because the event to signal the buffer pool load thread is not
    initialized.
    
    Fix:
    ====
     Check for read only mode before doing the buffer pool load.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit eac63a03a505f11cbbcb60ac23df0f61bf23a244
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jul 5 08:25:12 2017 +0530

    Bug #23577867: INCORRECT BEHAVIOR WITH FAULTY STORED FUNC
                   AND DATE COMPARISION
    
    Issue:
    ------
    This problem occurs when:
    1) A certain type of Stored Function (SF) is called from a
       subquery.
    2) The subquery is an NOT IN condition in the WHERE clause.
    
    Root cause:
    -----------
    When an SF (or any other Item object) is marked as a
    constant, it might be evaluated during the PREPARE phase.
    After evaluating an SF, a cleanup is called on the related
    TABLE_LIST objects. This can create a problem when the
    query attempts to acquire a lock on the same tables after
    the PREPARE phase and before beginning the EXECUTE phase,
    because the runtime system currently does not support
    evaluating functions before tables have been locked.
    
    Solution:
    ---------
    A stored function is considered as constant only if the
    tables have been locked. This will make sure that even if a
    function is marked as DETERMINISTIC, it will be constant
    only during the EXECUTE phase when the relevant locks have
    been acquired.
    
    For some of the queries containing DETERMINISTIC functions,
    the conditions weren't evaluated because the
    const_item_cache is set to false. Now that we have shifted
    it to a function that correctly checks for table locks,
    these conditions can be considered constant. The result in
    some changes in partition_locking.result.

commit 4d3d66c18e38ca238b7d35fbbb4894b4ef14e3b7
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Jun 29 13:58:26 2017 +0530

    Bug#25987505 - SUPPRESSION IS TOO STRICT ON SOME SYSTEMS
    
    DESCRIPTION
    ===========
    Valgrind failure happens for few test cases e.g.
    "main.mysql_client_test"
    
    ANALYSIS
    ========
    File "valgrind.supp" has a suppression which looks like:
    {
       OpenSSL still reachable.
       Memcheck:Leak
       fun:malloc
       fun:CRYPTO_malloc
       fun:sk_new
       fun:load_builtin_compressions
       fun:SSL_COMP_get_compression_methods
       fun:SSL_library_init
    }
    
    The valgrind failure stack is as shows below:
    {
       malloc
       CRYPTO_malloc
       sk_new
       ???
       SSL_COMP_get_compression_methods
       SSL_library_init
       ssl_start
       init_ssl
       mysqld_main
       main
    }
    
    Clearly the frame 'load_builtin_compressions' can't be
    matched here and hence the reported failure.
    
    FIX
    ===
    Replace the specific frame with wildcard '...' in the
    suppression.

commit bc76a7aeffcd4b2d744bd6fec87073e679a6f58d
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue May 30 16:50:55 2017 +0100

    BUG#26137159 SLAVE STOPS WITH HA_ERR_KEY_NOT_FOUND (1032) WHEN PARTITIONING + INDEX USED
    
    Problem:
    When table partitions and indexes are used simultaneously, and the index
    key is not in the partition function, in some situations replication
    would stop because a given key could not be found when executing an
    update or delete statement. This issue only happened when
    slave-rows-search-algorithms is set to hash_scan.
    
    Analysis:
    When slave-rows-search-algorithms is set to hash_scan, the applier
    searches for keys(hashes) of the rows that will be modified. Since in
    this case, the index key was not in the partition function, the
    retrieved rows could not always be a match. If the key to the retrieved
    row happened to be different than the key currently being searched, we
    would advance to the next key, even if not all rows up to that key had
    been retrieved yet.
    
    Fix:
    Advance to the next key to search (or return an error) only when the
    search for a given key value ends without finding the corresponding key,
    instead of advancing to the next key when the index key is different
    than the key being searched.
    
    (cherry picked from commit 8fefcc056b7dd704bf381788f9ab52cbcd0d41af)

commit f1f44c0311715cd8e30df12041e8eee24461854d
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jun 22 12:57:29 2017 +0530

    BUG#25033538: ASSERTION FAILURE IN THREAD X IN FILE
                  FTS0QUE.CC LINE 3831
    
    Post push fix for test failure on 32 bit platform.

commit 9ba24a80d321c38c513db14bb2e018a281d41d08
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jun 20 16:12:54 2017 +0530

    BUG#25033538: ASSERTION FAILURE IN THREAD X IN FILE
                  FTS0QUE.CC LINE 3831
    
    Analysis:
    ========
    Server exits when the full text search results
    exceeds the configured 'innodb_ft_result_cache_limit'.
    
    When the full text search results exceeds the
    'innodb_ft_result_cache_limit', an error is raised.
    During the FTS cleanup, the new result list i.e
    'query->intersection' is not freed, triggering
    the assert which checks if 'query->intersection'
    is NULL. Also the additional issues which was fixed
    by BUG 21140111 in 5.7 contributed to the problems
    reported in the bug.
    
    Fix:
    ===
    During the FTS query cleanup, free the result
    list 'query->intersection'.
    
    Also this fix backports the patch for:
    
    BUG 21140111: Explain ... match against: Assertion failed: ret ...
    
    The problem here is missing error check in
    Item_func_match::init_search() after the handler call
    ft_init_ext_with_hints(), and missing error propagation
    in the call stack.
    
    The fix also includes a new inlined query block property
    function has_ft_funcs() that is used to avoid an
    unnecessary and costly function call to optimize
    full-text searches.

commit 73d2027113befdd433f447a3b2a4df4e8363d261
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Fri Jun 16 17:58:49 2017 +0530

    Bug#21421642 - SERVER CRASH WHEN CONNECTING SHA USER WITH
                   BLANK PWD FROM PYTHON CONNECTOR
    
    DESCRIPTION
    ===========
    When a user (created using sha256_password plugin) tries to
    connect to server through Python connector using a blank
    password, it results into server exit!
    
    ANALYSIS
    ========
    In the reported scenario during authentication process in
    sha256_password_authenticate(), 'pkt_len' which is an
    outcome of vio->read_packet() is calculated as 0. Later in
    the same flow, 'pkt_len-1' (which becomes an arbitary large
    number when casted to unsigned int) is passed as an
    argument to my_crypt_genhash() which is used for memory
    manipulations (such as memcpy() in case of YASSL) and hence
    the exit.
    
    When blank password is provided through client, 'pkt_len'
    is calculated to be 1 and is handled accordingly. This has
    to be extended for the case when 'pkt_len' is calculated to
    be 0 (e.g. When python connector is used to connect with
    blank password). All other values of 'pkt_len' are rightly
    handled in the code.
    
    FIX
    ===
    We avoid calling my_crypt_genhash() when 'pkt_len' is 0 and
    *buf is empty. In other words when the password is blank,
    return before calling my_crypt_genhash(). The return value,
    however depends upon if the 'auth_string' (corresponding
    column value from the mysql.user table for the given user)
    is empty (OK) or not (Error).
    
    NOTE
    ====
    The above fix takes its inspiration from the following:
    
    1. native_password_authenticate() - Handling when 'pkt_len'
                                        is 0
    2. connecting through client      - Checking emptiness of
                                        'auth_string'

commit 44eec513f267db22cec665ae9716f706c00c3659
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jun 14 07:50:43 2017 +0200

    Bug#23531150: MYSQLDUMP GET_VIEW_STRUCTURE DOES NOT FREE MYSQL_RES
                  IN ONE ERROR PATH
    Fix memory leak in mysqldump in case of an error.

commit 88fcfa5eb662de56e84d50098a2663e06f457462
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Jun 12 17:07:50 2017 +0530

    Bug #25909540   UNINSTALL PLUGIN DAEMON_MEMCACHED MAKE MYSQLD CRASHED
    
    ANALYSIS
    
    innodb_conn_clean() doesn't check if conn_data->thd is NULL before
    attaching it to the thread.
    
    FIX
    
    Check if conn_data->thd is present before attaching.
    
    [rb 16426 Approved by jimmy ]

commit d4b222d53d56b79426d4f847e9c5929fab9647b6
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Fri Jun 9 12:50:35 2017 +0530

    Bug#24679056:MULTI-THREADED SLAVE LEAKS WORKER THREADS IN CASE OF THREAD CREATE FAILURE
    
    Problem:
    If one adds SHOW PROCESSLIST to the end of rpl.rpl_mts_debug.test, it will show
    an orphaned SQL worker thread that is there regardless that the slave is
    stopped. It is a thread created by mts_worker_thread_fails failure injection
    point testcase, which tries to set up MTS with two worker threads and
    simulates a pthread_create failure for one of them.
    
    Analysis:
    The root cause is that the variable slave_parallel_workers will not be
    incremented in case of failure in slave_start_single_worker
    (caused here by "mts_worker_thread_fails" injection). This will end up
    causing an early exist in slave_stop_worker
    
    void slave_stop_workers(Relay_log_info rli, bool mts_inited)
    {
      int i;
      THD thd= rli->info_thd; if (!mts_inited)
        return;
      else if (rli->slave_parallel_workers == 0)
        goto end;
    
    Fix:
    Incremenet the variable slave_parallel_worker for every successful call to
    the method slave_start_single_worker(). In this way the early exist will be
    avoided when there are worker threads present which needed to be stopped.

commit 1042f0a113cd7b2be1a38092e9f78eaad4025df4
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:09:07 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Corrected the revert.
    
    (cherry picked from commit f637e524bf9b692c3ed46d856e2beac193b42a3e)

commit 065b1bc0081360b9aa6425d20fe01ff39f4adb0e
Merge: 757e313 f637e52
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:12:19 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit f637e524bf9b692c3ed46d856e2beac193b42a3e
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Mon Jun 5 08:09:07 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Corrected the revert.

commit f3c4fa0dfb74a0c7132e1af51a591085b43e3b05
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:17:30 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Temporary revert of the VS2008 redist check.
    
    (cherry picked from commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96)

commit dd6ce85bbe59b9c0842e0418131616ccdba1b720
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 15:25:04 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids
    
    (cherry picked from commit bf47fb74dcc3e84057314817c56e6f8e05af094c)

commit 757e3132e5679e3d503b9bf828ac7650f52a534b
Merge: 6ddc838 36ec550
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:27:47 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 36ec550fe5fa6b2a997cb39d3b9e33988f525c96
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 19:17:30 2017 +0200

    Bug#26171638 MYSQL 5.5.57 - MSI COMMUNITY PACKAGES NOT GETTING INSTALLED
    
    Temporary revert of the VS2008 redist check.

commit 6ddc838acd11da6d43d2b86f2e73f0b7ebf125c2
Merge: c04822b bf47fb7
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Fri Jun 2 11:56:42 2017 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit bf47fb74dcc3e84057314817c56e6f8e05af094c
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 15:25:04 2017 +0200

    Bug#26181622 MSI BUILD FAIL DUE TO DUPLICATED FILE ID
    
    Fixed generated mysql_server.wxs not to contain duplicates, or too long ids

commit c04822bd9ab68efbc4ff62fa0df442d88b5c88ee
Author: Piotr Obrzut <piotr.obrzut@oracle.com>
Date:   Thu Jun 1 07:41:27 2017 +0200

    Bug# 26168832: TEST DATABASE DOESNOT EXIST IN MSI PACKAGES
    
    Fixed accidental removal of the initial data base installation.

commit 36ba15b7e41d01b3c16962f8d9a435642383967b
Author: Ivo Roylev <ivo.roylev@oracle.com>
Date:   Tue May 30 15:59:51 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.
    The fix is to escape the USE parameters whenever quotes are used.
    RB# 16316

commit 65f1e5a205ee90eab3dee21524ac9697b3bd005f
Merge: a8c1489 33de929
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 29 14:59:03 2017 +0530

    Raise version number after cloning 5.6.37

commit 33de929874c61dfee74225b2234652f904450058
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 29 14:52:50 2017 +0530

    Raise version number after cloning 5.5.57
