commit eb634e06421441ed83af09f18d50e2d862d4d1cb
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Sat Nov 28 13:40:41 2015 +0000

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

commit c02b6acd3af1c24c573a19e86ba4fe47ee085e92
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Nov 25 12:13:20 2015 +0000

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

commit c8b8d60dd4fca296dbdc607fd2a73c04ad13dc5c
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Nov 24 10:26:44 2015 +0100

    Add man pages for lz4_decompress and zlib_decompress to rpm spec files.

commit 5b25534ea938c6b07e74146fd411bc2934be279c
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Nov 20 16:46:16 2015 +0100

    Bug#22225549 MYSQL_CHANGE_USER/MYSQL_RESET_CONNECTION+SET INNODB_*:LOGIN NOT POSSIBLE
    
    Update of plugin-defined session variable triggers resync with global
    variables and deadlocks on THD::LOCK_thd_sysvar in
    alloc_and_copy_thd_dynamic_variables().
    
    In alloc_and_copy_thd_dynamic_variables(), removed LOCK_thd_sysvar and
    extended the coverage of LOCK_global_system_variables
    
    (cherry picked from commit d02eed42ce96d52c28a007105bd056003bbff315)

commit cdf37b01ada537a75f12da7cf290d9201a9bfa0b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Nov 12 15:25:49 2015 +0530

    Followup fix for BUG#21950975 - MYSQL RPM INSTALLER(NEW STYLE) FAILS TO CREATE 'MYSQL' USER FOR EL5
    
    (cherry picked from commit 01be55cdbbc9e5f9d2cb59d1aafb87717d82a9c0)

commit 6a38b927b68b3e9f831a0a4447b21345eaf88f95
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Nov 13 08:42:31 2015 +0100

    Fixed syntax error in changelog file for debian7
    
    (cherry picked from commit 457d7bd5347ddd9ae42dbfb8e76c12e14074175c)

commit 70522c860001cf049bbd1be2a5df592883af9f26
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Nov 12 12:46:45 2015 +0100

    Add removal of upcoming decompress man pages, with comment
    
    (cherry picked from commit df7bda79e40a63d86f233fcddb4dfa2574e1338a)

commit ea20c3eaa0ea498be57887fb181aac2df0f60fca
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Nov 12 14:17:33 2015 +0100

    Bug#22147191	NO PACKAGE FOR UBUNTU 15.10
    
    * Adds wily (15.10) packaging
    
    (cherry picked from commit 5485716b211ff55536a26c98ec654dd8ff6e2b55)
    (modified by manually copying commit beb2ed52a4aa111cc759533232d15f4da7fa7cda)

commit fefe8d37baa335a7f6d9e0ceb4b0183b561b5fac
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Nov 6 17:44:58 2015 -0600

    Bug#21935106 SHOW SESSION VARIABLES RECENTLY HAVING LOCK ISSUES
    
    The function alloc_and_copy_thd_dynamic_variables() synchronizes
    session variables with global variables. As of Bug#21840950, it uses
    the mutex THD::LOCK_thd_sysvar to block remote threads from accessing
    session vars during updates.
    
    With SHOW_COMPATIBILITY_56=OFF, SHOW VARIABLES can cause
    LOCK_thd_sysvar to be taken twice, first in System_variable::init()
    and later in alloc_and_copy_thd_dynamic_variables().
    
    System_variables::init() now only acquires LOCK_thd_sysvar if the
    target thread is not the current thread.
    
    perfschema.show_plugin.test is now two tests so that
    alloc_and_copy_thd_dynamic_variables() can be tested separately
    with SHOW_COMPATIBILITY_56 = ON and OFF.
    
    (cherry picked from commit 8d91476c0b2bc510729a786ab3ba98ef6d28c2aa)

commit 927d1cb3b45245387848fb52ec66ebb877f0c856
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Nov 11 10:16:06 2015 +0530

    Bug#22185872 : INCOMPATIBILITY IN LIBMYSQLCLIENT VERSION BETWEEN 5.7.9 AND 5.7.10
    
    Description : 1. enum for new option --tsl_version was not
                     added at the end of the list.
                  2. Symbol version for existing libmysqlclient
                     symbols were changed from 20.0 to 20.1.
    
    Solution : 1. Moved MYSQL_OPT_TLS_VERSION to the end of
                  the list.
               2. For MySQL 5.7, corrected symbol version
                  of existing libmysqlclient symbols.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Norvald Ryeng <norvald.ryeng@oracle.com>
    (cherry picked from commit 2b7f645832bf342ebf5d89f76cd0ef9f1627ddcf)

commit a2933857bf14f98c81c53e967a237d0e8f23ccd3
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Nov 10 10:41:17 2015 +0100

    Fixed copyright year in CMakeLists.txt
    
    (cherry picked from commit 3fd923ebf6609a0827ac1e90772350037f69a1b2)

commit 7464e6f8335588b3b1dcc5057f6256be53f61b64
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Sep 15 15:26:22 2015 +0200

    Fixed some incomplete copyright headers
    
    (cherry picked from commit 54e6acf09c779a10d22891ba9716e27e6901caee)

commit bd30b0c46a03f8fc1937aecf95dc6af832865eea
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Sep 15 15:22:22 2015 +0200

    Delete unwanted test plugins from docker rpm
    
    (cherry picked from commit b9a2d31674774c938f18f660fa733ce7537758b6)

commit 5e216dbdae714cbe75fe5ec7dd58bc661566d1ce
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Nov 9 11:03:12 2015 +0530

    WL#8196: TLS1.2 support
    
    Post push fix : Fixing failure in tls.test

commit 02aee32e91435a5b5ff80260712def228840454a
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Mon Nov 9 03:23:17 2015 +0530

    WL# 8196: TLS1.2 support
    
    TLS1.2 support feature

commit b5f9aec1ea5f6ed4df0f2ce8549d7909c0c88afd
Merge: 450aa06 94e193c
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Sat Nov 7 22:17:10 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 94e193c93e1cc4270e2ed1a95e1e9dd38d2fda89
Merge: 89024d7 6de8e12
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Sat Nov 7 22:14:16 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6de8e128a056b6979d341057994073174277f481
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Sat Nov 7 22:03:47 2015 +0530

    Bug#21973610: BUFFER OVERFLOW ISSUES
    
    post push fix : Fixing test failures

commit 450aa0626cb8cc95c7106bdb220c4309ac01aad5
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Nov 6 13:40:14 2015 +0100

    BUG#22083048: MUTEX REQUEST ON LOCK_OPEN CAUSE HANG IN OPEN_TABLE_UNCACHED()
    
    Problem: Adding a virtual generated column could cause a deadlock in
    debug builds. This was caused by a virtual column purge thread
    callback becoming blocked in open_table_uncached() because it could
    not acquire the LOCK_open mutex. The mutex, in turn, was needed to
    check if the table being opened was present in the TDC.
    
    Solution: Relax condition for assert and associated lock so that it is
    possible to call open_table_uncached() without taking LOCK_open or
    checking the TDC provided the table will not be opened in SE. Relaxing
    the assert is safe in this case as the second share outside the TDC
    will not have its own SE private data.

commit 63c07cecedcbe025abfed0686ee389295c75a24b
Merge: f9d196f 89024d7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 6 15:50:17 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 89024d72a7a38d81d163b14e196a4adf2191ce4c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Nov 6 15:02:26 2015 +0100

    Bug#22071592 RESOLVE_STACK_DUMP IS BROKEN IN 5.6 AND UP
    
    Post-push fix:
    SunOS header files are buggy, need to #include <stdio.h> before STL files.

commit f9d196ffac309b73dabfc1d41e43962afb8d8f9c
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Thu Nov 5 08:13:32 2015 +0100

    Bug #22107047: "MYSQLD --HELP --VERBOSE" CREATES A FILE IN THE DATA DIRECTORY
    
    This patch makes the server skip opening the binlog index file
    if starting with --help.
    
    Without this patch, with an empty data directory, the binlog
    index file will be created and left in the data directory.
    If we then do 'mysqld --initialize' on the same data directory,
    it will fail.

commit 098d57c64a2a8847a51896618690a9634124a58b
Merge: ec5339f 95361cc
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 6 16:48:09 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 95361cc55d0c429a192637cdb3dc53355e35a374
Merge: 706e67d b7202dd
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 6 16:45:50 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit b7202ddcb270e6c18076cad79480510208818a81
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Nov 6 16:41:55 2015 +0530

    Bug#21973610: BUFFER OVERFLOW ISSUES
    
    Description : Incorrect usage of sprintf/strcpy caused
                  possible buffer overflow issues at various
                  places.
    
    Solution : - Fixed mysql_plugin and mysqlshow
               - Fixed regex library issues
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Venkata S Murthy Sidagam <venkata.sidagam@oracle.com>

commit ec5339f983cea6d1ea161ddef6baafc4e3ab08dd
Merge: 5b3ac55 706e67d
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Nov 6 10:59:02 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 706e67d29ff6c47abaf7f75b6d7e19bf76744cba
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Nov 6 10:54:56 2015 +0100

    Bug #22041346 - SOME MTR OPTIONS USED IN COLLECTIONS FILES SHOULD BE DOCUMENTED IN README
    
      More explanatory text added and some minror adjustments

commit 5b3ac55176a3ebda8392c18cff6f96de4e7ffae0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 4 16:42:30 2015 +0100

    Bug#22151233 MEMORY LEAKS WHEN DOING INSERT... UPDATE ... PREPARED STATEMENTS
    
    Problem: memory leaks when doing INSERT... UPDATE ... prepared statements.
    Regression source is patch for
        Bug#21908206 MEMORY LEAK ON WINDOWS WHEN SELECT FROM VIEW IN SUBQUERY
    Which fixed a regression caused by
        Bug#13901905 - CRASH: INSERT ON DUPLICATE KEY UPDATE READS FREED MEMORY
    
    The patch for Bug#21908206 fixed a leak for LEX objects that were not
    properly destroyed.
    
    Solution: clear the std::map for LEX objects thar *are* destroyed.

commit 5477d0f87da79f15e44a897bf77615fc060a1192
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Nov 6 08:23:33 2015 +0530

    BUG#21864838 SIG11 IN FIELD_BLOB::CMP| AT SQL/FIELD.CC
    Bug#21881155: UNINTIALIZED READ IN KEY_REC_CMP CAUSE CRASH LATER
    
    Problem :
    ---------
    The issue is in generic partition handler that ensures order of
    fetched records across partitions. It does a n-way merge with the
    records from multiple partitions with the help of a priority queue.
    The queue needs to compare records from different partitions based
    on key (key_rec_cmp). key_rec_cmp() fails if the records contain
    virtual columns.
    
    Solution :
    ----------
    All these comparisons are on the scan keys (virtual columns) from
    the secondary index. For secondary index scan if we could always
    return the evaluated secondary index key values in the record then
    the issues would be resolved.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    
    RB: 10686

commit e9f7689b179b0f6d773361240f10a5ca33fe9339
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Nov 2 15:48:04 2015 +0100

    Bug#22131961 CANNOT GET GEOMETRY OBJECT FROM DATA YOU SEND TO THE
    GEOMETRY FIELD
    
    This is a regression introduced by the fix for bug #21614368.
    
    Problem: Queries that need to store the result of ST_AsBinary/ST_AsWKB
    in a temporary table will fail with an error message.
    
    Item_func_as_wkb::field_type() claims that the item returns a geometry
    column, but actually returns a binary string (WKB).
    
    Fix: Revert the fix for bug #21614368.
    
    New fix for bug #21614368: Change Item_cache::setup() to copy the used
    tables map from non-field items. This will make the Item_cache object
    non-const during resolving, and example's val_xxx() won't be called.

commit b559a2163ce91b490bf2cb46c19a5189de2c9fb5
Merge: af6175c ec74a20
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Nov 5 16:36:32 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ec74a2003381d1a8ff118206e3ef8118b9472f83
Merge: 43b410a 476223e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Nov 5 16:35:28 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 476223ec1d0ceb5b7c0455bf409efbabf5afc0d8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Nov 5 16:33:47 2015 +0530

    BUG#21950975 - MYSQL RPM INSTALLER(NEW STYLE) FAILS TO CREATE 'MYSQL' USER FOR EL5
        - Remove -N option in useradd for EL5 platforms

commit af6175c5902b6959738ddb0f9eb463856cd9867f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Nov 5 09:34:51 2015 +0200

    Revert Bug#21968191 FAILING ASSERTION: !FIELD->PREFIX_LEN || FIELD->FIXED_LEN
    
    The fix would have changed the storage format of
    affected secondary indexes, by no longer storing the length of the
    long fixed-length column prefixes.
    
    This reverts the commits a368c8bb217c362f5104aa3ed6965100f6d58452
    and cf549c25688f4ded1ef100fdeeede9dd7a69efd4.

commit 4903997455887c434c6a06a6a6a8b4b24170d159
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Nov 5 11:29:48 2015 +0800

    Bug#21981164 - FAILING ASSERTION: !BITMAP_IS_SET( TABLE->READ_SET, I)
    
    Reviewed-by: Benny Wang <benny.want@oracel.com>

commit 2b65714ad4a8bd863c724aed2b941b402c6cc465
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Nov 4 13:04:30 2015 +0100

    Bug#22124757 MAKE ST_SYMDIFFERENCE(GC, GC) MORE NUMERICALLY ROBUST
    
    Post push fix.
    
    Fix a small variation in floating point results between gcc and clang
    platforms by ignoring minor decimals.

commit 4596817f18c9c27aaf4d4b9d44b393fedf1e75c0
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Nov 4 12:19:33 2015 +0100

    Bug#22018999: gcols: assertion failed: !error
    
    This problem occurs because we have inconsistent handling of evaluation
    of various errors when evaluating constant expressions in generated
    columns: Sometimes such errors are reported as errors, sometimes they
    are converted to warnings. In strict mode, there is no problem because
    they are consistently reported as errors.
    
    The solution to the problem is to temporarily raise strict mode when
    checking generated column expressions when creating or altering tables.
    
    Note that this is a change of behavior that should be mentioned in manual.

commit 5e22d53d46c7639bff9c879adecc3ce27f6b418c
Merge: a67a240 43b410a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Nov 4 16:18:48 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 43b410ad4da7a9ccc294fab6f2892adbd5217cc5
Merge: a194618 5b357d8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Nov 4 16:14:24 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 5b357d89c1bbbecf9ea58caa5507367acefedc14
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Nov 4 16:12:27 2015 +0530

      BUG 22005375 - DEVEL PACKAGES INSTALL FAILS IF MYSQL-CONNECTOR-C-DEVEL-6.1.6 IS INSTALLED
    
            As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-devel dependencies

commit a67a240b9ee821a5a2e1ae322a1e205aa80e5f8f
Author: Rahul Sisondia <rahul.sisondia@oracle.com>
Date:   Wed Nov 4 11:47:19 2015 +0530

    Bug #21896123 : ADD/UPDATE IMPORTANT MEB SIDE CODE CHANGES IN INNODB SOURCE
    
    This patch includes MEB side changes done for MEB-4.0 release.
    In this patch, I've included only  important files where MEB specific changes are added.
    This patch will serves two purpose -
    1. It will make life easier for MEB developer who so ever does the next reound of merge from 5.7.x to mysql-5.7-meb branch(It is changes till mysql-5.7.9 release)
    2. With updated the MEB specific code in the mysql-5.7 code base, InnoDB dev will keep MEB in mind while making changes to these methods/code :)
    
    Testing:
    --------
    Verified on mysqk-5.7-itch
    Commit # 596f56846f196fa0
    Time Stamp -  2015-11-04 06:22:12 
    
    Reviewed-by:- Marko Makela
    RB:- 10865

commit 07fc586a1f7ce64fea2d353e164c66a9b95a7823
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Oct 19 13:35:40 2015 +0200

    Bug#22017616: ASSERTION FAILED: TABLE_SHARE->IS_MISSING_PRIMARY_KEY() == M_PREBUILT->CLUST_IND
    
    Problem: Creating a unique index on a virtual point column would
    result in assert/error message when trying to access the table. The
    root cause was that when checking if a key can be promoted to primary
    key, the rejection of virtual columns happened after a special check
    for POINT columns which, if successful, would discard further checking
    and conclude that the column could be promoted.
    
    Solution: Since virtual columns never can be promoted the check for
    this must be precede any specialized checks which disable further
    checking.

commit a8ad35af159920dd36e5c41840422d78ee92a07b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Nov 3 10:40:47 2015 +0100

    Bug#22124757 MAKE ST_SYMDIFFERENCE(GC, GC) MORE NUMERICALLY ROBUST
    
    Problem: The symmetric difference of two geometry collections is
    calculated as  difference(union(A, B), intersection(A, B)), and this
    may cause some numerical robustness issues.
    
    Fix: Rewrite the operation to instead calculate union(difference(A,
    B), difference(B, A)) in order to make the algorithm more numerically
    robust.

commit cf05ed46ecc32f52c78cf62883e5593b7f360dbc
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Oct 19 13:25:25 2015 +0300

    Bug #21928198: TIMEOUT OF JUST ONE SECOND USED FOR VERSION TOKEN LOCKS
    
    Upped the timeout from 1 second to the default value for lock_wait_timeout.

commit 4c8e696867f408d5dae4a766efefc09423d9cb42
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Oct 21 15:50:32 2015 +0300

    Bug #21972941: OLD-PASSWORD SUBCOMMAND IS STILL IN MYSQLADMIN --HELP IN 5.7
    
    Removed the old-password reference from the help text.
    Test case searchig for it added.

commit 7ec11d2e17c476add2cea47fa6288c5d35610a5c
Merge: f509759 a194618
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 08:01:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a1946180fdc20997a1e9b6d680737d595f8dea6a
Merge: 6acd728 1e305da
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 08:00:46 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1e305dad56a03f14141e1c4705972eed09a9524f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:59:57 2015 +0530

    Bug #22123583: MYSQL 5.5: MAIN.SP HAS VALGRIND ISSUES
    
    Issue:
    -----
    When a varchar column is used to fill the record in an
    internal temporary table, the length of the string stored
    in the column is not taken into account. Instead the
    default length of packed data is used to copy with memmove.
    This will cause valgrind issues since some bytes are
    uninitialized.
    
    SOLUTION:
    ---------
    The solution is to take into account the length of the
    string stored in the column while filling the record.
    
    This fix is a backport of BUG#13389854.

commit f5097595f830b02edb5a8004acbcf9a9897e0ffc
Merge: 40ec09e 6acd728
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:45:34 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6acd72842a495981850500bc87076cf38a106972
Merge: 6a29173 f97e447
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:44:55 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit f97e4479c3366c5a948a29500d6fe0ba7ac74ee5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Nov 3 07:43:54 2015 +0530

    Bug #22023218: MYSQL 5.5: MAIN.FULLTEXT HAS VALGRIND ISSUES.
    
    
    Issue
    -----
    This problem occurs when varchar columns are used in a
    internal temporary table. The type of the field is set
    incorrectly to the generic FIELD_NORMAL type. This in turn
    results in an inaccurate calculation of the record length.
    Valgrind issues will occur since initialization has not
    happend for some bytes.
    
    Fix
    ----
    While creating the temporary table, the type of the field
    needs to be to set FIELD_VARCHAR. This will allow myisam
    to calculate the record length accurately.
    
    This fix is a backport of BUG#13350136.

commit 40ec09e7f6fda5a1a46a9010a7e8faf2edd5f883
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon Nov 2 17:08:01 2015 +0530

    Bug #22131713       QUERYING STATUS_BY_USER/HOST/ACCOUNT CAUSES THE MYSQL SERVER TO CRASH
    
    Issue:
    ------
        While aggregating stats for user/host/account a null check was missing
        to make sure account stats exist. In specific case reported here, stats
        for account were not supposed to be collected as specified by user
        therefore absense of this NULL check was causing crash.
    
    Fix:
    ----
        Addded a NULL check before dereferencing account stats pointer.

commit 7e68dc951bc96aee0e7090072cb53d1e0d6dc9e7
Merge: 30caa30 6a29173
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Nov 2 16:34:24 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6a29173f6c8a894bc53a6cad79b97364d51d8614
Merge: 0e747d1 6d9b966
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Nov 2 16:31:40 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6d9b966e54edf9018a6d70e9212044c0bca2e8d4
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Nov 2 16:30:57 2015 +0530

    Bug#20755389 SERVER CRASHES IN ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS ON
                   2ND EXECUTION OF PS
    
    Description:
    ------------
    When MySQL calls 'EXECUTE stmt' firstly to deal with ORDER BY clause which is
    similar with 'ORDER BY 1,(t2a.f2+1)' in find_order_in_list(), it believes the
    first expression is a position, the function replaces the pointer of the first
    expression with Item_field object associated with a temporary table field,
    then releases it after the end of the execution, that behavior destroys the
    pointer of first expression.
    
    After that, when MySQL calls 'EXECUTE stmt' once more, the first expression
    points to an invalid pointer, so it crashed.
    
    Fix:
    ----
    If an item of ORDER clause is a location, reset 'args' with a original value.

commit 30caa308eb47093e51209b296a1458a3c0911564
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Nov 2 15:05:36 2015 +0530

    Followup testcase fix for Bug#22111878

commit 64b8b6ad4867ee9ee8358fca055812bd97ddb149
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Mon Nov 2 14:47:56 2015 +0530

    BUG#22064894 : TEST DATADIR_PERMISSION FAILS IF MAX FILE DESCRIPTORS IS LOW
    
    Redirect the warning message generated to a file.

commit 8c2312d609d4ce983a5870c66ca654139a488bc1
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Mon Nov 2 10:03:53 2015 +0100

    BUG#22042027: test update
    
    updated test according to the fix

commit 4997a5c83ae40ffec602a7b0ae9d446300547c49
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Nov 2 04:00:29 2015 +0100

    Make a valgrind suppression pattern more general.

commit db5d3e0e1562701d0e98d027b646045c731fed6d
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Oct 30 09:50:03 2015 +0100

    Bug#21958734: INNODB: FAILING ASSERTION: *MBMAXLEN < 5 IN FILE HA_INNODB.CC LINE 1803
    
    The mbmaxlen of internal character set "filename" is 5, which
    causes this failure. User should not be able to use "filename"
    character set.
    Solution: Raise error when user wants to use "filename"
    character set.

commit bb4cef8e900ef70fbe583bcc6ebb6d2d9d2ff501
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Oct 30 07:50:31 2015 +0530

    Bug #21318711: WRONG RESULTS FOR TRUNCATED COLUMN AND
                   AGGREGATION
    
    Issue:
    -----
    This problem happens under the following conditions:
    1) Use implicit grouping.
    2) An index with a string column as its first part.
    3) WHERE clause has an equality comparision with a string
       that has a few trailing characters in addition to the
       one in the string column's data.
    
    In this case, aggregate function should ideally return a
    null. But currently we return a value.
    
    SOLUTION:
    ---------
    In case of equality testing, we need to keep track of
    whether saving the constant value went perfectly well. A
    truncated value at this stage will generate incorrect
    results from an index lookup.
    
    In such a case, don't use the index scan at this stage.

commit 48c25569ae9bc8c179576b56b487016f17866670
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Oct 30 02:36:31 2015 +0100

    Bug#21766380 USER FIELD IN AUDIT LOG IS MANGLED
    
    Issue:
    ======
    USER tag content of the audit log (XML file) was mangled on some platforms:
    
    <USER>????[roo0??&#x4;?^???alhost []</USER>
    
    This was caused by dereferencing a pointer to a char buffer, allocated on a stack,
    that was invalid in the current stack context.
    
    Fix:
    ====
    Move allocation of the user name buffer up in the stack position.
    
    Reviewers:
    ==========
    Marcin Babij <marcin.babij@oracle.com>
    Arun Kuruvila <arun.kuruvila@oracle.com>

commit f557f9e5f500c31840cf701adad74e687cd23e06
Author: Paweł Olchawa <pawel.olchawa@oracle.com>
Date:   Thu Oct 29 13:56:58 2015 +0100

    Bug#21924224 POTENTIAL RUNNING OUT OF SPACE IN REDO
                 - INVALID MARGIN CALCULATIONS
    Bug#21923874 POTENTIAL RUNNING OUT OF SPACE IN REDO
                 - MISSING CALLS TO MARGIN_CHECKPOINT_AGE
    Bug#21923559 POTENTIAL OVERWRITE OF CHECKPOINT WITH AN OLDER CHECKPOINT
    
    This commit does not fix these bugs. It is only adding instrumentation,
    which is helpful in reproducing the listed bugs.
    
    1. Multi-SIGNAL in DEBUG_SYNC.
    
    It's now possible to emit multiple signals in a single execution of action:
    SET DEBUG_SYNC= 'now SIGNAL a,b,c WAIT_FOR x';
    
    Changes in documentation are required at:
    https://dev.mysql.com/doc/internals/en/debug-sync-facility.html
    
    2. Debug instrumentation for some of internal threads.
    
    Three new global system variables have been defined in DEBUG build:
    * innodb_master_thread_disabled_debug [default: FALSE],
    * innodb_page_cleaner_disabled_debug [default: FALSE],
    * innodb_dict_stats_disabled_debug [default: FALSE].
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 10602

commit ecac18a6d8b45eef4338d4aee4b081908dfaee1a
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Sep 21 11:29:49 2015 +0200

    Bug#21854241: QUERY USING JSON_EXTRACT() RETURNS WRONG RESULT
                  AFTER ADDING VIRTUAL INDEX
    
    A predicate that compares the result of a JSON function with a string
    can be replaced with an indexed generated column compared with the
    string. This transformation is not valid, since the generated column
    contains double-quoted strings, and the query returns wrong results.
    
    Given the generated column
    
      gc VARCHAR(100) GENERATED ALWAYS AS (JSON_EXTRACT(...))
    
    and the predicate
    
      JSON_EXTRACT(...) = 'abc'
    
    it is not correct to substitute the predicate with
    
      gc = 'abc'
    
    The original predicate compares a JSON value to a string, which means
    that the string is automatically converted into a JSON string, and the
    predicate will match all rows where JSON_EXTRACT returns the string
    "abc".
    
    The rewritten predicate compares a string value to another string
    value. Since the generated column contains the result of JSON_EXTRACT
    serialized to string, all strings are enclosed in double-quotes. This
    means that none of them will match the string literal 'abc', and the
    predicate always evaluates to false.
    
    This patch disables the incorrect substitution.

commit df90ba74a2f1e3f0c4fe24ac07c76bdb12dbf7f8
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Oct 29 10:56:29 2015 +0000

    Bug#20948270: DENIED QUERIES TRUNCATED IN ERROR LOG
    
    post-merge streamlining

commit d51db66fa2effe5c866ec7c792171fadd05779fe
Merge: bc7ac66 0e747d1
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Oct 29 10:47:40 2015 +0000

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

commit 0e747d179c007672a6df654880df8a640b5cc1c5
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Oct 29 07:05:44 2015 +0000

    Bug#20948270: DENIED QUERIES TRUNCATED IN ERROR LOG
    
    The error log subsystem uses a static buffer of
    1024 bytes.  The plugin logging system used one
    of MYSQL_ERRMSG_SIZE (512 bytes), therefore
    unnecessarily cutting messages from plugins to
    half their allowed length. This patch changes
    code to use MAX_LOG_BUFFER_SIZE (1024) for error
    logging, the API for plugins, and for general
    logging (to file), so the length will align even
    if we change the dimensions later.

commit bc7ac669bc7ef454c101fbc003adda177245e378
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Oct 28 15:52:54 2015 +0200

    Bug#22117089 RENAME THE TEST INNODB.MONITOR_DEBUG TO INNODB.MONITOR_RESTART
    
    The test innodb.monitor_debug required a debug-instrumented MySQL server
    only because it disables the purge.
    
    But, the test has no reason to disable the purge, because there will be
    nothing to be purged. The reason is that the test did a slow shutdown
    followed by a restart, to ensure that the undo logs are empty.
    The test itself is not generating any work for purge, because it is only
    executing INSERT, which will not generate any update_undo logs.
    
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>

commit 8eb45db4d804b2e937fca656bbd708e890c77c64
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Oct 28 18:49:30 2015 +0530

    Bug#22111878 - RUN INNODB_PAGESIZE_MAX_RECORDSIZE AND
    MYSQLDUMP_MAX_RECORDSIZE WITH PARALLEL>1
    
    Problem:
    --------
    These tests innodb_pagesize_max_recordsize and mysqldump_max_recordsize
    can be run only with --parallel=1 and all pb2 by default runs with
    --parallel=8. So this essentially means that the tests are never run on pb2.
    
    Fix:
    ----
    1. Use --initialize to do proper bootstrap
    2. Remove MTR hacks used at the end of tests
    3. Use .inc files instead of duplicating code
    4. Use small redo log size 5M for bootstrap

commit c29b459885aac2feb5a081c049da229c8854cd37
Merge: ce6834a e722ed4
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 29 13:39:49 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e722ed4d8e5fedb86ea780f7c44c86e13beb06e7
Merge: 7ed70ce f8ed7e0
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 29 13:37:54 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit f8ed7e0d92f6119745eefc3343d09b681bad2c0f
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 29 13:35:32 2015 +0530

    DESCRIPTION
    ===========
    When doing an upgrade, you execute mysql_upgrade. If
    mysql_upgrade fails to connect or it connects with a user
    without the proper privileges, it will return the error:
    
        FATAL ERROR: Upgrade failed
    
    which is not very informative.
    
    ANALYSIS
    ========
    
    In main() and check_version_match(), the condition for
    errors are clubbed together and throw the same error msg.
    The functions need to be splitted up and the corresponding
    error msgs have to be displayed.
    
    FIX
    ===
    Splitted the functions and added the specific error msg.

commit ce6834a1696ed04d69a5b29f590cf54b36509b82
Merge: 252789f 7ed70ce
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 29 08:44:00 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	extra/CMakeLists.txt
    	extra/resolve_stack_dump.cc

commit 7ed70ce5e5f30d2491e82ed5ff872754362ab182
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Oct 21 12:40:42 2015 +0200

    Bug#22071592 RESOLVE_STACK_DUMP IS BROKEN IN 5.6 AND UP
    
    Problem: In MySQL 5.6 and up we use C++, which means there will be
    some long (mangled) symbol names. Code to parse output of 'nm' does
    not handle it well.
    
    Solution:
    Increase the size of the buffer used for fgets()
    Use std::string to hold symbol names, rather than fixed size buffer.
    Use std::vector rather than DYNAMIC_ARRAY (safer, faster, easier to debug)

commit 252789f48ed6ea87667c089590c0168b2fb58fd4
Merge: 4463558 683213b
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 29 11:15:02 2015 +0530

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

commit 683213b89bfe349ad02a8e6a27fd066970dec7a8
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 29 11:13:33 2015 +0530

    Bug #20987670 : sporadic test failure in subquery_mat_all subquery_mat and subquery_mat_none.
    
    ISSUE:
    ------
    After ALTER TABLE test case has called EXPLAIN query. But
    since ANALYZE was not called and stats were not updated,
    EXPLAINs results started varying for different runs.
    Hence sporadic failures.
    
    FIX:
    ----
    Add ANALYZE TABLE before EXPLAIN query.

commit 44635585147a891464f5bb96cbd42476d7c8ed8a
Merge: 85719f1 f72f693
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Oct 28 18:47:56 2015 +0530

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

commit f72f693ab7ac9fda2a6d0368f4b366de5e717113
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Oct 28 18:46:22 2015 +0530

    Bug #21326304 : INNODB ONLINE ATER TABLE ENDS IN CRASH ON DISK FULL
    
    	- changing the test case from innodb-alter.test to
    	  create-index.test due to pb2 failure in mysql-5.6

commit 85719f112ff94d83ce4a6aa8f8e29fe0fc4e8cdf
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Oct 28 14:30:18 2015 +0530

    Bug#21957001 INNODB: FAILING ASSERTION: 0 IN FILE HA_INNOPART.CC LINE 3526
    
    Issue:
    ======
    When one or more/all partitions of a tablespace is discarded, in
    ha_innopart::info_low, there is an assertion claiming that the code should
    be unreachable, which is the reason for hitting the assertion.
    
    This is handled correctly in ha_innobase::info_low by throwing
    appropriate warnings when one or more/all partitions of a tablespace is
    discarded.
    
    The same check provided for ha_innobase is added for ha_innopart for the
    accumulated total value instead of adding the check for each partition.
    
    Fix:
    ====
    The assertion is removed and appropriate checks and warnings are added for
    each partition in ha_innopart::info_low().
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    RB: 10647

commit 8e9114c2704b0bc6acb7e3219a8f4fc451e20245
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Oct 28 12:38:09 2015 +0530

    Bug #21326304 : INNODB ONLINE ATER TABLE ENDS IN CRASH ON DISK FULL
    
    	- Fixing the merge issue in mysql-5.7

commit f9c3a16a449cd1edb0de2605f4e879779fa8ac58
Merge: 92fb6fe 4933dce
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Oct 28 11:46:19 2015 +0530

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

commit 4933dce390b25fc6a05990e4138bba74ecf05c09
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Wed Oct 28 11:42:35 2015 +0530

    Bug #21326304 : INNODB ONLINE ALTER TABLE ENDS IN CRASH ON DISK FULL
    
    Issue
    =====
    Alter table crashes when disk is full. Reason for crash is that there is
    no check for NULL after btr_page_alloc().
    
    Fix
    ===
    If disk is full after btr_page_alloc() then return the error
    DB_OUT_OF_FILE_SPACE.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Thirunarayanan Balathandayuthpani <thirunarayanan.balathandayuth@oracle.com>
    RB: 10700

commit 92fb6fe71d6385aaa79e36220174e02d3508c5b9
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue Oct 27 14:09:48 2015 +0530

    BUG#22066787 - MYSQLD DOES NOT SUPPORT PID-FILE,
                   HANGS SYSTEMD STARTUP.
    
    PIDFile attribute in mysqld unit service file can mismatch with
    the pid-file/pid_file attribute specified in my.cnf.
    
    The fix is to specify in pid-file attribute in the unit service
    file so that attribute specified in my.cnf is ignored. This shall
    prevent in mismatch of attribute between systemd unit file and my.cnf.
    User wanting to use a different location, is advised to modify the
    unit file.

commit 0066b8207198123abc364ad1ddcd2d9797195ff1
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue Oct 27 01:58:00 2015 +0100

    Removed tests that are passing from experimental group

commit 0d95f0f947afb42b3d97d34d06031310788abeb1
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Oct 26 14:23:33 2015 +0100

    Bug#21854004: GCOLS:INNODB: FAILING ASSERTION: I < TABLE->N_DEF
    
    When changing a generated column's expression, a check for whether the
    expression was the same as before was missing.  If the expression is
    changed, storage engine may need to rebuild the column.
    (A virtual column generally does not need rebuilding, but if is indexed,
    the index will need rebuilding).
    
    Two new utility functions to check that generation expressions are equal
    are implemented: Field::gcol_expr_is_equal().
    
    In fill_alter_inplace_info(), generate change commands for the storage
    engine according to the following:
    
    - It is possible a convert a base column to a generated column and vice
      versa as long as the generated column is stored. Set the handler flag
      ALTER_STORED_COLUMN_TYPE for this case.
    
    - If both source and target column is generated and generation expression
      is modified, set handler flag ALTER_STORED_COLUMN_TYPE if column is
      stored and ALTER_VIRTUAL_COLUMN_TYPE if column is virtual.
    
    Elaborate testing has been added:
    
    - Check modification to and from generated column.
    
    - Check modification of generated column with and without non-unique
      index and unique index.

commit 4590b0010ddff8d15205d9b4804105bc166568b1
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Oct 26 12:30:43 2015 +0100

    Bug#21982313: Quantified comparison reads uninitialized data
    
    This is yet another occurrence of missing error check, this time
    in Item_equal::compare_const(). Actually, a test could be moved so
    that it covered both branches of an IF-statement instead of one.

commit 107f15adf714e23db01c1be45b22eb78e92ef1e1
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Oct 26 16:36:19 2015 +0530

    Followup testcase fix for BUG#21959479

commit acc8192f16366e7ffac79f0708265ac882ae7fce
Merge: c4f4d6e fc247ff
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Oct 26 16:22:14 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fc247ffab8adf644d45bdf7fedbda90444437540
Merge: 55f4637 f19b2a9
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Oct 26 16:21:01 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit f19b2a9e7c7d2c1b8fcf189c3c1d7195b388a15d
Author: Srikanth B R <srikanth.b.r@oracle.com>
Date:   Mon Oct 26 16:19:11 2015 +0530

    BUG#22084221 : TEST IMPROVEMENT FOR MAIN.EVENTS_1
    
     Issue: main.events_1 will fail after 10-10-2015 due
             to hardcoded dates specified with events.
     Fix: Replace harcoded dates with current dates and offset.

commit c4f4d6e5df0baad1d2b40fb0f2f335bbde0dc5e0
Author: Deepthi Eranti_Sreenivas <deepthi.e.s@oracle.com>
Date:   Mon Oct 26 15:32:25 2015 +0530

    BUG#19372027-TEST:rpl.rpl_semi_sync fails sporadically on trunk
    rpl_semi_sync.test was failing because the dump thread of the previous slave was not killed correctly.So,the value of rpl_semi_sync_master_clients was increasing to 2 sporadically.
    Fix-Included stop_dump_threads.inc.

commit 71dacfe806c3b2ccbf3ceafb67b0054a78a53e78
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Oct 26 14:15:10 2015 +0530

    BUG#16666407    BINLOG WRITE ERRORS SILENTLY IGNORED
    BUG#20938915 2PC SUCCEEDS EVEN THOUGH BINLOG FLUSH/SYNC FAILS
    
    Fixing a Pb2 test script failure (rpl_semi_sync_after_sync on
    slower machine)

commit ec8eea3eb451866b70e25331d6d278125127b82c
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Oct 26 03:17:21 2015 +0100

    Bug#21441405: DASH '-' IS NOT RECOGNIZED IN CHARSET ARMSCII8 ON SELECT WHERE QUERY
    
    Character sets like ARMSCII8 may have two code points for one
    character. When converting from Unicode back to ARMSCII8,
    select the lowest one, which is in the ASCII range.

commit da9bd137d1799f93f30d42eb3d47ffa97b9112f7
Author: Benny Wang <benny.wang@oracle.com>
Date:   Thu Oct 22 11:53:02 2015 +0200

    Follow-up to fix bug#21927469: VCOL: NOT ABLE TO INSERT INTO (VIRTUAL NOT
                                                                  NULL) COLUMN
    
    During fix bug#21927469, we skipped to set variable
    *insert_into_fields_bitmap*, although it doesn't matter for generated columns
    because generated columns have default values always. This patch makes the
    source code easy to read and be unified.

commit 3544025766a60b3c4241cee71287721f583d9bba
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Mon Oct 26 01:13:19 2015 +0100

    Fixed bug number associated with an experimental test

commit 06db06fcf1b43b4ef9357f6a112a7fa862e23b19
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Oct 23 15:22:43 2015 +0200

    BUG#20376670: STACK-BUFFER-OVERFLOW IN MYSQL_PLUGIN WITH LONG PLUGIN NAMES
    
    Post-push fix. Update result file with updated copyright info dumped by mysql_plugin.

commit d61b2116416fab719b84bf36ec40d1dc2ff50573
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Oct 19 15:09:10 2015 +0200

    BUG#20376670: STACK-BUFFER-OVERFLOW IN MYSQL_PLUGIN WITH LONG PLUGIN NAMES
    
    Problem: mysql_plugin uses unsafe c string funtions without properly checking
    inputs.
    Fix: Check input sizes and initialize buffers.

commit f419e4dfd2e110caca31c1a1e2668031712e46b2
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Oct 23 10:11:23 2015 +0200

    To fix failures in hudson tests on windows

commit 95647281622c281cb5aeacefe55fd420b5d46b00
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Thu Oct 22 16:53:00 2015 +0200

    Updated result files for hudson tests

commit 533d13b78b0a8f014bf94e68efb1ec2e2455590e
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Oct 13 20:10:53 2015 +0530

    Bug#21959479 - TRUNCATE TABLE WITH FULLTEXT INDEX LEADS TO CORRUPTION IF SERVER CRASHES
    
    Problem:
    -------
    If server is killed during truncate on a table with FTS indexes, the
    subsequent startup of server will fail due to purge finding a freed
    index page.
    
    If truncate crashes after freeing index pages, we generally roll-forward
    and complete the truncate.
    
    When there is FTS index on table, we don't do such roll-forward and this can
    cause many issues.
    
    In this bug, purge immediately opens the crashed table and finds freed
    index pages.
    
    In fix for Bug#21529012, we make 'entire' table as corrupted but this is
    not sufficient. This marking of entire table as corrupted happens only
    when the table is opened.
    
    Purge won the race here, there is no marking of table as corrupted (yet)
    and so it asserts.
    
    Fix:
    ----
    Enable the truncate crash log even where is FTS index on table. So we
    now roll-forward the truncate on startup.
    
    Also, since we do not re-create FTS indexes as part of truncate fix-up
    action at startup. So we mark table as corrupt as part of
    truncate fix-up action.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 10569

commit f2c0e8914d182d10de4c73d8d0f2aff8d356b44f
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Oct 22 12:34:49 2015 +0200

    Bug#22071558 INET_ATON accepts more than four groups of digits and returns INT bigger than 4G
    
    Fix: return NULL and warning in this case.

commit e99ec4f19434b9aa000988d1e08b8da9fb6f34da
Merge: fce1d2b 55f4637
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 22 17:05:03 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 55f4637c9e22a236e440663279e527bce048cb71
Merge: 251ac8d 999cd8b
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 22 17:03:45 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 999cd8bc03a1935f6b94ccaf087ccd8ffbf80e2c
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Oct 22 17:02:12 2015 +0530

    Bug #20447262: REPEATED EXECUTION OF PREPARED STATEMENTS FAILS, IF DEFAULT DATABASE IS CHANGED.
    
    Issue:
    ======
    While re-preparing the statement in
    Prepared_statement::swap_prepared_statement for swapping
    the database of PS we only swapped the db string but not
    its length. This resulted in mismatch between the actual
    string and its length. In one particular case where db
    of PS was dropped, we have db as null pointer and length
    as non-zero. strdup which used above values resulted in
    invalid memory access.
    
    Solution:
    =========
    In Prepared_statement::swap_prepared_statement also swap
    db_length along with db variable. Also, remove
    DBUG_ASSERT(db_length == copy->db_length) as this have
    no meaning if they are 2 different entities.

commit fce1d2b6cff9ff681b086a9d891a937c0bb03c4b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Oct 22 13:04:27 2015 +0200

    Bug#21789000 SPATIAL INDEX CAUSES INCORRECT CARDINALITY FOR ALL
    NON-PRIMARY INDEXES
    
    Backported fix from trunk.
    
    Problem: When adding a spatial index to a MyISAM table, the
    cardinality of other indexes may become incorrect.
    
    When doing ANALYZE TABLE, ha_myisam::analyze() calls chk_key() to
    gather statistics about each index. Then, chk_keys() calls
    update_key_parts() to generate a rows per key estimate for each key
    part (i.e., column) of the index.
    
    For B-tree indexes, there is one key part per column, and one key
    segment for each key part. For R-trees, there is always just one
    column and one key part, but four segments. The chk_key() and
    update_key_parts() functions assume that there are as many key parts
    as there are segments, and therefore generates four records per key
    estimates for each R-tree instead of just one.
    
    These estimates are then stored and later read back and assumed to be
    the estimates of the three subsequent key parts, which are part of
    other indexes. The estimate is then used to generate an estimate for
    the index cardinality.
    
    Fix: Write only one records per key estimate for each R-tree index.

commit 21b5b8204c2be43048ff0eb85db2438a27a3368c
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Oct 22 11:05:33 2015 +0200

    Bug#22062023 - SQL causes MySQL crash
    
    This problem may cause a crash in the following case:
    
    - we have two nested derived tables, denoted idt (the inner one) and
      odt (the outer one), and both derived tables are merged.
    - a column c2b in the select list of odt references a column c2a in
      the select list of idt.
    - the column c2a in idt contains a scalar subquery.
    - the outer query references column c2b of odt, which again references
      c2a of idt.
    - the column c2a in odt is not referenced by oq.
    
    This is the query:
    
    SELECT c2b
    FROM (SELECT c2a, CASE WHEN c2a <> '' THEN c2a END AS c2b
          FROM (SELECT CASE WHEN c2 IN (SELECT c1 FROM t1) THEN c2 END AS c2a
                FROM t2
               ) AS idt
         ) AS odt;
    
    In this case, SELECT_LEX::delete_unused_merged_columns() will attempt
    to delete the subqueries underlying the column odt.c2a that is not
    referenced. However, since it references the column idt.c2a,
    its subquery will also be deleted, even though this column is actually
    used by the outer query, through the reference from c2b.
    
    The solution to the problem is to dive into the expression of the unused
    column odt.c2a, checking whether it refers to a used column from an inner
    derived table, in which case it is marked as used, which will prevent
    deletion of subqueries. A new walker function
    Item::propagate_derived_used() was created for this purpose.

commit 9fcc7c788cd84709926539a14bd95de7559e70a5
Merge: 8cea54a 251ac8d
Author: parveez <parveez.baig@oracle.com>
Date:   Thu Oct 22 13:34:27 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/rpl/t/disabled.def

commit 251ac8df6d6aa914400daf714786e8f46cc9b653
Author: parveez <parveez.baig@oracle.com>
Date:   Thu Oct 22 13:29:21 2015 +0530

    BUG#20630589: RPL.RPL_GTID_STRESS_FAILOVER IS UNSTABLE ON PB2
    
    Disabling this test as it is unstable.

commit 8cea54a263ae376a57aa515ee68811b07aefbdd3
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Thu Oct 22 09:32:36 2015 +0200

    To stabilize failing tests in daily mtr under Hudson

commit 93d05b877ecbd5e453b55349e7fdaf20dfd71463
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 13 07:33:32 2015 +0200

    Bug#21387880 SUSE PATCHES WE KEEP AGAINST 5.7 (CONTRIBUTION)
    
    [PATCH 4/5] Keep datadir across multiple calls
    
    mysql_upgrade script asks for datadir multiple times during update but at some
    point privileges gets updated and if --skip-grant-tables was used (like in SUSE
    init scripts), datadir is no longer queryable. So we cache the value.
    
    This patch is based on a contribution from  Michal Hrusecky

commit fd7ce0dce075f2ab61dd10e282e92beb5a39b510
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 20 13:41:13 2015 +0200

    Bug#21680733 WINDOWS (10) BUILD MAY COMPILE SQL_YACC.CC BEFORE LEX_TOKEN.H HAS BEEN GENERATED
    
    Problem: build may fail non-deterministically when when building in parallel.
    Solution: build local copy lex_token.h, and add explicit dependency for it.

commit 3fbeb00e67c1e16724256aca39aef7e35754e9f0
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Oct 19 19:12:49 2015 +0300

    Bug #22041387: --INITIALIZE DOES CHOWN $DATADIR REGARDLESS,
      CAUSING APPARMOR/SELINUX TROUBLE
    
    When --initialize is used with an empty directory owned by the --user
    user the server still does chown on the datadir.
    
    This causes SElinux/apparmor to chime in and prevent the otherwise
    valid operation that would produce no effect anyway (since the directory
    is already owned by the correct user and group id).
    
    Fixed by first checking if the directory is owned by the correct user
    and group id before calling chown.

commit 75966781e0226541876c6af272dcb8858f5554d3
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Oct 15 11:36:51 2015 +0200

    Bug#22006088 PFS WITH HIGH CONCURRENCY MAY CAUSE OOM
    
    Before this fix, when sending a massive load spike to a freshly started
    server, the server would allocate a huge amount of memory,
    possibly leading to Out Of Memory failures.
    
    The root cause is how concurrent request to grow a scalable buffer
    are handled, for the performance schema.
    
    Before the fix, N threads could run in parallel each allocating
    memory, with later N-1 threads freeing the memory allocated
    when a collision is detected after the fact.
    
    With the fix, N threads attempting to expand a buffer in parralel
    will block and wait, with only one thread performing the allocation,
    so that collisions are prevented.
    
    See comments added in PFS_buffer_scalable_container::allocate()
    for details.

commit 4df7963bb70f8dbafa98f342b1a01cb663df3046
Merge: a368c8b 0efebb1
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Oct 21 09:56:54 2015 +0200

    Merge tag 'mysql-5.7.9' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/binlog/r/binlog_error_action.result
    	mysql-test/suite/binlog/t/binlog_error_action.test
    	mysql-test/suite/gcol/inc/gcol_ins_upd.inc
    	mysql-test/suite/gcol/inc/gcol_select.inc
    	mysql-test/suite/gcol/r/gcol_bugfixes.result
    	mysql-test/suite/gcol/r/gcol_ins_upd_innodb.result
    	mysql-test/suite/gcol/r/gcol_select_myisam.result
    	mysql-test/suite/gcol/t/gcol_bugfixes.test
    	mysql-test/suite/innodb/r/default_row_format_16k.result
    	mysql-test/suite/innodb/r/virtual_purge.result
    	mysql-test/suite/innodb/t/default_row_format_16k.test
    	mysql-test/suite/innodb/t/virtual_purge.test
    	packaging/rpm-oel/mysql.spec.in
    	packaging/rpm-sles/mysql.spec.in
    	sql/binlog.cc
    	sql/sql_base.cc
    	sql/sql_thd_internal_api.cc
    	sql/sql_thd_internal_api.h
    	storage/innobase/handler/ha_innodb.cc
    	storage/innobase/handler/handler0alter.cc
    	storage/innobase/include/trx0rec.h
    	storage/innobase/row/row0upd.cc
    	storage/innobase/srv/srv0srv.cc
    	storage/innobase/trx/trx0rec.cc

commit a368c8bb217c362f5104aa3ed6965100f6d58452
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Oct 21 12:54:28 2015 +0530

    Bug #21968191 FAILING ASSERTION: !FIELD->PREFIX_LEN || FIELD->FIXED_LEN
    == FIELD->PREFIX_LEN
    
    Re-work:
    
    The macro DICT_MAX_FIXED_COL_LEN is applicable only to the clustered index
    and this is not applicable to secondary index.  For secondary index, the
    assert condition is suitably adjusted.
    
    approved by Jimmy over IM.

commit cf549c25688f4ded1ef100fdeeede9dd7a69efd4
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Oct 21 08:42:01 2015 +0530

    Bug #21968191 FAILING ASSERTION: !FIELD->PREFIX_LEN || FIELD->FIXED_LEN
    == FIELD->PREFIX_LEN
    
    Problem:
    
    In function dict_index_node_ptr_max_size() there is calculation to determine
    the maximum size of the index record.  For this purpose two pieces of
    information about the field is used - prefix_len and fixed_len.  But there
    is a special case involved - if a fixed length field is longer than
    DICT_MAX_FIXED_COL_LEN then it must be treated as a variable length field.
    This is done in dict_index_add_col() but not in dict_index_node_ptr_max_size().
    
    Solution:
    
    Introduce the special case in dict_index_node_ptr_max_size() also.
    
    rb#10702 approved by Jimmy.

commit f8d805b943b4bdf86f36bd7ddf9ceda53b75687e
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Oct 21 09:44:33 2015 +0800

    Bug#22050059 - CANNOT ADD FK CONSTRAINT WITH GENERATED COLUMN, WITHOUT REASON
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 19519097a54ac73d3238b0b609df5723b07a6eed
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Fri Oct 16 17:22:04 2015 +0200

    BUG#22042027: return warnings/errors for invalid input for inet*_aton/inet*_ntoa/unhex
    
    - added warnings/errors(in strict_mode) to unhex, inet6_aton,
    inet6_ntoa, inet_ntoa, inet_aton when the input is invalid

commit 178ec11adc778e647086d90988edea386136f831
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Oct 20 16:58:04 2015 +0530

    Bug#21644479: MYSQLPUMP DECOMPRESSION UTILITIES NOT BUILT
    
    Problem: Tools to decompress compressed output of mysqlpump
    is not built as part of regular build.
    Fix: Made cmake changes to get these tools built.

commit 54e83fa6c9fff39b74723c6b0dccc330395835b1
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Tue Oct 20 10:07:43 2015 +0200

    Bug#22067737 MAIN.EXPLAIN_FOR_CONNECTION_SMALL_JSON FAILS ON OEL6 32 BIT
    
    Stabilize some tests failing after the fix for Bug#20701585.
    
    mysql-test/include/explain_for_connection_small.inc
    mysql-test/r/explain_for_connection_small_json.result
       Some statistics are a bit different on 32-bit.  Mask this by replacing
       test output.  Removed the old replace command for this test case since
       it does not seem to be necessary anymore.
    
    mysql-test/include/greedy_search_load_tables.inc
    mysql-test/r/greedy_search.result
    mysql-test/t/greedy_search.test
       Added ANALYZE TABLE for tables used in this test to get more stable
       statistics.  For Test 2, a typo caused ANALYZE not to be run for
       all tables.  Re-recorded results.

commit 93026e02fd1995a1cb8650029b3e65d0bc7607aa
Author: Mark Leith <mark.leith@oracle.com>
Date:   Tue Oct 20 11:25:50 2015 +0100

    Bug#21845866 SYSSCHEMA.PR_STATEMENT_PERFORMANCE_ANALYZER TEST FAILING ON PB2 ON WINDOWS
    
    Instead of sleeping before/after switching threads, use proper wait condition checking instead.
    
    Reviewed-by: Mark Leith <mark.leith@oracle.com>
    Implemented-by: Jesper Wisborg Krogh <jesper.wisborg.krogh@oracle.com>

commit 7020c009ce0b4eaf83392fd90ae5ae4372ec894e
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Tue Oct 20 16:50:25 2015 +0800

    Bug #21956233 VALGRIND REPORTS A MEMORY LEAK ON INNODB_WL6560_1
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>

commit 2ade4a8edfa8c23d4a75d1b894d46d1a085ce939
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Oct 20 14:58:55 2015 +0800

    Followup: BUG#21508582 UNDO LOG DOES NOT CONTAIN ENOUGH INFORMATION
    ON SPATIAL COLUMNS
    
    Fix rtree_undo.test failure with 4k page size on pb2.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit 4f8c29f6158022fa846d019fd27742aae30ea4e4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 15 15:39:55 2015 +0200

    Bug#21387880 SUSE PATCHES WE KEEP AGAINST 5.7 (CONTRIBUTION)
    
    [PATCH 5/5] Use CMAKE STATIC declaration where needed
    
    This prevents broken build with -DBUILD_SHARED_LIBS=1 on cmake command line

commit c649fe4433e37b1ca1235f02fe7143ca7fa8bad4
Author: Benny Wang <benny.wang@oracle.com>
Date:   Tue Oct 20 08:27:52 2015 +0200

    Fixed bug#21779554: CHECK_MISPLACED_ROWS BOGUS "FOUND A
     MISPLACED ROW" AND CRASHES
    
    When issue a 'check' command, partition engine will call function
    partition_helper::check_misplaced_rows to check whether the rows are in the
    right partition. In this function, it will scan the rows of paritions using
    rnd_next_in_part function, which misses to update the necessary virtual
    generated columns.
    
    To fix this bug, we have to add the base columns of the virtual partitioned
    column to the read_set and compute the virtual column values.

commit 11ed21c0552281f471b89fd564608eb8ec09538a
Merge: e115f50 39b73f2
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Oct 20 10:59:50 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 39b73f2bd7a6e254aa61c5e6627a10aa8060bef0
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Oct 20 10:56:49 2015 +0530

    Bug #21287796   REGRESSION IN DEALING WITH FILESYSTEM LIMITS
    
    There was loss of precision when calculating the number of
    pages in ibdata1. While starting the server we read the file
    size from my.cnf and compare it with the size which we get
    from os_file_get_size(). When reading from my.cnf we convert
    the size into MB (megabyte) and then multiply with number of
    pages in 1 MB . The other algorithm calculates the number of
    pages by simply dividing the size with page size. These two
    methods don't give the same result and hence the server
    start fails with size mismatch error.
    
    Algorithm 1
    -----------
    
    size=4294967295 ( 4G maximum file size in fat32)
    size ( in mb ) = 4294967295 / (1024 * 1024) = 4095
    pages in 1 MB (assuming 16K page size) = (1024 *1024)/16384= 64
    number of pages =    4095 * 64 = 262080
    
    Algorithm 2
    -----------
    
    size = 4294967295
    number of pages = 4294967295 / 16384 = 262143
    
    FIX
    ----
    Using the first algorithm to calculate both sizes,so that
    results match.
    
    [ Review Done by Annamali and Bin.su  #rb10435 ]

commit e115f50150d987abd56884f9f6aaff957d3e631d
Merge: 2e7a032 041dd59
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Oct 20 10:30:22 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 041dd59038920e94e045d081374c440f08adc046
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Oct 20 10:28:12 2015 +0530

    Bug#21440793: "DEADLOCK" ON START SLAVE WITH CRASH-SAFE MTS
    SLAVE AND AUTOCOMMIT=OFF
    
    Problem:
    =======
    Enable CRASH-SAFE MTS and do start slave. Once slave is up
    stop the slave and set autocommit=0. Executing start slave
    on this session will hang. The hang will be there for the
    duration of lock wait timeout. After the lock wait timeout,
    when start slave proceeds further it will crash during a
    call to 'Rpl_info::remove_info'.
    
    Analysis:
    ========
    The problem happened because the
    Rpl_info_table::do_check_info() methods, used on slave
    internal structures initialization, didn't finish the
    transaction started to access info tables. Since tables were
    still locked by the access from do_check_info(), the
    following initialization procedures failed to acquire locks
    on the info tables.
    
    Regarding crash during MTS recovery process workers are
    created to complete the MTS recovery.  When the above
    mentioned initialization problem happens within
    'Create_worker' function call an error that says
    "Failed to initialize the worker info structure" is reported
    and the "worker" object gets deleted within the
    'Create_worker' call. Upon returning back to
    'Relay_log_info::mts_finalize_recovery' call code will try
    to access the worker object which was already deleted
    resulting in a crash.
    
    Fix:
    ===
    When info tables are used and autocommit= 0 we force a new
    transaction to start and commit to avoid deadlocks on
    START SLAVE with CRASH-SAFE MTS slave.
    
    Added code to verify the existence of worker object before
    accessing the worker object in finalize recovery code.
    sujatha:~/bug_repo/Bug21440793_mysql-5.6$ git pull
    Already up-to-date.

commit 2e7a03267891b0cfc89bc5e7e2022afdc6e9af37
Author: Benny Wang <benny.wang@oracle.com>
Date:   Tue Oct 20 04:50:05 2015 +0200

    Fixed bug#21927469: VCOL: NOT ABLE TO INSERT INTO (VIRTUAL
     NOT NULL) COLUMN
    
    When insert one row with DEFAULT value, the server will do:
    * fill_record to update the record[0] with DEFAULT value
    * during update, it will check whether the field has a default value
      ** If it has, use the default to update
      ** Otherwise, a warning(an error when sql_mode is STRICT_TRANS_TABLES)
         will be thrown out
    For generated columns, they are not allowed to define default value
    explicitly(by DEFAULT keyword). The default value of them are calculated
    by evaluating the generated expression.
    
    In fill_record, there is a loop which fills each of the values into the
    respective field. After this loop, we will update the generated columns
    by calling updated_generated_write_fields. However in the first loop,
    all of generated columns are involved. This causes the problem of bug
    report because the generated expression is not evaluated by far and it
    has no defined *default* value.
    
    Solution: In the first loop, we exclude all of the generated columns
    because all of their values will be updated after that loop.

commit 6f3b485c908c94e7116b042cad49931f42afa7f2
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Oct 19 12:12:12 2015 +0800

    Bug#21875974 - VCOL : READ OF FREED MEMORY IN DTUPLE_GET_N_FIELDS CAUSE
    CRASH
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit f4540971671c291e8288efbb59591e40a46a55e7
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Oct 19 09:26:33 2015 +0200

    Bug#19218794: IF TABLESPACE EXISTS, CAN'T CREATE TABLE,
                  BUT CAN ALTER ENGINE=INNODB
    
    Post-push fix: Fix innodb.log_file_name test failure.
    
    Patch from Marko.

commit 920c81c81201de89e8d00f4274f102c4368ee504
Merge: fb5d087 7dba9da
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Oct 16 11:47:23 2015 -0500

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/innodb/r/alter_rename_existing.result
    	mysql-test/suite/innodb/t/alter_rename_existing.test

commit 7dba9da5d51ff7cf191c96ff01556ccfc198b61a
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Oct 16 11:35:19 2015 -0500

    Bug19218794 followup.  Delete chmod tests since they don't work on Windows.

commit fb5d087fe0066ac61007032c75fe2fb3f4812da0
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Fri Oct 16 16:54:25 2015 +0300

    Bug#21927558 ST_INTERSECTION(POLYGON, POLYGON) RETURNS SELF INTERSECTING POLYGON
    Bug#21927639 ST_SYMDIFFERENCE(POLYGON, POLYGON) RETURNS INVALID MULTIPOLYGOM GEOMETRY
    Bug#21927733 ST_UNION() PRODUCES AN INVALID POLYGON GEOMETRY
    Bug#21977775 ST_DIFFERENCE(POLYGON, POLYGON) RETURNS INVALID GEOMETRY
    
    Problem: the problem arises when we have polygons geometries (possibly in multi-polygons)
    containing holes such that one of the holes' vertices touches the exterior ring of the
    polygon at a point that lies in the interior of a segment of the exterior ring of the
    polygon. Suppose now that we have such a polygon and let T be the vertex of a hole of the
    polygon that touches the segment AB of the exterior ring (T is a point in the interior of
    AB). During a set operation the segment AB may be clipped to another segment CD
    containting T, where at least one of C and D lies in the interior of AB. By construction
    T must be a touch point that lies in the interior of CD, but numerically (i.e., since C
    and D may be computed only approximately) T may be considered as not a point on CD,
    which can then indicate that the computed geometry is invalid.
    
    Fix: add preprocessing step in the BG overlay algorithm: before computing the overlay,
    compute the self intersection points of each of the two geometries and insert
    the points corresponding to any touch interior self intersection that they have.
    The solution proposed enforces T to be present on CD after the set operation has been
    performed, and ensures the numerical/geometric robustness of the operation.

commit dc4ebf375ae44bfb205a85cdb69a7589333cfc8b
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Oct 16 16:06:35 2015 +0300

    Bug #21847825: addendum 2
    
    Forced a server restart into the test case to reverse the effect
    of FLUSH PRIVILEGES that was causing other tests with the same
    startup options to fail when run sequentially.

commit 007482e8c564f10ec629a72bcd21d75f0854afd4
Merge: 6f9285e d79a48f
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Fri Oct 16 11:42:54 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit d79a48f595ad6af1ce1f9fdbb53b4b93bcd959ff
Merge: 2d106af b593ad0
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Fri Oct 16 11:42:42 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6f9285e1d79fdaa771a6159ded453751b92bba65
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Oct 16 10:14:03 2015 +0800

    Bug#22018532 - FAILING ASSERTION: NUM_IDX > 0 IN FILE TRX0REC.CC LINE 298
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>

commit 89ed546d9ba569d62e1d7bf251010fda88d9a6b2
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Oct 16 11:36:55 2015 +0300

     bug #21847825: Addendum 1
    
     Fixed line endings and updates tests to use the new user name.

commit b593ad05a7fb32119b990c7e96d4c1ec4a44e6c5
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Fri Oct 16 09:56:09 2015 +0200

    BUG#22024764 MAIN.EVENTS_1 FAILS BECAUSE IT USES ENDDATE OF 20151010
    
    Move date 10 years forward to let test pass for some more years.

commit 789f51905c0907d7e4e475ef9918da82a61cf91a
Merge: c2f9bee 2d106af
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Oct 15 22:52:49 2015 -0500

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

commit 2d106af8d9a2deaf4d3e7f2aca54e3431c809a78
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Oct 15 22:46:31 2015 -0500

    Build break in previous push of Bug #19218794.

commit c2f9beef80e595b568da6d25cf18b4852923a8e1
Merge: e7cacba d92ab2c
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Oct 15 21:42:48 2015 -0500

    Merge branch 'mysql-5.6-bug19218794' into mysql-5.7
    
    Conflicts:
    	storage/innobase/dict/dict0dict.cc
    	storage/innobase/fil/fil0fil.cc
    	storage/innobase/handler/handler0alter.cc
    	storage/innobase/include/fil0fil.h
    
    The 5.7 version of this patch is different from 5.6 since a lot of the
    modified code is different, but the patch does the same thing.
    The test case is enhanced to consider general tablespaces.
    
    Approved by Marko in rb#10319

commit d92ab2c8214cfae001052fb3fcedd47cc8fc9a13
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Aug 25 21:20:38 2015 -0500

    Bug #19218794 	IF TABLESPACE EXISTS, CAN'T CREATE TABLE,
    BUT CAN ALTER ENGINE=INNODB
    
    Add a check for an existing file before renaming something to that file.
    During inlace alter, the check must be made prior to writing
    to the redo log.
    
    Approved by Marko in rb#10060 for mysql 5.6

commit e7cacba71c95c4aef0885cf221094446c542680d
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Oct 15 14:06:41 2015 +0300

    Bug #21927436 VALGRIND (CONDITIONAL JUMP) WHILE STARTING SERVER
      AND CONNECTING CLIENT(5.7.8)
    
    Amended the valgrind suppress file to cover for openssl issues and
    how enthropy is collected by openssl PRNG.

commit 55cd7c2c159e9d247b664f47871a908f86e3f723
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Oct 15 13:52:08 2015 +0300

    Bug #21847825: NOT POSSIBLE TO USE ALTER USER WHEN RUNNING
      UNDER --SKIP-GRANT-TABLES
    
     When running in --skip-grant-tables the effective user for the
     session was set to ''@'' by Security_context::skip_grants().
    
     When you run FLUSH PRIVILEGES in one such session it starts
     accepting normal ACL commands, but since the session stays as
     as initialized during the --skip-grant-tables mode.
    
     ''@'' collides with the restriction that proxy users
     (user name '') cannot be setting passwords.
    
     Fixed by setting the effective user to
     "skip-grants user"@"skip-grants host" instead of ''@''.
    
     Added a test case.
     Fixed existing tests that were relying on the old value.

commit a8e311bc1536220985180463d863618dc06092e1
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Oct 14 11:37:11 2015 +0200

    Bug#21922414 CAST OF TOO BIG HEX LITERAL TO BIGINT UNSIGNED: BAD RESULT AND NO WARNING Bug#11757477 ARITHMETIC ERROR WHEN DEALING WITH BIGINT
    
    Problem 1:
    Item_hex_string::val_int() silently ignored any bytes except the last 8.
    Fix: raise truncation warning if ignored bytes are non-zero.
    
    Problem 2:
    Hex_literal + int
    was considered as binary + int in the sense that the result type was
    DOUBLE.
    The manual says that in numeric context, hex literal is 64-bit int;
    reading the ctor also adds that it's then unsigned (unsigned_flag=1).
    Fix: give it an implementation of numeric_context_result_type().
    Consequence on parser_precedence.test: some calculations done
    as DOUBLE are now done as BIGINT UNSIGNED so they don't permit
    a substraction with negative result. Fixed by changing values;
    intention of the test is preserved.

commit b6585ff1656f7ba306ba2978e75ee417063f615c
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Oct 15 09:26:53 2015 +0200

    Bug#21807579 FUNCTIONAL DEPENDENCIES ARE NOT RECOGNIZED IN GENERATED COLUMNS
    
    We had forgotten to add support for this.
    
    Fix: re-use the same logic as for items of merged views (they wrap
    expressions too).
    
    Testing: tests for the bug are added. An existing test was wrong, it
    is corrected: in group_by_fd.inc, the line
    --error ER_WRONG_FIELD_WITH_GROUP
    before this query
     SELECT v2.pk, v2.coa
      FROM t1 LEFT JOIN v2 AS v2 ON 0
      GROUP BY v2.pk;
    is removed, because the SELECT is actually valid and must
    not send any error; it is made valid by this code change
    in aggregate_check.cc :
    - (!select->outer_join || item->type() == Item::FIELD_ITEM))
    ).

commit 432ebd82c59c0720e2ef1e848d3b6148f0143e9a
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Sep 24 09:40:01 2015 +0200

    Backport, from trunk, of this WL#2489 work:
    
    Date:   Tue May 12 15:39:13 2015 +0200
        Some cosmetic changes which had been suggested in the review of wl#2489 but had to wait for wl#5275 and wl#7870 to be pushed.

commit 5f1d490663b5f64b60485be0d29f2e6e96975ad3
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Oct 15 11:06:38 2015 +0530

    Bug #21950389 SMALL TABLESPACES WITH BLOBS TAKE UP TO 80 TIMES MORE SPACE
    IN 5.7 THAN IN 5.6
    
    Problem:
    
    1.  For small tablespaces with blobs, the data file size is bigger for 5.7 when
    compared with 5.6.  This regression happened because when reservation was done
    with FSP_BLOB as the type of the page, the special treatment given to the small
    tablespace was avoided.
    
    2.  There was also a problem in the way space reservation was done.
    Previously, the total blob size was calculated and the reservation was done in
    a single shot.  But, the space reservation done by one mtr is valid only for
    that mtr.  Hence this logic also needs to be changed.
    
    Solution:
    
    1. Treat the small tablespaces specially even if the allocation type is
    FSP_BLOB.
    
    2.  Reserve the space for each mtr individually.  If for each mtr we are inserting
    N blob pages, then it is enough to reserve N pages in the tablespace for each mtr.
    There is no need to calculate the total number of blob pages.
    
    rb#10531 approved by Marko.

commit ee4d72d448b6639f23043fe60f45239485112533
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Oct 13 15:34:58 2015 +0200

    Bug#22007587 VALGRIND ERRORS IN EMBEDDED SERVER
    
    Set Protocol_classic::sending_flags in embedded mode.
    Cleanup HASH servers_cache when exiting embedded server.

commit b79e8ebadd61915271b6647c855098814c365088
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Wed Oct 14 09:37:49 2015 +0300

    Bug#21462523 RETURNED VALUE OVERFLOWS DECIMAL DATA TYPE
    
    Item_copy_decimal::copy() does not take into account
    its precision during copying of the value.
    
    The fix is to call my_decimal_round() before copying
    to set correct precision.

commit 2f3e15a25f8a8cc739ccbcc1238e4bef8d03a1bf
Merge: 3249536 31ec005
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 12:05:31 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 31ec005450e50910b22495b156942a87ef79aa10
Merge: 7128289 32cc08d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 12:03:14 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 32cc08dcbb61a551041d8935e53db68cd8b8fa2a
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 12:00:39 2015 +0530

    Bug #21235226 : THE --ENABLE-CLEARTEXT-PLUGIN IS NOT
                    IMPLEMENTED IN ALL CLIENT PROGRAMS
    
    Description: Option "enable-cleartext-plugin" is not
    available for the following client utilities:-
    mysqldump
    mysqlimport
    mysqlshow
    mysqlcheck
    
    Analysis: The unavailability of this option limits the
    features like PAM authentication from using the above
    mentioned utilities.
    
    Fix: Option "enable-cleartext-plugin" is implemented in the
    above mentioned client utilities.

commit 3249536553b2839c7d432d0f4925ca6fc1b74cc9
Merge: 99f555d 7128289
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 11:13:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 712828952b2de10506da5f26fe8532628996c4c5
Merge: 7e68166 b0c765c
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 11:11:17 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit b0c765cbec9ae24ca405910daaff721a765d9f84
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed Oct 14 11:08:49 2015 +0530

    Bug #21602056 : CONCURRENT FLUSH PRIVILEGES + REVOKE/GRANT
                    CRASHES IN WILD_CASE_COMPARE!
    
    Description:- Executing FLUSH PRIVILEGES and REVOKE/
    GRANT concurrently crashes the server.
    
    Analysis:- Concurrent FLUSH PRIVILEGES and REVOKE/GRANT
    might trigger a small time frame in which REVOKE/GRANT
    fetches the "acl_proxy_user" information as a part of
    "acl_check_proxy_grant_access()". Meanwhile FLUSH PRIVILEGES
    deletes the old acl structures as a part of "acl_reload()".
    After which REVOKE/GRANT tries to access the hostname in
    "wild_case_compare()" which leads to a crash because of the
    invalid memory access.
    
    Fix:- Mutex lock on "acl_cache" is acquired before fetching
    "acl_proxy_user" information in
    "acl_check_proxy_grant_access()".

commit 99f555dc580d9cffad49c1e61c78fc410c64b5b8
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Tue Oct 13 18:21:39 2015 +0800

    Bug#21901389 - ATTEMPT TO PURGE NON DELETE MARKED RECORD, VIRTUAL COLUMN
    INDEX
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 2d07e858fd63f9d93e2718da94760508f9733aaa
Merge: 8edfc4f 9454c83
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Oct 13 14:13:09 2015 +0200

    Merge branch 'sqlmode' into bug

commit 8edfc4f303290d229523d27160ba9ead3c0c3459
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Tue Oct 13 15:46:16 2015 +0530

    Bug#21979973
    
    Issue: audit_log_protocals.test failing consistently on valgrind withresult mistmatch error.
    
    Fix  : To solve this problem and to get deterministic and consistent results,
           we should use different user in audit log MTR tests.
           Execution of all sql statments under this user connnection will solve inconsisent result issue.
           Implimented above changes for failing test, test passing now with valgrind.
    
    Patch Reviewed by: Prabeen Pradhan

commit 9454c8371db5c3418c387205184652d8b35f8dd7
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Oct 12 09:07:05 2015 +0200

    Bug#21929967 GCOLS: GCOL VALUE CHANGES WHEN SESSION CHANGES SQL_MODE
    
    Background:
    The value of certain expressions depends on the active sql_mode; the
    clearest example is pipes_as_concat: if enabled '||' means CONCAT,
    if disabled it means OR.
    
    Problem:
    So, if a generated column is created when the mode is off and contains
    '||' (with the intention that it means OR), enabling the mode before
    selecting the column made the expression change meaning (to CONCAT),
    which wasn't the creator's intention.
    
    Views do not have this problem because when they are created, their
    definition is written to the FRM file in a "normalized" way: not as
    the raw expression typed by the user, but as the result of
    Item::print() functions. Those functions print self-sufficient text
    ("or" or "concat"), which is thus independent of any future change of
    sql_mode.
    
    Solution: do as for views: print normalized gcol expression to the
    FRM.
    Because a gcol expression references only the column's table, the
    expression needn't specify the database's and table's names (it would
    even make name resolution fail in fix_fields_gcol_func); so we print
    with QT_NO_DB | QT_NO_TABLE (QT_NO_DB being the new, clearer name for
    QT_COMPACT_FORMAT).
    In the process of CREATE TABLE or ALTER TABLE (which write to the
    FRM), the raw text is replaced in memory with the normalized text; the
    latter must be allocated in the same MEM_ROOT as the former, so it has
    the same lifetime. To this aim, MEM_ROOT of the former is remembered.
    
    Tests: the effect is that normalized expressions (written to the FRM,
    then read at table open time) are visible in SHOW CREATE TABLE.
    A side-effect is that if Item::print() does not print all
    characteristics of the Item, the expression in the FRM is incomplete
    and can lead to unexpected results. This is the case of WEIGHT_STRING;
    as views have the same problem, it can be considered an old issue,
    which I have filed as Bug#78783, which will be easy to fix by printing
    the right clauses in Item_func_hex_string::print().

commit 98f8a5d9f2aac7e872761bb2d31b623ef7791ef0
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Mon Oct 12 16:51:54 2015 +0300

    Bug#21927394 ST_ISVALID() RETURNS FALSE WITH VALID POLYGON GEOMETRY
    
    Problem: when checking whether a point q creates a spike or not with respect to two (ordered)
    points a and b, the first check performed is whether q, a and b are collinear; if so, then it
    is determined whether the vectors q-b and b-a have the same direction or not; for points with
    floating-point coordinates, due to rounding errors as well as due to the fact that equality to
    zero is checked using some tolerance, the three points may be detected as collinear; however,
    when the directions of the two vectors are checked, computations are done without taking into
    account any tolerance and this can lead to inconsistent results;
    
    Fix: when checking the directions of the vectors q-b and b-a, compute signs of differences using
    numerical tolerances, that is using bg::math::equals() instead of plain comparison operators;

commit fe063d8992cdb63cacc95912e90b1f3fef6d1cee
Merge: 19767e8 7e68166
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 16:36:26 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7e6816650dac9547b7b59727775fd3f6c8b109f7
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 16:34:49 2015 +0530

    Bug #19918299: INVALID ACCESS OF FREED TMP TABLE DESCRIPTOR.
    
    Issue:
    ======
    In JOIN::create_intermediate_table we free tmp table
    descriptor because of some error while creating the tmp
    table. But after freeing we failed to reset JOIN_TAB->table
    entry. Further access of this invalid pointer resulted in
    issue.
    
    Solution:
    =========
    Reset JOIN_TAB->table. Also in JOIN::destroy call
    free_tmp_table only if JOIN_TAB->table is set. This avoid
    double free of temp tables.

commit 19767e8a556c4a06de17926a36e9666bdd04365f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Oct 6 11:29:30 2015 +0200

    BUG#21841412 SIG 11 IN __STRNCMP_SSE42 AT LIBC.SO.6
    
    Before this fix, the following query:
      SELECT * FROM performance_schema.status_by_account
    could crash the server under load.
    
    The root cause is that the monitoring query inspects
    all running sessions (THD) in the server,
    and reads data (without any locks) from members of THD while the session
    itself is running, creating race conditions.
    
    In particular, while the THD object itself is guaranteed
    to exist in memory, members of THD that contains pointers
    to other memory fragments, such as
      THD::m_main_security_context::m_user::m_ptr
    may change while the session represented by THD is running.
    Reading these members directly is not safe,
    and caused crashes in pfs_visitor.cc, in:
    - match_host()
    - match_user()
    - match_account()
    
    The fix is to abandon inspecting THD::m_main_security_context,
    and inspect instead attributes of PFS_thread to find out if a
    given THD belongs to a given account / user / host.
    
    To achieve this, it is necessary to find the PSI_thread associated
    with a THD.
    
    This relation existed in the code already,
    with member THD::scheduler:m_psi.
    
    The performance schema instrumentation stored in the thread scheduler
    has been moved into THD directly (THD::m_psi), to make the relationship
    usable independently of the thread scheduler.
    
    Note that THD::m_psi is now maintained using atomic operations,
    which allows to safely read THD::m_psi of a running THD session
    from a monitoring query executing
      SELECT * FROM performance_schema.status_by_account

commit 7502b44147f2a34e029949936f6dc6d6b3307099
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Mon Oct 12 13:58:50 2015 +0400

    Bug#21810529: CRASH IN ITEM_FUNC::WALK WHEN CODE JUMPS TO GARBAGE LOCATION
    
    A follow up fix. Original fix made resolver to convert constant items, e.g.
    string time, into integer only once. This caused optimizer to pick a
    different execution path as Arg_comparator::set_cmp_func didn't expected a
    time constant to be already converted. This resulted in incorrect setup of
    comparator for pushed condition and led to a wrong result in the
    engines/iuds.insert_time test.
    
    Now Arg_comparator::set_cmp_func checks for the case when a time string
    constant was already converted. If so, it uses time comparator.

commit b6bb5d942f138d14f4c58eea2064b6d2169c2e41
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Sep 30 11:18:33 2015 +0200

    Bug#21922330: INSTABILITY IN JSON TEST
    
    The test main.json calls EXPLAIN in some cases without first invoking
    ANALYZE TABLE on the table used by the query. The EXPLAIN statement
    could show stale statistics because of this, in which case the test
    fails.
    
    This fix adds calls to ANALYZE TABLE before EXPLAIN is used.

commit ad49c9e50e3e6380177e2ec9b67f621c021802e2
Merge: eee8b7a 3c1d462
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 13:00:58 2015 +0530

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

commit 3c1d462e769f719094b7938f64235563e087f64f
Merge: fe3c7b4 df5dde8
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 12:59:42 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit df5dde8ec7c35f35a56ce4595a1117df95d544ca
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Oct 12 12:56:36 2015 +0530

    Bug #20007383: HANDLE_FATAL_SIGNAL (SIG=11) IN UPDATE_REF_AND_KEYS.
    
    Issue:
    ======
    The fulltext predicate is inside a subquery and involves
    an outer reference; it thus cannot be used for FT index look-up,
    but MySQL does not see it, which causes a illegal access.
    
    Solution:
    =========
    Solution is backported from bug#21140088. Outer reference can
    not be used as argument of the MATCH function. Added check for
    outer reference.

commit eee8b7a1577fe898d60e4071e6c8964f5a88a068
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Mon Oct 12 12:12:31 2015 +0530

    Bug #17793901:MYSQL_SECURE_INSTALLATION* FAILS ON PB2.
    Issue: After this bug fix pushed on PB2, these tests are failing with
           result mismatch error.
    Fix  : In the end because of inproper cleanup, these MTR tests faling.
           After removing and adding users, both tests are passing.

commit bc31857e190562864afcd6bca109fc4d97cdcd08
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Oct 12 13:53:32 2015 +0800

    Fix an issue in previous fix for Bug#21979969 - ASSERT AT
    DICT_INDEX_GET_NTH_COL(INDEX, I)->ORD_PART

commit 9231f2a900a782b9ad3eac45f47bc29750838fb7
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Oct 12 10:11:59 2015 +0800

    Bug#21979969 - ASSERT AT DICT_INDEX_GET_NTH_COL(INDEX, I)->ORD_PART
    Regression of fix for Bug#21941320. check_col_exists_in_indexes() needs
    to explicitly return true if it is a system column, which it will not check.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 683bf4e8b1ad0945f267744e88fe3dc3b39d13d0
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Oct 9 17:40:16 2015 +0200

    BUG#21873343 ST_TOUCHES(POLYGON, POLYGON) RETURNS INCORRECT RESULT
    
    Add test cases.

commit de0bae75e68e3f476e1996ff74564acec499e13b
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Oct 9 17:36:52 2015 +0200

    BUG#21872795 ST_OVERLAPS(POLYGON, POLYGON) RETURNS WRONG RESULT
    
    Add test cases.

commit e948f0f0afd1b77483f390a992588d303160ddd3
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Oct 9 17:29:46 2015 +0200

    BUG#21890717 ASSERTION FAILED: GEOMETRY::LESS<SEGMENTPOINT>()(P0, P1)
    
    Add test case.

commit 54e5a28a3575de1a4893f3f52428ebd0161f25c3
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Oct 9 17:27:26 2015 +0200

    Synchronize with Boost.Geometry in order to fix several bugs.
    
    Boost.Geometry commit: 605d6d2e9b6b4b4c684b9347e3a0aa974a4e6f2c

commit e0b803d3d781c90a891a2cab9251f723f86f8a09
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Fri Oct 9 15:10:05 2015 +0530

    Bug#17793901: MYSQL_SECURE_INSTALLATION* FAILS ON PB2.
    
    Issue: -mysql_secure_installation.test was failing because
            unsuccessful attempt while installing validate_password.
           -mysql_secure_installation_ssl failing on
            weekly-trunk with Result length mismatch.
    Fix:  After troubleshooting found that the perl expect module in
    MYSQL_SECURE_INSTALLATION test was passing wrong input i.e :  "Change the
    root password?" . It should be "Change the password for root". Because of the
    wrong input, password for root user was not getting set and
    MYSQL_SECURE_INSTALLATION script was not able to install validate_password
    plugin.
    This was failing due to wl#8792 (added new 'mysql.sys'@'localhost' user)
    changes.
    After adding this user in test while cleanup, test is working fine now.
    
    Reviewd By: Prabeen Pradhan
    
    After correcting Input , now test passing without any error.

commit dde827eccabfc5d8954977d0251b7dba3cce8342
Author: Mark Leith <mark.leith@oracle.com>
Date:   Fri Oct 9 08:36:59 2015 +0100

    Bug#21938432 MYSQL_UPGRADE 5.7.9 FAILS WITH ERROR ON MYSQL.SYS USER ON DUMP UPGRADE
    * Two problems here:
    ** Now WITH_PERFSCHEMA_STORAGE_ENGINE is not set we were assuming the installed sys schema version was always 1.0.0, removed this now
    ** Also FLUSH PRIVILEGES after creating the user, so it is available straight away
    
    Bug#21935210 MYSQL.SYS@LOCALHOST HAS TRIGGER PRIVILEGE ON THE WHOLE INSTANCE
    * Removed global TRIGGER, and added only on the sys schema
    
    Bug#21966366 SYS: PROVIDE A WAY TO ALLOW FOR LOCAL CUSTOMISATIONS
    * Rather than check for equality of counts, check for at least as many as expected (but allow more or equal)
    
    Sneak in a typo fix (s/procdure/procedure/) in the execute_prepared_stmt comment.
    
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-by: Marc Alff <marc.alff@oracle.com>
    RB: 10567

commit 374a6e21018296ed4dc6a85a1f68e35bd6eaed04
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Oct 9 11:27:26 2015 +0400

    Bug #21900170: CAN'T CREATE TABLE WITH NULLABLE GENERATED COLUMNS
    
    Post-push test update for the embedded server.

commit f638010abca7ad2f7f0a75562ebca953a1f43938
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Oct 9 06:14:57 2015 +0100

    BUG#18518712 - CRASH AFTER TRIGGER READS FROM FREED MEMORY,
                   WITH ROGUE CHARS IN THE BODY
    
    PROBLEM DESCRIPTION AND FIX:
    A trigger that contains NULL or invalid chars upon execution
    may result in an ASAN crash. A reparse triggered while executing
    the  body of the trigger resulted in a parse error. As part of the
    cleanup on parse error, sp_head object is deleted. This results
    in freeing the memroot on which thd->lex object is allocated.
    Thereafter the thd->lex->sphead is set to NULL. This results in
    an invalid memory access.
    
    The fix is not to delete the sp_head on a reparse error (i.e
    during execution of trigger/stored routine). The sp_head
    object would be deleted at time of drop stored routine/trigger
    as is the current behaviour on a successful reparse.

commit 4953bb70c6e60b388d1f6017be399f321c00ab18
Merge: 351ff11 fe3c7b4
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Oct 9 09:55:17 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fe3c7b450fce1d1015893bec923592e1b2c37059
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Oct 9 09:53:16 2015 +0530

    Bug #21503595 : --QUERY-ALLOC-BLOCK-SIZE=-1125899906842624 +
                    PID_FILE CHECK LEADS TO OOM SIG 11
    
    Post push to fix pb2 test case failure.

commit 351ff11628d1698b610dc6e58d8f95a0b438b562
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Oct 9 10:17:22 2015 +0800

    Bug#21941320 - GCOLS: FAILING ASSERTION: N_IDX > 0
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 34d76fefe8264424b9461868bd0a5904c46022f6
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Oct 9 10:05:46 2015 +0800

    BUG#21508582 UNDO LOG DOES NOT CONTAIN ENOUGH INFORMATION ON SPATIAL COLUMNS
    
    We write undo log for externally stored column as blow:
    1. log prefix if there is only prefix index on it;
    2. log mbr if there is only spatial index on it;
    3. log prefix + mbr if there are both prefix and spatial index on it.
    
    But we don't write enough information in the undo log, we depends on
    data dictionary to resolve the undo log. However, the data dictionary
    can be changed after the undo log is written.
    
    Now we encode the three cases called spatial status in undo log length,
    and keep it compatible with 5.7.9 format.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Reviewed-by: Jimmy Yang   <jimmy.yang@oracle.com>
    RB: 10420

commit 3a198c315b2eb1ad5628276c5d16f7293114438b
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Oct 8 19:48:39 2015 +0800

    Bug#21894654 - MEMORY ACCESS VIOLATION IN OPEN TABLE
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 83c6106a6e5b7281099ac51db2ba74cfa1a5ee3f
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Sep 28 22:34:54 2015 +0400

    Bug #21900170: CAN'T CREATE TABLE WITH NULLABLE GENERATED COLUMNS
    
    According to the documentation, a generated column can be defined as
    [[NOT] NULL], however the option NULL alone results in a syntax error.
    
    The grammar has been extended with the NULL column attribute definition.

commit 586cc14aedb0a2b27e6cfc6885343f78e9fd8b35
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Oct 8 17:23:29 2015 +0200

    BUG#21797816: restricted the statenents a PROTOCOL_PLUGIN is allowed to execute
    
    - restricted the right to execute: SQLCOM_INSTALL_PLUGIN,
    SQLCOM_UNINSTALL_PLUGIN, SQLCOM_SHUTDOWN

commit f84060c2ece0b2e3b64b63d5076d8667b65f10f4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 8 14:42:30 2015 +0200

    Bug#21963113 MYSQLTESTS REPLACE_REGEX CANNOT MATCH ^ (BEGINNING OF LINE) ATOM
    
    --replace_regex command cannot match and replace expressions using
    beginning of line '^' atom.
    
    Fix: do not use MY_REG_NOTBOL when we are at the beginning of the string.

commit 265b18d4477face1522708da93403b16a17cd2f3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Oct 8 15:33:48 2015 +0200

    Bug#21908206 MEMORY LEAK ON WINDOWS WHEN SELECT FROM VIEW IN SUBQUERY
    
    Problem: memory leaks on windows when querying views.
    The problem was the local 'view_lex' in mysql_make_view() which is
    allocated in a MEM_ROOT, and never destroyed
    (it is used later, and cannot be destroyed)
    
    Regression source is patch for:
    Bug#13901905 - CRASH: INSERT ON DUPLICATE KEY UPDATE READS FREED MEMORY
    
    Fix:
    Make LEX::insert_update_values_map private, with accessor functions.
    Make it a pointer, and initialize the std::map on demand, rather than
    up-front (it is used in only rare cases anyways).
    Clear and delete it in lex_end()
    
    Also fix broken build on windows with -DWITH_MSCRT_DEBUG=1
     - rename Path::getcwd() to Path::path_getcwd()
     - remove Protocol_local::free(), it was unused

commit 6d9a47f7354c5b6324c0d89a9a66533ffe78fc37
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Thu Oct 8 17:31:17 2015 +0530

    BUG#21934711: REMOVE .BZRIGNORE
    
    Fix:
    ====
    Removing the .bzrignore file since it is no longer being used.
    
    Note:
    =====
    This file exists in 5.7+.

commit d2b32a008d20580ace9770adc6a2b81b13a400ff
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu Oct 8 17:04:32 2015 +0800

    Bug#21889842 PROCEDURE RETURNS DIFFERENT RESULT WITH ST_AREA() WHEN EXECUTED SECOND TIME
    
    Issue:
    
    The 'Item_func_spatial_rel::spatial_rel' member was changed from WITHIN to
    CONTAINS during execution and was not changed back in one of the rare
    function return path, causing the function item to become WITHIN when
    the query is executed next time, and since the optimized query plan of
    the stored program is cached, the same WITHIN function item is reused and
    thus MySQL returns different results starting from the 2nd run.
    
    Fix:
    
    Make sure 'Item_func_spatial_rel::spatial_rel' is always correctly restored
    if temporarily changed to another value.

commit 7fccfcc7f26f4d78f8cb4e8ec3ab81fb851c101b
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Oct 8 13:07:27 2015 +0200

    Bug#21547779 Assertion failed: select_lex->leaf_table_count == 0
    
    The problem here is that we try to evaluate a subquery from the
    resolver. Item_is_not_null_test::update_used_tables() attempts
    to call is_null() on its argument because with_subselect is
    erroneously false. This field is wrongly updated because
    Item_func_make_set::update_used_tables() has a bad propagation of
    with_subselect: It first calls Item_func::update_used_tables() to update
    data for each arguments, then it calls item->update_used_tables().
    But instead of accumulating data for with_subselect and
    with_stored_program, it assigns directly to those fields.
    
    The fix is to convert the assignments into OR assignments.

commit c0fbaa43584bd010eb8ae2a5eabcb352b64025c3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Oct 8 16:10:50 2015 +0530

    Bug #21899444	INNODB: ASSERT FAILURE (COL->ORD_PART) IN
    		DICT_COL_GET_SPATIAL_STATUS()
    
    Problem:
    =======
       Patch of bug#21514135 resets ord_part of column to
    zero if it is not a part of any index. Basically it is
    a wrong assert that col->ord_part will be always
    non-zero in dict_col_get_spatial_status().
    
    Fix:
    ===
       If the column is not a part of any index then
    return spatial column status as SPATIAL_NONE.
    
    Reviewed-by: Shaohua Wang<shaohua.wang@oracle.com>
    Reviewed-by: Jimmy yang<jimmy.yang@oracle.com>
    RB: 10458

commit 0ab5dc50eeb37d312671c690008f1b195ce1ad1a
Merge: c573a41 7c94180
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 8 16:01:56 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7c94180bd6430c374f425e80ec0176d812d9b1da
Merge: 2aab26d 8f6b29f
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 8 16:00:32 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8f6b29f37e26b704701fa9a5c586aa8040a33dbf
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Thu Oct 8 15:58:03 2015 +0530

    Bug #21467458 - UNINSTALL PLUGIN DAEMON_EXAMPLE CRASHES
                    MYSQLD.
    
    Post push to fix pb2 test case failure for Windows

commit c573a419ffebde4750b1b6e8193d04ed850abefc
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Oct 8 15:42:19 2015 +0530

    Bug#21964455: MAIN.RANGE_WITH_MEMORY_LIMIT UNSTABLE ON PB2
    
    Number of rows estimated for ref access was sometime showing one
    more than that was present in the result file. Added analyze table.

commit c8cbbb64a59e6c551a5acc15234765accff0b431
Merge: 2f1fc6a 2aab26d
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Oct 8 12:33:37 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2aab26d6b6da21bbfda5fd00dac9473f5f43437c
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Oct 8 12:31:58 2015 +0530

    Bug#21486161: FLUSH_CACHE_TO_FILE CALLS _EXIT WHEN
    ABORT_SERVER
    
    Problem:
    =======
    When binlog_error_action == ABORT_SERVER then server writes
    to error log:
    
    [ERROR] An error occured during flushing cache to file.
    'binlog_error_action' is set to 'ABORT_SERVER'.
    Hence aborting the server
    
    and calls _exit(MYSQLD_FAILURE_EXIT);
    
    Calling _exit means no core-dump is possible. Therefore
    nobody knows what was going on.
    
    Analysis:
    ========
    Initially binlog_error_action was added for a special case
    where binary logging was not possible due to a readonly
    file system or diskfull. In these cases it was not possible
    to generate core file and the only option was to call
    _exit. But over a period of time the usage of
    binlog_error_action has increased and we started using
    binlog_error_action for handling other critical errors as
    well. Since _exit command doesn't generate are core-dump
    users will not get to know what went wrong with the system.
    Hence the _exit has to be replaced with abort() call.
    
    Fix:
    ===
    Replaced "_exit" with "abort()" call at all places. Improved
    code comments. Existing code was using "my_error" function
    call to push error to client and "sql_print_error" to print
    error server error log. Printing to client and to server
    error log can be achieved with single "my_error" function
    call with some additional flags. Implemented those changes.

commit 2f1fc6ae72df15f085031479a293bd305d4cde6a
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Thu Oct 8 12:19:31 2015 +0530

    Follow up fix to Bug#21687636
    
    Issue:
    ======
    The table_compress test fails for embedded servers since restart is not
    allowed in embedded server and the fix to Bug#21687636 adds a restart in
    the test file.
    
    Fix:
    ====
    Disable restart for embedded servers.

commit 881000800c72f160ec3c88ea66213929235c9498
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Oct 6 16:37:59 2015 +0200

    Bug#21940542 TOO MUCH SPAM: INNODB: COMPUTE VIRTUAL COLUMN VALUES FAILED
    
    Problem: defining a generated column with an expression of type ROW,
    was not prevented and led to a server exit if using the debug binary.
    
    Fix: the expression to fill a generated column must obviously
    be of a type which a column can have. MySQL does not support
    ROW columns. So, refuse ROW expressions.

commit d7da64c5182ec4ec85df5e8e19c67ac86d9060c2
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Sep 30 14:07:57 2015 +0530

    Bug#21606676 - RECOVERY ASSERTS IN REC_GET_OFFSETS_FUNC(), MLOG_COMP_REC_UPDATE_IN_PLACE
    Bug#21562186 - RECOVERY FAILURES, LIKELY CAUSED BY ONLINE DDLINTERRUPTED BY SERVER KILL, 5.8
    
    Problem:
    -------
    When there is truncate on tables in shared tablespace, MLOG_TRUNCATE is
    written to redo log.
    
    The crash recovery handling of MLOG_TRUNCATE treats shared tablespace as
    file-per-table tablespaces and ignores redo on the shared tablespace.
    
    This causes serveral kinds of assert during recovery
    
    Fix:
    ---
    Use fil_space_t->flags to correctly determine the share tablespace and
    redo will not be skipped.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 10431

commit a9f7641625903124ceab3997bbf2377ef7725f94
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Wed Oct 7 15:46:29 2015 +0400

    Bug#21810529: CRASH IN ITEM_FUNC::WALK WHEN CODE JUMPS TO GARBAGE LOCATION
    
    When a table is opened for the first time, fix_fields_gcol_func() is called
    and it fixes GC expression. Table's memroot is active at that moment.
    Item_bool_func2::fix_length_and_dec might call convert_constant_item() to
    replace constant expression with evaluated value. When a statement opens a
    table with GC, fix_fields is called again and convert_constant_item()
    might change the GC's expression again as it doesn't track whether the
    constant was converted again. The problem is that the replacement constant
    item this time is allocated in the statement's memory and freed when it
    ends, while GC lives longer. When next statement comes, it tries to use
    freed
    item and crashes.
    
    Solution is to make convert_constant_item() to check whether the constant
    item is actually needs to be converted - i.e it's not a basic constant or
    it's field type is different than field's. Otherwise the conversion isn't
    done.

commit d33a686b624f0239d187acd3a431153e19c7dcdd
Merge: 82d2024 80e4804
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Oct 7 15:49:47 2015 +0530

    Merge remote-tracking branch '56repo/mysql-5.6' into mysql-5.7
    
    Conflicts:
    	storage/innobase/handler/handler0alter.cc

commit 82d20246aa0935e27af328253ac109a8377853ee
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Oct 7 12:04:26 2015 +0300

    WL#8843 Deprecate innodb_support_xa
    
    When support for two-phase commit (XA 2PC) was introduced in InnoDB in
    MySQL 5.0, the session parameter innodb_support_xa=OFF was introduced
    to disable the functionality, due to perceived overhead in the InnoDB
    undo log.
    
    In a recent benchmark, no performance overhead was observed.
    So, we will disable the option innodb_support_xa=ON in MySQL 5.7.10,
    making innodb_support_xa=OFF the only possible value.
    In a future major version of MySQL, the option can be removed altogether.
    
    This parameter is fundamentally broken.
    
    (1) When innodb_support_xa=OFF in the current session, the XA PREPARE
    statement will be silently ignored. That is, if the server is killed
    after the XA PREPARE completed, the transaction would be rolled back
    by InnoDB; there is no way to XA COMMIT it after restarting the server.
    
    (2) The MySQL binlog internally uses XA 2PC to make itself consistent
    with the InnoDB undo logs. When innodb_support_xa=OFF, this logic
    will be broken as well.
    
    We deprecate the parameter innodb_support_xa in MySQL 5.7,
    so that setting it ON or OFF will generate a deprecation warning.
    At startup, because we cannot easily distinguish an explicitly
    specified Boolean option from the default value, we will only generate
    a deprecation warning for --skip-innodb-support-xa.
    
    The default value of innodb_support_xa is ON at least since in May 2007
    (built-in InnoDB in MySQL 5.1).
    
    RB: 10114
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Bin Su <bin.x.su@oracle.com>

commit 80e4804a7a127bfc85457a8e58873c425f9d67d0
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Oct 7 12:11:21 2015 +0530

    Bug#21949734 FIX FOR BUG#21514135 CAN CAUSE THE DD CACHE TO GET OUT OF SYNC
    
    Issue:
    ======
    The fix for BUG#21514135 resets the dict_col_t->ord_part variable
    prematurely in commit_try_norebuild(), i.e, before committing.
    
    If we change the DD cache before committing, an error that forces a
    rollbackwould cause DD cache to get out of sync with the data dictionary.
    So such changes to the DD cache should be absolutely avoided before the DDL
    transaction has been committed.
    
    Also, the patch in some places does not follow the INNODB guidelines.
    
    Fix:
    ====
    Move the appropriate code to commit_cache_rebuild() and fix the patch such
    that it folows INNODB guidelines.
    
    Reviewed-by: Marko Mäkelä <Marko.Makela@oracle.com>
    RB: 10526

commit 487bd7309e7ae1e12d23b13f40fd312ba0dbe2a1
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Oct 7 09:24:13 2015 +0530

    Bug #21907297 MYSQLPUMP CREATES INCORRECT ALTER TABLE STATEMENT FOR FOREIGN KEY
    
    During dump process mysqlpump extracts key columns from table definition
    and creates an ALTER TABLE syntax. During this parsing of SHOW CREATE TABLE
    output there was an problem which results in wrong syntax to be dumped, thus
    causing restore to fail. This patch fixes this issue.

commit c541a3c9fef4f7f73bf027a6f794eb0f538237fb
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Oct 7 03:23:43 2015 +0200

    Fixed a syntax problem in disabled.def

commit d938a21fec3d67ee00498a48ac20586bad147600
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Thu Oct 1 11:09:05 2015 +0530

    BUG#21753477 INNODB: FAILING ASSERTION: M_ORDERED_SCAN_ONGOING
    
    Problem :
    ---------
    For ordered scan across partitions, partition helper keeps a
    priority queue for maintaining order across partitions.
    This queue is not created if the scan uses only one partition
    after pruning. The assert is hit, when we discover there are
    multiple partitions used and still we are not using the queue.
    
    Partition helper does another level of pruning [prune_partition_set]
    just before scan to prune further based on index key and partition
    key common part. In some rare cases optimizer keeps some partitions
    in the scan list that is pruned at this level and it hits the assert
    if there is only one partition left after this pruning. The second
    level pruning is dynamic based on current key.
    
    Solution :
    ----------
    The assert should check m_part_spec list of partitions instead of
    used partitions list.
    
    Reviewed-by: ADITYA A<aditya.a@oracle.com>
    
    RB: 10448

commit 69074416f6c7b3b77643a43816ecd933df9bc270
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Oct 6 07:44:16 2015 +0530

    Bug #18823510: PS: CRASH IN ITEM_FIELD::FIX_OUTER_FIELD WITH
                   FUNCTION KIND OF THINGS
    
    Adding testcase. Reported issue was fixed by Bug#21606400.

commit 8f9b3c58ff6db18548e879612a713b88ed8b8ce9
Merge: e932c10 fffdfcf
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Oct 6 07:12:46 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fffdfcf1d8bff982e184a693b360b7fcb205b353
Merge: c258e0b f03c7f9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Oct 6 07:11:45 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit f03c7f9691b13a6d4d9466e03a70c3fe0f93993f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Oct 6 07:09:36 2015 +0530

    Bug #19894161: FATAL SIGNAL 11 IN
                   CONVERT_CHARSET_PARTITION_CONSTANT:
                   SQL/SQL_PARTITION..CC:202
    
    Issue:
    -----
    This problem happens under the following conditions:
    1) A table partitioned with a character column as the key.
    2) The expressions specified in the partition definition
       requires a charset conversion. This can happen when the
       server's default collation is different from the
       expression's collation.
    3) INSERT DELAYED is used to insert data into the table.
    
    SOLUTION:
    ---------
    While creating the delayed_insert object, initialize it
    with the relevant select_lex.

commit e932c101e7e2f5fe86f25c167b00e5d088d91d3e
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Mon Oct 5 18:15:17 2015 +0300

    BUG#21893562 ASSERTION FAILED: IT->BOTH(OPERATION_UNION) || IT->BOTH(OPERATION_INTERSECTION)
    
    Analysis: in all test cases of this bug report there are points with large coordinates;
    this fact in conjunction with how numerical robustness is handled in Boost.Geometry
    (namely my means of rescaling floating-point coordinates to rational values) is causing
    large numerical errors in the computation of intersection points, and more importantly
    in the type of these intersection points; the points computed are of wrong type and this
    triggers the assertion failures;
    
    Fix: for the time being, and until the way numerical robustness is handled properly in
    the context of Boost.Geometry, the assertion failures have been replaced by exceptions;

commit 0c2232d98a8f9ec67a1b745177fae7828cecb81d
Merge: 6c69a28 38f89c2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Oct 5 11:47:36 2015 +0200

    Merge ../5.6 into mysql-5.7

commit 38f89c2466750297ecde95f46f1c8761dc85ffaa
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Oct 5 10:46:29 2015 +0200

    Remove usage of ndb prefix from database name
    
     - the tests alters a table to a non existing database. The nonexisting
       db is prefixed with ndb which is a reserved prefix for NDB
     - replace ndbtest with nosuchdb

commit 6c69a283f8fabb99e0a7317a25774a907647bd98
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Mon Oct 5 12:37:14 2015 +0530

    Bug #20533411 : AUDIT_LOG TESTS UNSTABLE AFTER FIX FOR BUG#20399843
    Issue : audit log tests were disabled due to sporadic faliures on valgrind.
    Fixed :Enabling valgrind run for audit log.

commit a6973da9a5c06a4631c8f6e6809dc1b3a58cd7bc
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Oct 5 16:03:02 2015 +1100

    Revert due to Windows testing issues on PB2.
    
    	Author: Jimmy Yang <jimmy.yang@oracle.com>
    	Date:   Wed Sep 30 20:01:43 2015 +0800
    
        	Bug#21894654 - MEMORY ACCESS VIOLATION IN OPEN TABLE
    
            Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    The revert was done using the patch on rb#10393.

commit a814c74e87b4ef1a81c59f10805bdd9f9ff903d4
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Oct 1 15:51:16 2015 +0200

    Bug#21606400: Segfault in Item_ident::fix_after_pullout with semijoin
    
    The problem here occurs when a subquery's query block is removed
    during transformation of an IN subquery or a scalar subquery, and
    semi-join is not applicable, and Item::remove_dependence_processor()
    is used to modify items below the subquery to be removed.
    
    One such item is an Item_direct_ref which is added in the
    transformation of an IN subquery, see e.g
    Item_in_subselect::single_value_transformer(). The Item_direct_ref
    may be created with a dependent_from field pointing to the subquery
    to be removed. In this case, dependent_from most be moved to the outer query block, but remove_dependence_processor() fails to handle this situation.
    
    Luckily, Item_ident::fix_after_pullout() does exactly this, when first
    making sure that the name resolution contexts of the eliminated query
    block are merged with its parent.
    
    The code snippet that merges name resolution contexts is made into a
    new member function of SELECT_LEX, named merge_contexts().
    
    Item::remove_dependence_processor() was also deleted.

commit c40f29774a2e766796c1edcdec3c4f84d66ce7ec
Merge: 7ae47c0 c258e0b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Oct 1 13:26:32 2015 +0530

    Upmerge of the 5.6.27 build

commit c258e0be00fd3fe86c51860126fdc8f8377168b6
Merge: 096506c 0f6cfdf
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Oct 1 13:24:49 2015 +0530

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

commit 7ae47c0979e59826782ef665b52b6d9090e4a8de
Merge: e0268a6 096506c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 1 07:48:35 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 096506c59d086cdc69979483d9795f71a2a24c97
Merge: 409991b 451de8c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 1 07:47:26 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 451de8c7ab5e5fa05ae173f1cdc353a88e535d11
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Oct 1 07:45:27 2015 +0530

    Bug #19434916: FATAL_SIGNAL IN ADD_KEY_EQUAL_FIELDS() WITH
                   UPDATE VIEW USING OUTER SUBQUERY
    
    Issue:
    -----
    While resolving a column which refers to a table/view in an
    outer query, it's respecitve item object is marked with the
    outer query's select_lex object. But when the column refers
    to a view or if the column is part of a subquery in the
    HAVING clause, an Item_ref object is created. While the
    reference to the outer query is stored by the Item_ref
    object, the same is not stored in it's real_item.
    
    This creates a problem with the IN-TO-EXISTS optmization.
    When there is an index over the column in the inner query,
    it will be considered since the column's real_item object
    will be mistaken for a local field. This will lead to a
    crash.
    
    SOLUTION:
    ---------
    Under the current design, the only way to fix this issue is
    to check the reginfo.join_tab for a NULL value. If yes, the
    query should not be worrying about the key use.
    
    The testcase and comments added as part of the fix for
    Bug#17766653 have been backported.

commit e0268a6a2e8e9ab05be43ee38b06a0f024b738b5
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Tue Sep 29 21:24:58 2015 +0200

    Bug#17733850 NAME_CONST() CRASH IN ITEM_NAME_CONST::ITEM_NAME_CONST()
    
    Nested, inside Item_name_const::itemize, we have this piece of code:
    
      (((Item_func *) value_item)->functype() == Item_func::NEG_FUNC)
    
    Here, the nested NAME_CONST within a NAME_CONST (pointed to by
    value_item) as in the repro, is *not* an Item_func, since
    Item_name_const is not a subclass of Item_func, but we are led to
    believe so because of the special implementation of type() for
    Item_name_const: it passes itself off as whatever it nests in its
    second argument (Item_name_const::value_item).
    
    Hence trying to invoke Item_func::functype() for Item_name_const
    results in an error.
    
    We can not easily detect that value_item is an Item_name_const, since
    Item_name_const::type returns the type of its contained value_item -
    on the innermost level - even if we had an Item::Type constant
    representing NAME_CONST, which we do not.
    
    So, the fix is to add an extra (exceptional use of) dynamic cast to avoid
    the NAME_CONST passing itself off as something it's not.
    
    Also, we forbid the use of any other function that could pass as a
    literal, e.g. "time '1'", since it never worked anyway (server
    exits). The only functions to pass muster are the COLLATE and monadic
    NEG functions, anything else will now give an error message.
    
    If there is a use case for other literals implemented as functions, we
    can open up for them later in a separate WL, but then we'd need to go
    over and check all relevant casts for safety.
    
    I upgraded some C-style casts to down_casts in the code under
    scrutiny.  New test cases added.

commit 72af9ae0c9a218d5d996f13f080d0910f54f1a1e
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Sep 30 20:01:43 2015 +0800

    Bug#21894654 - MEMORY ACCESS VIOLATION IN OPEN TABLE
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit bf52f9dee6cd8a7426192df66ac0c3dcb1f27197
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Wed Sep 30 16:32:57 2015 +0300

    Bug#21871856 ST_BUFFER() RETURNS AN INVALID POLYGON
    
    Problem: The buffer algorithm may compute a polygon with
    an interior ring that touches the exterior ring. This is computed internally
    in Boost.Geometry via a series of union operations, which instead of
    producing a polygon as described above, it produces a polygon with a single
    exterior ring that touches itself. This is what causes the validity failure:
    the self-intersection point of the exterior ring.
    Instead the buffer algorithm should have produced a polygon with a hole,
    which is not the case.
    
    Fix: Consider the rings produced during the traversal in the union operations
    mentioned above and split the rings at the appropriate points (points where
    the ring touches itself).

commit ccd37ec24b0948c99bd5f877795bdafcb8098581
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Wed Sep 30 14:17:19 2015 +0300

    Follow-up for fix for Bug#21317507 "GC: STORED COLUMN REJECTED, BUT VIRTUAL IS ACCEPTED"
    
    Removes Alter_table_ctx::requires_generated_column_server_evaluation member.
    
    Splits Alter_inplace_info::ADD_STORED_COLUMN into ADD_STORED_BASE_COLUMN
    and ADD_STORED_GENERATED_COLUMN, so InnoDB can differentiate situation
    when it can add column without help from SQL-layer (former) from one
    when it needs it for now (latter).
    
    Adds Alter_inplace_info::ALTER_VIRTUAL_GCOL_EXPR and ALTER_STORED_GCOL_EXPR
    which allow SE to identify situation when generation expression is changed.
    For now these flags are simply set if corresponding type of column was
    affected by CHANGE/MODIFY COLUMN clause. At the moment InnoDB needs
    SQL-layer help to handle ALTER_STORED_GCOL_EXPR handling (this is similar
    to how it was handled with requires_generated_column_server_evaluation).
    ALTER_VIRTUAL_GCOL_EXPR is ignored by InnoDB at the moment, but this
    might have to be changed to correctly handle indexes.
    
    Note that as result of introduction of these flags changing of generation
    expression for virtual column in MyISAM table becomes non-inplace operation.
    This is acceptable, since neither adding or dropping of virtual columns are
    not in-place for MyISAM.
    
    Handling of Create_field::change member was adjusted so now it can be used
    as indication that field in question was mentioned in ALTER TABLE's MODIFY/
    CHANGE COLUMN clauses.

commit 3b78e9b3cb53459ab3f8313bc52c330bfc21f542
Merge: 74382ee 409991b
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Sep 30 18:15:19 2015 +0530

    Upmerge of the 5.5.46 build

commit 409991b4262bf470c50a97c272a67dcc0a04f7b5
Merge: 7ccc789 cf8498f
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Sep 30 18:12:52 2015 +0530

    Upmerge of the 5.5.46 build

commit cf8498f89d15179954e993175e23496478a31796
Merge: a5fa339 449e0e3
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Wed Sep 30 18:10:33 2015 +0530

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

commit 74382ee4246f1c6fcffc2c0ff059da1ecbc9d720
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Sep 30 16:47:44 2015 +0800

    Bug#21922176 - PREBUILT->SEARCH_TUPLE CREATED WITHOUT INCLUDING THE NUMBER
    OF VIRTUAL COLUMNS
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>

commit 3300f8bf82003cbac094d56b31599de7e45d11c2
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Sep 30 12:36:01 2015 +0800

    Bug#21890816 - ASSERT UPDATE->OLD_VROW, VIRTUAL COLUMNS
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 2305dd720ffda4df4e767252b38389a05ad7a960
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Sep 30 08:22:37 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - fix .result file since MULTIPOINT output now
       uses new OGC standrad format
     - this same fix has been done in all other tests source gis_generic.inc
     - re: Bug 11761559 SUPPORT OGC STANDARD WKT FOR MULTIPOINT

commit 6556b23db56a6dd97ec5c042b75acd301dca4a69
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Jun 9 11:38:22 2015 +0200

    WL#8212 Extend ndbcluster integration suite
    
     - move ndb_gis to ndbcluster suite
     - rename ndb_gis.test -> gis.test
     - remove construct saying that test need myisam

commit 261661d4ec1a091c622721e97850965a40f9aa80
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Sep 30 14:40:39 2015 +0800

    BUG#19163625 - ASSERT 0 ROW_SEL_GET_CLUST_REC_FOR_MYSQL ROW_SEARCH_MVCC
    
    The root cause is that we don't handle bulk load error properly in
    row_merge_read_clustered_index().
    
    we first get error DB_TOO_BIG_RECORD when inserting into PRIMARY INDEX,
    but we don't handle it, then we continue to create secondary indexes.
    After the ALTER TABLE, we have corrupted PRIMARY INDEX with correct
    secondary indexes. When we search a cluster record by a secondary index,
    we can't find the cluster record.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 10359

commit 2a7179577a32ebf3df4aae25da3722618d19339f
Merge: 69fece5 7ccc789
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 30 10:34:50 2015 +0530

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

commit 7ccc7892bff66c0fff031309cc963a521be596c5
Merge: cba294c a5fa339
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 30 10:31:39 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit a5fa3397aa8fcc2d4cc246913faddd5a1f9a56a8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Sep 30 10:27:26 2015 +0530

        BUG 21900800 - ADD OBSOLETE ON MYSQL-CONNECTOR-C-SHARED AND MYSQL-CONNECTOR-C-DEVEL
    
        As MySQL Connector C 6.1 is end of life, added conflict with mysql-connector-c-shared dependencies

commit 69fece5fd2a0f9498a9fe96aaba5b9fd65cc16e8
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Sep 29 11:58:07 2015 -0600

    Bug #21825127: DATADIR IS NOT PORTABLE DUE TO PATH SEPARATORS
    NOT NORMALIZED DURING RECOVERY
    
    Stop using os_normalize_path_for_win() altogether since we decided to not allow
    '\' as a valid character in any path on Linux. So on every path read from disk or
    provided by the user, convert '\' to '/' on non-Windows and '/' to '\' on Windows.
    
    Approved in rb#10331 by Debarun Banerjee

commit 1ad5498f14b49308eba33f33091bb345c49275ee
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 29 22:27:42 2015 +0530

     Bug#21900800 - ADD OBSOLETE ON MYSQL-CONNECTOR-C-SHARED AND MYSQL-CONNECTOR-C-DEVEL
    
     As MySQL Connector C 6.1 is End of life, obsolete mysql-connector-c-shared dependencies
     for easy transition to MySQL server 5.7.

commit e5b7c9a1ac2c9fa917a64ddbb5666537bc8dd658
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 29 14:34:23 2015 +0200

    Build cleanup for Windows:
    Avoid dependency on mysqld.cc for key_thread_one_connection,
    and use a dedicated thread instrumentation name in the thread pool instead.

commit 4849c3fa29716228ff13012661a9dc1c6b274d80
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Tue Sep 29 15:49:01 2015 +0530

    bug#20533411: AUDIT_LOG TESTS UNSTABLE AFTER FIX FOR BUG#20399843
                  Fixing Sporadic audit log tests failure on PB2.
    
    bug#21528701: AUDIT_LOG.AUDIT_LOG_DEBUG_BUGS UNSTABLE ON PB2.
                  Test was failing with timeout, hence marking test as big-test.
    
    Patch reviewed by: Horst Hunger

commit 3076bee85deb21236660db0eef4a7e82e68cb035
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Sep 28 13:35:20 2015 +0200

    BUG#21638823: ASSERTION FAILED: THD->GET_TRANSACTION()->IS_EMPTY(TRANSACTION_CTX::STMT) || THD
    
    Problem: Issuing DROP TEMPORARY TABLE when in XA_IDLE state, would
    trigger an assert when running with --log-bin. Root cause was that a
    binlog handler for the DROP TEMPORARY TABLE statement was added to the
    transaction in XA_IDLE state, but its removal was "optimized" away since
    the statement was not actually doing anything.
    
    Solution: Since the XA-spec actually prohibits DROP [TEMPORARY] TABLE
    in XA_IDLE the problem can be avoided by returning ER_XAER_RMFAIL in
    this case.
    
    Temporary tables are also dropped when a connection ends. This implicit
    DROP is binlogged as an explicit DROP statement. The assert (on the master)
    does not manifest itself in this case because the implicit DROP has a
    completely different code path which does not add a binlog handler to the
    transaction even if we are in XA_IDLE.
    
    The explicit DROP added to the binlog is NOT rejected on the slave because:
    - in row mode the XA statements are not replicated, so the slave is not
      in XA_IDLE
    - in stmt and mixed mode a COMMIT is inserted before the explicit DROP
      so the slave is no longer in XA_IDLE
    
    Note! This patch changes behavior. Statements which would previously succeed
    in XA_IDLE now fail with ER_XAER_RMFAIL. However, when running with
    --gtid-mode=ON, an explicit DROP continues to fail with
    ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION

commit 6951b6d1d93621b6ad9224e84f7aadcdcdd23254
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 28 18:03:19 2015 +0200

    BUG#21865330 TWO THREADS IN PERFORMANCE_SCHEMA.THREADS FOR THE SAME OS
    THREAD
    
    Before this fix, two rows in table performance_schema.threads
    could be seen with the same THREAD_OS_ID.
    
    The root cause is the instrumentation for innodb thread
    srv_purge_coordinator_thread, which created instrumentation twice:
    - once in the call to create_thd(),
    - once in the call to pfs_register_thread()
    
    Also, every background threads created by create_thd() were instrumented
    with a generic "thread/sql/background", which provides no valuable
    information.
    
    The fix is to:
    - remove the "thread/sql/background" instrument entirely,
    - pass a proper thread instrumentation key to create_thd(),
    - remove the calls to pfs_register_thread() when they are duplicates.

commit 92e68d66961185e3b4fb97e2ba3cb8cf370b3289
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Tue Sep 29 11:13:31 2015 +0530

    Bug#21687636 COMPRESSION COLUMN IN INNODB_SYS_TABLESPACES
    IS NOT CORRECT
    
    Problem:
    ========
    INNODB_SYS_TABLESPACES gives incorrect information about the
    COMPRESSION attribute when queried on a compressed table,
    after restarting the server.
    
    The reason behind this is that the COMPRESSION attribute is
    stored in .frm file and not stored in innodb dictionary
    (INNODB_SYS_TABLESPACES).
    
    Currently we return the value from
    fil_space_t->compression_type. It is filled when we do a
    ha_innobase::open().
    
    So after a restart, fil_space_t will have invalid value
    until we do a ha_innobase::open(). So if user executes
    select * from t1 (which causes ha_innobase::open()), then
    I_S.INNODB_SYS_TABLESPACES shows correct value else it will
    show incorrect value.
    
    Fix:
    ----
    Remove the COMPRESSION attribute altogether from
    I_S.INNODB_SYS_TABLESPACES and rely on SHOW CREATE TABLE to
    get the COMPRESSION attribute information.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 10399

commit 711652ad89d4168529646eda04f9c15e641fc14a
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Tue Sep 29 06:15:46 2015 +0200

    Bug#20819220: BUG#51893 IS STILL ALIVE ONLY ON CP932 (JAPANESE LOCALE) WINDOWS
    
    The condition of for loop is set wrong, which might let pointer jump
    over the array boundary when the last 2 or 3 bytes in the array is
    a multibyte character, and cause buffer overflow.
    
    Reviewed-by: Dag Wanvik <dag.wanvik@oracle.com>

commit 4b3ba08e4cc6067d9f7159c7a31cbbe4b9718b71
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Mon Sep 28 16:47:44 2015 -0500

    Bug#21863597 SHOW STATUS LIKE '%SSL%' CRASHING SERVER
    
    The 5.7 implementation of SHOW STATUS exposed a potential crash in the
    handling of SSL status variables. The crash occurs because the SSL status
    variable callback function, show_ssl_get_server_not_after(), passes a null
    ASN1 time pointer to my_asn1_time_to_string().
    
    This callback function and its counterpart, show_ssl_get_server_not_before(),
    now check the value of the ASN1 time pointer. If NULL, then the callback
    returns an empty string.

commit aaecd0018ec972d940db08191f0edee7f17a9296
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 28 13:43:14 2015 +0200

    Bug#21909332: MY_INIT() NEEDS MY_SYS.H REQUIRING NON-SHIPPED
                  HEADER FILE MY_THREAD_LOCAL.H
    
    Add 4 new headers to the list of installed headers since they
    are indirectly included by my_sys.h which declares my_init().

commit 7113591a0fdc6b89b89c61d013541d72c1881c22
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Sep 28 15:26:37 2015 +0200

    Bug #11761559 followup, fix to test gis.deprecated_functions due to
    changed format for multipoint. Also, raw binary output from AsBinary
    and AsWKB could confuse diff, so wrapped those in HEX().

commit 13509f933e8d928693bf630ab266595fa6178988
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Sep 28 15:40:49 2015 +0530

    Bug#21796845 ASSERT ERR == DB_SUCCESS, ROW_QUIESCE_TABLE_START(), FLUSH
    TABLES FOR EXPORT
    
    Problem:
    ========
    Assertion err == DB_SUCCESS fails during FLUSH TABLES FOR EXPORT for
    row_quiesce_table_start().
    
    For non-partitioned table, for flush we set the dict_table_t quiesce state
    to QUIESCE_START in ha_innobase::store_lock(), through the function
    row_quiesce_set_state(), and we do the flush in ha_innobase::external_lock
    and set the state to QUIESCE_COMPLETE, again through row_quiesce_set_state.
    Quiesce/Flush is not done if the table is in SYS tablespace.
    
    For partitioned table, the dict_table_t state is set to QUIESCE_START
    through row_quiesce_set_state() only for the first partition, in
    ha_innobase::store_lock() and we try to quiesce/flush the partitions in
    ha_innopart::external_lock() based on the first partition. For all other
    partitions we are forcing the state to [table->quiesce=QUIESCE_START],
    which is wrong if the partition has SYS tablespace, and hence it hits the
    assertion.
    
    Also, for partitioned table, in the case where the first partition is a
    SYS tablespace, the partition will not be marked QUIESCE_START and would
    skip flushing the remaining partitions.
    
    Fix:
    ====
    Defining ha_innopart::store_lock() and setting quiesce state cleanly for
    all partitions through row_quiesce_set_state(), instead of forcing the
    state and looping through each of the partitions and flushing it in
    ha_innopart::external_lock().
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Sunny Bains <Sunny.Bains@oracle.com>
    RB: 10374

commit ac4ee0362856916abb7f06562347296d9dceb659
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon Sep 28 17:51:55 2015 +0800

    Bug#11761559 SUPPORT OGC STANDARD WKT FOR MULTIPOINT
    
    Issue:
    
    Our WKT parser doesn't allow multipoint provided in this form: MULTIPOINT((0 0), (1 1)),
    but this format was defined by OGC as standard WKT format for multipoints.
    
    Fix:
    
    Allow above format, and also allow the old format: MULTIPOINT(0 0, 1 1),
    but do not allow the mixture of both formats in the same multipoint geometry.
    And at the same time, output multipoint WKT in OGC standard format.

commit 88ed05558155814c731834df28b2b6083accdb8e
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Sep 25 11:18:15 2015 +0200

    Bug#21887035: INCOMPLETE SUPPORT AND/OR DOCUMENTATION OF THE JSON DATATYPE
    
    BLOB, TEXT, GEOMETRY and JSON columns don't support a DEFAULT value.
    The error message you get when you try to create such a column with a
    DEFAULT value, says that it's a BLOB or TEXT column.
    
    Improve the error message so that it says it's a BLOB, TEXT, GEOMETRY
    or JSON column.

commit 6f942fe191e8e5c35a88064e68a2bb75688c0b33
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Sep 28 08:41:43 2015 +0200

    Bug #21891560 INNODB.TABLE_COMPRESS IS UNSTABLE ON PB2
    
    Post push fix to resolve a test failure.
    
    approved by Satya over IM.

commit c70ec0ed106ddd0b9ec0adb551be63b99d969c5d
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Sun Sep 27 04:27:17 2015 +0200

    Bug#20755389 SERVER CRASHES IN ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS ON
                 2ND EXECUTION OF PS
    
    Description:
    ------------
    When MySQL calls 'EXECUTE stmt' firstly to deal with ORDER BY clause which is
    similar with 'ORDER BY 1,(t2a.f2+1)' in find_order_in_list(), it believes the
    first expression is a position, the function replaces the pointer of the first
    expression with Item_field object associated with a temporary table field,
    then releases it after the end of the execution, that behavior destroys the
    pointer of first expression.
    
    After that, when MySQL calls 'EXECUTE stmt' once more, the first expression
    points to an invalid pointer, so it crashed.
    
    Fix:
    ----
    If an item of ORDER clause is a location, reset 'args' with a original value.
    
    Test case added.

commit 76403f0325573464487ee95bbac60c9d93a0ff07
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Sat Sep 26 09:05:50 2015 +0800

    Bug#21891185 - (AGAIN) ASSERT POS < TABLE->N_V_DEF
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit ccdfdec5527ac0ea559c7b5a51febcd5def73782
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Sep 25 23:52:16 2015 +0800

    Bug #21869656 	UNDO LOG DOES NOT CONTAIN ENOUGH INFORMATION ON INDEXED
    VIRTUAL COLUMNS
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>

commit 8a6b78e87eb903ad716a468e51730f63c8534f92
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Sep 25 18:45:22 2015 +0530

    Revert "Adjust strict_mode-bug20144839 test. Enable warnings"
    
    This reverts commit c04083c6dcd6047a02d96fc0e0bf8a43f2e6b3fb.

commit 305d7d12dd93b16ce6f2e07de91c54c68494068a
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Sep 23 16:06:28 2015 +0300

    Bug #21865901   MTS COORDINATOR AND WORKER THREAD SYNCHRONIZATION LIMITS PARALLELISM
    
    In LC (Logical Clock) MTS mode, Coordinator thread distributes transactions to
    workers respecting at most one transaction to a Worker at a time constrain.
    The rule was introduced yet by wl6314 and not been revised since that time.
    A part of the rule implementation involved my_sleep() on the Coordinator side
    with the idea the Coordinator to have a nap while every Worker is busy.
    
    This has turned out to be costly for overall slave applier performance and
    my_sleep() is replaced with sched_yield(), except Windows where the latter
    is not defined.
    
    Notice with this method a potential excessive busy-waiting by
    Coordinator, e.g when all Workers are busy to process big
    transactions, happens only when the yielded thread's CPU is not requested by
    any other user thread.
    Otherwise there should be no negative cost for this operation except
    a Worker can become available sooner than Coordinator gets rescheduled.
    by OS.
    
    There're still few alternatives to the current solution, declined
    due to either higher risks or rather significant complexity.

commit c04083c6dcd6047a02d96fc0e0bf8a43f2e6b3fb
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Sep 25 16:07:08 2015 +0530

    Adjust strict_mode-bug20144839 test. Enable warnings

commit a385428f5480466f2aa5d1309b79bf5e7441373d
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Sep 25 13:24:24 2015 +0530

    Bug#21880445 - FAILING ASSERTION: !FIELD->PREFIX_LEN ||
    	       FIELD->FIXED_LEN == FIELD->PREFIX_LEN
    
    Background:
    -----------
    For fixed columns maximum length allowed is 255 (.i.e CHAR(255)). With
    charset utf8mb4 or utf32, each char can take at max 4 bytes.
    So the maximum possible fixed size is (255*4) 1020 bytes.
    
    when key field length is > 767 bytes, it is chosen as long fixed length
    field and treated as variable length field and this field can be chosen
    for off-page storage.
    
    Problem:
    --------
    When such long length fixed field is treated as variable length field,
    and when estimating the maximum the record size in a btree index page,
    we wrongly treat it as fixed length field.
    
    Fix:
    ----
    If long length fixed fields are treated as variable-length fields, do
    not treat them as fixed size fields when estimating the the maximum record
    size of a btree index page
    
    Reviewd-by: Marko Makela <marko.makela@oracle.com>
    RB: 10375

commit 347da27f9486f45231f2d31ab02ac1791edabd4d
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Sep 25 15:36:09 2015 +0530

    Bug #21891560 INNODB.TABLE_COMPRESS IS UNSTABLE ON PB2
    
    Problem:
    
    The test case innodb.sys_tablestats places the table t1
    in the background drop list.  So when the next test case
    attempts to create a table t1, it fails.  We need a
    mechanism to wait for table t1 to be dropped for sure
    at the end of test innodb.sys_tablestats.
    
    Solution:
    
    Introduced a new debug only system variable
    innodb_background_drop_list_empty which will enable us
    to wait till the background drop list becomes empty.
    
    rb#10376 approved by Satya.

commit d73dba3f6fc2d592ee0c27fcccd09ac4c3180a5f
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Fri Sep 25 06:21:21 2015 +0200

    Bug#20425399: CAN'T USE COLLATE
    
    When a numeric expression is used with a COLLATE clause e.g inside
    an ORDER BY, the character set of the expression is set to be
    latin1. If the specified collation is associated with a character
    set that is incompatible with latin_1, an exception is raised.
    
    Solution: When a numeric expression is implicitly cast to a
    character expression by using COLLATE, the character set to be
    used for the expression is the same as the one associated with the
    named collation.
    
    Reviewed-by: Roy Lyseng <roy.lyseng@oracle.com>
    Reviewed-by: Tor Didriksen <tor.didriksen@oracle.com>

commit c5989afe417d061d2481099c9cbf9843c0d6a58b
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Thu Sep 24 15:28:21 2015 +0200

    Updated result files of  PAM tests

commit a16052827bbe17415cee5969f0fa46247f18e77d
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Sep 18 13:17:10 2015 +0200

    Bug#21808680: JSON + GENERATED COLUMN CORRUPTS TABLE CACHE MEMORY, CRASHES
    
    In some cases pointers to stale data could be left in the Item tree of
    the generated column expression, which would lead to problems the next
    time the generated column was accessed.
    
    There is already code in place to avoid this situation.
    TABLE::cleanup_gc_items() calls Item::cleanup() on the generated
    column expression upon completion of a statement, and this is supposed
    to revert the Item tree to a pristine state, ready for reuse in a new
    statement.
    
    However, since the Item::cleanup() functions are not recursive, only
    the top-level item in the generated column expression will be cleaned
    up. Children, such as items representing the arguments of a function
    call, will not be cleaned up and can point to stale data inserted into
    the item tree during execution.
    
    The fix changes TABLE::cleanup_gc_items() so that it calls cleanup()
    on all the items in the generated column's item_free_list, and not
    only on the top-level item.
    
    The patch also removes an unused parameter from the function.

commit 999c10e3aa6fbac1512bac59cebfbc7af12e04e9
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Sep 24 11:47:45 2015 +0800

    Bug #21508402 B-TREE INDEX RESTRICTION IN WL8149 NOT ENFORCED
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>

commit bec2d19df0e251bb704c804a057d80b77291118a
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Thu Sep 24 09:11:25 2015 +0530

    BUG#21319192 - CREATING SHARED MEMORY CONNECTIONS WITH
                   A MULTITHREADED CLIENT HANGS THE CLIENT
    
    Post test fix - update result file.

commit 4130eb0fa9a389a35000f58f7f4d50e2f0a239aa
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Sep 23 21:20:26 2015 +0530

    BUG#21871451 INNODB: FAILING ASSERTION: !(&BUF_POOL->MUTEX)
    
    Problem :
    ---------
    While selecting from INFORMATION_SCHEMA.INNODB_CMPMEM with option
    big-tables=1, the fetched rows are filled into temp table by the
    sql function schema_table_store_record().
    
    Innodb i_s_cmpmem_fill_low() calls the record store callback while
    holding buf_pool_mutex. The issue started occurring when we started
    to use InnoDB intrinsic table to store the records instead of heap
    engine. We re-enter InnoDB to insert record into intrinsic table
    while holding buf_pool_mutex and hit ASSERT.
    
    Solution :
    ----------
    Acquire buf_pool_mutex and store records locally and call the store
    callback after releasing buf_pool_mutex.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 10339

commit b5c2204b0fc35a14a5e29d942162831a2dde284d
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Sep 23 00:10:56 2015 +0200

    Bug#21840950 CRASH IN STREND AT STRINGS/STREND.C:34
    
    Use THD::LOCK_thd_sysvar to prevent a race condition between variables_by_thread
    and alloc_and_copy_thd_dynamic_variables() called during new connections.

commit 1b623ce7c4ff1d70d786c4990e53f94c13bee9f1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Sep 23 18:01:10 2015 +0200

    WL#8853 PERFORMANCE_SCHEMA, ADD COLUMN THREADS.THREAD_OS_ID

commit 29c6552ade0ff140f91b882b7a51940140589596
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Tue Sep 22 16:44:01 2015 +0400

    Bug#21317507:GC: STORED COLUMN REJECTED, BUT VIRTUAL IS ACCEPTED
    
    When a virtual generated column is added to a table, it wasn't ensured that
    data being calculated by GC's expression wouldn't get out of range of the
    column. This might lead to inconsistent data being returned and unexpectedly
    failed statements.
    
    This patch adds two new options to ALTER TABLE:
    1) WITH VALIDATION
    2) WITHOUT VALIDATION (default)
    e.g ALTER TABLE .. ADD COLUMN gc INT AS (...) VIRTUAL, WITH VALIDATION
    These options are statement-level clauses, similarly to ALGORITHM or LOCK
    clauses.
    When the first option is specified, ALTER copies the table and if an
    out-of-range error is thrown, or any other error occurs, the statement
    fails.  Due to copy, such ALTER could take considerable amount of time on big
    tables.
    When these options are used without ADD/CHANGE/MODIFY COLUMN clause, the
    ER_WRONG_USAGE error is thrown.
    
    With the 2nd option, in-place ALTER is used (if possible) and data integrity
    isn't checked and the statement finishes quickly. Drawback is that
    errors/warnings might be reported during reading such column.
    
    Options are used only during execution of the ALTER statement and isn't stored
    anywhere in .FRM.
    
    Now fill_alter_inplace_info() check whether validation is asked for and if
    so, sets the newly added flag Alter_inplace_info::VALIDATE_VIRTUAL_COLUMN
    to indicate that a virtual GC needs validation.
    Storage engine's check_if_supported_inplace_alter() should check whether it
    allows such operation to be in-place.
    
    check_if_supported_inplace_alter() in both handler and ha_innodb classes
    don't need any changes because they block in-place changes for all flags
    other than explicitly listed in them.

commit 4cfc2ec1fe3380ef9477ebd160160970281c5c5e
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Wed Sep 23 13:09:46 2015 +0200

    Bug#21761044 CONDITIONAL JUMP AT TEST_IF_ORDER_BY_KEY IN SQL_OPTIMIZER.CC
    
    In test_if_order_by_key, the pointer key_part is incremented over a
    key's parts. For some storage engines, a secondary key may contain, in
    addition to the user defined keys, the primary key of the table.  The
    logic detects when we pass from testing a user defined key over to
    testing the "hidden" primary key parts using a conditional:
    
       if (key_part == key_part_end)
    
    However, in this case, the optimizer has detected that the first key
    of a primary key (pk) is constant in a WHERE condition (encoded in
    const_key_parts). This causes the little loop just in front of the
    test above to trigger, even though we have exhausted the user defined
    parts of the key.
    
      /*
        Skip key parts that are constants in the WHERE clause.
        These are already skipped in the ORDER BY by const_expression_in_where()
      */
      for (; const_key_parts & 1 ; const_key_parts>>= 1)
        key_part++;
    
    This causes key_part to be increased *beyond* key_part_end, causing
    the test above to fail and we get no entry into the section for
    handling parts stemming from the "hidden" primary key.  This causes
    the code to eventually increase key_part beyond even the hidden
    primary key parts, i.e. it points into unallocated memory, and an
    access is detected by ASAN (no crash seen).
    
    The fix makes the loop contingent on key_part < key_part_end. This
    makes the code in the repro enter the section for handling the hidden
    key parts as intended.
    
    Repro added to regression tests.

commit c1edf739f06179b53795b267b8b5050138d57f48
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Sep 23 15:53:42 2015 +0200

    21528701    AUDIT_LOG.AUDIT_LOG_DEBUG_BUGS UNSTABLE ON PB2
    
    Disabling unstable test

commit 739c5a69062121c7cc44a0d3f4c89af1ce94f302
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Sep 23 07:54:33 2015 +0200

    Bug#20697533 EXPLAIN_FOR_CONNECTION_RQG_JSON/TRAD ARE FAILING WITH RESULT DIFFERENCE ON PB2
    
    This test fails on multiple platforms and hence disabling everywhere

commit c79c6c64c5cf78b4053285ccaab171a0b13c9f36
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 22 16:29:51 2015 +0200

    Bug#21484716 PROBLEM COMPILING MYSQL 5.7 ON SOLARIS 11.3
    
    Verify that the compiler/linker handles flags: "-Wa,-nH"

commit 0661bc6e6f23ba5db39826b6774f3f2658edea33
Merge: 6041c96 cba294c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Sep 23 14:30:03 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6041c964179b109ad90bd18eee2c12c83824afc3
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Sep 23 17:44:33 2015 +0530

    Post test fix for BUG#21816041

commit f564195da53145157f2ff14bbbf2ab277ef74c1e
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Sep 22 13:40:49 2015 +0200

    Bug#21841051 PREPARE STATEMENT RETURNS DIFFERENT NUMBER OF ROWS WHEN
    EXECUTED SECOND TIME
    
    Problem: A prepared statement computing ST_IsSimple or
    ST_Buffer_Strategy on a nullable column in an outer join may return
    different number of rows in the first and second execution.
    
    Item_func_issimple::val_int() and ST_Buffer_Strategy::val_str() don't
    reset the null_value flag, so after returning NULL once, that object
    will continue to return NULL.
    
    Fix: Reset null_value in each call to val_int()/val_str().
    
    Item_func_geometry_from_text::val_str() also handles NULL in its
    second parameter incorrectly. Instead of returning NULL, it assumes
    the SRID is 0.
    
    Fix: Return NULL when the SRID parameter is NULL.

commit 84201314fc78cf106857f98e6be866cae2d9addc
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Sep 23 18:35:48 2015 +0800

    Bug#21575121 - ROLLBACK AFTER RECOVERY FAILS ASSERT INDEX->TABLE == TABLE, FTS
    
    This failed assertion is bogus, since the index->table has not been
    initialized until the assertion. To set the index or index->table as
    corrupted, we have to initialize index->table with table.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Approved over IM

commit 13f0ee3e68e78bcb1819d7e61f2e1b91895b39c7
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Sep 23 15:03:10 2015 +0530

    BUG#21319192 - CREATING SHARED MEMORY CONNECTIONS WITH
                   A MULTITHREADED CLIENT HANGS THE CLIENT
    Post-push fix.

commit f98a719a6951a5c9a9470a847190d6416719a7e0
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Sep 23 14:13:11 2015 +0530

    BUG#21319192 - CREATING SHARED MEMORY CONNECTIONS WITH
                   A MULTITHREADED CLIENT HANGS THE CLIENT.
    Post-push fix. Fix failing auth_sec.require_secure_transport_windows test.
    Also close the named mutex handle explicitly when server exits.

commit c0d3bb5e75b7a101b72f3204e8fd363cfc7df961
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Wed Sep 23 00:33:38 2015 +0300

    Bug#21767301 ASSERTION `IT->OPERATIONS[0].OPERATION == OPERATION_UNION' FAILED
    
    Problem: the root cause or this bug is related to how rings produced by the
    Boost.Geometry set operation traversal is handled; rings produced by this
    traversal may have self-intersection points; originally these points where understood
    to be a certain unique type, and this type was internally checked via assertions;
    this understanding was wrong: self-intersection points of the produced rings can be
    of two different types, and this caused the assertion failure;
    
    Fix: modify the code splitting the rings produced during the traversal so that both
    types of self-intersection points are found and handled;

commit 6f57fad788920634ddf07f80b6ebfe1575f888cc
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Sep 21 16:19:21 2015 +0530

    Bug#21816041 - ROW_FORMAT=DYNAMIC IS MORE RESTRICTIVE THAN ROW_FORMAT=COMPACT
    
    Problem:
    --------
    Table creation succeeds with ROW_FORMAT=COMPACT and REDUNDANT but fails with
    DYNAMIC and COMPRESSED. This happens because of wrong undo log record size
    calculation
    
    Fix:
    ----
    The undo log record size calculation at DDL time(dict_index_too_big_for_undo())
    is conservative sometimes and aggressive at other times. Since there is a DML
    time check and the behaviour of dict_index_too_big_for_undo() causes DDL
    failures(inturn replication breakage), we will remove this undo log record
    size calculation logic at DDLs because there is undo log record size
    check for DMLs which is more accurate.
    
    We also make DYNAMIC and COMPRESSED to adhere strict_mode=OFF and allow
    row length violations at DDL time.
    
    After this fix, it is possible to create a table with 'non-updatable'
    columns. i.e. you cannot UPDATE a single column.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 10220

commit d2cf20f639308ee859df51128299ef72dfbb9b1c
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Sep 22 20:12:34 2015 +0530

    Bug#21882024 - INNODB: FAILING ASSERTION: N_ALLOC < UNIV_PAGE_SIZE_MAX
    
    Problem:
    --------
    We allocate memory of maximum two pages of size UNIV_PAGE_SIZE_MAX(64k
    as of now) but we assert the length should be less than 128k
    
    With 64k page size, the allocated length is exactly 128k
    
    Fix:
    ---
    Fix the wrong comparision, it can be equal to 128k
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM

commit a3903de3c8baf837fffd0c87b82a60ab520d38b5
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Sep 18 18:06:16 2015 +0530

    Bug#21644827 - FTS, ASSERT !SRV_READ_ONLY_MODE || M_IMPL.M_LOG_MODE == MTR_LOG_NO_REDO
    
    Problem:
    --------
    This bug and Bug#21691208 are because of incorrect table->flags2 value.
    For row_format=redundant, we dont read SYS_TABLES.MIX_LEN(flags2)
    because we think there could be garbage written before 3.23.52 version.
    
    Fix:
    ----
    We now unconditionally read flags2 from SYS_TABLES and decide if it is
    garbage after evaluating if the tablespace is system tablespace, there are no
    fts indexes on the table and table is in redundant format
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 10288

commit cba294cfbde9bd40ee49541d5c2723fe41e8b98c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Tue Sep 22 14:38:21 2015 +0200

    Bug#21822631	ADD LIBNUMA-DEV TO BUILD-DEPENDS: FOR DEB BUILDS

commit 47599f86e6d7358bddb7c53e1d0ea5066dfc14ea
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Sep 22 13:20:28 2015 +0200

    WL#7895 - Add systemd support to server.
    
    Post-push fix: Fix typo in #ifdef macro

commit 161f16bf8a1f4d65122c4d0fd6629cecb0643714
Merge: cd1f419 6f8b8a7
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Sep 22 17:24:58 2015 +0530

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

commit 6f8b8a7b1a161b4526abf33e17a2b141f160e9e3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Sep 22 17:23:20 2015 +0530

    Bug #21640679	ONLINE ALTER CRASHES FOR 4K PAGE SIZE
    		WHEN THERE IS NO FREE EXTENT
    Problem:
    =======
      When a new extent is allocated to a tablespace, its xdes entry will
    be put onto the FSP_FREE segment list.  But extent happens to contain
    an extent descriptor page, then the extent is put into FSP_FREE_FRAG list.
    Still tablespace won't find any extent in FREE_LIST. It happens only
    when less than or equal to 4kb page size is used, because once the tablespace
    grows to 32 extent size or 32 MB then 4 extents are allocated at a time rather
    than one. For page size less than 4k only, allocation of extent contains extent
    descriptor page before reaching 32 extent or MB.
    
    Fix:
    ===
      Once the tablespace size reaches page_size page then allocate 4 extent
    at a time.
    
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 10267

commit cd1f41953525a1f9853455b1a965a029849b278c
Merge: 283aa2f 5636ed3
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 22 16:58:14 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5636ed39604e65e7067bc87252c80dca9a536d38
Merge: d14b51b e05558b
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 22 16:56:47 2015 +0530

    Bug#20755615    CREATING INDEX ON A RENAMED COLUMN WITH
                    CASE CRASH .FRM FILE
    NULL Merge from branch 'mysql-5.5' into mysql-5.6

commit e05558ba234cad2087de32709cd3a50d4e7f08cc
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Sep 22 16:52:18 2015 +0530

    Bug#20755615    CREATING INDEX ON A RENAMED COLUMN WITH CASE CRASH .FRM
                    FILE
    
    PROBLEM
    
    In 5.5 when doing doing a rename of a column ,we ignore the case between
    old and new column names while comparing them,so if the change is just
    the case then we don't even mark the field FIELD_IS_RENAMED ,we just update
    the frm file ,but don't recreate the table as is the norm when alter is
    used.This leads to inconsistency in the innodb data dictionary which causes
    index creation to fail.
    
    FIX
    
    According to the documentation any innodb column rename should trigger
    rebuild of the table. Therefore for innodb tables we will do a strcmp()
    between the column names and if there is case change in column name
    we will trigger a rebuild.

commit 283aa2f6c8eaf20ab5be19f04e900d17571db4f6
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Sep 18 15:52:09 2015 +0200

    Bug#21833760 CALC_DAYNR: ASSERTION `DELSUM+(INT) Y/4-TEMP >= 0' FAILED
    
    Virtual generated column ("vgcol") c13 depends on vgcol c11 which
    depends on base columns c8 and c9. A query reads c13.
    Thus c11, and thus c8, c9, are added to read_set.
    An index-only scan on c13 is used. It reads only c13
    from the engine.
    update_generated_read_fields() sees that c11 is in read_set,
    and is not in the index, so it calculates it, based on an uninitialized
    value of c8, c9; DATE/TIME functions don't support really abnormal
    values of arguments, and this causes problems. If using INT columns
    and simpler generation expressions, we still get Valgrind warnings.
    
    Fix: if the Optimizer said "index-only scan" (table->keyread=true)
    it means it knows that the index provides everything; so, if keyread=true
    don't try to calculate anything.
    Note that this logic may have to be reconsidered when we fix
    Bug 21815348, see the @todo in code.

commit 195457675eebec67b54bbda382ba1914e0468c3c
Merge: 2c23953 d14b51b
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Sep 22 14:56:53 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d14b51beb849b356e16247fa0289ba0fb8c0e146
Merge: 1872d13 161794a
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Sep 22 14:54:10 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 161794ae70bbcb0e32399c4d49de8c66df9ca35d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Sep 22 14:51:48 2015 +0530

    Bug #21370329 : FLUSH DES_KEY_FILE MAY NOT WORK
    
    Description: The command FLUSH DES_KEY_FILE is expected to
    reload the DES keys from the file that was specified with
    the "--des-key-file" option at server startup. But it is not
    behaving as expected.
    
    Analysis: The des file reload is defined within a wrong
    conditional directive, rendering the command ineffective.
    Macro "OPENSSL" was used instead of "HAVE_OPENSSL" macro.
    
    Fix: "OPENSSL" macro is changed to "HAVE_OPENSSL".

commit 2c239530cb653d4665db39d873e310e24357f1c8
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Tue Sep 22 12:36:20 2015 +0530

    Bug#21755994 ALTER INPLACE CRASHES ON A INNODB TABLE WITH
    PARTITION ON SEPARATE TABLESPACE
    
    Issue:
    ======
    ALTER TABLE ADD COLUMN on a InnoDB table which has
    partition using separate tablespace causes InnoDB crash.
    
    This is due to the ha_alter_info->create_info->tablespace
    being set to NULL for partitioned table and the subsequent
    check in prepare_inplace_alter_table_dict(), where we see
    if the tablespace is changed during ALTER by comparing
    ha_alter_info->create_info->tablespace with the previous
    tablespace value.
    
    It crashes here for shared tablespace as
    ha_alter_info->create_info->tablespace is NULL for
    partitioned table.
    
    Fix:
    ====
    If ha_alter_info->create_info->tablespace is NULL, then
    tablespace names are not compared.
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 10305

commit 3d68fa3cd0a8668c455b34f2e9cb43d466876f96
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 22 08:16:33 2015 +0200

    Bug#21774967: MYSQL ACCEPTS NON-ASCII IN ASCII COLUMNS
    
    Post-push fix: unistd.h is not available on windows.

commit 973b2d2f82450491cd2a47dadc221c8e74265cd4
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 22 07:27:10 2015 +0200

    Bug #21794102 HANDLE_FATAL_SIGNAL (SIG=11) IN
    DICT_TABLE_T::GET_REF_COUNT
    
    Post push fix to resolve pb2 failure.
    
    approved by Jimmy over IM.

commit f123ef0166833a491d4692647d0dbb991ac7c462
Merge: b5a94b2 1872d13
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 22 06:42:03 2015 +0200

    Null merging mysql-5.6 to mysql-5.7

commit 1872d13077a6a294047467cf8c7092f36612b07a
Merge: b5cefa4 c62a790
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 22 06:41:53 2015 +0200

    Null merging mysql-5.5 to mysql-5.6

commit c62a790f954bc14de1013820d18550c3088bc0ac
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Sep 22 06:21:13 2015 +0200

    Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
    
    Note: Backporting the patch from mysql-5.6.
    
    Problem:
    
    A CREATE TABLE with an invalid table name is detected
    at SQL layer. So the table name is reset to an empty
    string.  But the storage engine is called with this
    empty table name.  The table name is specified as
    "database/table".  So, in the given scenario we get
    only "database/".
    
    Solution:
    
    Within InnoDB, detect this error and report it to
    higher layer.
    
    rb#9274 approved by jimmy.

commit b5a94b299482905c612d3408af454e3943ae7f10
Author: Xing Zhang <xing.z.zhang@oracle.com>
Date:   Mon Sep 14 08:38:45 2015 +0200

    Bug#21774967: MYSQL ACCEPTS NON-ASCII IN ASCII COLUMNS
    
    This is caused by the code point check function shared by ascii and
    other 8bit charsets. It actually doesn't check the code point. Fix
    it by adding seperate code point check function for ascii. Give user
    a warning message in current build. Will reject such kind of input
    in future.
    
    Reviewed-by: Roy Lyseng <roy.lyseng@oracle.com>
    Reviewed-by: Tor Didriksen <tor.didriksen@oracle.com>

commit 1d1230932c7375045ffd325de506d385d3f1d389
Merge: 5323af2 b5cefa4
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Sep 22 07:45:01 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b5cefa423aaab0fae788c8f244cd8fd87ee51f20
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Sep 22 07:43:30 2015 +0530

    Bug #21346081: MEMORY LEAK IN CREATE_TMP_TABLE
    
    Issue:
    -----
    If an error occurs during the setup phase of the subquery
    materialization (used to compute an IN predicate), cleanup
    of temporary table does not happen. This creates valgrind
    errors.
    
    SOLUTION:
    ---------
    An error can be caused in the setup phase of
    subselect_hash_sj_engine, when a fix_fields() triggers the
    evaluation of a constant inner subquery because it returned
    more than one row. In such a scenario, the object is
    deleted. But before doing this, it is important to cleanup
    the object since it also contains a temporary table.

commit 5323af2ee3d3a8b43e1944620893f62d87fb1ed8
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Sep 21 17:36:09 2015 +0200

    Bug#21575790 ROLLUP WITH IN SUBQUERY CAUSES CRASH
    
    Post-push formatting changes for compliance with coding std (long
    lines).

commit b2f17053598dfd9eb32ffed7dc57493f962fd596
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Sep 21 12:07:48 2015 +0200

    Bug#21575790 ROLLUP WITH IN SUBQUERY CAUSES CRASH
    
    There is an invariant in Item_in_optimizer which is violated by the
    tree rewriting done for ROLLUP. Quote from Item_in_optimizer's class
    Doxygen:
    
      args[0] is a copy of Item_in_subselect's left expression and should be
      kept equal also after resolving.
    
    ROLLUP replaces arg[0] with an Item_ref in SELECT_LEX::change_group_ref:
    
      "Replace occurrences of group by fields in an expression by ref items.
       The function replaces occurrences of group by fields in expr
       by ref objects for these fields unless they are under aggregate
       functions."
    
    This replacement fails to update Item_in_subselect's left
    expression. This lack of synchronization leads to an error by going
    down the wrong code path based on the incorrect state in left.
    
    The fix is to make sure Item_in_subselect's arg[0] stays in synch with
    the Item_in_subselect's left expression. It also makes sure the cache
    of the old item now uses the new.
    
    Regression test added.

commit b5766eb9b795687e646d62fb16365a3213123c25
Merge: 6d95a3d 7b5a4bc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 21 16:16:31 2015 +0200

    NULL Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/item_func.cc
    	sql/sql_class.h

commit 7b5a4bc6844c6e91e82abe3ba62a4cb05a750aeb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 17 11:12:44 2015 +0200

    Bug#21819304 CRASH IF STORING DECIMAL DATA IN USER VARIABLES
    
    This is a backport of
    Bug#18563112 SELECT INTO VARIABLE CRASH IN USER_VAR_ENTRY::STORE
    
    In Item_func_set_user_var::update_hash:
    call entry->set_null_value() rather than entry->store() for NULL input.

commit 6d95a3d530aa416b3ed859f1fb032d8bf47df9fe
Merge: 3ab3423 6d1717b
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Sep 21 17:00:11 2015 +0530

    Merge mysql-5.6 to mysql-5.7 for BUG#21514135

commit 6d1717ba576721644bfebaf8c0337973e5736f9f
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Mon Sep 21 15:28:47 2015 +0530

    Bug#21514135 SCHEMA MISMATCH ERROR WHEN IMPORTING TABLESPACE AFTER DROPPING
    AN INDEX
    
    Problem:
    ========
    A schema mismatch error occurs when importing a TABLESPACE from one server
    to another. The situation occurs when importing a table has been altered by
    DROP INDEX on the source server.
    
    The high level flow is:
    1) Drop an index from a table on the source server
    2) Move the table to the destination server using transportable TABLESPACES
    3) Receive a "SCHEMA MISMATCH" error when importing TABLESPACE
    
    This problem is due to the variable dict_col_t->ord_part of a column, part
    of an index to be dropped, not being reset to 0.
    
    Fix:
    ====
    During the dropping of an index, it is checked if the column being part of
    the index to be dropped is part of any other index which is not being
    dropped. If it is not part of any other index then the dict_col_t->ord_part
    variable is reset to 0.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>
    RB: 10212

commit 3ab3423d3a76cedf5a638973384a229bf4fc92ac
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 21 09:55:22 2015 +0200

    Bug#21866029 HEAP ENGINE WASTES CPU RE-CALCULATING HASH VALUES
    
    Problem: my_hash_sort_simple consumes lots of CPU
    Solution: cache computed hash values

commit f76b3fb998f562b13847bea90040f7c710fd0db7
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Mon Sep 21 06:38:46 2015 +0100

    BUG#21319192 - CREATING SHARED MEMORY CONNECTIONS WITH A
                   MULTITHREADED CLIENT HANGS THE CLIENT
    
    The sysbench "run" command hangs when attempting to create multiple tables
    for the oltp test using shared memory connections (on Windows).
    
    This problem arises with simultaneous connection attempts using shared memory
    due to way in which connection requests are signalled via a pair of
    event_connect_request and event_connect_answer Windows events. If multiple
    clients set the event_connect_request event more or less simultaneously, the
    server may only see a _single_ request and thus only set the
    event_connect_answer event once.  This results in a single client getting a
    connection, and the rest waiting "forever" (or until connection timeout) for
    an event signal that the server will now not send.
    
    The fix is to create global named mutex and serialize the connection event
    request from different clients to the server using this mutex. The named mutex
    is created in the server as an optimization so that the CreateMutex calls in
    client avoid mutex creation costs.

commit 4656cd8ee54eda79638017581aa419a2d898f2d0
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Sep 21 09:11:03 2015 +0530

    Bug #21503595 : --QUERY-ALLOC-BLOCK-SIZE=-1125899906842624 +
                    PID_FILE CHECK LEADS TO OOM SIG 11
    
    Post push to fix pb2 test case failure.

commit 60b02498327f6a3dadc66e0474e131890d5cdcc6
Author: David Zhao <david.zhao@oracle.com>
Date:   Fri Sep 18 10:58:51 2015 +0800

    Bug#21823135 INVALID READ OF MEMORY FREED BY GIS_WKB_RAW_FREE
    
    Issue:
    
    The cmp_item_string::store_value() doesn't copy the string even if
    value.is_alloced() is false, which means the string buffer referenced by 'value'
    doesn't belong to 'value' but the cmp_item_string simply use this buffer
    anyway, assuming the buffer will be always valid whenever it's accessed.
    This is wrong in itself.
    
    The way some GIS functions work is to return geometry blob buffer allocated
    by Boost.Geometry without duplicating it, and free this buffer next time the
    same function is called. Such behavior breaks above wrong assumption and
    hence the memory issue.
    
    Fix:
    
    In cmp_item_string::store_value(), if 'value' 's referenced buffer was not
    allocated by itself, duplicate its string.

commit 0b4507d0d725df83b2bc3bf69fc22c08bfba19f0
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Sep 14 15:15:58 2015 +0200

    Bug#21828321: JSON FUNCS CALL DBUG_ABORT OR EXIT() ON WINDOWS!
    
    If LEAST or GREATEST is called with only JSON arguments, and the
    result of the call is passed as an argument to a JSON function, an
    error is raised in release builds and an assert failure in debug
    builds.
    
    The LEAST and GREATEST functions don't have any special handling of
    JSON values currently. JSON arguments are handled as if they were
    strings, and the result is returned as a string. If all the arguments
    have type JSON, however, the return type of the function will be set
    to MYSQL_TYPE_JSON. If the result is passed as an argument to a JSON
    function, the JSON function will attempt to call val_json() on the
    result, since it appears to be a JSON value. Since the corresponding
    Item subclass (Item_func_min_max) does not override Item::val_json(),
    an error or assert failure is raised when val_json() is called.
    
    The fix changes the return type of the function call from JSON to
    string in the case where all arguments are JSON values. This way, the
    receiving JSON function is not led to believe it's a JSON value and
    does not call val_json() on it.
    
    This patch also makes LEAST and GREATEST raise a "not supported yet"
    warning if one of the arguments is JSON. This is meant as a
    notification that these operators have not yet been updated to use the
    JSON comparator, and may therefore give other results than expected.
    
    The warning is raised by BETWEEN and IN as well, since those operators
    also haven't been updated to use the JSON comparator to compare JSON
    values.

commit 1aabcfde317a5b96bf9d33226795aa096db2aab8
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Sep 17 15:57:12 2015 +0200

    Bug#21824519: ASSERTION IN DROP TRIGGER WHEN TABLE HAS VIRTUAL GENERATED COLUMN
    
    In some cases a DROP TRIGGER statement could hit a DBUG_ASSERT in
    debug builds if the trigger was defined on a table that contained a
    generated column. The same DBUG_ASSERT could under some circumstances
    be hit when calling a stored function that referenced a table that
    contained a generated column.
    
    The DBUG_ASSERT was hit during re-resolving (aka "refixing") of the
    generated column expression. The first time a statement opens a table
    that contains a generated column, all the generated columns in that
    table will be re-resolved to ensure that they are in a pristine state.
    The DBUG_ASSERT (in TABLE_LIST::map()) fails because the TABLE_LIST
    object associated with the Item_field that is being re-resolved, is in
    an inconsistent state where m_map is not in sync with m_tableno.
    
    The TABLE_LIST objects in question are allocated in
    sp_add_to_query_tables() in the DROP TRIGGER case and in
    sp_head::add_used_tables_to_table_list() in the stored function case.
    Common for these two functions is that they initialize the TABLE_LIST
    objects by manually setting the various members, instead of calling
    TABLE_LIST::init_one_table(), which is the common way of initializing
    such objects. This manual initialization forgets to set the m_map and
    m_tableno members to values that are consistent with each other.
    
    The fix makes the functions use init_one_table() to initialize the
    TABLE_LIST objects. init_one_table() also needed a little reorganizing
    to allow more flexible initialization of the associated lock request.

commit 24876b1fa1627843701d810e7265b48425d1b43e
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Fri Sep 18 16:26:16 2015 +0200

    Removed unnessary sleeps

commit 0f6cfdf6a16c7c5806786a194cd4f40a2eb3a9e1
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:18:25 2015 +0200

    Updated yassl to yassl-2.3.8
    
    (cherry picked from commit 7f9941eab55ed672bfcccd382dafbdbcfdc75aaa)

commit 1df863e9e8e43e3a96fd98a28cc3194449cceb94
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 10:35:09 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC AFTER
    INITIAL STARTUP
    
    Updated yassl to yassl-2.3.7e
    
    (cherry picked from commit 6e21c8c04b922bdb60b6a7c174709d2e1bdd3618)

commit 449e0e3f831ff488ea842e2a2eb96df272c4b268
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:18:25 2015 +0200

    Updated yassl to yassl-2.3.8
    
    (cherry picked from commit 7f9941eab55ed672bfcccd382dafbdbcfdc75aaa)

commit 3956353c2680a3196ebd9bbd7dc6e3504f852d29
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 10:35:09 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC AFTER
    INITIAL STARTUP
    
    Updated yassl to yassl-2.3.7e
    
    (cherry picked from commit 6e21c8c04b922bdb60b6a7c174709d2e1bdd3618)

commit a934dbf6a39eccf8ba7b6d515cd9ad9ba41af293
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 18 14:44:22 2015 +0200

    Bug#21794102 HANDLE_FATAL_SIGNAL (SIG=11) IN DICT_TABLE_T::GET_REF_COUNT
    
    Post-push fix: Fix broken Werror build.

commit 490fda667fda329c21ac733d483a90a9ff7ea1e6
Merge: 65b5a85 8b27b85
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:19:36 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8b27b85a7e141c9ee070f362e7d48edb9abfcc26
Merge: abe4373 7f9941e
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:19:15 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 7f9941eab55ed672bfcccd382dafbdbcfdc75aaa
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:18:25 2015 +0200

    Updated yassl to yassl-2.3.8

commit 65b5a85f489a7bfa93969728cb8bf22c4cadd78f
Merge: 71c967f abe4373
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 11:12:33 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit abe4373fed6a3c47c54e6a30f742c46e1c379edf
Merge: 2c1599a 6e21c8c
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 10:43:34 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6e21c8c04b922bdb60b6a7c174709d2e1bdd3618
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Sep 18 10:35:09 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC AFTER
    INITIAL STARTUP
    
    Updated yassl to yassl-2.3.7e

commit 71c967f84edb9258c80c9e5fbae5a24e9992ba66
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Sep 18 09:22:49 2015 +0200

    Bug#21807818: Generated columns not updated with empty insert list
    
    fill_record() has some logic to trigger the update of generated
    columns for the tables to update. However, when the list of columns
    to update is empty, no table will be identified for insert, and hence
    the generated columns are never updated before sending the row to
    the storage engine. No wonder all sorts of inconsistencies occur.
    
    Looking more closely at calls to fill_record(), we see that we always
    insert into exactly one table, and that table is always known by the
    caller, hence it is a far better choice to add a TABLE * argument to
    fill_record() and use it inside, instead of identifying the table
    from the field arguments.
    
    Doing this also triggered removing quite a bit of code.
    
    A heads up to the update of TABLE::auto_increment_field_not_null:
    It must be set to false only when the list of columns supplied to
    the function is non-empty. I did not try to understand this logic,
    just copied the existing logic as closely as possible.

commit 683f9c6941a2d6a03dff2f271ef36805d4109123
Merge: fed01b6 2c1599a
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 18 12:11:13 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2c1599a2368c495dce7c6e41352481f92624a28d
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 18 12:10:18 2015 +0530

    BUG#16666407	BINLOG WRITE ERRORS SILENTLY IGNORED
    BUG#20938915 2PC SUCCEEDS EVEN THOUGH BINLOG FLUSH/SYNC FAILS
    
    Problem & Analysis:
    ===================
    Server has 3 stages in Binlog Group Commit.
    
    1) FLUSH_STAGE:
       a) Leader flushes all threads (leader + followers) caches to binlog cache
       b) Leader flushes binlog cache to binary log file
    
    2) SYNC STAGE:
       Leader calls fsync on binary log file
    
    3) COMMIT STAGE:
        Leader calls commit handlers for each thread involved in the group.
    
    Failures can happen at any stage ( 1a, 1b, 2 , 3) and server was not
    handling these failures properly in stage 1a, 1b and 2.
    
    If the error occurs in stage 3, it returns an error (ER_ERROR_DURING_COMMIT)
    to the client. The ongoing transactions are binlogged successfully and
    might not have committed in the storage engine depends on at what level
    error occurred.
    
    Fix: Using binlog_error_action variable, Server will decide the action to do
    if an error occurs during flush/sync stage (1a, 1b or 2).
    
    If binlog_error_action == ABORT_SERVER, then it will abort the server after
    informing the client with 'ER_BINLOGGING_IMPOSSIBLE' error. All ongoing
    transactions will remain in prepare phase. Incase of stage
    1b or stage 2, transaction *might* have already reached binary log before
    server is aborted, in that case upon restart, Server will commit all the
    prepared transactions. If they are not in binary log, server will rollback
    all the prepared transactions.
    
    If binlog_error_action == 'IGNORE_ERROR', then it will ignore the error
    and disable the binlogging further until server is restarted again.
    The same will be mentioned in the error log file and ongoing transaction
    will be committed without any error (and also not binlogged as well due to
    the error).
    
    Also, the case where after leader enters into flush stage, it can happen that
    binlog is in closed state due to a previous flush/sync error and that case
    handled in this patch. If this situation happens, leader skips flush and sync
    stage and directly moves to commit stage and commits the transaction and
    no error is thrown (just like how the transaction behaves if the binary log is
    disabled).

commit fed01b68dfbb8f7eeb1e95d93ba6990c82f48fff
Merge: ffe0bd4 f236fa9
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 18 11:44:55 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f236fa95b957918ae50c7b8a2d134bc05cb34f3a
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 18 11:44:28 2015 +0530

    Bug#21816399	5.6.24: LOST DATA DURING MASTER RESTART IF PARTIAL TRANSACT HAS
    BEEN DOWNLOADED
    
    Fixing post push pb2 test failure

commit ffe0bd47307b3b52b9dfe9e521a2e9e91e1bc8ca
Merge: 7d35302 3ed45a9
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Fri Sep 18 11:14:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3ed45a957894ce64cdedf7f683078f55f5e3ecda
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Fri Sep 18 10:55:44 2015 +0530

    Bug #19912326: HANDLE_FATAL_SIGNAL (SIG=11) IN DECIMAL_ADD | STRINGS/DECIMAL.C:2036
    
    In Item::val_decimal_from_date()
    Do not return a NULL pointer in case of conversion failure,
    the result may be needed in subsequent arithmetic operations.
    
    This is backport from Bug#18840123 from 5.7

commit 7d353029f964c67d588476c51668cc5f332c1506
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Sep 18 10:11:33 2015 +0530

    Bug #21794102 HANDLE_FATAL_SIGNAL (SIG=11) IN DICT_TABLE_T::GET_REF_COUNT
    
    Problem:
    
    This is a simple coding error where the return value of a function call
    is not being checked.  In function i_s_sys_tables_fill_table_stats(),
    there is a call to function dict_process_sys_tables_rec_and_mtr_commit(),
    whose return value is not being checked.  Because of this, we are doing
    a null pointer dereference.
    
    Solution:
    
    Check the return value of dict_process_sys_tables_rec_and_mtr_commit(),
    and avoid null pointer dereference.
    
    The patch also fixes a race condition by protecting the dict_table_t
    object (table_rec) by incrementing its reference count.
    
    rb#10265 approved by jimmy.

commit 6450ee844389662d1a668f9b6612019a1d458326
Merge: 0dfb285 3034e0f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Sep 18 07:36:05 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3034e0ff5de16b108de394ed3d783e2f1e4e96e4
Merge: a98c86d a22a8ea
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Sep 18 07:35:25 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit a22a8eaaa9694e0dc7e5aa0b03531b12e51c9fdc
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Sep 18 07:34:32 2015 +0530

    Bug #19929406: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   __MEMMOVE_SSSE3_BACK FROM STRING::COPY
    
    Issue:
    -----
    While using row comparators, the store_value functions call
    val_xxx functions in the prepare phase. This can cause
    valgrind issues.
    
    SOLUTION:
    ---------
    Setting up of the comparators should be done by
    alloc_comparators in the prepare phase. Also, make sure
    store_value will be called only during execute phase.
    
    This is a backport of the fix for Bug#17755540.

commit 0dfb285a87dbf69fe6ea2a21e31fbff6c1cda99b
Merge: bf7248f a98c86d
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Sep 18 09:57:09 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit a98c86dda486ba3a39aa38d5febdd622e7d79ae3
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Sep 18 09:30:53 2015 +0800

    BUG#21838158 IMPORT TABLESPACE MAY FAIL WITH INVALID CORRUPTION ERROR
    
    Issue a warning instead of returning an error if the checksum of an
    empty page is non-zero.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> over IM

commit bf7248f31b472a9ac77055e62a4a3bab987ea342
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Thu Sep 17 14:43:21 2015 +0200

    Bug #21753832: REMOVE SCRIPTS/MYSQL_SYSTEM_TABLES_FIX_FOR_DOWNGRADE.SQL
    
    This script file which was introduced as part of WL#6409 was used to make
    the downgrade process easier. But this script does not cover all the
    scenarios and thus decided to be removed.

commit f395648d61523d44f3dee1c701e138d34f568a1f
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Sep 17 13:35:40 2015 +0800

    Bug#21847170 - ALTER TABLE ADD VIRTUAL INDEX HITS ASSERT IN
    HA_INNOBASE::INPLACE_ALTER_TABLE
    
    Reviewed-by Marko Makela <marko.makela@oracle.com>

commit bb018538a1bfb53c83d702d45638a778c25ba4d4
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Wed Sep 16 11:12:37 2015 +0300

    Fix for bug #21840241 "IMPROPER SE REFERENCE COUNTING IN ATTACHABLE TRANSACTIONS".
    
    Attempt to execute statements involving CONVERT_TZ or HELP statement
    sometimes led to memory leak (on both debug and production build) and
    to "[ERROR] Plugin 'MyISAM' has ref_count=1 after shutdown." errors in
    log at shutdown time (on debug server).
    
    The problem occurred because Attachable transactions, which are used for
    reads from time zone or help tables, improperly freed Storage Engine
    connection specific data during their finalization.
    Instead of freeing data for all SEs which have it they only freed such
    data for InnoDB tables which explicitly participated in transaction.
    After that step information about connection specific data for other
    engines which was added during attachable transaction life time was
    wiped-out and hence associated memory was leaked and reference counter
    to SE was not properly decremented.
    
    The problem is that other SEs still might allocate connection data during
    attachable transaction life-time even if they don't participate in it
    explicitly. This happens in case when TABLE object for MyISAM table is
    expelled from the table cache (which might be necessary to open time zone
    or help table in attachable transaction).
    
    The fix simple uses ha_close_connections() at the end of attachable
    transaction to cleanup state for all SEs instead of direct call to
    close_connection handlerton method for InnoDB.

commit 13da0703c5e09fb6521073d17067b92b220cccf8
Merge: 23d149e 357c9ea
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Sep 16 19:01:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 357c9ea547dd33fd03c7622a1ff3b09da9f48a18
Merge: db07f57 9d6402b
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Sep 16 19:00:09 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 9d6402bfab6654fcec3cd68b6b701f63b0c47dc8
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Sep 16 18:58:43 2015 +0530

    Bug #21467458 - UNINSTALL PLUGIN DAEMON_EXAMPLE CRASHES
                    MYSQLD.
    
    DESCRIPTION
    ===========
    Crash occurs when daemon_example plugin is uninstalled
    immediately after its installed. This can be reproduced
    by installing and uninstalling the plugin repeatedly.
    
    ANALYSIS
    ========
    The daemon_example_plugin_deinit() function of the daemon
    example plugin calls pthread_cancel() but doesn't wait for
    the worker thread to actually complete before deallocating
    the data buffer and closing the file that it writes to.
    This is causing SEGFAULT!
    
    FIX
    ===
    Added a pthread_join() to wait for the thread to complete
    before doing the cleanup work.
    
    Removed a stray 'x' variable from the example code.
    
    NOTE
    ====
    Have made an entry in .opt file as given below:
    --plugin-dir=$DAEMONEXAMPLE_DIR
    
    This is done so that the program takes plugin directory as
    ../<dbg>/plugin/daemon_example/ instead of
    ../lib/plugin/

commit 23d149ed00b98785160cde68c96ec91a0e4c93bb
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Wed Sep 16 16:16:28 2015 +0530

    GIS RQG grammars.

commit c30aadf9cc8027bdd6939b096f087886290588ff
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Sep 16 10:36:43 2015 +0200

    Disable innodb.tablespace_crash since it times out in Valgrind.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit bd356560d27ceddf262d9466a098258e9d0f07ad
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Sep 16 10:35:30 2015 +0200

    Revert "Disable innodb.create_tablespace in Valgrind - it times out."
    
    This reverts commit d11875fe0e0e334b72185dd957453b455df44fe9.

commit 582a5cea9f6dd8bc099b3a611e77912305db1a4a
Merge: 11292af db07f57
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Sep 16 11:11:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit db07f57d8401db77f757d12b2439af3090f47d18
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Sep 16 11:10:01 2015 +0530

    Bug #21364096   THE BOGUS DUPLICATE KEY ERROR IN ONLINE DDL
    		WITH INCORRECT KEY NAME
    
    Problem:
    =======
    The duplicate key error of online alter report a incorrect key name. It
    always report PRIMARY KEY as the duplicate key even though the PK doesn't
    have duplicate key.
    
    Solution:
    ========
    Report the correct index name when there is a duplicate key error during
    online alter operation.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB: 10125

commit 11292af8105ca7eac93f2448bfb0977a930c8414
Author: Libing Song <libing.song@oracle.com>
Date:   Tue Sep 15 15:06:34 2015 +0800

    BUG#21045848 XA+MEMORY TABLE: POST SERVER RESTART 'XA COMMIT' IS
                 OVERRIDDEN BY 'DELETE' CMD
    
    Postfix on two failures:
    - mysql failed with the error that --build-completion-hash didn't exist
      Added "have_mysql_dbug.inc" to skip the test when mysql
      is compiled without --build-completion-hash.
    
    - Valgrind failure of rpl_no_gtid_delete_memory_table_after_start_server
      Because valgrind test is very slow, it spends a long time to restart
      server. That caused slave IO reconnect timeout.
    
      To fix it, slave is stopped before restarting the server and it is
      restarted after the server is restared.

commit d11875fe0e0e334b72185dd957453b455df44fe9
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Sep 16 06:04:11 2015 +0200

    Disable innodb.create_tablespace in Valgrind - it times out.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 72358af97573409e9c4470e261725cc6ee70f986
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Sep 15 15:06:25 2015 +0200

    Changes to stabilize the test in PB2

commit a1b4b491dc48f821879da3afa2472e75eae96d2c
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Sep 15 16:59:52 2015 +0530

    BUG#21620577 ASSERTION H->ACTIVE_INDEX == 64
    
    Problem :
    --------
    When all partitions are pruned, we don't initialize partitions for
    scanning during index_init.
    
    Issue1: During index_close, we are not setting the active_index back
    to MAX_KEY - Bug#21620577 ASSERT
    
    Issue2: For MRR, if all partitions are pruned, we are trying to
    access uninitialized variables - Bug#21754608/Bug#21620577(SIGSEGV)
    
    Solution :
    1. Set active_index to MAX_KEY at index_close.
    2. Return EOF for MRR if all partitions are pruned and there is nothing to scan.
    
    Reviewed-by: ADITYA A<aditya.a@oracle.com>
    
    RB: 10211

commit 31a765881ce39d19545dad928307810660b21e63
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Tue Sep 15 15:02:28 2015 +0530

    Bug#21339136 I_MAIN.TEMP_TABLE NEVER RUNS
    
    Fix : After adding the line SET GLOBAL internal_tmp_disk_storage_engine=MyISAM in the test,
          the variable needs to be set back to its default storage engine. Instead of hard coding it as
          InnoDB, the default is stored in a temporary variable and set back to the default at the end
          of the test.
    Reviewed-by : Lalit Choudhary <lalit.choudhary@oracle.com>
    RB : 9988

commit b3ddd572458c02a2a14427083df1e5892ebdc56c
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Tue Sep 15 16:10:39 2015 +0800

    Bug #21827963       GCOLS: SELECT .. FOR UPDATE CRASH IN ROW_SEL_STORE_MYSQL
    
    Reviewed-by: Benny Wang <benny.wang@oracle.com>

commit 03eabca056baa7febbdace6a43bd406f9b5e459b
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Sep 15 09:26:46 2015 +0200

    Raise version number after cloning 5.7.9

commit 7516bc111acac1292ca0fbfd97ff07970fba064e
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 11 18:56:07 2015 +0530

    Bug#21816399	5.6.24: LOST DATA DURING MASTER RESTART IF PARTIAL TRANSACT HAS BEEN DOWNLOADED
    
    Problem: If dump thread is killed (during shutdown/explicit kill) during
    dumping a non-active binary log, events in that binary log are getting
    skipped completely and not getting replicated to slave.
    
    Analysis: During bug#19975697 fix, we have identified a case where a dump
    thread is unnecessarily looping through a binary log file even if it is
    in killed state. Problem is big enough if the binary log file is huge
    Hence we fixed it by adding thd->killed flag check in while condition.
    But after the while loop is exited, it was not checked whether while loop
    was broken due to thd->killed condition or not. Earlier the code after
    the while loop assumes that the loop processes full binary log file and
    dump thread can be safely moved to next binary log.
    But with this new condition, it is not the case.
    
    Fix: A condition "if (thd->killed)" after the while loop and should exit
    the dump thread without doing any work.
    
    (cherry picked from commit 97d9f26d153e1aa688a5328c5e691953a2761e4d)

commit fbdcb9954d0e36be51a6b559f991e3601f926695
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 4 15:15:10 2015 +0200

    Created default.release for firewall plugin so tests will be run for release build
    
    (cherry picked from commit 88db0500a0e913d65164422b01c9da67350eb4f3)

commit 7f8acabfca414a3e03a727f7fc7be2703168425e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 4 17:12:02 2015 +0530

            Bug#21775221 ADD NUMACTL-DEVEL AS BUILDREQ TO RPM SPEC FILES
    
            Description:
    
            Set Numa Mempolicy for optimum mysqld performance added
            libnuma.so as build prerequisite on Linux.
    
            To build with support for this feature numactl devel files are required.
    
            Fix:
    
             Added numactl-devel as build pre-requisite for OL/RHEL/Fedora/docker
             and libnuma-devel for SLES in the spec file.
    
    (cherry picked from commit 18fbfc582f9490d6632c0152d51a3ad19f9660a0)

commit a5c8eb8cb78983413b29c4e05f96597151c1994a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 4 13:36:18 2015 +0200

    Bug#21785074 BUILD BREAKS IF COMPILED AGAINST OLDER NUMACTL HEADERS
    
    Fix: extend the cmake check with new numa features,
    do not set HAVE_LIBNUMA if built against older numa headers.

commit 40b33206d217239a5f4e4113d487010c851554ef
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 4 11:26:53 2015 +0530

    Bug #19286708	REPLICATION BROKEN AFTER CREATION OF SCHEDULED EVENTS
    
    Reverting patch due to a regression

commit 4facaa3572c0f907d922c53730c08ad68cc60054
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Sep 3 17:52:13 2015 +0530

        Bug#21775221 ADD NUMACTL-DEVEL AS BUILDREQ TO RPM SPEC FILES
    
        Description:
    
        Set Numa Mempolicy for optimum mysqld performance added
        libnuma.so as build prerequisite on Linux.
    
        To build with support for this feature numactl devel files are required.
    
        Fix:
    
         Added numactl-devel as build pre-requisite for OL/RHEL/Fedora/docker
         and libnuma-devel for SLES in the spec file.
    
    (cherry picked from commit 45d038b07faf7fd2d508fff77ed9322c3a3c3f0c)

commit bb6b072e6a7689c2b7c642ba1f35655090b6b551
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 3 10:16:24 2015 +0200

    Bug#21774859 CMAKE CHECKS FOR NUMA SUPPORT TOO WEAK
    
    The check for numa availability implemented by the patch for
    Bug #18871046 SET NUMA MEMPOLICY FOR OPTIMUM MYSQLD PERFORMANCE
    was wrong: it forgot to restore CMAKE_REQUIRED_LIBRARIES after the check.
    
    This affects all subsequent platform feature tests that rely on cmakes
    CHECK_CXX_SOURCE_COMPILES. In particular: on platforms which do not have
    numa support, the test for 'HAVE_PEERCRED' will also fail, and the
    'auth_socket' plugin will not be built.
