commit 0efebb1df63491b46ab6f77956a6aaec509ef015
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
    (cherry picked from commit dde827eccabfc5d8954977d0251b7dba3cce8342)

commit 8ddb7b7829ab9bc650be53dce96d6118d1594a74
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Oct 8 10:04:57 2015 +0200

    Bug#21486161: FLUSH_CACHE_TO_FILE CALLS _EXIT WHEN ABORT_SERVER
    
    Patch adapted for 5.7.9-release, already pushed to 5.6 and up.

commit 0a6f15df973579bd7ae8f21d781091c1a9e9a3ed
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.
    
    (cherry picked from commit 1ad5498f14b49308eba33f33091bb345c49275ee)

commit 71756bf1d66df370d2e2bfe8d8b3117c35539818
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.
    
    (cherry picked from commit 4b3ba08e4cc6067d9f7159c7a31cbbe4b9718b71)

commit a3c7e33bf6f187a009e3d7531da1d2c30a287053
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().
    
    (cherry picked from commit aaecd0018ec972d940db08191f0edee7f17a9296)

commit b52d08fc0f0eb1152f04594c69cf232b9991679c
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().
    
    (cherry picked from commit 7113591a0fdc6b89b89c61d013541d72c1881c22)

commit 208a14260b1f5b065e1d32db9127bf5a0f79ab14
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.
    
    (cherry picked from commit ac4ee0362856916abb7f06562347296d9dceb659)

commit c043395b83afaa4a9ff4448d05984989ab7a476d
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.
    
    (cherry picked from commit 283aa2f6c8eaf20ab5be19f04e900d17571db4f6)
    
    Conflicts:
    	mysql-test/suite/gcol/r/gcol_bugfixes.result
    	mysql-test/suite/gcol/t/gcol_bugfixes.test

commit aef7f83e735c7635118b153f92e5b51420d98c3e
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.
    
    (cherry picked from commit a16052827bbe17415cee5969f0fa46247f18e77d)
    
    Conflicts:
    	mysql-test/suite/gcol/r/gcol_bugfixes.result
    	mysql-test/suite/gcol/t/gcol_bugfixes.test

commit f3f95129d59853c19d4a489b40b7d7aed08159af
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>
    (cherry picked from commit ccdfdec5527ac0ea559c7b5a51febcd5def73782)

commit a78aef5c5e77875d127963b27197c318a7f175ee
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
    (cherry picked from commit 6d1717ba576721644bfebaf8c0337973e5736f9f)
    
    Conflicts:
    	mysql-test/suite/innodb/r/innodb-alter.result
    	mysql-test/suite/innodb/t/innodb-alter.test

commit c40a1d20b08c24d4ae5367d8e88ffdc7f846c557
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 f8bdd2c023530fcbd93636f8e16290663a1ce038
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
    
    (cherry picked from commit 1b623ce7c4ff1d70d786c4990e53f94c13bee9f1)

commit ff2d006fa2073f0012a3dcffa8dc52b322637169
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.
    
    (cherry picked from commit 29c6552ade0ff140f91b882b7a51940140589596)

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

    Post test fix for BUG#21816041
    
    (cherry picked from commit 6041c964179b109ad90bd18eee2c12c83824afc3)

commit 2089bc7b90616728b460ee79023803eb90c4f120
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
    (cherry picked from commit 6f57fad788920634ddf07f80b6ebfe1575f888cc)

commit 5d88cd9a54b744d60a5aa10c154fe34af28bb114
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.
    
    (cherry picked from commit 0b4507d0d725df83b2bc3bf69fc22c08bfba19f0)

commit 410bb5c342a50bf6c4fdeb8c6ceb60c84b499a9d
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
    (cherry picked from commit 3ab3423d3a76cedf5a638973384a229bf4fc92ac)

commit a9f33b6a2189fb79f4739ca6478530b007c1e226
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.
    
    (cherry picked from commit 1aabcfde317a5b96bf9d33226795aa096db2aab8)

commit e892a50926ea633517c838b41a5a13997832061c
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.
    
    (cherry picked from commit 71c967f84edb9258c80c9e5fbae5a24e9992ba66)

commit 4c0863583c077d80f3ba0f08c4862d285d2a2f2c
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>
    
    (cherry picked from commit f395648d61523d44f3dee1c701e138d34f568a1f)

commit c9acf387c314d5c8ec2c2167d776c9087e8e77f3
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>
    (cherry picked from commit b3ddd572458c02a2a14427083df1e5892ebdc56c)

commit 2fd9216a6cbee81e9bcf33a061770cfac05a2a0f
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 8ead2e962e32ac3805e513059fad6a4d4163c9af
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 333425010a78abb7bc745487058bd591ba7bf52f
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 21008a0de1d50d2bf4340b5a6c08e1a7853b9719
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.
    
    (cherry picked from commit c30aadf9cc8027bdd6939b096f087886290588ff)

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

    Fixed some incomplete copyright headers

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

    Delete unwanted test plugins from docker rpm

commit 8dd96743c3490b55655d614cc5595e4c039d5ad8
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Sep 14 10:10:11 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    
    Post push fix for a test case failing with server query cache enabled.

commit 96fa74e16420ea5bf16e0fef035b3f60df63d100
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 14 11:15:29 2015 +0200

    Fix link errors on Ubuntu.
    
    boost::chrono::system_clock::now() depends on clock_gettime
    On some platforms we need to add an explicit depencency on librt

commit 04eb75435db360ce712df68dd6dc4659b5298d40
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Sep 12 12:28:25 2015 +0200

    Fix a result content mismatch in a GR test.

commit 795ff323cf99ed7a829e5136711829f0ee12ba38
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Sep 12 07:15:38 2015 +0200

    WL#8792 Update to sys schema 1.5.0
    
    Further post-push fixes to stabilize tests

commit 507ba387dd73e4dea0f2283d7c569fd32610588e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Sep 12 06:22:48 2015 +0200

    WL#8792 Update to sys schema 1.5.0
    
    Post-push fixes to tests

commit 09ce39395f1f22cf49248c91fc9f8c21086d6913
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Sep 12 05:50:07 2015 +0200

    WL#8792 Update to sys schema 1.5.0
    
    Post-push fix to some .result files

commit 15d0f4f977b6f15d60472f275a3f25b30302fea5
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Sat Sep 12 01:15:45 2015 +0800

    Bug 21617377 - SUPPORT IN-PLACE ADD INDEX ALONG WITH ADD VIRTUAL COLUMN
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 9935

commit 4ab73d165f05508d1630e7724bd6db0964bbdbf3
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Jun 9 16:12:05 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    
    This patch changed some channel_map->wrlock() by ->rdlock() when possible
    to allow better concurrency on replication administration commands.
    
    The benefit of the change is that it will be possible to have concurrent
    STOP SLAVE for distinct channels, and also it will be possible to check
    the slave status with SHOW SLAVE STATUS while having a pending STOP
    SLAVE.

commit 8b7f1194c89342cab216f25a113a5f7a9879de57
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu May 28 15:04:50 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    
    This patch implemented a per channel Cheackable_rwlock at
    Master_info (named channel_lock).
    
    This lock should be used by replication administrative tasks
    as the LOCK_active_mi was used in MySQL 5.6.
    
    This patch also did a minor refactoring on p_s tables taking
    the channel_map lock.

commit 1656ef261a46434411bc5c9721fed1371a384bd7
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed May 27 01:20:35 2015 +0100

    BUG#20221956 LOCK_MSR_MAP IS NOT ASSERTED IN MULTISOURCE_INFO METHODS
                 DEALING WITH MSR_MAP
    
    According to current code documentation, the Multisource_info class "is
    not yet thread safe. Any part of replication code that calls this class
    member functions should always lock the channel_map lock."
    
    But there is no asserts for the lock on Multisource_info class methods.
    
    This patch adds asserts for channel_map lock on functions that deal
    with it.

commit 3f1e682a9e8450df388ab501794fc4abe149334e
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue May 26 20:27:40 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    
    This patch changed the replication channel map lock to a
    Checkable_rwlock to reduce the contention while searching for
    master_info objects based on replication channel names.
    
    But in order to be conservative, we are always taking the write
    lock.
    
    The lock was moved to the channel_map object and it is not global
    anymore.

commit 371d07cda0cf03dad14caac96c1746840ad8fa76
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue May 26 18:56:42 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    BUG#21149683 RPL_MULTI_SOURCE_CMD_ERRORS FAILS WHEN REPEATED
    
    This patch created "get_default_channel_mi()" function
    to be used instead of "get_mi(channel_map.get_default_channel())".
    
    It also implemented a "singleton" to control that only one
    channel_map object should be instantiated.
    
    It refactored is_valid_channel_count() function debug point code.
    The previous implementation, once set, was hard to revert inside
    a mtr test case.
    
    Finally, it moved is_slave_configured() function to rpl_msr.h.

commit 4d7f9b5686138370c837525c5193b71da2f759cf
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue May 26 17:58:46 2015 +0100

    BUG#20593028 MORE CONCURRENCY IN SHOW SLAVE STATUS: MAKE
                 LOCK_MSR_MAP AN RWLOCK
    
    This patch renamed the msr_map object to channel_map.

commit 1ebae17a5520a7ce1b239b239fcc6e75dedb9d2d
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Sep 11 15:25:35 2015 +0200

    BUG#20701585 SEMI-JOIN DUPLICATE ELIMINATION GIVES LOWER COST THAN NO DUPLICATE ELIMINATION
    
    A few result file updates, in ps-protocol mode, which had been forgotten.

commit d9a27bb95d176b42162466436d29e792b10a96a8
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Sep 11 13:30:22 2015 +0200

    Bug#21613615 GCOLS: ASSERTION FAILED: !TABLE || (!TABLE->READ_SET || BITMAP_IS_SET
    
    Taking this table:
    CREATE TABLE v (
    a INT,
    c INT,
    b CHAR(2) GENERATED ALWAYS AS (a IN (1)) VIRTUAL,
    KEY(c,b(1)));
    and query:
    SELECT (SELECT MAX(c) FROM v);
    
    opt_sum_query() optimizes the query, decides to read the MAX(c) using
    the index over (c,b(1)). It first does this:
              // Set bits for user-defined parts of key
              table->mark_columns_used_by_index_no_reset(ref.key, table->read_set);
    which puts "c" and "b" in read_set (it's actually tmp_set).
    mark_columns_used_by_index_no_reset() adds "b" but doesn't add
    dependencies of "b", which looks correct as otherwise it would force a
    read of the data row and make any index on "b" be useless.
    Then in the index read, update_generated_read_fields() is called,
    which calls index_contains_this_virtual_gcol() which says that "b" is
    *not* in the index; it's because the index is on a prefix of "b",
    (key_part->field isn't equal to vfield, it's a forged field based on
    "b" but with a field_length of 1). It is also correct, "b" isn't in
    the index, only a prefix is.
    So update_generated_read_fields() wants to calculate "b", thus needs
    "a", which isn't in read_set, and it fails.
    
    Fix: put in this temporary read_set only columns which are necessary
    for this index read. They are the columns involved in
    'WHERE col=const' and the aggregated one.

commit bffe4935a743df0c9719f236658a35a2690267c1
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Sep 10 15:40:25 2015 +0200

    Bug#21797776 ASSERTION `BIT < MAP->N_BITS' FAILED.
    
    View v1 is materialized; the Field-s of the corresponding temporary
    tables are created by copying expressions from the SELECT list in the
    view's definition.
    If the expression is a column, the copy is done with
    create_tmp_field_from_field(). This uses the Field copy constructor,
    which copies any gcol_info. This isn't appropriate, and is already
    corrected in instantiate_tmp_table(); but it's too late; before
    instantiate_tmp_table() runs, which happens at JOIN::exec() time,
    there is already code which manipulates the new Field-s, for example
    insert_fields().
    
    Fix: implement what was noted as @todo. This zeroes gcol_info as early
    as possible. An assertion is kept to make sure I forgot no case.
    In create_table_from_items(), changing Create_field members isn't needed
    anymore, as Create_field is based on tmp_table_field which, after this fix,
    has no gcol_info.

commit 413e38e308b07956c5a49cc32cdfaeebf624d0f3
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Fri Sep 11 14:35:29 2015 +0400

    Bug#21802588: INCORRECT FORMAT OF DECIMAL IN BINARY PROTOCOL
    
    In scope of SQL/session services WLs a fix for sending decimal over binary
    protocol was introduced.  The fix turned out to be incomplete and led to a
    wrong result of type_decimal test in the ps-protocol mode.  It's caused by
    insufficient format information given to the protocol - only number's
    precision
    is provided, while field's precision is also needed.
    
    Now Protocol::store_decimal() accepts two more arguments - precision and
    decimals. Protocol_text and Protcol_binary are using them to correctly send
    data. Those new args aren't exported to plugins via callbacks in
    Protocol_callback as this info is already available in query's metadata.
    
    No need in a new test as type_decimal is indicative enough.

commit 3c804ec2c530f927e71206ec569437343691f12c
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Sep 11 20:08:44 2015 +0530

    BUG#21631284: DROP VIRTUAL COLUMN RESULT IN DROP WRONG INDEX
    
    Analysis
    ========
    ALTER TABLE operations having composite indexes can cause
    rebuild of such indexes if:
    a) First index component is non-prefixed index and
    b) Subsequent index components have at least one prefixed
       index.
    
    The code which checked if the index had changed from
    non-prefixed index to prefixed index, checked only the
    first key part and did not scan all key parts to determine
    whether the original version of the index was prefixed
    or not. Since the composite index's first key part was
    not prefixed and the new index definition had the
    prefix flag set, it assumed there is a change in
    the index definition triggering a rebuild of the index.
    
    Fix
    ===
    Scan all the key parts in order to determine whether
    the key is converted from a non-prefixed key to a
    prefixed key or vice-versa.

commit f77d4d71a139f03747994b458fc5c265891f80b0
Author: Mark Leith <mark.leith@oracle.com>
Date:   Fri Sep 11 15:08:28 2015 +0100

    WL#8792 Update to sys schema 1.5.0
    
    This covers:
    
    WORKLOGS:
    
    WL#8792 Update to sys schema 1.5.0
    WL#8460 Progress Reporting in Sys Schema
    WL#7804 REPORT FOR SUPPORT
    
    BUGS:
    
    Bug#21484593 - V_IO_GLOBAL_BY_FILE_BY_BYTES: 1265: DATA TRUNCATED FOR COLUMN 'PATH' AT ROW 270
    Bug#21281955 - MEMORY ERROR FAILURE IN SYSSCHEMA.V_IO_GLOBAL_BY_FILE_BY_BYTES
    Bug#21550054 - SYSSCHEMA.V_WAIT_CLASSES_GLOBAL_BY_AVG_LATENCY HAS SPORADIC FAILURES ON PB2
    Bug#21511578 - SYS SCHEMA INCOMPATIBLE WITH FIX FOR BUG 75156; TIMER_END / TIMER_WAIT NOT NULL
    Bug#21550271 - SYS.PS_SETUP_RESET_TO_DEFAULT FAILS DUE TO ENABLE/HISTORY COLUMN IN SETUP_ACTORS
    Bug#21511808 - PS_SETUP_RESET_TO_DEFAULT_CLEANUP.INC INCLUDES PS_SETUP_INSTRUMENTS_CLEANUP.INC
    Bug#21647101 - PS_IS_INSTRUMENT_DEFAULT_ENABLED AND PS_IS_INSTRUMENT_DEFAULT_TIMED IN 5.7.7+
    
    Reviewed-by: Marc Alff <marc.alff@oracle.com>
    Reviewed-by: Jesper Wisborg Krogh <jesper.wisborg.krogh@oracle.com>
    
    RB: 9973

commit 3d40464f860c79c2ff263bbec39cbc76dadc3a7a
Merge: 04555d8 97d9f26
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 11 18:56:38 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 97d9f26d153e1aa688a5328c5e691953a2761e4d
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.

commit 04555d8f0df4dd577f5887ed31dbf7e43231635b
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Sep 11 18:29:37 2015 +0530

    Bug#21796092 - ASSERT IN RECOVERY, COMPRESSION::DESERIALIZE, MEMCMP(SRC + 16 + 4, SRC + (HEADE
    
    Problem:
    --------
    The assertion checks LSN from page header matches to the one stored
    in page trailer.
    
    When there is torn write, the LSN debug check will fail
    
    Fix:
    ----
    If the page is from double-write buffer, it could be a torn page and
    the LSN check will fail. So we skip this debug check for pages from
    double-write buffer.
    
    Approved by Sunny over IM.

commit 0b32fb53e5693ae72011171693a2dc2f54520b48
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Sep 11 17:05:21 2015 +0530

    BUG#21794110 ASSERTION MP->COUNT > 0 && MY_THREAD_EQUAL
    
    Problem :
    ---------
    During alter partition table, while releasing unused auto increment
    values, auto_inc_mutex is acquired only for non temporary tables.
    This scenario is for partitioned table alter where we have
    TRANSACTIONAL_TMP_TABLE. The assert is hit while unconditionally
    checking for auto_inc mutex.
    
    Solution :
    ----------
    Assert only if it is not temporary table.
    
    Reviewed-by: ADITYA A<aditya.a@oracle.com>
    
    RB: 10210

commit cc7b2fa394fd285b7f9135e6b02b6deaa3345035
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Sep 11 15:21:02 2015 +0530

    Bug#21376265 - ENHANCEMENT: ACQUIRE MDL LOCKS ON ALL TABLESPACE
                   REFERRED BY A STATEMENT
    
    Description:
    
    WL#7957 lists following as a future enhancement.
    ...
    F-10
    When defining partitioned tables, assigning explicit tablespace
    names is not supported for the individual partitions. However,
    with the implementation of SE native partitioning (e.g. WL#6035
    for InnoDB), this will mean that the various DDL statements need
    to take more than one tablespace into account.  Thus, in the
    future, this will affect F-3 above, but for now, in the context
    of this worklog, this is deferred.
    ...
    
    WL#6035 is pushed and we support more than one tablespace
    (explicit tablespace per partition) in various DDL statements,
    and the problem is we do not take MDL locks on all tablespaces in
    use.
    
    Solution:
    Acquire IX MDL lock on tablespace names used by partition and
    sub-partition definitions along with tablespace name used by
    table. We do that in following cases,
    
    1. Lock only the target tablespace name and tablespace
       names that are used by partitions (e.g. CREATE TABLE
       explicitly specifying the tablespace names).
    
    2. Lock only the existing tablespace name and tablespace
       names that are used by partitions (e.g. ALTER TABLE t
       ADD COLUMN ... where t is defined in some tablespace s.
    
    3. Lock both the target and the existing tablespace names
       along with tablespace names used by partitions. (e.g.
       ALTER TABLE t TABLESPACE s2, where t is defined in
       some tablespace s)
    
    4. Lock on tablespace names used by new partitions that are
       added by following command,
    
        => ALTER TABLE <table_name>
             ADD PARTITION
               (PARTITION .. TABLESPACE <tablespace_name>);
    
       Currently lock_table_names() does try and lock partition
       tablespace names that are part of thd->work_part_info as
       Phase 4$ invoking check_and_lock_tablespace_names().
       During ALTER TABLE we currently set thd->work_part_info
       with new partition information bit late after the
       lock_table_names() is done. The fix is to make new
       partition information available in thd->work_part_info
       before we request MDL locks.
    
    5. Lock on tablespace names for the source table and source table
       partitions, in case of CREATE TABLE LIKE.
    
    Tablespace names used by partitions are retrieved by parsing
    the partition expression stored in .FRM. This applies even for
    for NDB tables with partitions before mysql version 50120.

commit 2678111f47d2debedae3e62999f53df14449ced5
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Sep 11 17:27:53 2015 +0530

    Bug#20001173: RPL P_S: MOVE SQL THREAD STATUS TO WORKER TABLE
    
    Fixing a post push test issue.

commit 34239aa867a96a7421d1285038407e9aefc7359d
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Fri Sep 11 13:27:40 2015 +0200

    Bug#20701585  SEMI-JOIN DUPLICATE ELIMINATION GIVES LOWER COST THAN NO DUPLICATE ELIMINATION
    
    After the introduction of filtering estimation for conditions
    (WL#6635), the expected number of rows selected from a table may be
    between 0 and 1.  Some of our algorithms are not prepared for this.
    One observed effect is that semi-join DuplicateWeedout plans include
    tables in the duplicate-eliminating range that are not relevant to the
    semi-join (so-called nt tables).  This happens because extending the
    range with a table where the estimated number of rows are less than
    one make the cost go down.
    
    This patch solves this issue by ensuring that filtering estimates
    always gives at least one row.  I think there are several reasons to
    do this instead of trying to adapt our code to work with values below
    1:
    
     - WL#6635 already put such a lower limit on the filter effect of a
       single condition.  Hence, values lower than 1 may only happen where
       there are multiple conditions on a table.  However, I think the
       same reasoning could be made in case of multiple conditions.  That
       is, filtering estimates should assume at least 1 row regardless of
       number of conditions.
    
     - The assumption when computing filtering effect of multiple
       conditions is that conditions are non-correlated.  In actual
       databases, this is normally not the case.  Hence, the filtering
       estimates of multiple conditions will often be lower than what is
       actual the case.
    
     - I think it is more important to get an optimized query plan for the
       cases where the result is non-empty than for the case when no
       records are returned.  With very low numbers, one risk that the
       join order has very little impact on the total cost of the query.
       This means that for the cases when there is actual a match, the
       join order may not be optimal.
    
     - It is not trivial to adjust the optimizer code to cope with values
       lower than 1.
    
    Note: The existing limitation on filter, "filter*fanout >= 0.05", in
    calculate_condition_filter() is kept.  I am not convinced this
    limitation makes sense, but dropping it had negative effects on DBT-3
    query 8.
    
    This patch does not contain a new test case.  The "How-to-repeat" part
    of the bug report consists of an existing test case in subquery.inc,
    and the subquery_sj_dupsweed.test shows that an nt table is not longer
    included in the duplicate-producing range.  (See first hunk of
    subquery_sj_dupsweedout.result).
    
    File comments:
    (In addition comes result files where all changes are changes in
    filter and row estimates.  That is, there is no plan changes.)
    
    sql/sql_planner.cc
      Make sure calculate_condition_filter() never returns a number that
      corresponds to less than 1 row in the given table.
    
    mysql-test/include/explain_json.inc
      Added some rows to a table of a test case to get a plan which use
      materialization.  According to comment in the test, this is what was
      intended when test case was added.
    
    mysql-test/include/subquery_sj.inc
      Added some rows to a table of a test case to get same plan as before.
    
    mysql-test/r/derived.result
      Join order has changed, but this should not be relevant for the
      objective of the test.
    
    mysql-test/r/explain_json_all.result
      More records in table leads to different cost estimates.
      Test case now use materialization which was the original intention
    
    mysql-test/r/explain_json_none.result
      More records in table leads to different cost estimates, but no plan change.
    
    mysql-test/r/greedy_optimizer.result
      Query plans show different join order.  New join order is expected
      since tables with lowest filter estimate comes first.  (Previously,
      filter estimates were equal for the tables in question.)
    
    mysql-test/r/greedy_search.result
      One test case has a slight increase in number of partial query plans
      evaluated.
    
    mysql-test/r/partition_explicit_prune.result
      Changes in number of handler accesses.  All changed numbers are
      lower than previously.  (Neither the values before nor after match
      what comments in test says is exepected.)
    
    mysql-test/r/subquery_sj_all.result
    mysql-test/r/subquery_sj_all_bka.result
    mysql-test/r/subquery_sj_all_bkaunique.result
      @@ -3406,12 +3406,13 @@
        Changes from DupsWeedout => MatScan.  According to comment this
        test case is a regression test case for MatScan.
      @@ -4067,12 +4068,12 @@
        According to comment in test, this test case is to reproduce an
        issue with MatLookup.  MatLookup plan is still used in
        subquery_sj_mat.test.  I doubt that it is possible to get MatLookup by
        default as long as condition filtering is used.
      @@ -4383,9 +4388,9 @@
        Added some rows to one table to get same plan as before.
      @@ -6215,11 +6220,11 @@
        New plan is the same plan as when the test case was pushed
      @@ -9675,11 +9680,11 @@
        Different join order from before, but neither old nor new
        results have plans that are similar to original plan.
    
    mysql-test/r/subquery_sj_all_bka_nixbnl.result
      Changes are similar to subquery_sj_all.result except:
      @@ -4298,11 +4299,12 @@
      @@ -4434,11 +4440,12 @@
      @@ -4542,11 +4549,12 @@
      @@ -4632,11 +4640,12 @@
      @@ -4740,11 +4749,12 @@
        DupsWeedout => MatScan. According to test comment, MatLookup is
        what must be avoided
      @@ -6224,10 +6234,10 @@
        No longer DupsWeedout that covers both semi-join nests, but
        different algorithms for the two. This is a result of DupsWeedout
        no longer including more tables than necessary.  (Note that the
        tests where BNL is allowed has FirstMatch for both.)
    
    mysql-test/r/subquery_sj_dupsweed.result
    mysql-test/r/subquery_sj_dupsweed_bka.result
    mysql-test/r/subquery_sj_dupsweed_bkaunique.result
      Differences from subquery_sj_all.result:
      @@ -3378,12 +3378,12 @@
        This is the result change proves the point of this patch.  New
        plan does no longer include nt table in the temporary table range.
      @@ -6190,10 +6194,10 @@
        Different join order, but subquery_sj_all.test covers the original plan
    
    mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result
      Changes that differ from subquery_sj_dupsweed_bka.result are changes
      to use same plan as subquery_sj_dupsweed_bka.result
    
    mysql-test/r/subquery_sj_firstmatch.result
    mysql-test/r/subquery_sj_firstmatch_bka.result
    mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result
    mysql-test/r/subquery_sj_firstmatch_bkaunique.result
      @@ -7066,11 +7070,11 @@
      @@ -7112,32 +7116,6 @@
        New join order, but but subquery_sj_all.test covers the old plan
      @@ -6173,8 +6177,8 @@
        New plan is came as query plan when test case was pushed
      @@ -11311,17 +11324,46 @@
        Table with increased filter estimate comes later in join order
    
    mysql-test/r/subquery_sj_loosescan.result
    mysql-test/r/subquery_sj_loosescan_bka.result
    mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result
    mysql-test/r/subquery_sj_loosescan_bkaunique.result
    mysql-test/r/subquery_sj_mat.result
    mysql-test/r/subquery_sj_mat_bka.result
    mysql-test/r/subquery_sj_mat_bka_nixbnl.result
    mysql-test/r/subquery_sj_mat_bkaunique.result
    mysql-test/r/subquery_sj_mat_nosj.result
      Results differences is only in tests that use DupsWeedout because
      LooseScan or Materialization is not applicable.  Plans may be
      different from subquery_sj_dupsweedout.test since these tests have
      turned off DuplicateWeedout and that will effect plan pruning.
    
    mysql-test/r/view.result
    
      Tests get different join order due to different filter estimates for
      one table.  This should be OK since this does not seem to be a
      regression test case.

commit fa451adcf8ddcb95f8f5bf0ca3da0bc7898c4c71
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Fri Sep 11 16:38:15 2015 +0530

    Bug#21682997 WRONG MUTEX INFO IN INNODB MONITOR
    
    Problem:
    
    When there is a long semaphore wait on the mutex, the creation information
    of the mutex displayed is wrong. It is hard-coded to show "buf0buf.cc
    line 0".
    
    Fix:
    
    Removed the hard-coded creation information and changed the code to show
    the actual location where the mutex is created.

commit d0d5ce0f08415e473e00769e431deff546349d34
Merge: 0fdbe8a de3ce7f
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 11 12:30:23 2015 +0300

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

commit 0fdbe8ad9a38c253884be7dc1e02c4ac2a91a4d9
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 11 12:29:37 2015 +0300

    WL#8845 Implement an InnoDB redo log format version identifier
    
    InnoDB has several times changed its redo log format by introducing
    new redo log record types. Format changes would lead to misleading
    reports of redo log corruption when processing individual redo log
    records.
    
    In the redo log header (start of the ib_logfile0 file), we will introduce
    a format version identifier and textual representation of the software
    version that created the redo log files.
    
    Furthermore, we change the checksum of redo log checkpoint pages, so that
    older versions of MySQL will refuse to start up on redo log files that
    were created with a MySQL server that includes this fix.
    
    We will also remove a number of unused fields from the redo log
    header and checkpoint pages (pages 0, 1, and 3).
    
    Some tests will be expanded, because with this fix,
    the server must refuse to start up with older redo log files,
    unless they are dirty.
    
    We will also replace the configuration parameter
    innodb_log_checksum_algorithm with the Boolean parameter
    innodb_log_checksums.
    We make CRC-32C the only checksum on the InnoDB redo log pages when
    innodb_log_checksums=ON (the default). Checksums on the header page
    and the checkpoint pages are never disabled.
    
    innodb_log_checksums_func_update(), innodb_log_checksums_update():
    Update triggers for the new global Boolean variable innodb_log_checksums.
    
    innodb_log_checksum_func_update(), innodb_log_checksum_algorithm_update():
    Removed along with the global parameter innodb_log_checksum_algorithm.
    
    Removed definitions:
    LOG_MAX_N_GROUPS
    log_group_read_checkpoint_info()
    log_checkpoint_get_nth_group_info()
    log_checkpoint_set_nth_group_info()
    log_block_calc_checksum_innodb()
    log_block_calc_checksum_crc32_legacy_big_endian()
    recv_check_cp_is_consistent()
    log_block_checksum_weak_validation()
    log_block_checksum_what_matches()
    log_block_checksum_fail_fatal()
    log_block_checksum_is_ok_or_old_format()
    LOG_CHECKPOINT_OFFSET_LOW32
    LOG_CHECKPOINT_ARCHIVED_LSN
    LOG_CHECKPOINT_GROUP_ARRAY
    LOG_CHECKPOINT_ARCHIVED_FILE_NO
    LOG_CHECKPOINT_ARCHIVED_OFFSET
    LOG_CHECKPOINT_ARRAY_END
    LOG_CHECKPOINT_CHECKSUM_1
    LOG_CHECKPOINT_CHECKSUM_2
    LOG_CHECKPOINT_FSP_FREE_LIMIT
    LOG_CHECKPOINT_FSP_MAGIC_N
    LOG_CHECKPOINT_FSP_MAGIC_N_VAL
    LOG_CHECKPOINT_OFFSET_HIGH32
    LOG_CHECKPOINT_SIZE
    LOG_GROUP_ID
    LOG_FILE_START_LSN
    LOG_FILE_NO
    LOG_FILE_WAS_CREATED_BY_HOT_BACKUP
    LOG_FILE_ARCH_COMPLETED
    LOG_FILE_END_LSN
    
    Changed definitions:
    LOG_CHECKPOINT_LOG_BUF_SIZE
    
    Added definitions:
    innodb_log_checksums: The current value of the SET GLOBAL variable.
    LOG_CHECKPOINT_OFFSET
    LOG_HEADER_FORMAT (repurposing LOG_GROUP_ID which was always 0)
    LOG_HEADER_PAD1 (unused 4 bytes, zero-initialized)
    LOG_HEADER_START_LSN
    LOG_HEADER_CREATOR (renamed from LOG_FILE_WAS_CREATED_BY_HOT_BACKUP)
    LOG_HEADER_CREATOR_END
    LOG_HEADER_CREATOR_CURRENT
    LOG_HEADER_FORMAT_CURRENT
    log_group_t::format
    
    log_block_calc_checksum_format_0(): Renamed from
    log_block_calc_checksum_innodb(). This is only used when upgrading the
    redo log from non-tagged format.
    
    recv_find_max_checkpoint_0(): New function, used when upgrading the
    redo log from non-tagged format.
    
    recv_log_format_0_recover(): New function, used when upgrading the
    redo log from non-tagged format. Checks if the redo log is clean.
    
    log_group_header_read(): Replaces log_group_read_checkpoint_info().
    Also used for reading the log header page (page 0).
    
    recv_check_log_header_checksum(): Replaces recv_check_cp_is_consistent().
    Also used for checking the log header page (page 0).
    
    log_block_checksum_is_ok(): Checks a log block checksum. It must either
    be CRC-32C, or we must have innodb_log_checksums=OFF.
    
    Changed functions:
    
    log_group_file_header_flush(): Always zero-initialize the buffer
    and initialize all LOG_HEADER_ fields.
    
    log_group_checkpoint(): Zero-initialize the checkpoint buffer,
    and write the checkpoint in the new format, with CRC-32C checksum.
    
    recv_find_max_checkpoint(): Support both the old log format
    (if the old-format redo log is logically empty) and the new format.
    
    recv_scan_log_recs(): Clean up the logic a bit. Display a message
    when encountering (and terminating log parsing due to) invalid
    log blocks. For now, keep the existing behaviour and do not display
    a message about log block header mismatch.
    
    recv_recovery_from_checkpoint_start(): Replace the whole "ibbackup" label.
    Check if a log upgrade or a normal recovery is needed.
    
    srv_prepare_to_delete_redo_log_files(): Display a message about
    upgrading the redo log.
    
    Other changes to startup:
    
    If we are going to upgrade the redo log, we must avoid writing any
    new redo log records before we have replaced the redo log.
    
    dict_check_sys_tablespaces(), dict_check_sys_tables(): Avoid
    updating SYS_DATAFILES if we are going to upgrade the redo log.
    
    dict_create_or_check_sys_virtual(): Do not modify anything if we are
    running in --innodb-read-only or --innodb-force-recovery=6 mode.
    
    RB: 10096
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>

commit de3ce7f8723e3ea6cc24c9472df048ba09db7fd5
Merge: 362702c 7c4a640
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 11 12:27:43 2015 +0300

    Merge branch 'mysql-5.5' into mysql-5.6

commit 77272bfa6a33b5e63a1d3bffedc87401a2dcab08
Merge: 2116f7a 362702c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 11 11:20:14 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7c4a6409c0abdcfe4b1a0478b16b782984f11df9
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Sep 11 10:32:10 2015 +0300

    Adapt to WL#8845 Implement an InnoDB redo log format version identifier
    
    recv_find_max_checkpoint(): Amend the error message to give advice
    about downgrading. The 5.7.9 redo log format was intentionally changed
    so that older MySQL versions will not find a valid redo log checkpoint.

commit 2116f7a13deb612eefd40ee573f7960b8ed43016
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 11 10:35:02 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Post-post-push fix: broken build for client-only (-DWITHOUT_SERVER=1)

commit 362702c143f825ab01ccf46fa38d4be95644dbf7
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 11 09:46:27 2015 +0200

    Bug#21822413	STRESS TEST FILES SET AS EXECUTABLE
    
    Removed executable flag from the files

commit 7949b15f4e78acfcb03e07349491f0490677aa1d
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Sep 11 09:34:20 2015 +0200

    Bug#21350125: Wrong results when ORDER BY is removed
    
    This is a regression from the bug fix for bug no. 14358878.
    The fix for that bug was basically to add the nullable property
    for any Item_direct_view_ref object that would wrap an Item
    selected from a derived table/view reference placed on the
    inner side of an outer join, and letting the null value be
    calculated at run time by looking at the NULL status of the first
    table of the derived table.
    
    This works well when the derived table is a single table, or an
    inner join, or a left outer join. However, if the derived table
    is itself a right outer join, the first table of the derived table
    may be the inner table of the right outer join, and that table may
    contain a NULL row even though the derived table as a whole is
    producing a row.
    
    Thus, we can get a NULL indication even though the derived table
    is producing a row, if the inner table of the right outer join that
    is part of that derived table is null-extended.
    
    The solution to the problem is to locate a table within the
    derived table that is not outer-joined within the derived table,
    ie locate a table that does not have the outer_join property set.
    A new function TABLE_LIST::any_outer_leaf_table() is implemented
    to locate such a table.
    
    Notice that this bug is limited to derived tables: A view has the
    same properties as a derived table, but there is one important
    difference: When the view is created, its join nests are normalized
    so that right joins are converted into left joins. Hence, the
    first table of the derived table nest will always be an "outer" table,
    which is good for our calculation. An alternative solution might thus
    be to normalize derived tables like views.
    
    (Derived tables are indeed right-join normalized, but the normalization
    is limited to the join_list structures, and not the table_list
    structures, which are used when navigating tables contained in
    a view/derived table. Whereas views are normalized when written to
    stored dictionary and table_list is reconstructed based on the
    normalized form when view is included into a query.)

commit ce0f6af100a59854f548792fe84f7980786bb560
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 11 09:38:54 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Post-push fix: broken build for client-only (-DWITHOUT_SERVER=1)

commit 5d42a244d26297d8c97612adb4804d01e7d94e58
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 11 07:35:09 2015 +0100

    Bug#21803314: FIX NEW COMPILATION ERRORS AND WARNINGS WITH CLANG 3.7
    
    Fix a number of new errors and warnings reported by Clang 3.7:
    -Wconditional-uninitialized and -Wshift-negative-value.

commit 29f9bc288e591c3f637dd94636b71c2a78ddb3b4
Author: Libing Song <libing.song@oracle.com>
Date:   Thu Jul 2 11:01:34 2015 +0800

    BUG#20980932 MYSQLBINLOG GENERATES 'ROLLBACK' AFTER FD EVENT CAUSING
                 1782 ERRRO
    
    mysqlbinlog prints "ROLLBACK" at the end of binlog file. The ROLLBACK
    caused the error that "@@SESSION.GTID_NEXT cannot be set to ANONYMOUS
    when @@GLOBAL.GTID_MODE = ON."
    
    It happened in below cases:
    - Binlog file doesn't include any data related events.
      e.g. master-bin.1 only includes:
      Format_description_log_event
      Rotate_log_event
    
      and mysqlbinlog master-bin.1 master-bin.2 will output:
      BINLOG '... Format_description_log_event of master-bin.1...'
      ROLLBACK
      BINLOG '... Format_description_log_event of master-bin.2...'
    
    - Relay log file includes a Format_description_log_event of master which
      is generated at starting server.
      e.g. the relay log includes:
      Format_description_log_event of relay log
      Format_description_log_event of master(generated when starting server)
    
      and mysqlbinlog output:
      BINLOG '... the binary of relay log's Format_description_log_event'
      ROLLBACK
      BINLOG '... the binary of master's Format_description_log_event'
    
    When applying a Format_description_log_event, gtid_next's status will
    be changed to NOT_YET_DETERMINDED_GROUP, so gtid_next will be decided
    by the following event. If it is an Gtid_log_event, then it will be
    set to gtid_next, otherwise ANONYMOUS is set. For above two cases,
    It will set gtid_next to ANONYMOUS when applying ROLLBACK, but
    gtid_mode is on, so it throws an error.
    
    The fix has two parts:
    - ROLLBACK is not printed out if there is no uncomplete transaction at the end
      of the binlog.
      SET @SESSION.GTID_NEXT = 'AUTOMATIC' is always printed at the end of each
      binlog, even the binlog is empty.
      It fixes the first case.
    
    - Format_description_log_event of relay log is not output as a 'BINLOG'.
      it fixes the second case.

commit 29f995fbe62bfc184d744901567714cf8905f7d5
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Sep 10 15:58:49 2015 +0800

    BUG#21654695 PUNCH HOLE ONLY SPACE WILL BE FREED
    
    a. when the compressed size is greater than original size, no punch hole;
    b. when the compressed size is less than last compressed size, punch hole.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    RB: 10081

commit d96b500a6aaaf306edcdb56651603d2eb7068b98
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Sep 10 13:28:26 2015 -0500

    Bug #21811321: MEMORY ALLOCATED IN FIL_SPACE_READ_NAME_AND_FILEPATH IS NOT FREED

commit 53b50fd73984f2c1574aa92d3c7e5799dcb65f51
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Sep 11 03:04:19 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILES
    
    Updated main.mysqld--help-win and notwin with new max-file-classes size.

commit 1e1f1a8c6e3e5c0d27e76b1c470b2ddf55ec7f22
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Sep 11 00:08:33 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Increased max file classes from 50 to 80.

commit 1e2f47477cbcc5f032cd68264f14dbade7309dcd
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Sep 9 14:55:01 2015 +0200

    Bug#21566735: ASSERTION `LENGTH > 0 && KEYPARTS != 0' FAILED.
    
    An assert failure is seen in some queries which have a semijoin and
    use the materialization strategy.
    
    The assertion fails if either the length of the key is zero or the
    number of key parts is zero. This could indicate two different
    problems.
    
    1) If the length is zero, there may not be a problem, as it can
    legitimately be zero if, for example, the key is a zero-length string.
    
    2) If the number of key parts is zero, there is a bug, as a key must
    have at least one part.
    
    The patch fixes issue #1 by removing the length check in the
    assertion.
    
    Issue #2 happens if JOIN::update_equalities_for_sjm() doesn't
    recognize the expression selected from a subquery, and fails to
    replace it with a reference to a column in a temporary table that
    holds the materialized result. This causes it to not recognize it as a
    part of the key later, and keyparts could end up as zero. The patch
    fixes it by calling real_item() on the expression in order to see
    through Item_refs that may wrap the expression if the subquery reads
    from a view.

commit 5cecff0ac1c736c162179a946dadbb294321e6f9
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Wed Sep 9 11:55:36 2015 +0200

    Bug#21779011 INVALID READS AND SENDING RANDOM SERVER MEMORY BACK TO CLIENT
    
    When a table containing a virtual generated column was stored in the
    InnoDB partition engine, reading from this table could in some cases
    return random data for the virtual generated column. The cause for
    this, was that the code that calculated and filled the value for the
    virtual generated column was not run.
    
    The rows are read using handler::multi_range_read_next() which calls
    read_range_first(). handler::read_range_first() is a virtual
    function. In the case of most other storage engines, the version
    implemented in the handler class is used. This function calls
    handler::ha_index_read_map() which updates the generated column
    values. When using the InnoDB partition engine, the specialized
    version implemented in ha_innopart::read_range_first() is used. This
    function does not use handler::ha_index_read_map() for reading the
    index but instead uses corresponding functions implemented in
    ha_innobase. None of these functions update the generated column
    values. The result is that when returning from
    handler::multi_range_read_next(), the virtual generated columns have
    not been updated.
    
    The fix for this is to add updating of virtual generated columns in
    handler::multi_range_read_next(). To avoid that the virtual generated
    columns are updated multiple times (eg both in
    handler::multi_range_read_next() and handler::ha_index_read_map()) a
    new flag is added to the handler class that keeps track of whether the
    generated columns have been updated or not.

commit 77ba0cc6599284e5c9d1b4c07376a5d0752abde4
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Aug 25 23:21:17 2015 -0500

    Bug#21691438: RECOVERY ISSUES AN ERROR MESSAGE ABOUT .ISL FILES FOR NO APPARENT REASON
    Bug#21577278 follow-up.
    
    It was found that ./mtr innodb.innodb_wl6501_crash_8 --repeat=2
    will always fail on the second try, just like tablespace_crash.test
    and innodb_bug17448389.test.
    
    This patch makes a refinement to the treatment of a bad ISL.
    Now, it does not report the error message in fil_ibd_discover()
    when the file pointed to by an ISL file seems valid, but has an
    unexpected space_id.
    
    This can happen when multiple CREATE/DROP sequences are done to the
    same tablespace or table name. There will be multiple MLOG_FILE_NAME
    entries in the log for the same basename. But only the latest is
    needed, so there is no reason to write the error message.
    
    Approved in RB#10061 by Debarun Banerjee

commit 2fb0d006a7fd45a1bde17025bd26ebe8e7bdd319
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Thu Sep 10 12:12:49 2015 +0200

    Bug#21682231 HANDLE_FATAL_SIGNAL (SIG=11) IN FREE_ROOT FROM TEST_QUICK_SELECT
    
    Limit the effective maximal size for the system variables
    
      range_alloc_block_size    and
      query_alloc_block_size
    
    to 2^32-1, adjusted to 2^32-1024, or 4294966272 see below.
    
    Without this fix, when passing in a larger than 32 bits value on a 64
    bits non-Windows system[1] as a start-up parameter, there is no range
    checking and an overflow ensues when the ulong quantity is passed as a
    uint to init_sql_alloc, leading to a crash (zero is passed in).
    
    [1] The system variable, THD::variables.range_alloc_block_size has
    type ulong.
    
    Btw, this can't happen on Windows since ulong is 32 bits on that
    platform.
    
    The patch also changes the signature of init_sql_alloc to use size_t
    instead of uint, more correct since the underlying call to
    init_alloc_root takes a size_t type as well (future-proofing).
    
    The documentation should be updated; it states that the maximal value
    for this variable on a 64 bits platform is 18446744073709547520.  It
    should now be UINT_MAX32 for all platforms (rounded off to multiple of
    block_size: 4294966272 (2^32-1024) for both range_alloc_block_size and
    query_alloc_block_size).
    
    Tests adjusted.
    
    This patch also fixes 21745936, 21795158 and 21601361.

commit 409547bd056cf533af70e0bc7cf5a6cfa2892880
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Sep 10 19:52:03 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Fixed compiler warnings.

commit 1764c88f9bd4bc488e937aaabbf8732dbd3e5b6e
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Sep 10 19:10:42 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Updated perfschema.relaylog.test

commit 3ab50e1fe4036475260a2ca1e5a22cbea68c19c2
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Sep 10 18:04:54 2015 +0200

    Bug#20675180 INSTRUMENTATION FOR BINLOG CACHE FILE
    
    Instrument temporary files created by the IO_CACHE file cache.

commit 3e714be5d6590d06780112001885519831a0446f
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Sep 10 17:31:22 2015 +0200

    BUG#21809172: UPDATE RPL SUITE TESTS TO WORK ON GROUP REPLICATION
    
    Posfix: disabled rpl_mts_logical_clock_assertion_failure test, it
    relies on asynchronous replication behaviour.

commit a76b4791868962f85e3ab8d230f81c0918f7b4cd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 10 15:23:40 2015 +0200

    Bug#21817573 VALGRIND WARNINGS IN TEST_SERVICE_SQL_API TEST SUITE
    
    Cleanup of test code for sql services API:
    
    Use my_thread_join rather than while-loop waiting for threads.
    Explicitly configure all threads as joinable.
    
    Don't strdup strings handed over to security_context_lookup
    (it does not take ownership)
    
    Delete all plugin context objects.
    
    In test_x_sessions_init: don't handle garbage over to command_service_run_command

commit b1b574121a1d3887aa1e91305f295687fef6746a
Author: Andrey Hristov <andrey.hristov@oracle.com>
Date:   Thu Sep 10 16:39:24 2015 +0200

    Fix SQL service API test that failed on 32 bit platforms.
    
    When printing longlong use the corresponding printf modifier.

commit 7f48a929e40f51718798bff467ff2c8def58b4d1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 10 16:33:03 2015 +0200

    BUG#21808781: CHANNEL_GET_THREAD_ID() DOES NOT RETURN COORDINATOR THREAD ID
    
    Post-push fix: Fix broken Werror build

commit cf0080a37748a76c42909d802cd3cf37090424c9
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Sep 10 14:46:25 2015 +0100

    Bug#21802367: STOP ALLOCATING MEMORY FOR MYSYS THREAD LOCAL STORAGE STRUCT
    
    After this patch, my_thread_init() will no longer allocate
    memory for the mysys thread local variables struct for release builds.
    This means that not being able to call my_thread_end() will no
    longer lead to memory leak.
    
    After several earlier patches, only two members remained in the
    mysys thread local struct - both ints related to error handling.
    These are now put into separate thread local entries.
    
    With this patch, the problem which lead to the creation of
    WL#6817 "Getting rid of mysql_thread_end() and thread local
    storage in libmysqlclient" has been fixed.

commit f884da3bbcde28c11cbb0e088940094f387fa7b0
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Thu Sep 10 19:04:53 2015 +0600

    Bug#20538956 - XA PREPARE ERROR BRANCH LEAVES THE TRANSACTION IN SCREWED STATE.
    
    Failure during execution of the statement XA PREPARE could resulted in invalid
    state of XA transaction. Any subsequent attempt to start another XA transaction
    led to the error ER_XAER_OUTSIDE.
    
    To fix the bug accurate cleaning up of the transaction state has been added
    into Sql_cmd_xa_prepare::trans_xa_prepare when ha_prepare returns error.
    Most of cleaning up staff have been moved into separate function
    cleanup_trans_state().
    
    Also this patch removes call to my_error() to set error code
    ER_ERROR_DURING_COMMIT in case calling of the virtual method
    handlerton::prepare() failed. This modification has been done in order to
    follow closer with XA specification that requires in case xa_prepare failed
    and the resource manager did not prepare to commit the work done on behalf of
    the transaction branch, the resource manager has to roll back the branch’s
    work, release all held resources and return one of the error code XA_*.
    For our case the best suited error code is XA_RBROLLBACK.

commit dbf0081144ad457ed86619b73937ecd16faf43b8
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Tue Jul 21 15:35:52 2015 +0100

    BUG#21357008 SLAVE_OPEN_TEMP_TABLES WRONG AFTER RESET SLAVE WHEN USING MULTI-SOURCE
    
    Problem:
    RESET SLAVE FOR CHANNEL 'channel' forced the status variable
    Slave_open_temp_tables value to 0, even if there was another
    replication channel with open temporary tables which were
    not affected by the statement.
    In addition, the function that modifies the value for the
    variable did not consider that multiple threads could update
    it even when MTS was not enabled.
    Finally, read operations to the variable were not safe in a
    multiple-writers multiple-readers scenario.
    
    Fix:
    The variable slave_open_temp_tables is now an atomic variable,
    so all concurrent accesses are safe. The variable is now only
    decremented the number of tables that were actually closed.
    Introduced another atomic variable to keep track of the open
    temporary tables on a per channel basis, so that closing
    or changing the master of a given replication channel will
    issue a warning only if there are temporary tables open in
    that channel.
    Finally, since the warning does not convoy any information
    regarding open temp tables in channels, when the slave is
    stopped and there are open temp tables in more that one
    channel, only one warning is issued.

commit 2f59dd197797c935e902d51f52138e2b281ff28f
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Sep 10 18:21:03 2015 +0530

    Bug#17769777 : EXCESSIVE MEMORY CONSUMPTION WITH MANY AND / BETWEEN ITEMS
    Bug#17413040 : USING MANY WHERE CONDITIONS MAKES RANGE SCAN DISABLED
    
    Post-push fix for windows testcase. Had missed to record a line in the test file.

commit 51c9b95c54747097135115e935326c74e367d5b3
Merge: 155a6d4 0df4c4c
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Sep 10 13:42:46 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 155a6d49bd72139c66c117c4fc532e4874e0a949
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Thu Sep 10 13:13:30 2015 +0200

    Bug #21768876	INIT SCRIPT ("SERVICE MYSQL STATUS") INCORRECTLY REPORTS SERVER IS STOPPED IN 5%
    
    Bug fix implemented separately for 5.7

commit 02ca651f0de6e9a38e04146d38ab4996e3b30b9c
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Aug 19 16:27:24 2015 +0300

    Bug#19630322 MTS: WORKERS MAY NOT ADAPT TO THE MASTER VERSION
    
    There's a flaw in master server version adaptation framework in that
    MTS workers could install another execution context at time the old
    context is being used.
    This occurs when Coordinator schedules an event (CREATE TABLE query)
    and after that processes a Format Description event, and does so
    asynchronously with the Worker. That creates a race between execution
    of CREATE TABLE in the old pre-FD context and the new context
    installation to the Worker which was done by the Coordinator thread.
    
    **Fixed** with relocating the whole master
    Format_description_log_event installation
    (set_rli_description_event()), which was previously in the Coordinator
    domain, to the Worker thread.
    
    By the refined logics, when coordinator reads
    Format_description_log_event, it calls the own
    Relay_log_info::set_description_event() method. This function will
    set the "memo" flag Slave_worker::fd_change_notified=false for each
    worker (to mean reset fact of any former notification).
    The flags will be used by Coordinator as a memo to itself
    to notify (see L4 below) Workers who are scheduled with
    a first group of events that follows the new FD.
    The Worker finds (Slave_job_group::new_fd_event !=NULL) the
    notification before it has executed the first group event, to install
    the new FD into its execution context. At once the Worker conducts the
    version adaptation.
    
    The worker logics is received a small block (see L5) consisting of
    a. checking whether a new FD event is supplied, to install it and run version adaptation
       routine;
    b. the Worker is made to "intelligently" destroy "obsolete" FD instances (see
       new ulong Format_description_log_event::usage_counter and Slave_worker::set_rli_description_event(),
       An obsolete FD can also be destroyed by Coordinator when Worker has exited.
       Worker never destroy the very last read FD.
    
    As a side effect, the version adaptation made work correctly for
    a case of mysqlbinlog | mysqld aka direct binlog applying via client session.
    More importantly, the FD installation relocation fixes other potential vulnerabilities
    where being processed by Worker events may depend on a certain FD. The old mechanism
    did not protect the correct execution environment.
    
    On the low-level,
    
    L0.
    
      Format_description_log_event class is extended with
        Format_description_log_event::usage_counter
      a usage counter
      to keep track of concurrent utilization of an instance and its
      correct destruction in Relay_log_info::set_rli_description_event()
      and Slave_worker::set_rli_description_event().
    
    L1.
    
      Relay_log_info::adapt_to_master_version(Format_description_log_event *fdle)
    
      is made to work by Coordinator or SQL threads.
    
    L2.
    
      ulong Relay_log_info::adapt_to_master_version_updown()
    
      is made to be invoked by Workers too. It's extensively commented to
      hopefully make the framework understood better.
    
    L3.
    
      Slave_worker::set_rli_description_event()
    
      is refactored to made the Worker to delete stale FD.
    
    L4.
    
      Slave_worker *Log_event::get_slave_worker()
    
      the new notification logics is deployed.
      A worker can't miss a fact of FD/version change when it takes
      on following events that are bound to the FD/version through
      implied execution context.
    
    L5.
    
      slave_worker_exec_job_group()
    
      augmented with logics of checking out the new notification and
      the new FD installation including version adaptation function (L2).

commit 53cd6109394d8c6472f53b41f3f984d7e825769a
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Sep 10 18:42:20 2015 +0800

    Bug#21775459 - FAILING ASSERTION: POS < TABLE->N_V_DEF
    
    Reviewed-by Shaohua Wang <shaohua.wang@oracle.com>

commit 0df4c4c2598681f55f41ad65d56813c2d719c159
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Fri Sep 4 10:11:31 2015 +0200

    Bug #21768876	INIT SCRIPT ("SERVICE MYSQL STATUS") INCORRECTLY REPORTS SERVER IS STOPPED IN 5%
    
    Check for presence of pid-file and /proc/-directory instead of using ps to find process

commit 8d7c77c94b4a99e60cfbd5cab313797744d1c869
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Sep 10 13:04:48 2015 +0300

    Bug#21801423 INNODB REDO LOG DOES NOT INDICATE WHEN FILES ARE CREATED
    
    As part of WL#7142 Simplify tablespace discovery during crash recovery,
    InnoDB removed code to deal with the MLOG_FILE_CREATE2 redo log record.
    
    The thinking was that external backup tools could parse MLOG_FILE_NAME
    records to discover created files. However, MLOG_FILE_NAME usually gets
    emitted for something else than file creation, and the MLOG_FILE_CREATE2
    record included some flags that are not present in the MLOG_FILE_NAME
    records.
    
    So, it seems that we must bring back the record, for the benefit of
    external backup tools that parse the redo log.
    
    fil_op_write_log(): Add the parameter "flags" for writing MLOG_FILE_CREATE2.
    
    fil_ibd_create(): Write a MLOG_FILE_CREATE2 record before MLOG_FILE_NAME.
    
    fil_name_parse(): Parse but ignore the MLOG_FILE_CREATE2 record.
    
    RB: 10180
    Reviewed-by: Shaohua Wang <shaohua.wang@oracle.com>
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>

commit 8745788222fa5d596fe5386eb26afff2c7bcd975
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Sep 10 11:28:06 2015 +0200

    BUG#21808781: CHANNEL_GET_THREAD_ID() DOES NOT RETURN COORDINATOR THREAD ID
    
    channel_get_thread_id() from rpl_channel_service_interface.h does not return
    parallel applier coordinator thread id, which is needed for some situations,
    like check applier error status after a failure.
    
    This patch provides the missing coordinator thread id to
    channel_get_thread_id().
    It also provides a new function, channel_is_applier_waiting(), which
    provides the information if a given applier is waiting for more
    transactions.

commit 24e4eecbe458332f6e2a1f03f9700836cccf812f
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Fri Sep 4 07:02:28 2015 +0100

    Bug#19646918: TRUNK - SLOW QUERY LOG SHOWS SOME BOGUS SET TIMESTAMP=4294966218; VALUE
    
    We hand in a ulonglong that we wish to convert to microseconds,
    as well as to long. Do the division before the cast as the original
    value may overflow a long.

commit 67cae4a7d0008806056a7923b21bb688c09dbfab
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Thu Sep 10 09:52:56 2015 +0400

    Bug#21286261: QUERY DIGEST DOES NOT REFLECT NEW OPTIMIZER HINTS
    
    After-push test update #2 to make it query cache-friendly.

commit 8606666b8d871127f302e8798f830b15a51a6160
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Sep 10 10:40:11 2015 +0530

    Bug#20001173: RPL P_S: MOVE SQL THREAD STATUS TO WORKER TABLE
    
    Post push improved fix.

commit 04b2c3e5ca90a0a2e161f5da915ccedb7b2ffe81
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Sep 9 23:12:00 2015 +0200

    BUG#21776505: GR DOES NOT HANDLE BIG GTID_EXECUTED CORRECTLY
    
    Post-fix: update VIEW_CHANGE_HEADER_LEN value.

commit 685ffd992e2e8ab29336b28f72e0f4b61f3cd691
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Sep 9 15:08:16 2015 -0500

    Bug#21788887 HANDLER_EXTERNAL_LOCK, CREATED_TMP_TABLES SHOW ACTUAL VALUE +1
    
    Use status var snapshot from before the start of the SHOW STATUS query to
    avoid status counter updates caused by the query itself.

commit b98514a4fba4e7318819ca6d49afa3fb61776c9b
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Wed Sep 9 16:42:21 2015 +0200

    Bug#17846246 ASSERTION FAILED: ENGINE_TYPE() != HASH_SJ_ENGINE
    
    The problem is related to the changing value of found_rows during the
    query.  It is evaluated more than once and the value in one case gives
    a NULL value for dayofmonth whereas another value gives a non-NULL
    value, which breaks things. In this case the subquery is materialized.
    
    The reason it changes is that initially, the value of found_rows is
    the the number of rows found during the previous query. Then, while
    evaluating the query, the sub-select modifies that value to the number
    of rows returned by the subquery. If those two values are sufficiently
    different (e.g. 101 in the first case and 1 in the second), the
    difference in the resulting null-ness of dayofmonth ensues.
    
    subselect_indexsubquery_engine::copy_ref_key has the
    following information:
    
    if (s_key->null_key) {
      /*
        If we have materialized the subquery:
        - this NULL ref item cannot be local to the subquery (any such
        conditions was handled during materialization)
        - neither can it be outer, because this case is
        separately managed in subselect_hash_sj_engine::exec().
      */
    
    The latter case is of interest here: in this case the search key was
    indeed *not* NULL before the materialization, but now it is NULL in
    the repro, because the number of rows returned from the subquery
    materialization is 1, not 101 as we had initially, and the former
    gives a NULL when fed into dayofmonth, whereas 101 gives 1.
    
    So, when we do the check above we enter and hit the assert. Because
    the code presumes a null value for the search argument would have been
    handled earlier, this case cannot be a case of HASH_SJ_ENGINE
    (asserted).
    
    The patch snapshots (into THD::previous_found_rows) the value of
    THD::limit_found_rows (renamed to current_found_rows) at the end of
    each query and consults that if/when FOUND_ROWS is performed
    throughout the next query.
    
    Also removed some inactive settings of limit_found_rows in
    opt_explain.cc
    
    The patch adds the repro test case to the regression tests.

commit 4a12959c8833a1dba3569e89cbe8a89e47719a9d
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Sep 7 14:24:05 2015 +0200

    Bug#21770798: OPTIMIZER DOES NOT USE INDEX FOR GENERATED EXPRESSIONS
                  WITH LOGICAL OPERATORS
    
    Before this patch, only expressions with item type ITEM_FUNC were
    eligible for substitution with an equivalent generated column. AND and
    OR expressions have item type ITEM_COND, and such expressions were
    therefore not replaced with a generated column.
    
    For example, a predicate such as (a AND b) = 1 would not be replaced
    with gcol = 1, even if there was an indexed generated column gcol
    whose generation expression was (a AND b). This meant that some
    opportunities for using an index were missed.
    
    This patch enables substitution also for expressions that use AND or
    OR.
    
    Since the substitution code works on Item_func objects, and items of
    type COND_ITEM already belong to subclasses of Item_func, not much has
    to be changed in the substitution logic. The patch mainly loosens up
    some type checks to allow both FUNC_ITEM and COND_ITEM to be
    substituted. It also adds an override of eq() in Item_cond to make it
    possible to check if two logical expressions are equal.

commit d2d4ae8a2ae3124051ebfc4607bde53b64b41d60
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Wed Sep 9 23:05:09 2015 +0530

    Description:
    1. Hint commentaries are designed to behave like regular /* ... */
    commentaries:
      SELECT /*+ " */ 1; -- a valid SQL query
    However, the mysql client program waits for the closing doublequote
    character.
    2. There is a similar issue with statement delimiters like ';', ''', '`'
    
    Analysis:
    This regression is introduced by the changes of wl#8016. When we are parsing the input string we need to consider '+' as hint character. Which is not handled.
    
    Fix: Introduced a hint flag for ss_comment and while parsing if we come across "+" we are making ss_comment as hint(SSC_HINT) and reseting it when we came across '*/'.

commit f528f90937841229227bbc7dc50d3220c49a845f
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Sep 9 17:41:02 2015 +0100

    Bug#21354712 SHOW VARIABLES RETURN WARNING ABOUT @@SESSION.GTID_EXECUTED BEING DEPRECATED
    
    post-push fix updating the result file for test perfschema.show_sanity

commit 80766179bba9032628d5a5f00a0a0c4079697c68
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Sep 9 21:42:12 2015 +0530

    Bug #21761867: ASSERTION `TYPE_ARG == MAYBE_KEY ||
                   TYPE_ARG == IMPOSSIBLE' FAILED.
    
    Issue:
    -----
    When two SEL_ARG predicates are "And-ed" together, i.e.
    combined into a common AND expression, the case when either
    predicate is of the type ALWAYS is not handled. ALWAYS
    flag represents a predicate that is unable to reject any
    rows. When key_and tries to clone a SEL_ARG object of the
    type ALWAYS, it results in a failed assertion.
    
    SOLUTION:
    ---------
    If either SEL_ARG type is ALWAYS, return the other key.
    Essentially, when one of the keys in an AND-condition is
    always true, the result will depend on the rest of the
    keys.

commit baac4723e00cac9d76f9c3f9a91630c0b80d42cc
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Sep 9 16:42:28 2015 +0200

    BUG#21776505: GR DOES NOT HANDLE BIG GTID_EXECUTED CORRECTLY
    
    There were several issues on how big GTID_EXECUTED sets were handled
    on Group Replication pipeline, in particular when GTID_EXECUTED size
    exceeded the 65535 characters length. The issues were:
      1) snapshot_version length computation was incorrectly limited to
         65535 characters length on Transaction_context_log_event;
      2) snapshot_version contained on certification info, which is
         serialized on View_change_log_event, was incorrectly limited to
         65535 characters length;
      3) internal interface between Group Replication plugin and server
         was incorrectly limiting GTID_EXECUTED to 65535 characters
         length.
      4) Column Transactions_committed_all_members column on
         performance_schema.replication_group_member_stats was limited
         to 65535 characters length.
    
    This patch fixes the 4 above issues. Since issue 2) requires the
    change of the serialization of View_change_log_event, this patch
    makes Group Replication version 0.6.0 incompatible with the previous
    ones. Incompatibility rules were added and also a test (with
    simulated versions) to validate them.

commit 953f88da3ed1dacdd8be4eabcc6cfb9859ab23bf
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Sep 9 16:26:10 2015 +0200

    BUG#21809172: UPDATE RPL SUITE TESTS TO WORK ON GROUP REPLICATION
    
    Some new tests need to be updated in order to work on Group
    Replication, those tests are:
     * rpl_row_rollback_to_savepoint
       Not supported due to use of both
       --transaction-write-set-extraction!=OFF and ROLLBACK TO
       SAVEPOINT.
     * rpl_group_replication_user
       Updated result file.
     * rpl_group_replication_wait_for_executed_gtid_set
       Removed, this test was a wrapper to
       extra/rpl_tests/rpl_wait_for_executed_gtid_set.inc which was
       removed.
     * rpl_gtid_delete_memory_table_after_start_server
       Not supported since it tests asynchronous replication specific
       behavior.
     * rpl_perfschema_threads_processlist_status
       Updated to support parallel applier.
     * rpl_stm_ignore
       Not supported since it uses non-transactional engine.

commit 980e4d4c91d187a6e4b83de8df3174a452ee10a6
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Mon Sep 7 18:42:15 2015 +0100

    Bug#21354712 SHOW VARIABLES RETURN WARNING ABOUT @@SESSION.GTID_EXECUTED BEING DEPRECATED
    
    Problem:
    The warning 1681 "'@@SESSION.GTID_EXECUTED' is deprecated
    and will be removed in a future release." was printed even
    when the session variable gtid_executed was not included in
    the result of the query.
    In addition, the query "SELECT @@SESSION.GTID_EXECUTED"
    result included a duplicate warning.
    Both issues occurred because the warning was printed when
    the value of the variable was accessed, which will happen
    whether the variable is included in the result of the query
    or not.
    
    Fix:
    To be consistent with the current behaviour of the deprecated
    variable @@GLOBAL.SQL_LOG_BIN, the following changes were
    implemented concerning @@SESSION.GTID_EXECUTED:
    - the variable is no longer included in the P_S table, therefore
    it is not included in the result of:
      a) SELECT * FROM performance_schema.session_variables
      b) SHOW VARIABLES (when SHOW_COMPATIBILITY_56= OFF)
      c) SHOW SESSION VARIABLES (when SHOW_COMPATIBILITY_56= OFF)
    - The variable is still a part of the I_S table, but the warning
    is not issued in the following statements:
      a) SELECT * FROM information_schema.session_variables
    (when SHOW_COMPATIBILITY_56= ON)
      b) SHOW VARIABLES (when SHOW_COMPATIBILITY_56= ON)
      c) SHOW SESSION VARIABLES (when SHOW_COMPATIBILITY_56= ON)
    - the above is true even in statements like
    SHOW VARIABLES LIKE 'REGEX', even when 'REGEX' matches
    'gtid_executed'.
    The warning is still issued when the value of the variable is
    directly accessed.

commit bfe57c10e12b44430dd71dca2385805dcf42ff3e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Sep 9 12:42:38 2015 +0200

    Bug#21809052 VALGRIND WARNING IN MYSQLTEST WITH --PS-PROTOCOL
    
    Valgrind gave warning when testing if (ds_execute_warnings.length...)
    Solution: initialize variables.

commit bcb26d18d6ab771f18d1c2276fbeb39b3de95554
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Sep 9 12:44:30 2015 +0100

    Bug#21374923: NO CYCLE TIMER IMPLEMENTATION FOR AARCH64
    
    This patch adds support for ARM64 for our low level CPU cycle timers.
    Note that this does not work for ARM32.
    
    Based on patch contributed by Alexey Kopytov.

commit 8568afd67ad7d55b450ddde4c6f17352a87c3722
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Sep 9 19:26:09 2015 +0800

    Bug#21790751 - SERVER CRASHES WHEN CREATING A VIRTUAL COLUMN ON PARTITIONED
    TABLE
    We essentially blocked inplace add/drop virtual column for partition table,
    the operation has to be done by copy method
    
    Reviewed-by Marko Makela <marko.makela@oracle.com>

commit c84160bddf6dbc45a7cf7b6382fef77074c127ad
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Sep 9 16:23:57 2015 +0800

    Bug#21807340 - FAILING ASSERTION: COL_NR < TABLE->N_DEF
    
    Approved-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 10195

commit bf78a86bb929fb89cb6014d7933376ec6a45f8cd
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Wed Sep 9 12:10:29 2015 +0200

    Post-push fix for BUG#19579811
    
    A typo in a warning suppression in the test case made the warning be
    not suppressed. This caused test failure when running with
    --log-slave-updates.

commit 10c7b0a7505fee7e134248f3abeea1ab91c25139
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Wed Sep 9 11:50:47 2015 +0200

    Replaced the sleep with a conditional wait and reduced time in plugin to stabilize test for PB

commit 16b49a47d776745fb253b85ab9225888e717887b
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Sep 9 11:55:01 2015 +0300

    Bug#21796691 INNODB REDO LOG DOES NOT INDICATE WHEN REDO LOGGING IS SKIPPED
    
    As part of WL#7277 Bulk Load for Create Index,
    InnoDB disabled redo logging of index page writes during DDL operations.
    
    InnoDB crash recovery is not affected by this, because there will be
    extra page flushes before the DDL operation is committed.
    
    But, external hot backup tools will have no way of detecting if the
    redo logging was disabled, and they can thus create a corrupted backup
    without noticing it, if there was concurrent DDL.
    
    After successfully completing the extra flush and before re-enabling
    redo logging, we will issue a new redo log record
    MLOG_INDEX_LOAD(index->space,index->page,index->id).
    
    When backup tools see this record in the redo log, they can either
    retry copying the tablespace (if it is small) or abort the backup,
    asking the user to avoid concurrent DDL.
    
    recv_parse_or_apply_log_rec_body(): Parse and ignore the MLOG_INDEX_LOAD
    record.
    
    row_merge_write_redo(): New function, to write the MLOG_INDEX_LOAD
    record after the non-logged changes have been flushed.
    
    RB: 10168
    Reviewed-by: Shaohua Wang <shaohua.wang@oracle.com>
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit e7dbf6d7fbe290488b32e890e497b974ee24f918
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Sep 9 15:39:50 2015 +0800

    BUG#21682332 - ADD EVICTION COUNT METRIC FOR TABLE CACHE LRU CLEANUP
    (CONTRIBUTION)
    
    This is a follow-up patch, to fix a missing statistic.
    
    Approved by Jimmy over IM.

commit a904e762fbc3038bc663a74a4733f2f7858979f6
Author: Libing Song <libing.song@oracle.com>
Date:   Wed Sep 9 14:22:32 2015 +0800

    BUG#21045848 XA+MEMORY TABLE: POST SERVER RESTART 'XA COMMIT'
                 IS OVERRIDDEN BY 'DELETE' CMD
    
    Postfix: Added have_debug.inc into the test, mysql's build-completion-hash is
    compiled only in debug version.

commit fb0b874ded2766c3f7a48da5142e41f5e1251756
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Sep 9 08:54:54 2015 +0530

    Bug#17769777 : EXCESSIVE MEMORY CONSUMPTION WITH MANY AND / BETWEEN ITEMS
    Bug#17413040 : USING MANY WHERE CONDITIONS MAKES RANGE SCAN DISABLED
    
    Post-push fix for windows testcase and unitests:
    Pre allocation does not happen in valgrind and ASAN builds.
    Windows test result file was not recorded

commit d60e902673b4b092a717ffeceed612c308dd7683
Merge: 8e14cae 69d616e
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 8 22:00:11 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 69d616e3112d520688ebeee88cdb602385f95b23
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 8 21:55:12 2015 +0200

    Bug#20519832 TRUNCATED SQL_TEXT VALUES ARE NOT SUFFIXED WITH ...
    
    Set no-protocol in perfschema.misc for more consistent results.

commit 8e14caeca8e6fb00e0b5a7a1d932f022fce734e0
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 8 21:44:49 2015 +0200

    Bug#20519832 TRUNCATED SQL_TEXT VALUES ARE NOT SUFFIXED WITH ...
    
    Set no-protocol in perfschema.misc for more consistent results.

commit d72262df948b80349d5cd6dd5b82b792c9f1ff76
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Mon Aug 24 13:33:22 2015 +0200

    Bug#21530366 CRASH/ASSERTION, CORRUPTION WITH INDEXES + VIRTUAL COLUMNS, BLOB
    
    This crash happens when InnoDB tries to update a secondary index for a
    virtual field of type BLOB. When doing this update, InnoDB relies on
    that both the old and new value for the BLOB is available. The crash
    occurred due to the server provided a wrong value as the old BLOB
    value. In the case of the failing query in the test case, the server
    had over-written the old BLOB value with the new BLOB value.
    
    Before the server updates a virtual BLOB field, it sets the
    Field_blob::keep_old_value to true. In Field_blob::store_internal()
    there is code that checks this flag and if it is set, it will not
    over-write the current BLOB value. But in the case of the failing
    query, the current BLOB value is over-written before we reach the code
    that checks the Field_blob::keep_old_value flag. Both in field_conv()
    and early in Field_blob::store_internal() we have code that can
    over-write the current BLOB value in the case where the new BLOB value
    is written to the same memory as the current BLOB value.
    
    The fix for this problem is to replace the Field_blob::keep_old_value
    flag with a new function that saves the current version of the blob
    value. In update_generated_write_fields() we call this function
    instead of setting the keep_old_value flag before calling
    Item::save_in_field(). By doing this we ensure that the old value of
    the blob is safely stored before Item::save_in_field() can do any
    changes to it.

commit 81f7c624f7f4cd9b2b5fffc323e6cd67ba4802d3
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Sep 8 21:50:29 2015 +0530

    Bug#20001173: RPL P_S: MOVE SQL THREAD STATUS TO WORKER TABLE
    
    Analysis:
    ========
    As part of performance schema enhancements following tables
    were added to provide enhanced replication monitoring
    information.
    
    Table: replication_applier_status_by_coordinator
      --The status of coordinator thread was reported as part of
        this table in multi threaded slave mode.
      --The status of SQL thread was reported as part of this
        table in single threaded slave mode.
    Table: replication_applier_status_by_worker
      --The status of worker threads is reported in this table.
    
    In case of single threaded slave mode report the status of
    SQL thread as part of 'replication_applier_status_by_worker'
    table.
    
    Fix:
    ===
    Added code to display SQL thread's status information as
    part of 'replication_applier_status_by_worker' table in
    single threaded slave(STS) mode. Hence
    'replication_applier_status_by_coordinator' table will
    be empty now in STS mode. MTS mode will be reported as it
    was earlier.

commit 8a7112e82318575c716be5c6ed1a4575d6dcbd60
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Sep 8 16:53:45 2015 +0200

    Bug#21574933 Extra rows with derived table in subquery + XOR
    
    This problem stems from the transformation of IN subqueries
    in Item_in_subselect::single_value_in_to_exists_transformer().
    
    The source of the regression is the fix for bug no. 14358878, which
    wrapped all selected columns from a derived table that was on the
    inner side of an outer join in Item_direct_view_ref objects.
    The purpose of the wrapping was to make the columns nullable and
    nullability depending on some table from the derived table.
    
    single_value_in_to_exists_transformer() calculated orig_item from one
    such column. Prior to the wrapping, nullability information was present
    in orig_item. But after the bugfix, real_item() would pass the
    Item_direct_view_ref object and return the underlying Item object,
    which is not necessarily nullable.
    
    real_item() was originally used so that we do not build a permanent
    subquery transformation on top of a runtime item. The wrapped
    Item_direct_view_ref objects are runtime objects, meaning that
    they cannot be used in a permanent transformation.
    The solution is a kludge: If the Item_direct_view_ref object is
    nullable, we set the item being pointed to from the
    Item_direct_view_ref as nullable as well. This means that we pick up
    correct nullability, but the item does not correctly reflect the
    nullability of the datum. However, we have not been able to identify
    a situation where this causes erroneous or non-optimal execution.
    
    Further on, this means that NULL values from outer joined tables
    are included in the query result, meaning that the IN subquery
    can return NULL instead of FALSE in cases like this.

commit c5806b0cd41adbef9967bbeda4ccd236bc7f3834
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Sep 8 16:53:21 2015 +0400

    Bug#21286261: QUERY DIGEST DOES NOT REFLECT NEW OPTIMIZER HINTS
    
    After-push test update.

commit 4492a047b2f25d8e404b009c6a645bc934fc0545
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Tue Sep 8 13:23:24 2015 +0200

    BUG#21798804: GR ALLOWS UNSUPPORTED MTS TYPE 'DATABASE' POST SQL_THREAD RESTART
    
    Group Replication (GR) applier channel does not support
    SLAVE_PARALLEL_TYPE set to DATABASE, when GR is started that is
    tested and a error is thrown. Though SLAVE_PARALLEL_TYPE can be
    changed with the following steps:
      STOP SLAVE SQL_THREAD FOR CHANNEL 'group_replication_applier';
      SET GLOBAL SLAVE_PARALLEL_WORKERS=4;
      START SLAVE SQL_THREAD FOR CHANNEL 'group_replication_applier';
    which is incorrect and will cause applier to error out.
    
    This patch fixes the above issue by always checking that
    SLAVE_PARALLEL_TYPE on group_replication_applier is LOGICAL_CLOCK
    when the number of SLAVE_PARALLEL_WORKERS is greater then 0.

commit 5f793dd62da6ba908e90abdb617968f83a114b32
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 8 16:41:55 2015 +0530

    Follow-up fix for commit 3728e3c to correct debian changelog

commit 66299a9cf23b43edf4b889954b88522f79ff7db1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Sep 8 11:30:04 2015 +0100

    Bug#20621281: MOVE KEYCACHE THREAD VARIABLES FROM ST_KEYCACHE_VAR
    
    This patch moves thread-specific keycache variables from the mysys
    thread local storage struct to a separate struct managed by MyISAM.
    This reduces thread local storage usage and is a step towards
    implementing WL#6817 "Getting rid of mysql_thread_end() and thread
    local storage in libmysqlclient".
    
    The mysys TLS condition variable was used by both the keycache and
    thr_lock. The thr_lock usage is now handled by a new, separate
    condition variable owned by THD.
    
    The keycache condition variable is now managed by MyISAM code and
    Ha_data::ha_ptr is used to manage a reference to it.

commit 3988996cc3c7d2ab89efcd55947adfe14a69f482
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Sep 8 10:52:25 2015 +0200

    Bug#21753180: handle_fatal_signal (sig=11) in my_strtod_int
    
    This problem occurs on a query on a table with this definition:
    
    CREATE TABLE t1(a int, b blob, c blob);
    INSERT INTO t1 VALUES(1,2,1),(2,4,1);
    
    The query is:
    
    SELECT a, (SELECT SUM(a + c) FROM (SELECT b as c FROM t1) AS v1) FROM t1;
    
    We see there is an implicit grouping because of the SUM expression.
    When analyzing the SUM expression, the aggregation query block should be
    calculated as the inner-most query block that the individual columns are
    resolved from. "a" refers to t1, so it may be aggregated in the outer
    query block. "c" refers to v1, so it must be aggregated in the inner
    query block. Thus, the SUM expression should be aggregated in the inner
    query block, and the outer query block should be non-aggregated.
    
    However, Item_field::fix_fields() does not calculate this correctly.
    The "c" field will be wrapped in an Item_direct_view_ref object and the
    condition in this statement will be true (line 5943).
    
        if (from_field == view_ref_found)
          return false;
    
    It is correct that we shall not call set_field() for such items, but
    missing the calculation of in_sum_func->max_arg_level further down
    means that the aggregation level for the SUM expression is calculated
    to be the outer query block. Somehow, this causes the failure reported
    in the bug. This problem goes away when calculating max_arg_level
    also for fields that are resolved from views and derived tables.

commit ce02c068e45b597987646f66e4b7519a82fabeb0
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Sep 7 14:03:46 2015 +0200

    Bug #21788271	FIREWALL IS MISSING FROM DEBIAN COMMERCIAL PACKAGES
    
    Added entries for the missing plugin

commit 7f59d55938bd936f3242ee0d630827f57688e793
Author: Manish Kumar <manish.4.kumar@oracle.com>
Date:   Tue Sep 8 11:30:11 2015 +0530

    BUG#21680074 - SOME COMMAND SHOULD NOT BE ALLOWED FOR CHANNEL 'GROUP_REPLICATION_RECOVERY'
    
    There is a set of commands that should not be allowed for
    group_replication_recovery channel as 'group_replication_recovery' is is
    not exactly a slave channel.
    
    Looking quickly to the available commands and pursuing a mistake free
    environment, we should disable the following commands:
    
    START/STOP SLAVE
    START/STOP IO_THREAD|SQL_THREAD
    
    The following commands are blocked from being used when the channel is
    'group_replication_recovery'.

commit 507b4f19118fc4efce5b52d7232b393cb7111ce7
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Sep 8 10:47:20 2015 +0530

    Bug#21485997: WRONG INSTRUMENTATION OF CLASS GTID_SET
    
    Fixing a build issue found on weekend runs with
    'noperfschema' option.

commit d5b05893f7b3a33f660255b40ac4d5e1aba7808a
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Tue Sep 8 08:09:52 2015 +0300

    Bug#21205282 CRASH/ASSERTION IN JOIN_CACHE::SET_MATCH_FLAG_IF_NONE WITH NO_BNL HINT
    
    There is limitation of JOIN_CACHE in case when
    table belongs to nested outer join. If an inner
    table of an outer join does not use JOIN_CACHE,
    all other inner tables of that join must not use
    JOIN_CACHE either.
    
    The fix is to use revise_cache_usage() to enforce the rule above,
    if a hint prevents join buffering for one table.

commit 023d21a17c48007fddef8d32f390d06c75839cee
Author: Libing Song <libing.song@oracle.com>
Date:   Mon Jul 20 12:23:42 2015 +0800

    BUG#21045848 XA+MEMORY TABLE: POST SERVER RESTART 'XA COMMIT'
                 IS OVERRIDDEN BY 'DELETE' CMD
    
    ANALYSIS
    ========
    Memory table's data will be lost after server restarts. To keep the data
    consistency between master and slave, it just binlogs
    'DELETE FROM `db`.`table_name`' when the memory table is locked first time.
    So DELETE statement could be binlogged in many statements.
    
    Because it was put into binlog statement cache of current session,
    so it could cause below troubles:
    - COM_FIELD_LIST
      it doesn't flush binlog cache to binlog file. So the DELETEs were not
      binlogged in COM_FIELD_LIST, it was binlogged with next statement together.
    
    - CREATE TABLE ... LIKE memory_table
    - CREATE TABLE ... SELECT memory_table
      They were binlogged like:
      GTID_log_event | Anonymous_gtid_log_event
      DELETE FROM memory_table
      CREATE TABLE ... LIKE memory_table | CREATE TABLE ... SELECT memory_table
    
      Both statements shared the same gtid event. That was not correct.
    
    - DELETE was binlogged without BEGIN and COMMIT
      It caused some DML binlogged without BEGIN and COMMIT
      e.g.
      INSERT INTO myisam_t1 SELECT * FROM memory_table
      it was binlogged as:
      GTID_log_event | Anonymous_gtid_log_event
      DELETE FROM memory_table
      INSERT INTO myisam_t1 SELECT * FROM memory_table
    
    FIX
    ===
    To fix it, each DELETE will be binlogged separately and wrapped by
    BEGIN/COMMIT pair. It is flush to binlog immediately after it is
    written into binlog statement cache. E.g.
    
    INSERT INTO myisam_t1 SELECT * FROM memory_table will be binlogged as:
    
    GTID_log_event | Anonymous_gtid_log_event
    Query_log_event BEGIN
    Query_log_event DELETE FROM memory_table
    Query_log_event COMMIT
    GTID_log_event | Anonymous_gtid_log_event
    Query_log_event BEGIN
    Query_log_event INSERT INTO myisam_t1 SELECT * FROM memory_table
    Xid_log_event
    
    It also added a debug option build_completion_hash to mysql for test purpose.

commit b4a68b8959f11c5eb7529663b644ea2e70e5a7fd
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 7 14:44:59 2015 +0200

    BUG#20483278 LAST_QUERY_COST SHOWS DIFFERENT VALUES FOR SHOW_COMPATIBLITY
    FOR ON VS OFF
    BUG#21788549 LAST_QUERY_PARTIAL_PLANS VALUES NOT SAME WITH
    SHOW_COMPATIBILITY_56
    
    Before this fix,
    
    With SHOW_COMPATIBILITY_56=ON,
    
    The statement
      SHOW STATUS like 'Last_query_cost';
    was executed with dedicated code in the information schema
    (sql/sql_show.cc), which is -- not -- implemented as a storage engine.
    As a result, this statement did not execute code in the optimizer,
    which did not overwrite the session status variable 'Last_query_cost'
    for the current select statement.
    
    As a result, the value of 'Last_query_cost' reported was
    for the previous SELECT statement executed in the session.
    
    With SHOW_COMPATIBILITY_56=OFF,
      SHOW STATUS like 'Last_query_cost';
    is executed as a SELECT ... FROM performance_schema.session_status.
    This table is implemented with a storage engine,
    and the optimizer code is used.
    By the time the value is returned, the value of 'Last_query_cost'
    reported is the value just overwritten by the optimizer for the current
    statement, which is not the desired result.
    
    The fix is to separate clearly in the session attributes:
    - the value of 'Last_query_cost' for the current query,
    - the value of 'Last_query_cost' for the previous query,
    and only save the former in the later when query execution is complete.
    
    The same issue exists for Last_query_partial_plan,
    which is fixed the same way.

commit efb059237870330c45c3be9455fe0735c772fe1d
Merge: c9a2689 685dff6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Sep 7 17:54:17 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 685dff655df01350b4b14c63c0534d94aa5408c5
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Mon Sep 7 17:52:46 2015 +0200

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

commit c9a2689cd26ffd88d42c0a5ab6e2990eca9034a3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Sep 7 16:31:39 2015 +0200

    Bug#17769777 : EXCESSIVE MEMORY CONSUMPTION WITH MANY AND / BETWEEN ITEMS
    Bug#17413040 : USING MANY WHERE CONDITIONS MAKES RANGE SCAN DISABLED
    
    Post-push fix of test-case.
    Problem: some tests were succeeding when built with ASAN.
    Solution: set an even smaller memory limit.

commit 7e4d17989db8ba95d31da688e3dbe043b7e90cc4
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Sep 7 14:54:57 2015 +0200

    BUG#21780891 TRANSACTION CONSUMERS ENABLED BUT NOT THE INSTRUMENT
    
    Befire this fix,
    
    By default, the transaction instrument is disabled in table
    setup_instruments.
    
    By default, the transactions consumers "transaction_current"
    and "transaction_history" are enabled in table setup_consumers.
    
    The net effect is that transactions are not instrumented in any case,
    because the instrument is disabled, so displaying "enabled"
    consumers by default is misleading.
    
    The fix is to disable all transactions related consumers by default.
    
    This is an ease of use fix, which has otherwise no impact.

commit 8b63c9b25ff0888e25e72af1f8789fbee2a290d5
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Feb 19 16:53:51 2015 +0100

    BUG#19579811: SET GTID_PURGED DOES NOT STOP WAIT_FOR_EXECUTED_GTID_SET
    
    Background:
    
    WAIT_FOR_EXECUTED_GTID_SET waits until a specified set of GTIDs is
    included in GTID_EXECUTED. SET GTID_PURGED adds GTIDs to
    GTID_EXECUTED. RESET MASTER clears GTID_EXECUTED.
    
    There were multiple issues:
    
     1. Problem:
    
        The change in GTID_EXECUTED implied by SET GTID_PURGED did
        not cause WAIT_FOR_EXECUTED_GTID_SET to stop waiting.
    
        Analysis:
    
        WAIT_FOR_EXECUTED_GTID_SET waits for a signal to be sent.
        But SET GTID_PURGED never sent the signal.
    
        Fix:
    
        Make GTID_PURGED send the signal.
    
        Changes:
        - sql/rpl_gtid_state.cc:Gtid_state::add_lost_gtids
        - sql/rpl_gtid_state.cc: removal of #ifdef HAVE_GTID_NEXT_LIST
        - sql/rpl_gtid.h: removal of #ifdef HAVE_GTID_NEXT_LIST
    
     2. Problem:
    
        There was a race condition where WAIT_FOR_EXECUTED_GTID_SET
        could miss the signal from a commit and go into an infinite
        wait even if GTID_EXECUTED contains all the waited-for GTIDs.
    
        Analysis:
    
        In the bug, WAIT_FOR_EXECUTED_GTID_SET took a lock while
        taking a copy of the global state. Then it released the lock,
        analyzed the copy of the global state, and decided whether it
        should wait.  But if the GTID to wait for was committed after
        the lock was released, WAIT_FOR_EXECUTED_GTID_SET would miss
        the signal and go to an infinite wait even if GTID_EXECUTED
        contains all the waited-for GTIDs.
    
        Fix:
    
        Refactor the code so that it holds the lock all the way from
        before it reads the global state until it goes to the wait.
    
        Changes:
    
        - sql/rpl_gtid_state.cc:Gtid_state::wait_for_gtid_set:
          Most of the changes in this function are to fix this bug.
    
        Note:
    
        When the bug existed, it was possible to create a test case
        for this by placing a debug sync point in the section where
        it does not hold the lock.  However, after the bug has been
        fixed this section does not exist, so there is no way to test
        it deterministically.  The bug would also cause the test to
        fail rarely, so a way to test this is to run the test case
        1000 times.
    
     3. Problem:
    
        The function would take global_sid_lock.wrlock every time it has
        to wait, and while holding it takes a copy of the entire
        gtid_executed (which implies allocating memory).  This is not very
        optimal: it may process the entire set each time it waits, and it
        may wait once for each member of the set, so in the worst case it
        is O(N^2) where N is the size of the set.
    
        Fix:
    
        This is fixed by the same refactoring that fixes problem #2.  In
        particular, it does not re-process the entire Gtid_set for each
        committed transaction. It only removes all intervals of
        gtid_executed for the current sidno from the remainder of the
        wait-for-set.
    
        Changes:
        - sql/rpl_gtid_set.cc: Add function remove_intervals_for_sidno.
        - sql/rpl_gtid_state.cc: Use remove_intervals_for_sidno and remove
          only intervals for the current sidno. Remove intervals
          incrementally in the innermost while loop, rather than recompute
          the entire set each iteration.
    
     4. Problem:
    
        If the client that executes WAIT_FOR_EXECUTED_GTID_SET owns a
        GTID that is included in the set, then there is no chance for
        another thread to commit it, so it will wait forever.  In
        effect, it deadlocks with itself.
    
        Fix:
    
        Detect the situation and generate an error.
    
        Changes:
        - sql/share/errmsg-utf8.txt: new error code
          ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID
        - sql/item_func.cc: check the condition and generate the new error
    
     5. Various simplfications.
    
        - sql/item_func.cc:Item_wait_for_executed_gtid_set::val_int:
          - Pointless to set null_value when generating an error.
          - add DBUG_ENTER
          - Improve the prototype for Gtid_state::wait_for_gtid_set so
            that it takes a Gtid_set instead of a string, and also so that
            it requires global_sid_lock.
        - sql/rpl_gtid.h:Mutex_cond_array
          - combine wait functions into one and make it return bool
          - improve some comments
        - sql/rpl_gtid_set.cc:Gtid_set::remove_gno_intervals:
          - Optimize so that it returns early if this set becomes empty
    
    @mysql-test/extra/rpl_tests/rpl_wait_for_executed_gtid_set.inc
    - Move all wait_for_executed_gtid_set tests into
      mysql-test/suite/rpl/t/rpl_wait_for_executed_gtid_set.test
    
    @mysql-test/include/kill_wait_for_executed_gtid_set.inc
    @mysql-test/include/wait_for_wait_for_executed_gtid_set.inc
    - New auxiliary scripts.
    
    @mysql-test/include/rpl_init.inc
    - Document undocumented side effect.
    
    @mysql-test/suite/rpl/r/rpl_wait_for_executed_gtid_set.result
    - Update result file.
    
    @mysql-test/suite/rpl/t/rpl_wait_for_executed_gtid_set.test
    - Rewrote the test to improve coverage and cover all parts of this bug.
    
    @sql/item_func.cc
    - Add DBUG_ENTER
    - No point in setting null_value when generating an error.
    - Do the decoding from text to Gtid_set here rather than in Gtid_state.
    - Check for the new error
      ER_CANT_WAIT_FOR_EXECUTED_GTID_SET_WHILE_OWNING_A_GTID
    
    @sql/rpl_gtid.h
    - Simplify the Mutex_cond_array::wait functions in the following ways:
      - Make them one function since they share most code. This also allows
        calling the three-argument function with NULL as the last
        parameter, which simplifies the caller.
      - Make it return bool rather than 0/ETIME/ETIMEOUT, to make it more
        easy to use.
    - Make is_thd_killed private.
    - Add prototype for new Gtid_set::remove_intervals_for_sidno.
    - Add prototype for Gtid_state::wait_for_sidno.
    - Un-ifdef-out lock_sidnos/unlock_sidnos/broadcast_sidnos since we now
      need them.
    - Make wait_for_gtid_set return bool.
    
    @sql/rpl_gtid_mutex_cond_array.cc
    - Remove the now unused check_thd_killed.
    
    @sql/rpl_gtid_set.cc
    - Optimize Gtid_set::remove_gno_intervals, so that it returns early
      if the Interval list becomes empty.
    - Add Gtid_set::remove_intervals_for_sidno. This is just a wrapper
      around the already existing private member function
      Gtid_set::remove_gno_intervals.
    
    @sql/rpl_gtid_state.cc
    - Rewrite wait_for_gtid_set to fix problems 2 and 3. See code
      comment for details.
    - Factor out wait_for_sidno from wait_for_gtid.
    - Enable broadcast_sidnos/lock_sidnos/unlock_sidnos, which were ifdef'ed out.
    - Call broadcast_sidnos after updating the state, to fix issue #1.
    
    @sql/share/errmsg-utf8.txt
    - Add error message used to fix issue #4.

commit 13ef8a3a2a898e28fd3115c4942d89b4957aea2b
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Sep 7 13:13:38 2015 +0400

    Bug#21286261: QUERY DIGEST DOES NOT REFLECT NEW OPTIMIZER HINTS
    
    When processing statements with hint comments (/*+...*/), the
    digest calculation was skipped for hint expressions, so the same
    statement had identical digests with and without hints.
    Also, the normalized query text missed hint expressions
    in the performance_schema.events_statements_history table.
    
    The fix updates several parts of the server:
    
    1. The gen_lex_token.cc token information file generator:
    some tricks to add hint parser internals(*) to the global token
    list (lex_token_array) have been introduced.
    
    *) Hint parser internals:
     a. Hint keywords: their integer token values may interfere with
        token values of the main SQL parser, so the TOK_HINT_ADJUST()
        adjustment macro has been introduced to resolve ambiguities.
     b. Tokens for "/*+" and "*/" hint comment delimiters to represent in
        the normalized query text.
     c. The TOK_IDENT_AT token to distinguish unqualified identifiers
        from table names in the table@query_block_name expression.
        Such a special token is necessary to generate normalized
        query texts without a space character between the
        table name and the "@" sign:
    
          "`table` @`qb_name`" is wrong,
          "`table`@`qb_name`"  is correct.
    
    2. The sql_digest.cc digest calculator and query text normalizer:
    the support for the TOK_IDENT_AT token has been added to not output
    a space between a table name and a "@query_block_name" suffix.
    
    3. The main lexer (sql_lex.{h,cc}):
    the Lex_input_stream::skip_digest flag has been introduced to
    append tokens to a digest buffer in correct order: add a
    hintable SQL keyword (SELECT, INSERT, UPDATE...) first, then add
    a hint expression (/*+ ... */).
    
    4. The hint parser (sql_lex_hints.{h,cc}):
    the Hint_scanner::add_hint_token_digest() function has been
    added to translate hint parser tokens into main parser-compatible
    ones and to add them into a digest buffer.
    
    5. Minor code cleanups:
    lex.h and sql_hints.yy: unused token declarations have been removed.

commit c7b9817312e79f7445b49acfc4e43030627e97dd
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Sep 7 15:10:32 2015 +0530

    Bug#21347001   SEGMENTATION FAULT WHILE CREATING GENERAL
                     TABLESPACE IN DISK FULL LINUX
    
    Post push fix for test failures.

commit 2112ad949e515ffada90d63541801c12354cbfa3
Merge: 96751c1 88db050
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Mon Sep 7 10:35:37 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 88db0500a0e913d65164422b01c9da67350eb4f3
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

commit 96751c1177fc86a59c481fd3f70a7cb62bb14faf
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Sep 7 13:38:22 2015 +0530

    Bug #21464621: MYSQL CLI SHOULD SUGGEST CONNECT-EXPIRED-PASSWORD WHEN ERROR 1862 OCCURS
    
    When mysql connects to server in batch mode with an expired account and executes
    SET PASSWORD statement the returned error message is not meaningfull. Fix is to
    report a more descriptive error message.

commit a9d6fbd8ce4dec94794155c36a62a15fc3eea62c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Sep 7 09:43:21 2015 +0200

    Bug#21465626: assert/crash on dropping/adding virtual column
    
    Post-push fix: Rewrite conditional operators as if statements
    as a work-around for a linker bug.
    
    Also fix duplicate values for two Alter_inplace_info flags.

commit c7cc281251b9edbd75f637a66c45309751c11d71
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Sep 7 09:56:53 2015 +0530

    BUG#20727344 PARTITIONED TABLES NOT UPGRADED TO NATIVE PARTITIONING
    
    Post push fix: Disable innodb.partition-upgrade in embedded mode

commit f8fb3fff2d3b7151d6ec30fd0bdaac5ddf7e088e
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Sun Sep 6 00:47:56 2015 +0300

    Bug#21658453 ST_INTERSECTION() PRODUCES INVALID POLYGON
    
    The root cause of the bug is that the Boost.Geometry intersection algorithm does
    not take into account certain intersection points of the geometries to be
    intersected; as a result, in some cases, the rings produced by the Boost.Geometry
    intersection algorithm contain self-intersection points and do not have the correct
    topology.
    
    Fix: add a post-processing step to the Boost.Geometry intersection algorithm which
    takes care of these self intersections; as part of the post-processing step
    points may be added on the rings already computed and ring may be split into
    smaller rings that do not have self intersection points.
    
    The Boost.Geometry difference and sym_difference algorithms suffer from the same
    problem; the Boost.Geometry patch committed as part of this commit takes care of
    these problems as well.
    
    New test cases related to the bug report have been added, and previous results have
    been updated. As far as previous results are concerned, it is interesting to note
    that the previous results were invalid geometries, whereas the newly recorded ones
    correspond to valid geometries (as expected and wanted).
    
    The patch pushed as part of this commit has not yet been pushed into the
    Boost.Geometry develop branch and it is still under review. As such, it may
    undergo changes, in which case any updates will be migrated to MySQL.

commit de966b49d0f59756114aec7e514bae520004d06f
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Sat Sep 5 01:33:04 2015 +0530

    Bug#11757169: MyISAM share list scalability problems
    
    Post push patch, which fixes a valgrind error.

commit 2405334994ad0c3e5a17ec6ee312365117912384
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Sep 4 17:43:59 2015 +0200

    bug#21465626: assert/crash on dropping/adding virtual column
    
    It was a communication mismatch between sql layer and innodb.
    The following Alter_inplace_info flags are split into a flag for
    virtual columns and a flag for stored columns:
    ALTER_ADD_COLUMN, ALTER_DROP_COLUMN, ALTER_COLUMN_TYPE,
    ALTER_COLUMN_ORDER.
    With this finer-grained information, InnoDB's logic is improved:
    - more operations are in-place
    - operations which should not be in-place are better caught.
    
    Some flags from Alter_info are not needed anymore and removed:
    ALTER_STORED_GCOLUMN, ALTER_VIRTUAL_GCOLUMN ; the former was part of
    Alter_info which is intended for parser<->DDL communication; that flag
    was used for communication between different functions of the server
    in a DDL, which isn't the mission of Alter_info but of
    Alter_table_ctx; it is replaced with a new
    Alter_table_ctx::requires_generated_column_server_evaluation.
    
    HA_ALTER_STORED_GCOL was also unneeded and removed.
    
    ALTER_STORED_COLUMN_ORDER is set by a logic which ignores virtual
    columns; indeed the creation/removal of those is not affecting the
    format of rows. This allows in-place ALTER when adding/removing a
    virtual column.

commit 59cabe2ee6e9a2bf8b07c93f5fae44692294b947
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Fri Sep 4 13:04:12 2015 +0200

    Bug#21696206: ASSERTION `TRANSL->ITEM->FIXED' FAILED IN SELECT_LEX::DELETE_UNUSED_MERGED_COLUMN
    
    It turns out that the standalone PREPARE doesn't call
    apply_local_transforms from mysql_prepare_insert, in contrast to
    mysql_prepare_delete and mysql_prepare_update.
    
    This has the effect that this resolve phase operation isn't performed when
    a standalone prepared insert is performed. Now, at PS execution time, the code
    in Sql_cmd_insert::mysql_insert does call apply_local_transforms - for the
    first time.  The fact that it is the first call implies this method's call to
    fix_prepare_information hasn't been called before.
    
    This again means that the value of st_select_lex::first_execution == true when
    we first enter apply_local_transforms (during EXECUTE).
    
    Now, apply_local_transforms tests on this flag in this stanza:
    
      if (derived_table_count &&
          first_execution &&
          !(thd->lex->context_analysis_only & CONTEXT_ANALYSIS_ONLY_VIEW))
        delete_unused_merged_columns(&top_join_list);
    
    Since first_execution is true, the call to delete_unused_merged_columns is
    done.  This is not supposed to have happened, the unused item is no longer
    fixed, and the ASSERT happens. Lifting the ASSERT doen't help; we crash later
    in sql_authorization.cc:2274 instead.
    
    Adding the call to apply_local_transforms at the end of
    mysql_prepare_insert makes the statement work, since we now do the work of
    apply_local_transforms also at prepare time, as for DELETE and UPDATE.
    
    We only do this if mysql_prepare_insert is not called for a INSERT..SELECT
    since for those statements, apply_local_transforms *are* called during
    prepare already (from st_select_lex_unit::prepare), and calling it can cause
    things to break, e.g. one of the tests for WL-5275 in insert.test,
    cf. discussion on the bug entry.
    
    This patch also fixes Bug#21696641, so test cases have been added for
    both 21696206 and 21696641.

commit 5972b2a35fbb7753c719b707cf85f1be7e7d967f
Merge: 7febfba 89aabae
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 4 14:37:26 2015 +0200

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

commit 89aabaec6877f743bb881ec24ead0efaf074d41b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 4 13:50:12 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 7febfba41b1383e2c7c075750c45acab9675b137
Merge: a3a0733 18fbfc5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 4 17:19:15 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 18fbfc582f9490d6632c0152d51a3ad19f9660a0
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.

commit a3a07337d126fe97f977b44c8d00621d419e3d15
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Fri Sep 4 13:55:30 2015 +0300

    Bug#21689998 ST_UNION() RETURNS AN INVALID GEOMETRYCOLLECTION
    
    The bug is due to the way Boost.Geometry handles linear geometries that have
    spikes when performing the difference and intersection set operations with
    areal geometries. By default Boost.Geometry discards spikes present in linear
    geometries, which can easily result to set operation results that are invalid
    (linestring with topological dimension 0 instead of 1).
    
    Fix: deactivate the removal of spikes present in linear geometries when performing
    the difference(L,A) and intersection(L,A) set operations.
    
    Note: The Boost.Geometry related patch that is part of this commit has been submitted for
    inclusion to Boost.Geometry; it has not been reviewed yet, so it may change as part of the
    Boost.Geometry reviewing process.

commit 01443e2c4fa91bd5cb9af01a49ddd015f51a8414
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Sep 4 12:14:10 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 04b243cc2e68389099ac2800ec7ea27c2ea192a0
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Sep 4 15:05:36 2015 +0530

    BUG#20727344 PARTITIONED TABLES NOT UPGRADED TO NATIVE PARTITIONING
    
    Problem :
    ---------
    There was no clear way to do a meta-data only upgrade of partitioned
    innodb tables to make use of 5.7 native partitioning.
    
    Solution :
    ----------
    Introduced ALTER TABLE t UPGRADE PARTITIONING;
    This will upgrade from old ha_partition based partitioning to native
    partitioning if supported by the engine (such as InnoDB). This fix
    both implements UPGRADE PARTITIONING in the server and adds support
    for it in mysql_upgrade binary.
    Base RB: 8780
    
    Reviewed-by: Dmitry Lenev <dmitry.lenev@oracle.com>
    
    RB: 10063

commit f612990b422013304287956bcb7a501faf142103
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Sep 3 15:49:20 2015 +0200

    Bug#19880316 ALTER TABLE INSERTS INVALID VALUES IN GEOMETRY COLUMNS
    
    Problem: ALTER TABLE ADD/MODIFY COLUMN may create geometry columns
    with invalid data.
    
    Geometry value validation was implemented in the fix for bug #19593342
    and checks all values inserted into a geometry field with
    Field::store(). However, in some cases, ALTER TABLE bypasses
    Field::store(), and thereby also the validation.
    
    Fix: Return an error when trying to add NOT NULL geometry type
    columns, or trying to convert nullable columns of other types to NOT
    NULL geometry types, if the table is not empty. Use do_conv_blob() to
    copy geometry fields if the types aren't guaranteed to match.
    
    Since there is no default value, ALTER TABLE ADD COLUMN can only add a
    geometry column if the table is empty or the column is nullable.
    
    ALTER TABLE MODIFY COLUMN can only change a column to a geometry type
    if all values in the column can be interpreted as a valid value of
    that type.

commit 4c3e1e1667b45d2ba324f4d1b9b67496cfec83ca
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Sep 4 07:54:21 2015 +0100

    Bug#21215389: UPGRADE GOOGLE MOCK TO 1.7
    
    This patch changes the server to use Google Mock 1.7 rather
    than 1.6 for unit testing. The patch also removes now obsolete
    workarounds for 1.6 specific compilation issues.
    
    The patch also updates the behavior of the WITH_GMOCK CMake option.
    If WITH_GMOCK points to a .zip, that .zip is used if it matches
    the required Google Mock version (now 1.7). If a .zip is found,
    source_downloads in the source dir is used for unpacking.
    
    If WITH_GMOCK points to a directory, that directory is searched
    for Google Mock versions (both .zip and unpacked). If no versions
    are found, that directory is used for downloading
    (if ENABLE_DOWNLOADS is used). Afterwards, the same directory
    is used for unpacking of Google Mock. Note that releative paths
    are not supported for WITH_GMOCK.

commit 8baaeb9eb2fba74bf396331e156b3a71ceb9e638
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Sep 4 12:15:34 2015 +0530

    Bug#21347001   SEGMENTATION FAULT WHILE CREATING GENERAL
                          TABLESPACE IN DISK FULL LINUX
    
    Post push fix for test failures.

commit 03744c1856f04857311ba675baa12f036efcbf55
Merge: 80ad6ab fa12c1d
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 4 11:28:27 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fa12c1d08d458b48659947e0d996802c081fbda3
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Sep 4 11:27:48 2015 +0530

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

commit 80ad6ab742ef685778f9c4f5f3a229be16d100b8
Merge: e91582a 2ef7d39
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Sep 4 11:16:11 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2ef7d391c3973169af0ca1628ca6cf72866e092f
Merge: 45d038b abc5990
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Sep 4 11:14:13 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit abc5990be9b941fef1d277d91bffa4b1072c471d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Sep 4 11:10:57 2015 +0530

    Bug #21503595 : --QUERY-ALLOC-BLOCK-SIZE=-1125899906842624 +
                    PID_FILE CHECK LEADS TO OOM SIG 11
    
    Description:- A server started with 'query_alloc_block_size'
    option set to a certain range of negative values on a
    machine without enough memory may lead to OOM.
    
    Analysis:- Server uses 'strtoull()' to convert server
    variable values of type 'GET_UINT', 'GET_ULONG' or 'GET_ULL'
    from string to unsigned long long. According to the man
    page, 'strtoull()' function returns either the result of the
    conversion or, if there was a leading minus sign, the
    negation of the result of the conversion represented as an
    unsigned value, unless the original(nonnegated) value would
    overflow; in the latter case, strtoull() returns ULLONG_MAX
    and sets errno to ERANGE. So 'strtoull()' converts a small
    negative value to a larger postive value. For example string
    '-1125899906842624' will be converted to an unsigned value,
    '18445618173802708992' (ulonglong typecast of
    '-1125899906842624'). So a
    server started with 'query_alloc_block_size' set to
    "-1125899906842624" on a machine without enough memory will
    lead to OOM since server allocates '18445618173802708992'
    bytes(17178820608 GB) for query allocation block.
    
    Fix:- When server is started with any server variable, of
    type "GET_UINT", "GET_ULONG" or "GET_ULL", set to a negative
    value, a warning, "option xxx: value -yyy adjusted to zzz"
    is thrown and the value is adjusted to the lowest possible
    value for that variable. The dynamic server variable which
    is configured through the client exhibit the same behavior
    as fix made for variables configured during the server
    start up.

commit e91582ab7156825c9e279f4abde1a3ba40d1c24d
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Fri Sep 4 08:19:04 2015 +0300

    Bug#21621313: ASSERTION FAILED: JOIN == 0 IN SELECT_LEX::OPTIMIZE() WITH MAX_EXECUTION_TIME
    
    Subquery fails during optimization in make_join_plan() function.
    We exit from JOIN::optimize with return value TRUE but no error code
    is set in this case. Subquery optimization and execution is called from
    optimize_cond() function. This function ignores the fact that thread is killed.
    After optimize_cond() we check if error happens and since no error code is set
    we continue optimization. In this case SELECT_LEX_UNIT::is_optimized is not
    TRUE and we attempt to optimize already processed SELECT_LEX in
    SELECT_LEX::optimize which leads to assert failure.

commit 86c63ba40d581b41f161bed9d05c81ee6ccf449c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Sep 2 06:25:37 2015 +0200

    Bug#21782857 PACKAGE LIBTEST_* TEST PLUGINS IN THE COMMUNITY BUNDLE

commit a32b1bcdf0bccb4f2319fe0a4c0dd7e72009cdd5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Sep 4 07:56:24 2015 +0530

    Bug #21480999: FAILING ASSERTION: LEN <= FIXED_LEN IN
                   REC_GET_CONVERTED_SIZE_COMP_PREFIX_LOW
    
    Issue:
    -----
    When creating a temporary table, the length of the largest
    column in the union is taken into consideration. In a union
    operation on a fixed length column like CHAR and a SET
    column, the largest column's byte-length can exceed 1023.
    This creates a problem when the temporary table is created
    in Innodb, since fixed length columns are supposed to be
    smaller than 1024.
    
    SOLUTION:
    ---------
    If the number of bytes in the column can exceed the product
    of the maximum number of characters and the charset
    encoding's byte-length, use a variable length column. This
    will avoid any issue with the temporary table created in
    Innodb.

commit acee1cc26cf578e9a7575a18720bb254aa2daab7
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Wed Sep 2 10:12:34 2015 +0200

    Bug#21697002 ASSERTION `KEYS >= 0.0' FAILED
    
    The assert was hit when calling Unique::get_use_cost() to calculate
    the cost of using Unique to process 0 keys. Unique::get_use_cost()
    uses an implementation of Stirling's approximation to calculate the
    number of compare operations this would take. The correct number of
    compare operations for comparing 0 keys should be 0 but due to using
    Stirling's approximation, the estimate became -0.12. This caused the
    assert in Cost_model_table::key_compare_cost() to hit.
    
    In this case, Unique is used by the index merge code to calculate the
    cost of index merge of two indexes. The index merge code gets the rows
    estimates from the storage engine by calling
    handler::records_in_range(). Most storage engines will never return 0
    as the rows estimate even when the table is empty since there is an
    assumption that the optimizer could interpret this as the range scan
    would return 0 rows (ie. interpret it as an exact number, not an
    estimate). The new native partition engine in InnoDB can in some cases
    return 0 as the result from handler::records_in_range(). This is the
    cause for the index merge code to call Unique::get_use_cost() with 0
    in the key argument.
    
    The fix for this is to make Unique::get_use_cost() handle that it is
    called with 0 as the number of keys argument by adding a special case
    to the implementation of Stirling's approximation so that it does not
    return a negative number.

commit 4805a05e013bf5bdc86ca84149c1efa0a95c583f
Merge: dcdb34a 45d038b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Sep 3 17:53:33 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 45d038b07faf7fd2d508fff77ed9322c3a3c3f0c
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.

commit dcdb34a2d9971811762d0fba093692431c392e14
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Wed Sep 2 13:47:08 2015 +0200

    Bug#21762928 mysys_my_symlink-t fails on Mac
    
    The test fails on OS X because it fails to consider that a filename
    handed back by create_temp_file may be based on a symbolic link. In
    this case, /var -> /private/var.
    
    Adding an extra call to my_realpath before conparing with the resolved
    symbolic link created by the test itself solved the problem.

commit 0eaac18a2d626ee7c09f086241b6c3b68602e6a7
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Thu Sep 3 16:26:49 2015 +0530

    Bug#21347001 SEGMENTATION FAULT WHILE CREATING GENERAL
                 TABLESPACE IN DISK FULL LINUX
    
    Description:
    
    When innodb returns disk full error in 'CREATE TABLESPACE'
    statement, sql layer calls my_error(). Here, my_error() is
    sometimes called without any parameters even if error message
    requires one. In the error message expansion, va_arg() is called
    without required parameter.
    
    va_arg() returns an invalid pointer which leads to segmentation
    fault. Manual for va_arg() says "If there is no next argument,
    or if type is not compatible with the type of the actual next
    argument (as promoted according to the default argument promotions),
    random errors will occur.
    
    Fix:
    
    Added call for possible error messages. Changed my_error() call
    with specific error message to general error message.

commit eed0859fc493af064aedb6377dfcd3508018e80e
Merge: 4bc9414 2150f3a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 3 12:28:18 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4bc94149a00f886e31fd205800fff7a744b09c28
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Sep 3 15:46:18 2015 +0530

    Bug#17769777 : EXCESSIVE MEMORY CONSUMPTION WITH MANY AND / BETWEEN ITEMS
    Bug#17413040 : USING MANY WHERE CONDITIONS MAKES RANGE SCAN DISABLED
    
    Problem: Currently range optimizer checks for excessive memory consumption
    in a minimalistic way by checking on the MAX_SEL_ARGS created by clone().
    This leads to two problems,
    1. As there are other ways to create SEL_ARG objects and also other ways of
    memory consumption during range analysis, current check will not suffice and
    as a result range analysis can take excessive memory
    2. If a where condition is written in such a way that only clone() is invoked
    to create SEL_ARG objects, it becomes very restrictive as in the Bug#17413040.
    In this case, range optimizer might consume memory, but the plan
    generated is much more efficient than the current plan.
    
    Solution:
    In case of Bug#17769777 range optimizer requires a lot of memory and CPU
    resources because of the conditions present in the query. Currently there is
    no way to limit the range optimizer memory usage in such cases. But given that
    range optimizer uses its own memroot to allocate memory, we are putting a
    cap on this memroot's memory consumption.
    
    To keep a check on the memory consumption, a user configurable session variable
    named "range_optimizer_max_mem_size" is introduced. A value of "0" means there is
    no limit on the memory consumption.
    
    A new member 'max_capacity' is introduced in mem_root structure to limit
    the memory consumption for a mem_root.
    A new member 'allocated_size' keeps track of the memory being allocated in mem_root
    Helper functions like
    is_mem_avaiable() - to check if the requested memory can be allocated,
    set_memroot_max_capacity() - Max capacity for this memroot,
    set_memroot_error_handling() - to report error when capacity is exceeded,
    are also added.
    
    Before allocation in memroot we check if memory is available. If yes proceed
    else report error is error_for_capacity_exceeded is set. Otherwise return NULL.
    
    All the range optimizer's allocations are now made only in range_optimizer's
    memroot. Earlier SEL_ARG and SEL_TREE allocations were not done consistently
    in memroot.
    
    Error Handling for Out of memory caused due to exceeding max_capacity:
    
    To handle such cases a new error code is added. For the memroot that has
    max_capacity set, error_for_capacity_exceeded needs to be set for alloc_root
    to report error when capacity is exceeded. Else it will return NULL.
    
    For range optimizer, as the query should not be aborted when this
    error is thrown, instead a warning should be given to user about it, a
    Internal_error_handler is introduced. This handler reduces the error to a
    warning and is given out after the query execution is complete.

commit dda4502ab9721493eeef86f333317e9c8d8519f1
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu Sep 3 17:19:16 2015 +0800

    Bug#21327888 POLYGONS WITH OPEN RINGS ARE AUTO-CLOSED
    
    Post-push fix: update a test file to close polygon rings in its test cases.

commit 2150f3a4ef75293c62347cc9c5d15ad89a9d95a8
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Sep 3 07:52:21 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.

commit b1c0b4499dc2496f06dfeba389258f233f045bbf
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Sep 3 10:42:59 2015 +0530

    Bug#21485997: WRONG INSTRUMENTATION OF CLASS GTID_SET
    
    Analysis:
    ========
    At runtime, some GTID_SET objects are instrumented with a
    performance schema mutex key of 0, which is incorrect (not
    instrumented).
    
    The root cause is the declaration of constructors, like:
    
    Gtid_set(Sid_map *sid_map, Checkable_rwlock *sid_lock= NULL
    #ifdef HAVE_PSI_INTERFACE
            ,PSI_mutex_key free_intervals_mutex_key= 0
    #endif
            );
    
    The issue is giving a default value of 0 when the mutex key
    is not passed. This allows some caller to not pass any key,
    causing a bug.
    
    
    Fix:
    ===
    Moved the PSI_mutex_key from Gtid_state class to Gtid_set
    class.

commit e47eb2f5827222825735671f9fa9858217479407
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Sep 3 10:13:43 2015 +0530

    Bug#21516392 : PREVENT ACCOUNT MANAGEMENT STATEMENTS FROM INJECTING ACCOUNT ATTRIBUTES
    Bug#20535561 : CREATE USER IN BINLOG WITH LOG_BACKWARD_COMPATIBLE_USER_DEFINITIONS ON
    
    Description: 1> When CREATE USER query is logged in binlog, in case of --log_backward_comoatible_user_definition,
                    they are not logged with "IDENTIFIED BY PASSWORD <hash>". Instead, hash of hash is generated.
                 2> In case of ALTER USER, additional attributes are introduced as a part of query rewrite.
    
    Solution: 1> Renamed log-backward-compatible-user-definitions to log-builtin-as-identified-by-password
              2> If above mentioned variable is set, CREATE USER statement involving builtin authentication
                 plugins will be rewritten to include "IDENTIFIED BY PASSWORD" clause. SET PASSWORD will also
                 be rewritten as SET PASSWORD and not ALTER USER ... IDENTIFIED WITH ... AS ...
              3> Corrected problem of appending PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK in case of CREATE/ALTER USER
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Bharathy Satish <bharathy.x.satish@oracle.com>

commit f6dd56d31d718233a4918d2c2db1e79830d4199a
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Sep 2 19:47:25 2015 +0200

    Bug#20519832 TRUNCATED SQL_TEXT VALUES ARE NOT SUFFIXED WITH ...
    
    Re-recorded perfschema.start_server_low_digest_sql_length to reflect truncated SQL queries.

commit c99ef727ca000d6b647b292be41c4e30f954ffac
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 18:23:13 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Post-push cleanup.
    
    Test changes recorded in the following files:
    
    innodb.optimizer_temporary_table
    innodb.innodb_mysql
    innodb.innodb_bug30423
    main.wl6711_heap_to_disk
    main.innodb_explain_json_non_select_all
    main.innodb_explain_json_non_select_none
    main.innodb_explain_non_select_all
    main.innodb_explain_non_select_none

commit cb75117609a9fa1f8f9d528d774537058f0b7991
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Sep 2 16:08:48 2015 +0200

    BUG#21755890: DO NOT ALLOCATE MEMORY ON GR PLUGIN P_S INTERFACE IMPLEMENTATION
    
    On the previous interface between Group Replication plugin and
    Performance Tables there was memory allocation which was being
    passed to server side. This memory allocation should be avoided,
    also it can cause problems when it is released from a different
    entity that allocated it.
    
    To avoid that issues, now the interface uses callbacks that are
    invoked by plugin to send information to Performance Schema tables,
    or other callers. The callback implementations are the ones that
    are responsible to allocate new memory, if needed.
    
    We also changed the definition of
    performance_schema.replication_group_members table member_state
    column to be a arbitrary string, being now the plugin the full
    responsible of its values. The values continue to be: ONLINE,
    OFFLINE and RECOVERING.

commit 8cdfccf19e906b8643cdfc16ac243f61e063b250
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 15:16:02 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Patch # 5 of 5.
    
    Various cleanup actions
    
    - resolve_const_item() needed error return due to calling val_xxx()
      functions and constructors.
    
    - Item_equal::compare_const() needed THD argument and error return due
      to calling constructors, set_cmp_func() and val_int().
    
    - Item_equal::add(), Item_equal::merge() and Item_equal::update_const() are
      calling Item_equal::compare_const() and needed the same.
    
    - update_const_equal_items() needed a THD argument and error return due to
      the above.
    
    - check_simple_equality() needed a THD argument since it calls
      Item_equal::merge() and ::add().
    
    - Return value after an unsuccessful call to ::set_cmp_func() was wrong.
    
    - Several more error returns were added after call to ::set_cmp_func().
    
    - Safety check (thd->is_error()) before returning from optimize_cond().
    
    - Table_trigger_dispatcher::mark_fields() could cause errors, but did not
      signal it. This might cause us to call optimize_cond() with an error
      condition in mysql_update().

commit 1d6741c26eba7e2080137885ca479a783e15c109
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 14:53:17 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Patch # 4 of 5
    
    Currently, optimize_cond() builds multiple equalities for all WHERE
    conditions and all join conditions. But there is one omission: If
    WHERE condition is NULL, then no multiple equalities are built for
    any join conditions.
    
    This patch fixes that problem by the following logic:
    - Invoke optimize_cond() when we have a WHERE condition or an outer join
      (an outer join usually implies at least one join condition).
    - Inside optimize_cond(), call build_equal_items() whenever there is a
      join list (ie this is not called for HAVING).
    - build_equal_items() then inspects the WHERE clause and the various
      join conditions, and analyzes any conditions that are not NULL.
    
    There are several test changes due to this patch. Most changes just
    reverse the order that operands are tested, this is due to the nature
    of multiple equality processing. The more interesting test changes are
    documented below.
    
    Test change in main.subquery_sj_all:
    
     select * from t1 left join t2 on (t2.A= t1.A And t2.A in (select pk from t10));
    
    Due to multiple equality analysis, a table with REF access is shifted up
    so that it can be evaluated before a table where table scan is applied.
    
     SELECT *
     FROM ot1 LEFT JOIN ot2 ON ot1.a=ot2.a AND
     (ot1.a, ot2.a) IN (SELECT it1.a, it2.a
    
    Due to multiple equality analysis, a join condition can be evaluated earlier
    than it used to be.
    
    Test change in main.derived:
    
      SELECT * FROM (SELECT v1.a
                     FROM v1 LEFT OUTER JOIN v2 ON v1.a = v2.b
                     WHERE v1.a = 3
                     GROUP BY v1.a) p, t q
      WHERE q.id BETWEEN 1 AND 10;
    
    Due to the multiple equality analysis, a "func" ref is changed to a "const",
    which is slightly simpler to evaluate.
    
    Test change in main.join_nested:
    
    Two queries have a WHERE clause moved from third to second table in
    join order.
    
    Test change in main.join_outer:
    
    Comparison against column is replaced with comparison against literal due
    to multiple equality analysis.

commit 556fbc337b05418573fc1ffe4ca136ec32711733
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 14:36:22 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Patch # 3 of 5.
    
    Clean up a minor issue in JOIN::optimize(): Print "Zero limit"
    intead of "Impossible WHERE" when optimizing a query with LIMIT 0.
    Also check LIMIT 0 before optimizing conditions.

commit af768774092119978bc3cfc1479affdb7ba75589
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 14:22:15 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Patch # 2 of 5.
    
    This patch refactors the interfaces for optimize_cond() and
    related functions. All functions get a THD argument and a bool return
    value that indicates success or error. These functions are refactored:
    
    - optimize_cond()
    - check_simple_equality()
    - check_row_equality()
    - check_equality()
    - build_equal_items()
    - build_equal_items_for_cond()
    - change_cond_ref_to_const()
    - propagate_cond_constants()
    
    In addition, these changes are done:
    
    - All errors are processed correctly
    - C casts are replaced with down_cast<>
    
    In addition, the logic of optimize_cond() is slightly changed:
    
    - For HAVING clause, it is only called when HAVING != NULL.
    - For WHERE clause, it is only called when WHERE != NULL or
      there is a least one outer join (this is called after simplify_joins()
      so if we have join nests, we know at least one join condition exists).
    
    This is a preparation for a small optimization, which will come in patch#4.
    
    Item_hex_string::clone_item() was implemented.

commit 35df9edf7108fc35b1a9b2b8a98e2790a697aaab
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 14:07:30 2015 +0200

    Bug#21067109: Assert 'join == __NULL' failed in ::optimize()
    
    Patch # 1 of 5.
    
    This is an issue with missing propagation of error values.
    A const subquery is evaluated when removing const items in
    remove_eq_conds(). The subquery fails because it returns more than
    one row. This error code is poorly handled and causes the optimizer
    to attempt to optimize a subquery a second time, which causes
    this assert.
    
    This patch changes interfaces for eval_const_cond(), remove_eq_conds()
    and internal_remove_eq_conds(). The interfaces encourage better error
    propagation but requires slightly more code to be written.

commit 151172387044545d8c485c5e80b805806e7a71e7
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Sep 2 15:41:35 2015 +0200

    BUG#21755699: GR+XA: ASSERT `M_TRANSACTION_CTX.M_SIDNO == 0 && M_TRANSACTION_CTX.M_GNO == 0'
    
    XA transactions were hitting a assert condition on XA COMMIT, this
    was happening because despite XA transaction is composed by two
    transactions: XA PREPARE; XA COMMIT/ROLLBACK; for engines and binary
    log. The internal transaction state is not reset between PREPARE and
    COMMIT/ROLLBACK, what was causing the assert on Rpl_transaction_ctx
    to be triggered.
    A second issue was found, XA ROLLBACK was not being properly
    intercepted.
    
    This is now fixed by removing the assert, since we may have two
    consecutive calls of method
    Rpl_transaction_ctx::set_rpl_transaction_ctx() for the same
    transaction when it is XA.
    Also XA ROLLBACK is properly intercepted on this patch.

commit bb138e6f13d81f35050379a2a0986b6fafa395b8
Merge: 70601e3 f2bed1e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Sep 2 15:07:12 2015 +0200

    NULL Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	configure.cmake
    	unittest/gunit/CMakeLists.txt
    	unittest/gunit/stdcxx-t.cc

commit f2bed1e8933b611c76573ca84b055a531f797e3a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Sep 1 16:33:44 2015 +0200

    Bug#21185883 MISSING LIBSTLPORT.SO LINK IN SOLARISSTUDIO 12.4 VERSION
    
    This is a (partial) backport of
      Bug#16555106 FIX BROKEN BUILD WITH SOLARIS/GCC 64BIT MODE
      Bug#17826757 CMAKE SUPPORT FOR GCC ON SOLARIS
      Bug#17954277 BUILD FAILS ON SOLARIS IF NO STL_LIBRARY_NAME FOUND
      Bug#19010286 BUILD WITH SUN C++ 5.13 SUNOS_SPARC BETA
    
    This adds support for building with Solaris Studio 5.13
    
    When building with stlport4 we install the runtime libraries,
    since these are part of the Sun Studio, and not part of Solaris by defualt.
    When building with stdcxx4, we get dependencies on libstdcxx4.so
    which is part of Solaris by default.
    
    The only new code is:
     - an extra -R'\$ORIGIN/..' in CMAKE_SHARED_LIBRARY_C_FLAGS
       so that plugins are able to find the stlport C++ library
     - new compile flags when cmake is invoked with -DSUNPRO_CXX_LIBRARY=stdcxx4
    
    Additionally:
     - disable building of unittest/gunit/stdcxx, it was exeperimental,
       and un-used anyways.
     - #include <ios> in validate_password.cc

commit 70601e3dadb3fb2eb1a5be0b42597042d3535aa5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 24 11:02:56 2015 +0200

    Bug#21611270 ASSERTION IN FILESORT::MAKE_SORTORDER()
    
    Problem: make_sortorder() asserts in debug mode: if we are
    ordering by an Item_ref, it must be an Item_direct_view_ref
    
    In 5.7, explain for the offending query (see testcase) is
    id      select_type        table   ... Extra
    1       PRIMARY            t       ... Using temporary; Using filesort
    2       DEPENDENT SUBQUERY g       ... Using index; Using filesort
    So we are sorting table 'g' rather than a derived/temporary table.
    And 'a' is a reference to the outer table.
    
    Solution: Relax the debug assert to allow 'Item_ref' objects.

commit 71fae23415ccd6f2b2fba7bee4e937343b755af5
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 11:19:14 2015 +0200

    Bug#21624851: Assertion failed: is_prepared && !is_optimized()
    
    Followup patch, realizing that we do not need two interfaces for
    replacement of rollback place. Only replace_rollback_place_for_value()
    is needed, and we also see that the "value" is always the contents of
    the "place".
    
    - THD::replace_rollback_place_for_ref() is removed.
    
    - THD::replace_rollback_place_for_value() is renamed to
      replace_rollback_place(), since the specialization is no longer needed.
    
    - First argument is removed, value is instead taken from the contents
      of "new_place".

commit 1ba367b72389759cfb4ec999d7fb59b66c40ae79
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Sep 2 11:18:10 2015 +0200

    Bug#21624851: Assertion failed: is_prepared && !is_optimized()
    
    This problem occurs on execution of a prepared statement.
    The root cause is that a call to THD::replace_rollback_place_for_ref()
    in SELECT_LEX::simplify_joins() records an invalid rollback "place"
    for an item representing a predicate: An AND node is built from
    an old AND node and a join condition. A rollback place is recorded
    for one of the conditions of the old AND node. But when the rollback
    is carried out, the "place" is pointing to the old AND node, which is
    then replaced by an old Item_field pointer. What should happen is that
    when the predicate is moved to the new AND node, we should track the
    "place" inside the new AND node instead of the old one.
    And this is what THD::replace_rollback_place_for_value() does.
    
    The solution is thus to call THD::replace_rollback_place_for_ref() for
    all arguments of the AND node.
    
    It was also detected a wrong call to THD::change_item_tree() within
    check option processing, which could be replaced with simple
    assignment.
    
    Test cases for several duplicate bug reports have been added:
    21624851, 21626495, 21624331, 21626722, 21626177.

commit 3bac1c76e1348b6688f7c023f5c6bc2cb513dbd5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Sep 1 15:06:17 2015 +0200

    BUG#21669500 CONFUSING ERROR FOR SHOW COMMAND WITH SHOW_COMPATIBILITY OFF
      AND PFS COMPILED OUT
    
    Before this fix, when building a server without the performance schema,
    commands like SHOW STATUS would fail with errors like:
    
    mysql> show status;
    ERROR 1146 (42S02): Table 'performance_schema.session_status' doesn't exist
    
    The reason for the error is that SHOW STATUS is rewritten internally
    as a SELECT ... FROM performance_schema.session_status,
    which fails when the performance schema storage engine is missing.
    
    In MySQL 5.7, compiling without the performance schema is no longer
    supported, because tables like:
    - table performance_schema.host_cache
    - the replication tables performance_schema.replication_*
    - the status tables like performance_schema.session_status
    - the system variables tables like performance_schema.session_variables
    are exposed, which rely on the performance schema -- storage engine --,
    even when the performance schema -- instrumentation -- is not used.
    
    With this fix, the performance schema storage engine itself is now mandatory.
    
    Compiling:
    - the storage engine
    - the various instrumentation calls
    is now decoupled, as the former is needed independently of the later.
    
    To build a server without the -- instrumentation --,
    which is the main motivation to build without the performance schema in
    general, the following cmake options can be used instead of
    option -DWITH_PERFSCHEMA_STORAGE_ENGINE=0
    - DISABLE_PSI_THREAD
    - DISABLE_PSI_MUTEX
    - DISABLE_PSI_RWLOCK
    - DISABLE_PSI_COND
    - DISABLE_PSI_FILE
    - DISABLE_PSI_TABLE
    - DISABLE_PSI_SOCKET
    - DISABLE_PSI_STAGE
    - DISABLE_PSI_STATEMENT
    - DISABLE_PSI_SP
    - DISABLE_PSI_PS
    - DISABLE_PSI_IDLE
    - DISABLE_PSI_STATEMENT_DIGEST
    - DISABLE_PSI_METADATA
    - DISABLE_PSI_MEMORY
    - DISABLE_PSI_TRANSACTION

commit 37841eacd6bb685d73007e31ab7e46e6c5396b6e
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon Aug 31 16:26:44 2015 +0800

    Bug#21663612 AUTO INCREMENT COLUMN VALUES ARE NOT VISIBLE IN A TABLE CONTAINING SPATIAL INDEX
    
    Issue:
    When the primary key columns are the only target columns to return in a select
    statement, and the storage engine storing the table has the needed capability,
    MySQL optimizer will do a full index scan even if the index is a spatial
    index. However, Innodb spatial index doesn't support full index scan, and it returns
    HA_ERR_KEY_NOT_FOUND in this case so no result was returned.
    
    Fix:
    Don't consider spatial indexes when choosing a target to do full index scan.

commit d8e1a0a50609662f91a613a065e60bebfdbe32fc
Merge: 656fe3f 18aebfc
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Sep 2 08:52:42 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 18aebfced3104d0d072c57425985094efc8892f3
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Wed Sep 2 08:50:23 2015 +0530

    Bug #19893908	: HANDLE_FATAL_SIGNAL (SIG=6) IN FILESORT | SQL/FILESORT.CC:415
    
    Problem:
    While doing filesort for the update query, optimizer tries to access a
    variable having a stale pointer and exits.
    
    Solution:
    In table::init() call, reginfo->join_tab should be initialized to NULL. Else
    there is a chance that it will have a stale pointer stored as part of the
    previous query execution.
    
    Fixed in 5.7 as part of WL#6042 "split JOIN_TAB into optimizer and executor part"
    
    The problem does not exist in 5.5 as the plans and the code path taken has
    changed in 5.6. The table->reginfo.join_tab gets set to NULL in
    JOIN_TAB::cleanup. But this is done only when JOIN_TAB is not NULL. While in
    5.5, this does not get set to NULL before JOIN_TAB::cleanup, in 5.6 it does
    happen. Hence the crash later. The call to
    subselect_single_select_engine::prepare() before or after JOIN::cleanup makes
    the difference.

commit 656fe3fa5bb3b50a9ed3b565484b27a357a688c2
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Wed Sep 2 01:55:55 2015 +0200

    Revert "Bug#21609606 BINLOG-FORMAT AND BINLOG_FORMAT SHOW DIFFERENT BEHAVIOR WHEN PASSED AS CLI OPTION"
    
    This reverts commit d1854d1b87754865b473dbf563713cef1a20d2d7.

commit 7ba681cb8e08d0fbfdf21df080a42ce3f7270e8c
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 1 15:40:40 2015 -0500

    Bug#20519832 TRUNCATED SQL_TEXT VALUES ARE NOT SUFFIXED WITH ...
    
    Suffix truncated sql text with '...', ensure mb strings are well-formed before display.

commit e576d72f71207174a4760aafec281f712c20d3e2
Merge: 4297e87 ee429c5
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 1 21:02:42 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	include/mysql/psi/psi.h
    	include/mysql/psi/psi_abi_v1.h.pp
    	storage/perfschema/pfs.cc
    	storage/perfschema/pfs_events_statements.h
    	storage/perfschema/table_events_statements.cc
    	storage/perfschema/table_events_statements.h

commit ee429c58f2ec2ca4a864b242cd9e0819b0759da7
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue Sep 1 20:07:07 2015 +0200

    Bug#20519832 TRUNCATED SQL_TEXT VALUES ARE NOT SUFFIXED WITH ...
    
    Suffix truncated sql text with '...', ensure mb strings are well-formed before display.

commit 4297e8714763cd5f3b9649a3f67dfaaed9fe27fe
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Aug 26 14:53:56 2015 +0200

    Bug#21628161: CRASH/MEMORY CORRUPTION ADDING INDEXES TO VIRTUAL COLUMN
    Bug#21688115: VIRTUAL COLUMN COMPUTATION SAVE_IN_FIELD() DID NOT
                  RETURN TRUE WITH DIVIDE 0
    
    When adding an index on a virtual generated column, the value of the
    virtual column needs to be computed so that it can be stored in the
    index. If an error or a warning was raised while computing the value,
    bad things could happen, such as crashes, assertions or insertion of
    corrupt data into the index.
    
    Bug#21671248 added a temporary workaround for these issues. This patch
    mainly cleans up that workaround, and adds tests to verify that the
    issues are fixed.
    
    The problem is caused by confusing return values from
    Item::save_in_field(), which is used by my_eval_gcolumn_expr_helper()
    to populate the data structures that hold the generated values. The
    code looked like this before the workaround in Bug#21671248:
    
          res= field->gcol_info->expr_item->save_in_field(field, 0);
          DBUG_ASSERT(!thd->is_error() || res);
    
          if (res)
            break;
    
    There are two issues:
    
    - In some cases save_in_field() returns non-zero (different from
      TYPE_OK) even though no error has happened. This could for example
      happen if the conversion of the generated value to the target type
      raises a warning, such as truncation or out-of-range. This makes the
      computation of the generated values stop, even though no error has
      actually occurred, which causes problems further down the road
      (Bug#21628161). Symptoms before Bug#21671248 were crashes or wrong
      results because the index creation went on using the not fully
      computed values.
    
    - In some cases save_in_field() returns TYPE_OK (zero), but
      thd->is_error() returns true and indicates that something has gone
      wrong. This causes an assertion failure (Bug#21688115). (The
      assertion was disabled temporarily by Bug#21671248.)
    
    The first issue, where Item::save_in_field() returns non-zero even if
    no error has happened, seems to be per design. The function returns a
    value of type type_conversion_status, which is an enum that has
    non-zero status codes for warnings and notes as well as errors. The
    patch fixes this by additionally checking thd->is_error() if
    save_in_field() returns non-zero. If thd->is_error() returns false, we
    continue with the computation of the virtual column.
    
    The second issue, where Item::save_in_field() returns TYPE_OK even if
    an error has happened, could also be fixed by checking thd->is_error()
    in my_eval_gcolumn_expr_helper(). However, save_in_field() already
    checks is_error() before it returns and adjusts the return value
    accordingly. It's just that it doesn't check it on every return point.
    The patch fixes this by reorganizing Item::save_in_field() so that it
    checks is_error() regardless of how it returns. It does this by
    renaming Item::save_in_field() and all its overrides to
    save_in_field_inner(), and adding a new non-virtual
    Item::save_in_field() function that calls save_in_field_inner() and
    then checks THD::is_error() before returning. This ensures that the
    error handling in save_in_field() is the same in all subclasses of
    Item.

commit b76aefaeee7e20762d2f81a86a2c379638f3f2df
Author: David Zhao <david.zhao@oracle.com>
Date:   Tue Sep 1 19:55:14 2015 +0800

    Bug#21614368 CRASH IN GEOMETRY::CONSTRUCT WITH BLOB INPUT
    
    Post push fix: fix rounding errors of ST_Buffer which happens only on
    FreeBSD.

commit 121743f6002ec9204df52488b23f8727ded9ec34
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue Sep 1 10:29:03 2015 +0200

    Increased time to wait until file will be written to stabilze tests for slow machines in PB2

commit 97e4fb1353d26cf226824ad6850b2fa2bc5a8975
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Sep 1 08:13:40 2015 +0200

    Bug#21639159 SOM TYPOES IN --HELP --VERBOSE OUTPOOT...
    
    Follow-up fix, missing end-of-line space on Windows.

commit 108400744f5e3d08deeda82194de518bd26df707
Merge: 0ee36d4 2d9d358
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 09:02:19 2015 +0200

    Empty version change upmerge

commit 2d9d358f8512bea9f82fc4f1c96b857681bf8832
Merge: f64e646 cc869f0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 08:59:40 2015 +0200

    Empty version change upmerge

commit cc869f0c06d3b1389673a5c860f56519d3ffc5bd
Merge: 282ed17 640ad34
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 08:57:04 2015 +0200

    Empty version change upmerge

commit 640ad3443cb9bc82a47b8c3e23c403566134aad1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 08:53:15 2015 +0200

    Raise version number after tagging 5.1.77

commit 0ee36d4737dbe289a9221475a08f5e44674e8dec
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Tue Sep 1 07:43:17 2015 +0200

    Bug#21628840: CRASH/MEMORY CORRUPTION ADDING INDEXES TO
                  VIRTUAL COLUMN (II)
    
    When an index is added on a virtual generated column, the
    algorithm building the index would read the values needed to
    generate the value(s). If the depended-upon column was
    stored, generated or not, only the values for the column
    would be read. But the callback function that calculates
    virtual generated column values would try to recalculate
    even stored generated columns, despite the fact that the
    algorithm didn't read the values.
    
    Fixed by not regenerating stored values in the callback.

commit d9df4ff0df596ff32bc11566dd2235eddee5f9a7
Merge: f2a590c f64e646
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 06:20:35 2015 +0200

    Empty version change upmerge

commit f64e646a696ca668683a21ba3d741b6d55c2c5b0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Sep 1 06:17:51 2015 +0200

    Raise version number after cloning 5.6.27

commit f2a590ce09c8cd48ccd798d0420b2ede23649c3f
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon Aug 31 16:42:18 2015 +0800

    Bug#21614368 CRASH IN GEOMETRY::CONSTRUCT WITH BLOB INPUT
    
    Issue: The ST_ASWKB() function was given a Field_blob object to read GEOMETRY
    data from, but the row buffer doesn't contain valid row data, for blob fields
    that means the blob buffer pointer&length stored in the row buffer is invalid,
    so when ST_ASWKB() tries to access the GEOMETRY data at this invalid address,
    segment fault occurs.
    
    Fix: GEOMETRY data is never convertible to date[time] data or any other type of
    data, we know this for sure, so don't try to detect whether it can be
    convertible in the first place so above issue is avoided.
    
    Doing so works around the above issue but
    doesn't directly solve it --- to solve it we would need to maintain a state in
    TABLE class indicating whether the row buffer has valid row data or not, but
    that's beyond this bug fix I would think.
    
    Also, make the field type of ST_ASWKB() as GEOMETRY. Although the returned blob
    is actually a WKB byte string rather than a GEOMETRY byte string, the
    difference is only relevant to GIS functions, which do not rely on the field
    type anyway --- when we access any blob data we check its content&structure to
    make sure it is valid GEOMETRY data, so GIS functions won't be fooled by the
    field type. To the rest of MySQL where the field type really is concerned,
    WKB data is also geometry data which can't be converted to any other type of
    data either, and is not applicable anywhere the GEOMETRY data isn't applicable.
    
    To distinguish functions producing WKB data from those producing GEOMETRY data,
    add a SP_WKB_FUNC function type and let ST_ASWKB() be of such a function type.

commit b95073b1050ecd8e052de93ce07a61464b1db499
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Tue Sep 1 05:48:25 2015 +0530

    Bug#13901905   CRASH: INSERT ON DUPLICATE KEY UPDATE
                   READS FREED MEMORY
    
    Post push fix.
    Test case failed in embedded mode with result content mismatch.
    Reason is that test case created files to read via LOAD_FILE().
    These file were created using perl script. In embedded mode,
    server was unable to read the file. Fixed test case to create
    and read file using SELECT ... INTO OUTFILE and LOAD_FILE().
    Updated result file.

commit 7071dcde0ee09d26f8864eea63c6e850b5683cdc
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Aug 31 15:46:57 2015 +0200

    Bug#21205577 ASSERTION FAILED: (INT)IDX >= 0 && IDX < PARENT_JOIN->TABLES
    
    We have
    SELECT /* A */
      (SELECT 1 IN (SELECT 1 FROM x1))
      IN  /* B */
      (
        SELECT 1 FROM t2
        WHERE a IN (SELECT 4 FROM x2)
      )
    FROM DUAL;
    x2 gets semi-join merged, so the inner subquery has two tables t2
    and x2. The IN marked with (B) is changed to EXISTS, so
    1=(SELECT 1 IN (SELECT 1 FROM x1))
    is attached to t2 or x2; it is informed of that fact by
    inform_item_in_cond_of_tab(number of t2 or x2, >0).
    Then 1 IN (SELECT 1 FROM x1) needs to decide if it will use
    subquery materialization, for that it accesses its outer
    SELECT, to find the table of number in_cond_of_tab:
    this should be the SELECT of t2/x2, but outer_select()
    is the one marked (A) which is table-less. The table can't be found,
    an assert fails.
    
    Fix: in_cond_of_tab was set wrongly. See comment in item_subselect.cc.
    Don't set it if JOIN_TAB is from an inner query block.

commit 8a6da51f934a0d839e03c55d1e81648bdf405b25
Merge: 3728e3c 56c2c3d
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Mon Aug 31 20:46:43 2015 +0200

    Empty version change upmerge

commit 56c2c3d4ecdab0b2ab1bab8abd01c5de509e6550
Merge: 928440d 282ed17
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Mon Aug 31 20:43:30 2015 +0200

    Empty version change upmerge

commit 282ed178bb3e456cbdbc6b98032c36ccaa867f8f
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Mon Aug 31 20:36:03 2015 +0200

    Raise version number after cloning 5.5.46

commit 3728e3c01fc2165ff81aa3b1125c7ce775bdb72e
Author: Andrey Hristov <andrey.hristov@oracle.com>
Date:   Wed Jul 22 12:50:34 2015 +0200

    WL#7947 Service for server sessions
    
    This WL will provide means for a daemon and non-daemon plugins to open an
    session allowing them running various server commands, SQL queries among them.
    
    WL#8177 SQL service API
    
    Goal of this WL is to allow to run SQL queries and get the result in the current
    thread or obtained from Session service
    
    WL#8733 Session information service
    
    Get/set more information about session, e.g peer (client) port,
    current database, etc.

commit a350ed2a42e4dd2e335c555687c153f503cd509c
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Aug 31 12:42:55 2015 +0200

    Bug#21619634 ACCESS OF DEALLOCATED ITEM_OUTER_REF CAUSES CRASH: PREPARED STMT
    
    An Item_outer_ref is substituted for the original Item_field as part of
    binding.  This is registered for rollback with a view to separate prepared
    statements via the usual mechanism: THD::change_item_tree, in
    Item_field::fix_outer_field, ca line 5548:
    
      if (!(rf= new Item_outer_ref(context, this))) ..
      thd->change_item_tree(reference, rf);
    
    A semi-join tranformation produces a permanent node, Item_func_eq ca line 2118
    in sql_resolver.cc, which takes as its left item the transient Item_outer_ref:
    
      new Item_func_eq(in_subq_pred->left_expr->element_index(i),
                       subq_select->ref_pointer_array[i]);
    
    However, this is not registered for rollback, and when we come to execution,
    this pointer points to garbage, hence the crash.
    
    The patch registers this location (in Item_func_eq) as the one which needs the
    rollback, instead of the original location, which has now been made irrelevant
    by the transformation. This lets re-binding at execute time proceed without
    seeing the transient object, and all is well.
    
    A new method,
    
      replace_rollback_place_for_value
    
    is introduced for this purpose. A related method, change_item_tree_place has
    been renamed to
    
       replace_rollback_place_for_ref
    
    to show the relationship between them.
    
    We also removed two redundant arguments for nocheck_register_item_tree_change
    and added new constructor to Item_change_record.
    
    The repro test has been added to subquery_sj.inc.

commit c29a5eb6275191ff8ecefbce116fbe9e1b420074
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 31 09:55:26 2015 +0200

    Bug#21639159 SOM TYPOES IN --HELP --VERBOSE OUTPOOT...

commit 6440cdd8cab8a37aaac3e5c34cc4f5613d60977d
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Mon Aug 31 14:03:21 2015 +0300

    Bug#21658405 ST_UNION() RETURNS AN INVALID POLYGON
    
    The root cause of the bug is that the Boost.Geometry union algorithm does
    not take into account certain intersection points of the geometries to be
    unioned; as a result, in some cases, the rings produced by the Boost.Geometry
    union algorithm contain self-intersection points and do not have the correct
    topology.
    
    Fix: add a post-processing step to the Boost.Geometry union algorithm which
    takes care of these self intersections; as part of the post-processing step
    points may be added on the rings already computed and ring may be split into
    smaller rings that do not have self intersection points.
    
    The patch pushed as part of this commit has not yet been pushed into the
    Boost.Geometry develop branch and it is still under review. As such, it may
    undergo changes, in which case any updates will be migrated to MySQL.
    
    This is a follow up on commits 23164e58a02aa01ef5327c9351b6b9abb5adacfb and
    1e2be970a5d5e29a908032afb10cfe91b48ac69e; the first one was responsible for
    committing the original patch; that patch was responsible for breaking the MySQL
    build on Linux and also did not handle some test result cases; the second commit
    was simply a revert of the first one by Erlend Dahl.

commit f5ef53a668b97c0761f284f2504440cab8b60ac4
Merge: 1e2be97 928440d
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Aug 31 15:23:03 2015 +0530

    Revert "Bug #20201006 spamming show processlist prevents old"
    
    This reverts commit 883e25e945f304f05130ee541f7962004ed9aa90.

commit 928440d4bb1c0f436dd4a23bc95fd7d416a3350b
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Aug 31 15:08:59 2015 +0530

    Revert "Bug #20201006 spamming show processlist prevents old"
    
    This reverts commit 883e25e945f304f05130ee541f7962004ed9aa90.

commit 1e2be970a5d5e29a908032afb10cfe91b48ac69e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Aug 31 06:16:15 2015 +0200

    Revert "Bug#21658405 ST_UNION() RETURNS AN INVALID POLYGON"
    
    This reverts commit 23164e58a02aa01ef5327c9351b6b9abb5adacfb.

commit 23164e58a02aa01ef5327c9351b6b9abb5adacfb
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Mon Aug 31 02:37:09 2015 +0300

    Bug#21658405 ST_UNION() RETURNS AN INVALID POLYGON
    
    The root cause of the bug is that the Boost.Geometry union algorithm does
    not take into account certain intersection points of the geometries to be
    unioned; as a result, in some cases, the rings produced by the Boost.Geometry
    union algorithm contain self-intersection points and do not have the correct
    topology.
    
    Fix: add a post-processing step to the Boost.Geometry union algorithm which
    takes care of these self intersections; as part of the post-processing step
    points may be added on the rings already computed and ring may be split into
    smaller rings that do not have self intersection points.
    
    The patch pushed as part of this commit has not yet been pushed into the
    Boost.Geometry develop branch and it is still under review. As such, it may
    undergo changes, in which case any updates will be migrated to MySQL.

commit 4c4fd9db90a98e65d4bfb4c16539b3d95de1f8f7
Author: David Zhao <david.zhao@oracle.com>
Date:   Sun Aug 30 13:52:43 2015 +0800

    Bug#21652012 GIS FUNCTIONS RETURN ERROR WITH VALID INPUT WHEN USED IN SUBQUERY WITH NOT IN
    
    Issue:
    The simplify_multi_geometry() simplifies a GEOMETRY buffer by directly modifying
    the byte string, however, this is not OK if the byte string is used again, as in
    the test cases of this bug report. The reason is that the provider of the
    GEOMETRY buffer assumes it intact(including its content&length).
    
    Fix:
    Make a copy of the GEOMETRY byte string before actually simplifying it, and
    use this copy instead. The copy is only made if absolutely necessary.

commit ed6ac48afd9da07bcbdd497b5e72c1540c173a11
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Sun Aug 30 13:26:08 2015 +0530

    Bug#21143276   Hanging due to async_rollback
    
    Problem:
    =======
    High Priority transaction waits for victim transaction to exit from InnoDB.
    Victim transaction entered InnoDB and waits for asynchronous rollback to
    complete. It leads to hanging state.
    
    If in_depth > 1 then we should allow the thread to continue. Problem arises
    because in_depth variable  can be updated by two threads at the same time
    (Async rollback killer thread enter InnoDB on behalf of victim transaction
    and Victim transaction tries to enter InnoDB on its own).
    
    Solution:
    ========
    Don't track the async rollback killer thread to enter into the InnoDB.
    Basically it is way to avoid to enter the InnoDB for the same transaction
    by multiple threads.
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Bin Su <bin.x.su@oracle.com>
    RB: 9876

commit f5544e88435be0a27ab988f905338f816830d1a1
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Sun Aug 30 11:48:00 2015 +0530

    Bug #18698556: UPDATE ORDER BY DOES A FILESORT IF UPDATING IN THE INDEX
    
    Problem:
    Filesort is being done for an update query having order by,
    when the key being used for scanning is also updated.
    
    Analysis:
    Whenever a key that could be used for ordering is identified,
    optimizer also checks if this key is getting updated.
    Like in the following query:
    update t1 set d = 72 where b = 2 order by c asc limit 1;
    
    the choice of using index for order by is a key having
    (b,c,d) as key_parts.
    As d is getting updated, optimizer rejects the index.
    
    This rejection is expected if scanning and updation of
    the records are not done in two different passes. But the
    current optimizer does take care of this.
    Whenever key used for scanning is getting updated,
    it first saves the pointers to the required data and
    then updates in the second pass. As a result, this limitation
    can be lifted.
    
    Solution:
    Do not check if used key is being modified when optimizer
    chooses index of ordering. Order by always results in two
    passes for an update query, whether filesort is used or
    not used.

commit 298fe6fdc11091c9a4ed1f30a1da7cef87fc866e
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Fri Aug 28 22:47:48 2015 +0530

    BUG#20367116: ALTER TABLE BREAKS ON DELETE CASCADE FOREIGN KEY
                  CONSTRAINT
    
    Analysis
    ========
    ALTER TABLE operation on a table with FOREIGN KEY CASCADE
    constraint while a concurrent DML operation is being
    performed on the table referenced may break the referential
    integrity.
    
    In the case of ALTER TABLE operation using COPY algorithm:
    a) The ALTER TABLE operation on the table with FOREIGN KEY
       CASCADE constraint, the data is copied from the original
       file to temp file and transaction is committed releasing
       InnoDB locks (also, as an optimization, InnoDB commits
       transaction and releases locks every time ALTER TABLE
       copies 10000 rows).
    b) Concurrently if DELETE operation is executed on the
       referenced table, it will trigger delete of records
       on the table being altered. This will end up deleting
       records from the original file since the rename of
       the temp file has not yet completed and locks on the
       original file are not held.
    c) The ALTER TABLE operation continues, renaming the temp
       file to the original file leaving behind orphaned rows.
    
    In the case of ALTER TABLE operation using INPLACE algorithm:
    a) The DELETE operation on the referenced table acquires an
       LOCK_IS on the table being altered due to the CASCADE
       FOREIGN KEY constraint.
    b) The ALTER TABLE operation tries to acquire LOCK_X during
       the commit phase of INPLACE alter and is added to the
       waiting queue since LOCK_IS is acquired by DELETE.
    c) DELETE operation upon finding the record to delete, tries
       to acquire LOCK_IX on the table and is added to the wait
       queue. This results in a deadlock with ALTER operation
       being rolled back.
    Fix:
    ====
    a) INNODB has introduced a new handler API
       'get_cascade_foreign_key_table_list()' which returns a full
       closure of all tables ordered by the dependency on FOREIGN
       KEY CASCADE constraint.
    b) A function called 'lock_fk_dependent_tables()' is added
       which locks the list of tables ordered by the FOREIGN
       KEY CASCADE constraint for the table being altered.
       It is invoked in two places.
       1) Before the copy of data is invoked for the ALTER TABLE,
          COPY algorithm.
       2) Before ALTER TABLE, INPLACE commit.
    This avoids the orphaned rows and deadlock.
    
    Please note that this is a temporary workaround which is
    necessary until WL#6049 "Meta-data locking for FOREIGN KEY tables"
    is implemented
    
    NOTE: Some of the test cases have been removed, since the condition
    of concurrent DDL/DML operation on a parent table while a DDL
    operation is performed on the the child table having a CASCADE
    foreign key constraint is restricted with this patch

commit ba4da99ca1ae3c7790d54fd950912a19631d95b1
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Aug 28 15:50:36 2015 +0200

    Bug#20769542 Support for generated columns in mysqldump
    
    Support has been added for generated columns in mysqldump:
    
    - Generated columns are included in CREATE TABLE statements (unchanged).
    
    - For a table with one or more generated columns, a list of columns
      is added to the INSERT statement, regardless of value for option
      --complete-insert.
      Column names and values for generated columns are not part of
      the generated INSERT statement.
    
    - For a file generated with the --tab option, generated columns are
      included. This function is unchanged.

commit 821395fa43528fce0a69850f98f36cf1913dbd40
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Aug 28 16:07:22 2015 +0300

    Bug #20546898: MYSQLD --INIT-FILE DOESN\'T ACCEPT GRANT STATEMENTS
    
    The --initialize* mode was not initializing the ACL cache and thus
    all CREATE|DROP|ALTER USER commands and all GRANT|REVOKE commands
    were failing.
    Since --init-file commands were executed in the same mode all of
    the above ACL related statements were failing in them too. This was
    unline the "normal" server startup where, when the --init-file is
    played, the ACL cache is already initialized.
    
    Initialized the ACL cache (through invoking FLUSH PRIVILEGES) as
    part of the --initialize sequence right after the mysql_system_tables.sql
    replay and before the creation of the root@localhost user and subsequent
    commands.
    
    Fixed the --initialize code to use CREATE USER and GRANT statements
    instead of the INSERT statements it was using.
    
    Relaxed a condition of not running as an anonymous user when changing
    passwords, since the --initialize thread is running as one such user.
    
    Test case added.

commit e5c39572bdbd5eeb90629a1e624abd60e652bac9
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Wed Aug 26 10:59:09 2015 +0200

    Bug#21619780: TABLE HINTS ARE LOST IN NORMALIZED PRINT OF STATEMENTS
                  BEFORE RESOLVE
    
    Post-parse query rewrite plugin depends on obtained parsed queries in
    normalized form using SELECT_LEX::print.  However, only resolved hints
    are normally included in this print.  Since, query rewrite plugin only
    parses and does not resolve queries, table and index level hints are
    not included in the normalized form.  This may cause false matches
    between patterns and incoming queries with different hints.
    
    The solution is to add query_type as parameter to Opt_hints::print()
    like many other print functions already have.  If query_type is
    QT_NORMALIZED_FORMAT, un-resolved hints will also be printed.

commit 72585bbf8db7f2d98495c5c60a79da7c14e5b085
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Fri Aug 28 17:47:11 2015 +0530

    Bug#11757169: MyISAM share list scalability problems
    
    As the number of open tables is increased, table lookup
    (testing if a table is already open) and in particular
    the case when a table is not open, became increasingly more
    expensive.
    
    The problem was caused by the open table lookup mechanism,
    which was based on traversing a linked list comparing the
    file names.
    
    Fixed by storing a pointer to the MYISAM_SHARE on
    the designated handler share area, so it could skip
    traversing the linked list on open.
    And that there are additional changes for have_rtree,
    which are not related to the bug.
    
    Now with the patch we can see good performance improvement
    in SELECT on huge number of tables for bigger values for
    TABLE_OPEN_CACHE and TABLE_DEFINITION_CACHE.

commit 4e378a9586e9b718fd42342c3ee48af40428ec46
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Aug 28 09:36:24 2015 +0200

    Bug#21567456 UPGRADE TO BOOST 1.59.0
    
    Upgrade dependency to 1.59.0 and remove patches for Boost 1.58.0 since
    these have been accepted upstream.

commit 300693557e910023d36a63abc28f2a25e7856e5d
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Aug 28 17:02:42 2015 +0530

    Bug #21339136 I_MAIN.TEMP_TABLE NEVER RUNS
    
    Fix : Before the variable internal_tmp_disk_storage_engine was being set to MyISAM in the opt file.
    However it can be set dynamically by adding the line SET GLOBAL internal_tmp_disk_storage_engine=MyISAM in the test.
    So the opt file was removed. The have_myisam_tmp_storage_engine.inc and
    have_myisam_tmp_storage_engine.require files are not being used by any other tests so those files have been removed too.

commit ac66b321838b1b8f89f4167926a529b29540dc27
Merge: ffb9ef1 0eb0cf1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 28 13:23:25 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0eb0cf1dbe3b10724b4fdfe80298fc51f9a4c8c9
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 30 15:17:57 2015 +0200

    Bug#21682439: BACKPORT OF BUG#20928289 TO MYSQL 5.6
    
    Backport from mysql-5.7 to mysql-5.6 of:
    
    Bug#20928289: DEFAULT CMAKE EXCLUDES UTF8_5624_1 CHARSET,
                  REQUIRED FOR MAIN.CTYPE_LDML
    
    The problem was that on platforms where char is unsigned,
    the server was unable to parse collation defintions which
    included non-7bit ASCII characters. Affected platforms
    include ARM and PowerPC.
    
    The reason was that the parsing code in once place used
    '> 0' to check if a character was 7 bit or not. This
    will fail if the char is unsigned.
    
    This patch fixes the problem by rewriting the check to
    check the MSB explicitly.
    
    No test added as coverage is already included by
    existing tests - e.g. main.ctype_ldml.
    
    This patch is a modified version of the contributed patch.
    
    (cherry picked from commit d59ac89547a75e1a422ac4e806fe7b853489764d)

commit ffb9ef17d209cce4388eb873defd3f72d99fca0e
Merge: 6cf75fb 5a8d80e
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Fri Aug 28 16:49:40 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5a8d80e69383da40bd7fd24d99b1a209df64d0b2
Author: Aakanksha Verma <aakanksha.verma@oracle.com>
Date:   Fri Aug 28 16:46:32 2015 +0530

    Bug#21288106 - MISSING SANITY CHECK FOR STRDUP() IN HTTP.C PLUS POTENTIAL PROBLEM
    
    Sanity checks were missing in memcached code after memory allocations.
    
    FIX
    
    Put proper checks after memory alloction.MEMORY LEAK. *
    
    Reviewed by :Jimmy
    RB :10036

commit 6cf75fbde392479627afb9663ee3099369df46e6
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 28 11:57:48 2015 +0200

    Minor change to the valgrind.supp file to silence warnings in plugin shutdown.
    
    Suggested and approved by Tor Didriksen <tor.didriksen@oracle.com>

commit d1854d1b87754865b473dbf563713cef1a20d2d7
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Fri Aug 28 15:16:05 2015 +0530

    Bug#21609606 BINLOG-FORMAT AND BINLOG_FORMAT SHOW DIFFERENT BEHAVIOR WHEN PASSED AS CLI OPTION
    
    Fix : In the mysql-test-run.pl ,the subroutine mysqld_arguments was handling only the
          --binlog-format option in the if-else ladder. The --binlog_format option
          was clubbed with --binlog-format using an "or" operator.

commit 8643498a50d73c358f492706f17bc24b081b57ff
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Aug 28 13:30:15 2015 +0530

    Post fix for WL#8307 - Fix mysqldump_max_recordsize which run without parallel threads

commit 13c3acb618cd50088ab4cfcc7777f80bf45cca3b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 27 16:41:11 2015 +0200

    Bug#20637746 ADD SUPPORT FOR PKG-CONFIG
    
    Add mysqlclient.pc to rpm specs.

commit eb46d86131bcafd309e03d27c62e3ec84a26022c
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 27 16:35:50 2015 +0200

    Bug#20637746 ADD SUPPORT FOR PKG-CONFIG
    
    Add mysqlclient.pc.in and INSTALL it if appropriate for the install layout.
    
    Also: cleanup library settings in mysql_config (perl and sh variants).

commit b9e560886390d9f95f4426a495471a9c84f81553
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Aug 28 15:06:10 2015 +0800

    Fix a result diff on windows on a new tested added in Bug#21697706
    which used a capitalized table name (which becomes low case on windows).

commit 9f69736658d8641be789de5950b779fa756c8f33
Merge: 6ceb96c 0df8371
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Aug 28 12:08:33 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0df8371bdd2c3064694aa5b4e2335179e6eafcca
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri Aug 28 12:05:29 2015 +0530

    Bug#20901025: SLAVE ASSERTION IN UNPACK_ROW WITH ROLLBACK TO
    SAVEPOINT IN ERROR HANDLER
    
    Problem:
    =======
    
    When issuing a ROLLBACK TO SAVEPOINT within an error
    handler, the slave asserts as follows:
    
    mysqlcom-pro-5.6.24/sql/rpl_record.cc:246:
    int unpack_row(const Relay_log_info, TABLE, uint,
    const uchar, const MY_BITMAP, const uchar, ulong, const
    uchar): Assertion `table_found' failed.
    
    Analysis:
    ========
    
    The above assert is caused in two cases.
    
    CASE 1:
    SAVEPOINT and ROLLBACK TO SAVEPOINT are inside a trigger and
    followed by other DML statements.
    
    SAVEPOINT, ROLLBACK TO SAVEPOINT statements are logged into
    binary log as Query_log_events.
    Query_log_event::do_apply_event() wipes out table map.
    Events that follow the above Query_log_event will not find
    table map event and it results in the above assertion.
    
    CASE 2:
    
    SAVEPOINT and ROLLBACK TO SAVEPOINT are inside a trigger and
    and they does not follow with any DML statement.
    
    In the above scenario On master during execution of
    savepoint inside the trigger
    "mysql_bin_log.write_event(&qinfo)" is called, which intern
    invokes thd->binlog_flush_pending_rows_event() call with
    "end_stmt" = false. This causes the peding event to be flushed
    to the IO_CACHE without a STMT_END_F flag. Since it does't
    follow with any DML stements no proper clean up is done. i.e
    table maps are not cleared this causes the next query that
    follows to be logged as part of query1 without its own table
    map event resulting in same assert as mentioned in the bug.
    
    Fix:
    ====
    
    When a SAVEPOINT is executed inside a stored
    function/trigger we force the pending event to be flushed
    with a STMT_END_F flag and clear the table maps as well to
    ensure that following DMLs will have a clean state to start
    with. In the same way when we are rolling back to a
    SAVEPOINT we should not only set the position back to
    SAVEPOINT but also we must ensure that the same clean state
    is preserved. In order to do that we clean the table maps
    during rolling back to savepoint.

commit 6ceb96c0b6453ce40b99bdc6e680a9d46cb56e34
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Aug 28 10:21:14 2015 +0530

    - Bug#21629618: RECOVERY FAILURE: PLUGIN 'INNODB' INIT FUNCTION RETURNED ERROR
      Corrected message that indicate number of active and found redo rollback segment.

commit d09da3471b10d60b61b6ad915501ff4ed254e0cf
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Aug 28 08:18:53 2015 +0530

    Bug #19333852: RESULT DIFF IN QUERY HAVING DISTINCT WITH
                   GROUP BY
    
    Issue:
    -----
    This problem happens under the following conditions:
    1) Range optimization is attempted on an index with a
       string column as its first part.
    2) The value used for comparision is fully truncated.
    
    This makes comparisions with index incorrect. The range
    optimizer incorrectly concludes that there are no values
    in the index that satisfy the relevant comparision.
    
    SOLUTION:
    ---------
    We keep track of whether a string has been fully truncated
    during range optimization. If yes, that string is not used
    as part of the range optimization to avoid incorrect
    filtering.

commit a40058774e4bd79a2c591395e1f70abd23bdcacb
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Aug 28 04:46:58 2015 +0530

    Bug#13901905 - CRASH: INSERT ON DUPLICATE KEY UPDATE READS FREED
                   MEMORY
    
    Description:
    ------------
    
    In the INSERT... UPDATE ... statement, if the statement finds
    duplicate key, update part is executed.
    If the data of blob ( or geometry ) field is updated and their
    value from the INSERT part of the statement is tried to access
    through VALUES() function then statement gives either valgrind
    error or wrong updated data or both.
    
    Analysis:
    ---------
    Let's consider the  "INSERT ... UPDATE ..." statement. When we
    try to execute this statement and "INSERT" fails due to UNIQUE KEY
    constraint violation, 'UPDATE' clause is executed.
    
    There are 3 buffers involved in execution of "INSERT...UPDATE" statement,
    
    - record[0]      : Holds the new data from 'INSERT' clause
                       OR after 'UPDATE' clause is processed.
    
    - record[1]      : Copy of previous row found in table,
                       when INSERT fails due to UNIQUE KEY violation.
    
    - insert_values  : Copy of data provided in the 'INSERT' clause,
                       when INSERT fails due to UNIQUE KEY violation.
    
    We know that in a "INSERT...UPDATE" statement, "UPDATE" clause can refer to the
    data provided in the "INSERT" clause through VALUES() function.
    
    Now, lets consider table created with statement:
    "CREATE TABLE t1 (a INT, b BLOB, UNIQUE KEY(a));"
    and INSERT...UPDATE statement,
    "INSERT INTO t1 SET b = '11',a=0
      ON DUPLICATE KEY UPDATE b = VALUES(a),a = values(b);"
    
    We have "a= VALUES(b)" expression in "UPDATE" clause. Let us call the Field* referred
    by 'a' in LHS of expression as LHS_FIELD, and Field* referring 'b' by "VALUES(b)"
    expression in RHS as RHS_FIELD.
    
    Point to be noted here is that separate RHS_FIELD objects are made for each
    VALUES() function. These RHS_FIELD objects are clones of LHS_FIELD. The buffer's
    they point to is,
    - LHS_FIELD => where its Field->ptr member points to record[0]
    - RHS_FIELD => where its Field->ptr member points to insert_values.
    
    Root cause of problem:
    -----------------------
    In general, field data is stored at Field->ptr itself. In case of BLOB Field types
    the Field->ptr points to the length and address where the BLOB DATA is located.
    
    It can be visualized graphically as:
    
    - The values supplied by "INSERT" clause of the statement are being stored as,
    
      LHS_FIELD's:
                          a                             b
                          ||                            ||
                          \/                            \/
                    ............................................
      record [0] :  |  a (int ) |     b (blob address )        |
                    ............................................
                                          ||
                                          \/
                                .........................
                                |      BLOB DATA        |
                                .........................
    
    - Now if insert statement fails, and "UPDATE" clause is executed, then
      record[0] is copied to insert_values buffer for later access.
      We can visualize it as,
    
      LHS_FIELD's:
                          a                             b
                          ||                            ||
                          \/                            \/
                    ............................................
      record [0] :  |  a (int ) |     b (blob address )        |
                    ............................................
                                          ||
                                          \/
                                .........................
                                |      BLOB DATA        |
                                .........................
                                          /\
                                          ||
                     ............................................
      insert_values: |  a (int ) |     b (blob address )        |
                     ............................................
                          /\                            /\
                          ||                            ||
      RHS_FIELD's:     VALUES(a)                     VALUES(b)
    
     Above diagram is true for even multiple references of
     'a', 'b', 'values(a)', 'values(b)'.
    
     As we see, the same BLOB DATA is pointed by both LHS_FIELD and RHS_FIELD.
     If the "UPDATE clause" changes LHS_FIELD first and then tries to access
     RHS_FIELD, then we get wrong data or valgrind error or both.
     Eg:
     - Valgrind error occurs if the memory pointed by LHS_FIELD->ptr
       has been freed and reallocated to accomodate new data.
     - Wrong value is updated, if the memory pointed by LHS_FIELD->ptr
       was not freed but reused, and new data can fit in the same memory location.
     - Both of above could happens, if the new memory is allocated at the same
       location as previous one.
    
    Fix:
    ----
     Create a separate copy of the BLOB DATA for RHS_FIELD field, when
     BLOB DATA is modified as well as accessed through VALUES() function in the
     "UPDATE" clause of the statement.
    
    - Hold LHS_FIELD and RHS_FIELD in a 'std::map'. This is used later to make
      separate copy for RHS_FIELD, if required.
    
    - Separate copy of BLOB DATA for RHS_FIELD is made, if the same field is
      being updated in "UPDATE" clause.
    
      LHS_FIELD:                  a                             b
                                  ||                            ||
                                  \/                            \/
                            ...........................................
      record [0] :          |  a (int ) |     b (blob address )       |
                           ...........................................
                                              ||
                                              \/
                                    ..................
                                    |   BLOB DATA    |
                                    ..................
    
                                    .................
                                    |   BLOB DATA    |
                                    ..................
                                              /\
                                              ||
                         ..........................................
      insert_values :    |  a (int ) |     b (blob address )      |
                         ..........................................
                                 /\                            /\
                                 ||                            ||
      RHS_FIELD:              VALUES(a)                     VALUES(b)
    
    After the fix, both LHS_FIELD and RHS_FIELD points to different
    BLOB DATA copies and hence solves the issue.

commit a477b594a82e4923778fef100df036ba3dbccb4c
Merge: 79447cd ec43670
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Aug 28 03:03:35 2015 +0400

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/item.cc
    	sql/item.h
    	sql/item_sum.cc
    	sql/item_sum.h

commit ec4367058a9ba8e176e864160f729bedff255dba
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Aug 28 02:49:33 2015 +0400

    Bug #17865675: REGRESSION: EXPLAIN: FAILURE BELOW ITEM_FUNC_GROUP_CONCAT::PRINT
    
    The server failed on EXPLAIN of some GROUP_CONCAT() expressions.
    
    The fix consists of two parts.
    
    The 1st one (item_sum.{h,cc}) simplifies the code base by the removal of
    superfluous Item_sum::orig_args and Item_sum::tmp_orig_args fields.
    
    The 2nd one (item.{h,cc}) improves Item_field::print() to output column
    names with 3D-qualified identifiers:
    <original database>.<original table>.<column name> instead of 1D identifiers
    (<column name>).

commit 79447cd99c62d769d43b51391f7e2c2a65608458
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Thu Aug 27 17:02:38 2015 +0200

    Bug#21547506 ASSERTION FAILED: SEQUENCE NOT ORDERED ALGORITHM(2639)
    
    Add the test case for this bug.
    
    Bugfixes was merged from Boost.Geometry before, in commit
    517f6a0f54867906b443f4a6ad16638a5115f505

commit 517f6a0f54867906b443f4a6ad16638a5115f505
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Thu Aug 27 16:52:11 2015 +0200

    Bug#21372946 ST_BUFFER: FLATLINE CPU OR ASSERTION IN GEOMETRY::EQUALS
    
    Merge Boost.Geometry fixes from github.com/boostorg/geometry
    commit 3dd8d1e68925002d6b695a0ca619976c2928f3bb
    
    Update the expected test results.
    
    Add test cases for this bug.

commit 894df7c5b66478a63b7e4c629ec4c04c4b7c9bc0
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Aug 27 15:09:35 2015 +0100

    Bug#21688407: REDUCE SIZE OF MYSYS THREAD LOCAL STORAGE STRUCT
    
    Reduce the size of the mysys thread local struct allocated
    for each thread by:
    - Removing st_my_thread_var::abort. Use new hook that accesses
      THD::killed instead.
    - Declare st_my_thread_var::id only in debug builds.
    
    This is a step towards implementing
    WL#6817 "Getting rid of mysql_thread_end() and thread
    local storage in libmysqlclient"

commit 274611ad64bdd37f65d3f515b3029edd1fb9af75
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Aug 27 11:20:03 2015 +0200

    Bug#21263152 ST_SYMDIFFERENCE(POLYGON, POLYGON) MAY RETURN AN INVALID
    MULTIPOLYGON
    
    Problem: Some queries with ST_SymDifference may return invalid
    multipolygons in the result.
    
    The reason is bug 11436 in Boost.Geometry.
    
    Fix: Backport bugfix from BG. The symmetric difference operation for
    two areal geometries A1 and A2 is now implemented as follows:
    
    1. Compute the difference of A1 minus A2
    2. Compute the difference of A2 minus A1
    3. Return the union of the two differences computed in the two steps
       above.
    
    The BG bugfix reveals a new problem in the Gis_wkb_vector copy
    constructor that causes it to copy only the exterior ring of a
    polygon, ignoring the inner rings.
    
    Even if the m_geo_vect of the object being copied points to a vector,
    the constructor only checks get_ptr(), which is NULL if the object has
    been constructed by BG and reassemble() has not yet been called.
    
    Fix: Make the copy constructor check for m_geo_vect in addition to
    get_ptr().

commit def3aba5f55d127d53f6c68c67e0c0f7318e2863
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 27 12:44:32 2015 +0200

    Bug#21672747 ADD MTR OPTION TO RUN ALL CLIENT APPLICATIONS WITH VALGRIND
    
    Post-post-push fix: reset 'ds_result' for each query.

commit 7d5d6de8e610163bdb4ada1a68835a106caecca5
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Wed Aug 26 23:37:42 2015 +0400

    WL#8607: Inline JSON path
    
    Updated tests results.

commit f8ddd19ab16ad098a103c13b6863bd91ee793ad4
Author: Evgeny Potemkin <evgeny.potemkin@oracle.com>
Date:   Mon Aug 17 17:59:48 2015 +0400

    WL#8607: Inline JSON path
    
    Reviewed implementation.

commit cf52db123f38addc50b5f30f97f7d07dd63e3145
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Aug 27 08:30:30 2015 +0200

    Bug#21672747 ADD MTR OPTION TO RUN ALL CLIENT APPLICATIONS WITH VALGRIND
    
    Post-push fix: Do not use --show-leak-kinds and --errors-for-leak-kinds
    when running mysqltest with valgrind.
    Reason: not supported by old valgrind versions.
    
    Fix memory leak in mysqltest by putting 'ds_result' at file scope,
    so we can free its memory before exiting.

commit 8508661ff1bd1cb96425f8808210f388b416112f
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Aug 25 12:59:24 2015 +0300

    Bug #21680457: REDUCE THE NEW PASSWORD PRINTED BY --INITIALIZE
      TO A NOTE, NOT A WARNING.
    
    Reduced the password output from a warning to a note.
    Also made sure that the log error verbosity level is temporariliy bumped
    to the appropriate level when printing it.
    Test case added.

commit f95f67f6f088bfdff13dde0a0d713550770c156d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 17 10:28:44 2015 +0200

    Bug#21311067 REMOVE _R SYMLINKS FOR LIBMYSQLCLIENT
    
    The _r versions of libmysqlclient* has been deprecated for several releases.
    
    MySQL 5.7 bumps SOVERSION of libmysqlclient to 20, hence _r versions of
    libmysqlclient can be removed.

commit 1206507318c3183d6de6fcd71dc91296c3655380
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 17 10:27:30 2015 +0200

    Bug#21311067 REMOVE _R SYMLINKS FOR LIBMYSQLCLIENT
    
    removed cleanup statement for client lib symlinks *_r in deb pkg src

commit e8c42e9a0ed23d80fc57037a2e042f3dd7e7b9bf
Merge: 7e9a9e0 e5f8dfb
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Aug 27 12:25:15 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e5f8dfb230f884d75d3f9effe7fa3fc4f7fe02ce
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Aug 27 12:22:06 2015 +0530

    Bug#20805298: BINLOG_ERROR_ACTION DOESN'T HANDLE SOME
    FAILURES DURING BINLOG ROTATION
    
    Analysis:
    ========
    In case of hardware errors in binlog partition during binlog
    rotate, we can see the following error being reported.
    
    [ERROR] The server was unable to create a new log file. An
    incident event has been written to the binary log which will
    stop the slaves.
    [ERROR] Can't generate a unique log-filename
    master-bin.(1-999)
    
    All replicas break either due to seeing incident event or
    simply because the dump thread cannot access binlog
    partition. binlog_error_action was developed for these
    purposes (i,e; to avoid server accepting writes even though
    binlog writes are failing), but it doesn't handle the above
    case.
    
    Fix:
    ===
    An error handler has been added in such a way that, on
    hardware failure during rotate, it will do the specific
    action defined as part 'binlog_error_action' variable.
    Also incident event will not be written to the binary log
    in the above mentioned scenario.

commit 7e9a9e096384d355a5e76e5cad49dde42707956b
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu Aug 27 10:16:57 2015 +0530

    - Bug#21662604: INNODB_ZIP.WL6501 FAILS IN COMPRESSION RUN
      - Further reduce the test-case to bare minimum to reduce the execution time
        and in turn warning messages.

commit 005ff2f616dec2655790c6935f7066ec870c044d
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu Aug 27 09:59:46 2015 +0530

    - Bug#21744589: MLOG_TRUNCATE IS LOGGING SPACE_ID TWICE
    
      MLOG_TRUNCATE was logging space_id twice.
      Once as part of mlog_write_initial_log_record_low and next time
      explicitly using mach_write_to_4.
    
      Avoid this redundant information.
    
      Reviewed by: Jimmy Yang (jimmy.yang@oracle.com)
      RB: 10073

commit 91069a31026eaa5f04b392fc79d65ef7908b7e3b
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Aug 27 12:12:56 2015 +0800

    Bug#21697706 - INNODB: FAILING ASSERTION: !UT_STRCMP(NAME, FIELD->FIELD_NAME)
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 43cd010055acd91e6724a81e54f8bb63ca47abb2
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Aug 27 09:45:10 2015 +0800

    BUG#21612714 ALTER TABLE SORTING SKIPPED WHEN CHANGE PK AND DROP
    LAST COLUMN OF OLD PK
    
    Rules we cannot skip sorting:
      1. Removing existing PK columns somewhere else than at the end of the PK;
      2. Adding existing columns to the PK, except at the end of the PK when no
         columns are removed from the PK;
      3. Changing the order of existing PK columns;
      4. Decreasing the prefix length just like removing existing PK columns
         follows rule(1), increasing the prefix length just like adding existing
         PK columns follows rule(2).
    
    Reviewed-by: Marko Mäkelä                  <marko.makela@oracle.com>
    Reviewed-by: Thirunarayanan Balathandayuth <thirunarayanan.balathandayuth@oracle.com>
    RB: 10002

commit 50a78e30a1b268a022eb9acc392f92996e71d9be
Merge: bebe16f cd96555
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Aug 26 13:09:13 2015 -0500

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

commit cd965559549f7496dda22295aaf6fcebc16bdf10
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Aug 24 16:09:04 2015 -0500

    Bug#19206671:
    TRX_SYS_READ_PERTABLE_FILE_FORMAT_ID() REPORTS INCORRECT FILE FORMAT
    
    Approved in rb#10041 by Marko Mäkelä and Sahil Binani

commit bebe16fa5e9389121d7f71842e716dd49f4ac2d6
Merge: c7ec466 51c880b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 26 19:39:56 2015 +0200

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

commit 51c880be9cff5cf9a272722050dd8ecf1fed537c
Merge: a503c95 d7a8779
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 26 19:32:25 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit d7a8779d314734ec3d8561444cab51278198c824
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 26 19:29:00 2015 +0200

    Bug#21527467 - RPM SCRIPTS FAIL WITH MULTIPLE DATADIR

commit c7ec46678e3e5056542655b697911dd8ecdf4e4a
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Mon Aug 24 08:07:37 2015 -0700

    Bug#21602361 ASSERTION FAILED: (VECTOR_IDX == -1) || (VECTOR_IDX >= 0)
    
    Bug#21602361 ASSERTION FAILED: (VECTOR_IDX == -1) || (VECTOR_IDX >= 0)

commit e4928d41773503a7b93ab0886a1f5efa88a4e4e4
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Aug 26 20:58:42 2015 +0530

    Post WL#8307 test fix - Adjust failing test which is applicable to COMPACT row format

commit 92e5b00cbfd7b5c77f645285af96deb6850fc599
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 25 14:39:57 2015 +0200

    Bug#21672747 ADD MTR OPTION TO RUN ALL CLIENT APPLICATIONS WITH VALGRIND
    
    Problem:
    mtr currently supports valgrind execution of the server, and mysqltest.
    We need valgrind execution of other clients as well:
    mysqldump, mysqlpump, mysql_upgrade, mysql, mysqlbinlog, etc.
    
    Fix:
    Add new opion to mtr: --valgrind-clients
    which reports errors for 'definite' and 'indirect' leaks.
    
    Use this new option also for 'mysqltest' to avoid warnings for
    'possible' leaks (reported for many tests that are skipped)
    
    Tell valgrind to exit with error code other than zero if it detects
    any issues.
    
    Disable test main.status, it gives contents mismatch with valgrind.
    
    Additionally: fix some obvious valgrind warnings in clients:
    mysql mysql_upgrade mysqlbinlog mysqldump
    
    client/base/mysql_query_runner.cc
      fix memory leaks and uninitialized read.
    client/base/show_variable_query_extractor.cc
    client/dump/abstract_crawler.cc
    client/mysqldump.c
    client/upgrade/program.cc
    sql/common/client.c
      fix memory leaks
    
    (cherry picked from commit 6f783fbabd37b28a05bdafdc9c4f2b48d04ffdff)

commit 02fb3d17515323cb9e14164b0239680b98ad7615
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Aug 26 16:05:46 2015 +0530

    Post WL#8307 fix - Adjust innodb_pagesize_max_recordsize test and add cases to cover both compact and dynamic row format

commit 744bd8a90e470d65d4be021db947eec0c836a9dc
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Aug 26 20:24:08 2015 +0530

    Bug#21451922 - FOUND A MISMATCH PAGE, EXPECT PAGE - ASSERTION
    
    Re-fix:
    ------
    When checking if tablespace is marked for truncate, it is wrongly
    used on "SYS_INDEXES" table instead of user tablespace
    
    Only after parsing SYS_INDEXES record, the space id of user
    tablespace is available. So the logic of skipping tablespace is
    moved to dict_drop_index_tree()
    
    Reviewed-by: Krunal Bauskar<krunal.bauskar@oracle.com>
    RB: 9961

commit 5b62b1eca39f0f072e7d79e5dcff861d03e828ea
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Aug 26 11:58:44 2015 +0200

    Added mysqlpump man page on all debs

commit 848f99f3b2ec73d020bd86a4b7fa51cb86e1f89e
Author: David Zhao <david.zhao@oracle.com>
Date:   Wed Aug 26 14:27:23 2015 +0800

    Bug#21651588 VIEW RETURNS ERROR WITH ST_CONVEXHULL() FUNCTION
    
    Issue:
    The function name of ST_ConvexHull was wrongly written so it could not be found.
    
    Fix:
    Fix the function name. Also fix another function name ST_SRID(), it should be
    "ST_SRID" because "SRID()" is deprecated now.

commit 0d1189d21f885c5d36450f132151c21b1d18fd7e
Author: David Zhao <david.zhao@oracle.com>
Date:   Wed Aug 5 22:26:09 2015 +0800

    Bug#21327888 POLYGONS WITH OPEN RINGS ARE AUTO-CLOSED
    
    Issue: Polygon rings are automatically closed if they are open, but
    according to OGC such rings must always be closed.
    
    Fix: Return ER_INVALID_GIS_DATA if constructing a polygon or multipolygon and
    any ring is open, do so for all kinds of polygon/multipolygon constructions.

commit 86cd6d3b115a5f23b6fbd56cb42845813623c220
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Aug 24 18:52:40 2015 +0300

    Fixes for bug#21645001, bug#21645944, bug#21646017 and Bug#21646106
    
    * Demoted the asterisk to a regular symbol (not a wildcard) in
      version_tokens_delete()
    * version_tokens_delete() now trims whitespace around individual token
      names to delete.
    * version_tokens_delete() will ignore an invalid (empty, all spaces)
      token name.
    * version_tokens_delete() will treat NULL arguments as an empty string
      argument.
    * version_tokens_set() and version_tokens_edit() will properly detect
      and ignore empty token names
    * version_tokens_lock_shared() and version_tokens_lock_exclusive()
      will now return error for NULL timeout values.
    * Test cases added to the above and existing tests updated.

commit ff537662034b0553c0fd1a2f83835e330de41e3d
Merge: d4299c4 a503c95
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 26 15:13:10 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a503c9559ce7d002810eefac7a73b6311e687f96
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 26 15:12:56 2015 +0530

    BUG#16418100: ERROR "WHEN GTID_NEXT IS SET TO A GTID" ROW BASED REPLICATION
    
    Fixing post push pb2 failure (should add have_debug.inc)

commit d4299c4dd8fe5660fa68127084921dcc446aa008
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Wed Aug 26 14:55:44 2015 +0530

    The testcase should not run with GTID=on mode,hence skip

commit eeb93a1b6384d45c37f6ecf135fa3d2035590987
Merge: 1246d19 5b8da62
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Wed Aug 26 14:21:58 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5b8da621311ae019cf3335b7a8af41aa11341bbb
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Sat Aug 22 18:26:28 2015 +0530

    BUG#21473602: REDUNDANT CODE IN THD::RESET_FOR_NEXT_COMMAND()
    
    Note
    ====
    This a code cleanup to remove the redundant lines of
    code to reset the binary log position in the function
    'THD::reset_for_next_command()'.

commit 1246d19e56efa8c04bf1146e9334d6a1cbd52a5c
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Thu Aug 20 13:33:12 2015 +0200

    BUG#21650603 ASSERT `0' FAILED AT THD::SEND_STATEMENT_STATUS() ON HANDLER READ + INVALID DATE
    
    If the HANDLER READ statement is given an input which can't be
    converted to the correct type, an assertion will be raised.
    This is caused by the function Sql_cmd_handler_read::execute()
    returning TRUE without calling my_error().
    
    The fix is to call my_error() before returning TRUE from
    Sql_cmd_handler_read::execute().

commit 59fbf7a4714a9261054834da4ce74a1b720a81ae
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Aug 26 16:08:56 2015 +0800

    BUG#21682332 - ADD EVICTION COUNT METRIC FOR TABLE CACHE LRU CLEANUP
    (CONTRIBUTION)
    
    This is a contributed patch, which introduces a new metric for the number
    of evicted tables.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 10044

commit 67fed2e4f8ac73d688a492f1bcb23c4346812538
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Aug 26 15:38:15 2015 +0800

    BUG#21631197 - ASSERT 0 IN INNODB.DOUBLEWRITE RUNNING UNDER VALGRIND
    
    This seems only affects the test cases of user table. I can easily break
    the test case by adding some 'sleep N;' before the kill_mysqld.
    
    The reason of the failure is that if there is some break between marking
    a specified dirty page and the killing server, there could be a checkpoint,
    which marks the checkpoint LSN to be a bigger one than the LSN generated
    by dirtying the page. So during recovery, server always consider that
    this dirty page should be correct and safe to read, no need to read it
    from double write buffer. But in fact, we will modify it after kill_mysqld,
    and this breaks the rule.
    
    The solution is that we should make sure dirtying a specified page is
    the last operation before kill_mysqld, and there should be no checkpoints.
    
    Reviewed-by: Jimmy Yang <jimmg.yang@oracle.com>
    RB: 10004

commit c97353f6ff1904d6377581b6056a6aa5c235a2ca
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Aug 26 15:38:08 2015 +0800

    Follow up fix for Bug#21671248 - INNODB: FAILING ASSERTION: VCOL->V_POS ==
    DICT_GET_V_COL_POS(POS)
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 8e8242b1aa46e80152d89fe5ecccb4f0f2d5b71a
Author: Viswanatham Gudipati <viswanatham.gudipati@oracle.com>
Date:   Wed Aug 26 13:15:27 2015 +0530

    Modified the cc file as testcase causes sporadic fail
    
    Added a line --termination_timeout=0 in cc file, as part of safe side, to avoid sporadic failure called status failure

commit 3e94da2ad1ca62491b6206735b09828e66df451e
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Aug 26 12:59:29 2015 +0530

    Bug#21681433 FORMATTING ERROR IN OS_FILE_WRITE_PAGE()
    
    Problem:
    ========
    The error messages in os_file_write_page() has a left over "%d" in the
    message (possibly during the conversion from C-style (fprintf()) to
    C++ Style (ib::errror() << "..")) and error messages show it.
    
    Also, the use of '.' , in the same function, to separate 'offset' value
    (file offset from the start where to read) and 'n' value (number of bytes
    to read, starting from offset) is quite confusing.
    
    Fix:
    ====
    Removed the "%d" in the error message and used ', ' instead of '.' for
    better understanding.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 10051

commit 584d19c0e220ef05b4616f565a819faba70b8b9e
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Aug 26 12:04:02 2015 +0530

    Bug#21680518 POTENTIALLY READING FREED MEMORY WHILE QUERYING I_S TABLE
    
    Problem:
    ========
    Memory associated with the filename in the function
    i_s_dict_fill_sys_tablespaces() is freed first and later it is used to
    print out an error message.
    
    Fix:
    ====
    Memory associated with the filename is freed in the end after printing the
    error message.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    RB: 10050

commit a81112aaf64b2a60531ef345d49ac46ceaa83575
Merge: 097ee85 db63239
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 26 12:14:42 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit db632390886e09a62279ec30a8e210ec35eb8efe
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Aug 26 12:12:42 2015 +0530

    Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO PROBLEMS
    
    Fixing post push pb2 failure

commit 097ee85a359b2b1da5cc5cfdbe8819b2f1059a4e
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Aug 26 11:58:38 2015 +0530

    - Bug#21662604: INNODB_ZIP.WL6501 FAILS IN COMPRESSION RUN
    
      InnoDB limit max length of the key for 4k pages to 768.
      Corrected test-case. Test-case is not testing the max length limit
      feature but truncate feature so lower max length key would also
      serve the purpose.

commit e0959ff9ce39cbd5aa86cbcabcb71cdf78541d36
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Aug 26 05:15:13 2015 +0200

    Disable mysqlpump_extended in Valgrind
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.
    
    (cherry picked from commit 7a20a3c29eb51cb23f1a7b9dbb6324211b74165b)

commit b01d3432e50cc17debeb7c0c7dadd52fa55be6ac
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Aug 26 10:46:16 2015 +0800

    WL#8756  Deprecate binlog_max_flush_queue_time in 5.7  - post fix
    
    On some platforms, the assert_grep.inc in sys_vars/t/binlog_max_flush_queue_time_basic.test
    is failing, because it requires enabled binlog and an error log named mysqld.1.err exactly.
    
    To fix the problem, move the test case with assert_grep.inc into replication binlog suite.

commit 8667e46a19436f77c750cb297270809946e4a534
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Tue Aug 25 15:33:16 2015 +0800

    Bug#21671248 - INNODB: FAILING ASSERTION: VCOL->V_POS ==
    DICT_GET_V_COL_POS(POS)
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Reviewed-by: Benny Wang <benny.wang@oracle.com>

commit 223cbd0202ecfebea9a3dbd2159dca7c84610023
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 25 10:47:54 2015 +0100

    Bug#21657078: MYSQL DOES NOT COMPILE WITH VISUAL STUDIO 2015
    
    Fix various issues when building with Visual Studio 2015:
    - Visual Studio 2015 adds support for timespec. Add check for
      this and only use our replacement if timespec is not defined.
    - Rename lfind/lsearch to my* to avoid redefinition problems.
    - Set default value for TMPDIR to "" on Windows as P_tmpdir
      no longer exists.
    - timezone and tzname are no renamed _timezone and _tzname.
    - std::hash_map has been deprecated, use std::unordered_map instead.
    - Add support for Wix Toolset 3.10 which is required to make
      MSI packages with Visual Studio 2015.

commit f434fbae9596ed28be512ae7ce9b073927c8a09c
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Aug 25 17:41:03 2015 +0530

    Bug #21549860 MYSQLDUMP/MYSQLPUMP INCLUDES SYS SCHEMA STORED PROGRAMS EVEN
                  IF SKIPPING SCHEMA
    
    Problem: mysqlpump and mysqldump skips SYS schema. Restoring a backup file
    which is taken using --all-databases option will not restore SYS schema (as
    this is not backed up). But after restore operation is done mysql.proc table
    still shows procedures from sys schema which is wrong.
    
    Fix: For mysqlpump by default all routines are dumped, hence it is not needed
    to dump mysql.proc table. For mysqldump fix is to filter out all rows from
    mysql.proc table with a where clause db != sys.

commit 6cb992166dd89d010137aae1ce172c8677108a05
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Aug 25 15:34:31 2015 +0530

    Post push fix for WL#8307 - Adjust failing memcached test

commit 099f059ffb0963a72e017bb8a1cbf8d4759787ef
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Tue Aug 18 12:45:52 2015 +0200

    Bug#21616810 CONNECTION HANG OR ASSERTION 0 IN THD::SEND_STATEMENT_STATUS, SQL_CLASS.CC
    
    Problem: If the second or third argument of ST_AsGeoJSON() is a NULL
    value, the function returns 'error_json()' without calling my_error().
    This causes an assertion to be raised in debug mode for some queries.
    
    Fix: Return 'false' instead of 'error_json()' if one of the
    arguments is a NULL value.

commit 3d521c77d6cd7351ded9c4d6f7ad185f4713b66a
Merge: b0d3671 f0592dc
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Aug 25 14:27:26 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f0592dc08e13d31e7f39283e5b67074e23c3b993
Merge: a16946c d25487e
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Aug 25 14:26:52 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit d25487ea422cca759845123282dff3e5f027c656
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Aug 25 14:25:46 2015 +0530

    BUG#20449914: HANDLE_FATAL_SIGNAL (SIG=11) IN
                  FIELD_ITERATOR_TABLE::END_OF_FIELDS
    
    Note: This a backport of the patch for bug#19894987
          to MySQL-5.5

commit b0d36716529183945feecb4a157beaf7774b176c
Author: Benny Wang <benny.wang@oracle.com>
Date:   Fri Aug 21 06:06:12 2015 +0200

    Fixed bug#21664573: GC: WRONG ALTER TABLE FLAGS SET BY PARSER
    
    It's incorrect to use Alter_inplace_info flags for syntax of generated column.
    Alter_inplace_flags are part of the handler API and are used by the DDL code
    to communicate to the SE which operations to execute on.  Alter_info flags are
    used by the parser to communicate to the DDL code which operations where
    specified by the user.
    
    This patch replaces Alter_inplace_info flags with Alter_info flags.

commit acccc9739f810084a95f4820e6c39c3195fd5c3b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 25 09:33:20 2015 +0200

    Bug#21683883 VALGRIND ERROR ON MAIN.CTYPE_GB18030_CONVERSION
    
    This is a post-push fix for
        WL#8149  B-tree Index Support on non-materialized virtual columns
    Update valgrind suppression pattern for filesort()

commit cfdc1c1cb8fbe26735e419b9872c42de52aac673
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon Aug 24 12:29:57 2015 +0800

    Bug#21546656 ASSERTION FAILED: DATA_LEN - SRID_SZ - WKB_HEADER_SIZE >= POINT_DATA_SIZE
    
    Issue:
    A GEOMETRY byte string may be truncated so we can't assert its completeness for point.
    
    Fix:
    If point GEOMETRY string is found truncated simply return error condition.

commit 8d28324efe4b3b3496ec5026da629853e0b58eef
Merge: ce1c721 a16946c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 25 09:13:54 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a16946c41d624c66b39028bf9f7336291055404f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 25 09:12:33 2015 +0530

    BUG#16418100 ERROR "WHEN GTID_NEXT IS SET TO A GTID" ROW BASED REPLICATION
    
    Problem & Analysis:
    ===================
    When relay log info repository is configured to be persisted in a
    table, it is updated when transaction commits or explicit flush is called,
    like on relay log rotate. If a transaction that uses non-transactional
    engine is split across multiple relay logs, on relay log flush
    it will be partially committed. If GTID_MODE=ON and when partial transaction
    in first relay log is committed, it uses the current GTID value and sets
    GTID value to UNDEFINED GROUP. Hence it causes 'ER_GTID_NEXT_TYPE_UNDEFINED_GROUP'
    error when it is trying to commit the rest of the transaction.
    It also causes many other problems if the repository is updated in between
    the transaction and it should be avoided.
    
    Fix: relay log info repository should be updated on relay log
    rotate. But when the transaction is split across two relay logs,
    update the repository will cause unexpected results and should
    be postponed till the 'commit' of the transaction is executed.
    
    Introduced a flag that set to 'true' when this type of 'forced flush'(at the
    time of rotate relay log) is postponed due to transaction split
    across the relay logs. And the flag will be checked in flush_info function
    to see if there is a flush that got postponed earlier. If so, it will
    force the flush now irrespective of sync_relay_log_info value.

commit ce1c7210fa716116bf1d23d1ca1310241c820c5f
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Tue Jun 2 14:43:26 2015 +0300

    Fix a bit of Bug#19628291 QUALITY OF SET GLOBAL INNODB_BUFFER_POOL_FILENAME=... VARIABLE INPUT CHECKING
    
    Fix a bit of Bug#19628291 QUALITY OF SET GLOBAL
    INNODB_BUFFER_POOL_FILENAME=... VARIABLE INPUT CHECKING
    
    Avoid the repetition of the slash in InnoDB buffer pool load/dump
    messages like
    
    "2014-10-17 14:17:50 0x80380bc00 InnoDB: Loading buffer pool(s) from
    .//ib_buffer_pool"
    
    Resolve the buffer pool dump file using my_realpath(), so that it is
    always the absolute path and does not contain redundant // or ../
    entries.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 9172
    (cherry picked from commit 807f50b9dd2fe64bfc30a6af88ee1becfcc79e9a)

commit 92c97cbc1df9a2da9737f3f123780f56b1c5a1da
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Aug 24 18:29:17 2015 +0530

    WL#8307 -  InnoDB: Make ROW_FORMAT=DYNAMIC the default
    
    In this WL, the default row format of all InnoDB tables is changed from
    COMPACT to DYNAMIC. A new option "innodb_default_row_format" is
    introduced with default as "DYNAMIC".
    
    The valid option values are REDUNDANT, COMPACT & DYNAMIC.
    
    Intrinsic temporary tables will always use DYNAMIC row format.
    
    Initial patch written by Marko Makela.
    
    Reviewed-by: Krunal Bauskar <krunal.bauskar@oracle.com>
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9703

commit f528e72e0235fd24899071ceffe1cccfef0217b5
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Aug 19 17:39:16 2015 +0300

    Bug #21632425: SHOW FUNCTION STATUS ASSERTS WITH PAD_CHAR_TO_FULL_LENGTH
    
    PAD_CHAR_TO_FULL_LENGTH is not compatible with SHOW FUNCTION STATUS.
    Temporarily disabled the padding mode for the duration of the
    SHOW FUNCTION STATUS command.
    Test case added.

commit 760224a281521e3f3e4611beccca79f14fa1caab
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Aug 21 15:49:26 2015 +0400

    Bug #18599181: CALLING A ROUTINE WITHOUT SPECIFYING DATABASE PREFIX MAY RETURN ERROR 1370
    
    Calling a SP without a database prefix led to SP compilation errors.
    
    The fix: save a copy of the default database name string (instead of the
    pointer) during the parsing of SP names.

commit d9f8a4765f0daf6897233ff60764d2bc1edc22fe
Author: Deepa Dixit <deepa.dixit@oracle.com>
Date:   Mon Aug 24 15:12:41 2015 +0530

    Bug#21339136 : I_MAIN.TEMP_TABLE NEVER RUNS
    Fix : Removed the line --source include/have_myisam_tmp_storage_engine.inc
    from temp_table.test. Added the file temp_table-master.opt
    to the directory and added the line --internal_tmp_disk_storage_engine=MYISAM
    to the file.

commit 0ae2177e608740dc56c286ca26c7f898749ee909
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Mon Aug 24 10:23:20 2015 +0200

    Bug#21616647 ASSERTION FAILED: ITEM_IN->LEFT_EXPR->ELEMENT_INDEX(0)->MAYBE_NULL
    
    Problem: Before the fix, ST_IsValid() would always set maybe_null
    to false in fix_length_and_dec(). However, when calling ST_IsValid()
    with NULL as an argument, the function will return NULL and thus
    setting null_value to true. This combination of maybe_null == false
    and null_value == true may cause an assertion to fail in debug build.
    
    Fix: Remove the override of fix_length_and_dec(), and let the
    parent class handle this correctly. This will set maybe_null
    to the correct value, based on whether the argument may return/be
    null.

commit b87f27de86aa6cd9582af3a5cba480cc33e5474a
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Mon Aug 24 11:28:03 2015 +0800

    Bug#21338147  INNODB: FAILING ASSERTION: !TRX_IS_AUTOCOMMIT_NON_LOCKING(TRX) IN TRX0TRX.CC - post fix
    
    In ps protocol, the test case 'roll back a failed DELETE with ER_NO_SUCH_TABLE'
    failed with a specifed gtid.
    
    Disable the test case, since it is not related with the problem reported by the
    bug and will be fixed in another bug.

commit 307bfadb48a0c52a5113f6b63dcb9716f38cdc61
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Sun Aug 23 17:02:36 2015 +0800

    Bug#21338147  INNODB: FAILING ASSERTION: !TRX_IS_AUTOCOMMIT_NON_LOCKING(TRX) IN TRX0TRX.CC
    
    To a failed single statement transaction with a specified gtid on
    auto-commit mode, we missed to release its owned gtid when
    rolling back it if binlog is disabled. Which causes the
    assertion failure.
    
    To fix the problem, to a failed single statement transaction with a
    specified gtid on auto-commit mode, we roll back its owned gtid if
    it does not modify non-transational table or commit its owned gtid
    if it has modified non-transactional table when rolling back it if
    binlog is disabled, as we did when binlog is enabled. Then it does
    not cause an assertion failure any more.

commit 11c65e71b02f7b6e7c22bc7e72797fab19607efa
Merge: 4973555 b59cf7e
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sun Aug 23 08:34:57 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b59cf7ee1ad94317b7b2013f541f49c54aebfbd0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Sun Aug 23 08:32:58 2015 +0530

    Bug #20229614 : OR CONDITIONS ON MULTI-COLUMN INDEX MAY NOT
                    USE ALL INDEX COLUMNS TO FILTER ROWS
    
    ISSUE:
    ------
    While optimizing a range scan for the OR-operator, key_or
    incorrectly assumes an out-of-memory situation. This in turn
    results in an incomplete condition being considered for the
    query plan and gives an incorrect row estimate. Hence the
    over-estimation of the number of qualifying rows.
    
    
    SOLUTION:
    ---------
    In key_or(), a key condition is cloned if it's already in
    use in some other condition. In this case NULL should be
    returned only if allocation fails.
    
    The check of key_count > 0 was originally added as part of
    Bug #4157. This was done to check the key_count after the
    swap of keys. Here changing the "||" to "&&" ensures that
    when the new key_count is greater than 0, there will be
    an attempt to clone the tree.
    
    This also exposes a different issue. When two SEL_ARG
    predicates are "Or-ed" together, i.e. combined into a
    common OR expression, the case when either predicate was of
    the type ALWAYS, i.e. unable to reject any rows, was not
    handled. When key_or tries to clone a SEL_ARG object of the
    type ALWAYS, it results in a failed assertion.
    
    This is fixed by treating ALWAYS SEL_ARG's similar to NULL
    SEL_ARG's. If either SEL_ARG type is ALWAYS, return it and
    release the reference to other one. The logic is similar to
    the inference TRUE or P => P.

commit 4973555ab1b2f3ed8b1b43f66cc0e5a17204f34b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Aug 20 12:59:12 2015 -0500

    Bug 21662569: INNODB_ZIP.16K FAILS ON SOLARIS
    
    The output in this test changed sometime recently when the table_ids changed.
    It should be sorted by table name instead.

commit 6a8cef6f781a949bd6bd123dd513c7382adc08f3
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Fri Aug 21 15:04:17 2015 +0100

    Bug#21464737: MTS SUBMODE ON WORKERS DOES NOT RESPECT THE LOCAL CHANNEL VALUE.
    
    Since the introduction of the channel service interface, the developer
    can now set the MTS submode per channel being the value stored in the
    channel Relay_Log_Info object.
    
    This value is however ignored in the workers (rpl_rli_pdb.cc). The
    workers still read and use the global flag set for all slave
    channels. This can lead to error as the coordinator can be of one
    type and its workers of another.
    This is now corrected as the workers read the value on the rli object.

commit 7239cc95577346fb1bbd9bf2ab83ff3acad53a73
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Aug 20 13:12:11 2015 +0200

    Bug#21649073: JSON_TYPE RETURNS OPAQUE FOR SOME BINARY VALUES
    
    JSON_TYPE returned OPAQUE for some binary values that should have been
    identified as BLOB according to the specification of the function.
    
    This patch adds more cases to opaque_index() to also identify items
    with field type MYSQL_TYPE_VARCHAR or MYSQL_TYPE_VAR_STRING as binary
    strings.

commit 44fe470331e30a7214b6761dd0331b243434c2ee
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Aug 19 16:23:47 2015 +0200

    Bug#21547877: UPDATE/INSERT JSON COLUMN CRASHES IF EXPRESSION REFERS TO SELF
    
    Problem: If a multi-column update statement fails when updating one of
    the columns in a row, it will go on and update the remaining columns
    in that row before it stops and reports an error. If the failure
    happens when updating a JSON column, and the JSON column is also
    referenced later in the update statement, new and more serious errors
    can happen when the update statement attempts to read the JSON column,
    as it may contain garbage at this point.
    
    The fix is twofold:
    
    1) Field_json::val_str() currently returns NULL if an error happens.
    This is correct for val_str() functions in the Item class hierarchy,
    but not for val_str() functions in the Field class hierarchy. The
    val_str() functions in the Field classes instead return a pointer to
    an empty String object on error. Since callers don't expect it to
    return NULL, this caused a crash when a caller unconditionally
    dereferenced the returned pointer. The patch makes
    Field_json::val_str() return a pointer to an empty String on error to
    avoid such crashes.
    
    2) Whereas #1 fixes the immediate crash, Field_json::val_str() may
    still read garbage when this situation occurs. This could lead to
    unreliable behaviour, and both valgrind and ASAN warn about it. The
    patch therefore also makes Field_json::store() start by clearing the
    field, so that it will hold an empty value rather than garbage after
    an error has happened.
    
    Fix #2 is sufficient to fix the reported problems. Fix #1 is included
    for consistency, so that Field_json::val_str() behaves the same way as
    the other Field::val_str() functions.
    
    The query in the bug report didn't always crash. Since the root cause
    was that it had read garbage, it could be lucky and read something
    that looked like a valid value. In that case, Field_json::val_str()
    didn't return NULL, and the crash was avoided.
    
    The patch also makes these changes:
    
    - It removes the Field_json::store_dom() function, since it is only
      called from one place. It is now inlined instead.
    
    - It corrects information about return values in the comment that
      describes the ensure_utf8mb4() function.

commit 08e5fd8a24f33267a2b6474b2188ac93a43abebe
Merge: 319b412 d6007d7
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 21 18:18:25 2015 +0530

    Merge remote-tracking branch '56repo/mysql-5.6' into mysql-5.7

commit d6007d76d0034ef823ed0a5df72f1b92a0fc5766
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 21 18:17:06 2015 +0530

    Bug #20201006 spamming show processlist prevents old
    connection threads from cleaning up.
    
    Post push test fix.

commit 319b412a19468cf5ceee49f29ea5fda35a61faa0
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Aug 21 11:01:37 2015 +0200

    Bug#21625929: ASSERTION FAILED: FALSE IN CREATE_TMP_FIELD
    WITH UNKNOWN OUTER FIELD
    
    Some assertions in sql_tmp_table.cc were added in a merge
    from 5.6. They ruled out the possibility that a temporary
    table column could be created on the basis of a prepared
    statement parameter.
    
    Fixed by reverting the behavior back to 5.6 in this
    particular case: I.e. not creating columns for parameters
    during PREPARE. During EXECUTE we don't have this problem,
    obviously, since at that time the parameters have been
    substituted by constant expressions.

commit 7d31de6ee573744bb4aa4efc5268068fc960916f
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Aug 21 12:23:19 2015 +0530

    Bug#21335818 : MYSQL_SSL_RSA_SETUP CREATES UNWANTED .RND FILE IN DATADIR
    
    Description : When generating RSA keys, OpenSSL generated .rnd file in
                  $HOME directory. In case of mysql_ssl_rsa_setup being
                  executed as one of the initialization steps, these file
                  should be removed from data directory after the generation
                  of certificates/keys is complete.
    
    Solution : Remove .rnd file from current working directory before and
               after generation. If certificates/keys are already present,
               no attempt will be made to remove this file.
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Terje Rosten <terje.rosten@oracle.com>

commit e6bde995f62d490b29e122604ef5c4a3840dc228
Author: Manish Kumar <manish.4.kumar@oracle.com>
Date:   Fri Aug 21 11:55:03 2015 +0530

    BUG#21641780 - CRASH ON 'START/STOP SLAVE FOR CHANNEL 'GROUP_REPLICATION_APPLIER'
    
    Problem :
    
    When we have a group running a user can execute:
    
    START SLAVE FOR CHANNEL 'group_replication_applier';
    STOP SLAVE FOR CHANNEL 'group_replication_applier';
    
    The STOP SLAVE command sets the FDE (FormatDescriptionEvent) of the
    channel to NULL. So an attempt to queue any event after that causes a
    crash in the Transaction_boundary_parser::get_event_boundary_type as a
    NULL value is being used.
    
    For the normal slave, queue_event() is only executed by the IO thread
    that controls the removal of the FDE so there is no issue there. In
    Group Replication we set our a "local" master info object (that is
    replaced if the channel IO thread connects) for scenarios where there is
    no IO thread and that gets deleted due to STOP SLAVE.
    
    Solution :
    
    The solution implemented here are :
    
    Inside rpl_slave.cc::queue_event() check if FDE is NULL, if it is
    then we throw an error.
    Disallow execution of START/STOP SLAVE and IO_THREAD on FOR CHANNEL
    'group_replication_applier';
    We also disallow the execution of SHOW SLAVE STATUS for channel
    group_replication_applier'.

commit 2c45c34b7ed33766875f5388d61ea7357345c31b
Merge: 33a0025 6fd2521
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Aug 21 08:42:15 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6fd252159923a896d163c01f8f4dc01d6d7bffaa
Merge: c102e4d ec58c25
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Aug 21 08:39:13 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ec58c25e8d29220a05236208d13dc9e2b0b4fc9d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Aug 21 08:35:42 2015 +0530

    Bug#20198490 : LOWER_CASE_TABLE_NAMES=0 ON WINDOWS LEADS TO
                   PROBLEMS
    
    Description:- Server variable "--lower_case_tables_names"
    when set to "0" on windows platform which does not support
    case sensitive file operations leads to problems. A warning
    message is printed in the error log while starting the
    server with "--lower_case_tables_names=0". Also according to
    the documentation, seting "lower_case_tables_names" to "0"
    on a case-insensitive filesystem might lead to index
    corruption.
    
    Analysis:- The problem reported in the bug is:-
    Creating an INNODB table 'a' and executing a query, "INSERT
    INTO a SELECT a FROM A;" on a server started with
    "--lower_case_tables_names=0" and running on a
    case-insensitive filesystem leads innodb to flat spin.
    Optimizer thinks that "a" and "A" are two different tables
    as the variable "lower_case_table_names" is set to "0". As a
    result, optimizer comes up with a plan which does not need a
    temporary table. If the same table is used in select and
    insert, a temporary table is needed. This incorrect
    optimizer plan leads to infinite insertions.
    
    Fix:- If the server is started with
    "--lower_case_tables_names" set to 0 on a case-insensitive
    filesystem, an error, "The server option
    'lower_case_table_names'is configured to use case sensitive
    table names but the data directory is on a case-insensitive
    file system which is an unsupported combination. Please
    consider either using a case sensitive file system for your
    data directory or switching to a case-insensitive table name
    mode.", is printed in the server error log and the server
    exits.

commit 33a00250dde390f134b23146b2d0b3ff35485b37
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Wed Aug 19 11:48:11 2015 +0100

    Bug#21464787 THE CHANNEL SERVICE INTERFACE LACKS A METHOD TO CHECK THE RECEIVER THREAD ID.
    
    Currently the channel service interface lacks a method to check the
    receiver thread id while having this method for the applier thread. In
    fact the interface should be generic and always allow to execute the
    same methods on both threads whenever it makes sense to.
    
    The method is now generic and allows to check either the receiver or
    the applier thread. It shall be useful to identify if the thread that
    executed some hook is the thread from channel A or B.

commit 47be90d18c4581f00310372d0603b11d8197db51
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu Aug 20 17:14:17 2015 +0100

    Bug#21650801: HAVE_GROUP_REPLICATION_PLUGIN.INC IS NOT SAFE AGAINST RELEASE BUILDS
    
    In release builds, group replication tests that depend on the
    $GROUP_REPLICATION variable are failing as the associated "have
    plugin" include does not verifies if it is declared or not.
    
    This is now fixed, as the have_group_replication_plugin.inc file now
    tests the $GROUP_REPLICATION variable.

commit ed262cad9524f2ccc0e3f25e8c6e39c3aeaf521a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Aug 20 17:03:24 2015 +0200

    WL#8161: Locking service for read/write named locks
    
    Fix some typos in doxygen comments noticed by Paul DuBois.

commit fefd2e1969285755f53675ebfad32499f12aa2a1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Aug 20 15:24:51 2015 +0100

    Bug#20146455: FIND_KEY_CI RETURNS NULL, CAUSES CRASH IN FILL_ALTER_INPLACE_INFO
    
    The problem was that the server could terminate if a generated
    foreign key index was renamed by the same ALTER TABLE statement
    that added a new foreign key with the same name.
    
    The reason this happened is the server figured out that the
    two foreign keys would result in two generated keys so similar
    that one of them was redundant. If the redundant key was the
    same key that was renamed, the code which handles index renames
    in fill_alter_inplace_info() could not find the key to rename.
    
    This patch fixes the problem by treating a renamed key as if
    it is no longer generated.

commit afe99566b5171e0d3c0a04978b49591244c6a8e5
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Aug 17 22:54:04 2015 -0500

    Bug 21577278 INNODB: DO NOT TREAT A BAD ISL FILE LIKE A MISSING ISL FILE
    
    During recovery, if an ISL file is found that refers to a missing or invalid datafile,
    do not open that datafile, even if a valid version can be found in the
    MLOG_FILE_NAME record.  This will cause recovery to fail.
    
    Approved by Deb in rb#9958

commit 252ef5fb958899de2ed9ab7c7d24d8de25c43942
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Aug 20 15:52:22 2015 +0530

    Bug#21664268 - IMPROVE THE DEBUG IB_LOG MESSAGES
    
    Problem:
    -------
    On debug builds, when --debug=d,ib_log is passed to mysqld, it prints the redo
    log records scanned and applied.
    
    It prints the redo log records as number instead of strings. For
    example, 2 instead of MLOG_2BYTES
    
    Fix:
    ----
    Use strings to print redo log records. For example it will look like
    
    "recv_group_scan_log_recs: ib_log: scan 2123238: log rec MLOG_TRUNCATE
    len 15 page 78:0"
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    RB: 9966

commit 406884e6f409e3566440a9f275fb528b671903ec
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Aug 20 10:53:31 2015 +0200

    Bug#21299665 INORDERNATE MEMORY USAGE QUERYING I_S.COLUMNS
    
    Some queries using the INFORMATION_SCHEMA can consume excessive
    amount of memory because of a suboptimal query plan and lack of
    proper materialization. This patch applies a temporary mem_root
    on during the JOIN-execution phase when the I_S tables are
    materialized as temporary tables.

commit e22ca5ada0cd438a323301abfa2f18b62d8b2c17
Author: Pavan Naik <pavan.naik@oracle.com>
Date:   Thu Aug 20 13:54:19 2015 +0530

    WL#7530 and WL#7531
    
    1. Create a RQG Grammar for GIS Geometry Set Operations and
       GIS Spatial Relation Check Functions.
    
    2. Modified the grammar to work with Transformer Validator.

commit 3e6c789ef18c6cb7ab92ea3c25ef24b0792767df
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Aug 20 15:16:10 2015 +0800

    BUG#21266784 - PATCH FOR 21052754 SHOWS UP TO AN 11% DROP IN PERFORMANCE
    FOR UPDATE OPS
    
    The patch would fix the L1 cache miss issue. The on/off check and counters
    per mutex should now be on the same cache line.
    
    The patch also fix an issue that we should distinguish BlockWaitMutex from
    WaitMutex.
    
    Finally, the patch does lots of code cleanups to improve the performance,
    by doing statstics in batch mode.
    
    The regression observed is 4-5% now.
    
    The original patch is provided by Sunny.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9608

commit 0031a2b3571e8038827c072194bac8893d77ae19
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Thu Aug 20 10:54:58 2015 +0800

    WL#8756  Deprecate binlog_max_flush_queue_time in 5.7
    
    The variable binlog_max_flush_queue_time was introduced in 5.6
    in order to fine-tune the Binlog Group Commit. Due to changes
    in 5.7, the option has no effect any more. Therefore we
    deprecate the variable in 5.7 and plan to remove it in 5.8.
    
    This worklog will generate a deprecation warning in 5.7 and 5.8.
    It will not remove the variable in 5.8.

commit 065d70ef794941615a0cd7b31cd0dcba0a982d78
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Aug 19 14:39:18 2015 -0500

    Bug#21506237 SIG11 AT QUERY_ARENA::STRMAKE IN SQL/SQL_CLASS.H:216
    
    Fixed regression caused by Bug#20546175 "GET RID OF THE ER() MACRO".
    
    Function get_one_variable() resolves local and remote system vars by
    passing the local and remote THD pointers to sys_var::value_ptr().
    Bug#20546175 changed this so that only the remote THD is passed,
    resulting in a race condition.
    
    The THD pointer arguments to get_one_variable() are now unambiguous.

commit d7f4e8fd2374683b3d39ff859545fe4454440474
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Tue Aug 18 18:03:10 2015 +0200

    Bug#21541481 MEMORY LEAK OF ALLOCATIONS MADE IN VAL_JSON_FUNC_FIELD_SUBSELECT
    
    When comparing rows, the array Arg_comparator::comparators. In
    Arg_comparator::cleanup, we called delete_json_scalar_holder on the
    immediately held Json_scalar_holder, but not on any such inside the
    array used for comparing rows, hence the memory leak. So, added that
    and the repro test case to json.test.
    
    Note: Arg_comparator's "a" argument (whose "cols" method we could
    potentially use to determine the number of members in the
    "comparators" field) could already have been destroyed at the point of
    execution of Arg_comparator::cleanup.  Therefore we store the number
    separately instead.

commit 2f62f93038e45464ccb3fbf2dd91ba7b5207ba55
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Wed Aug 19 05:23:23 2015 -0700

    Bug#21560934 CHANGE THE NAME OF JSON_APPEND() TO JSON_ARRAY_APPEND()

commit 152c006d438f0035c4455880439edb6153e7a273
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Aug 6 16:21:13 2015 +0300

    Bug #21498544: mysqld --initialize should not complain about lack of ssl certs
    
    When running --initialize with the yassl linked server while ssl is
    enabled (the default) there was a "failed ssl initialization" warning
    printed because yassl can't generate key material programatically.
    
    Muted the warning when compiled with yaSSL, the --ssl server option is on
    and there are no other ssl configuration options (-ssl-ca etc) specified.
    
    Test case added.

commit de0241854093caae0f36f460d3936897c8993407
Merge: ee8dfc3 c102e4d
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 19 14:24:50 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit c102e4d40769466b7990c08d3ac1bfb9a01fd66e
Merge: 883e25e 60a9535
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 19 14:19:48 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    - Change to default Docker config for all versions

commit 60a95351c75e2df5c5957f3a11bda968283a6aa6
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Aug 19 14:17:50 2015 +0200

    Small change to default config for Docker-specific rpm package
    Syncs "official" and our own Docker images

commit ee8dfc3dc734788d2e062b5d43224eb080cb03ce
Merge: d445181 883e25e
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Wed Aug 19 16:33:29 2015 +0530

    Merge remote-tracking branch '56repo/mysql-5.6' into mysql-5.7
    
    Because of this change, tests which verifies PROCESSLIST and
    then status variable "threads_connected" might fail on slower
    machines. As part of this patch, changed test cases to wait
    until "threads_connected" is set to expected value instead
    of PROCESSLIST count.

commit 883e25e945f304f05130ee541f7962004ed9aa90
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Wed Aug 19 16:13:45 2015 +0530

    Bug #20201006 spamming show processlist prevents old
    connection threads from cleaning up.
    
    Analysis
    --------
    Issue here is, delay in connection cleanup for which global
    connection counter is already decremented, makes room for new
    connections. Hence more than expected connections are observed in
    the server.
    
    Connections running statement "SHOW PROCESSLIST" or "SELECT on
    INFORMATION_SCHEMA.PROCESSLIST" acquires mutex LOCK_thd_remove
    for reading information of all the connections in server.
    Connections in cleanup phase, acquires mutex to remove thread from
    global thread list. Many such concurrent connections increases
    contention on mutex LOCK_thd_remove.
    
    In connection cleanup phase, connection count is decreased first
    and then the thd is removed from global thd list. This order
    makes new connection (above max_connections) possible while
    existing connections removal is still pending because of
    mutex LOCK_thd_remove.
    
    Fix:
    ---
    In connection clean phase, now first thd is removed from the
    global thd list and then the global connection count is
    decremented.

commit d4451811c62ae9a7cf3bf676a674f03af21bfa45
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Aug 18 15:18:15 2015 +0530

    Bug#21451922 - FOUND A MISMATCH PAGE, EXPECT PAGE - ASSERTION
    
    Problem:
    -------
    During truncate, we intentionally crash (DBUG_SUICIDE()) after updating
    SYS_INDEXES. In recovery, we skip all redo on the tablespace that was
    truncated. All the LSNs > MLOG_TRUNCATE LSN are also skipped if the
    tablespace is marked for truncate. Because of this, tablespace pages
    are inconsistent state (depends on flush order).
    
    Since we crashed when inserting into SYS_INDEXES, this transaction has to be
    rolledback. After finishing recovery, we try to rollback the DD
    transaction. When undoing the changes to SYS_INDEXES, we drop the index
    of a tablespace first and undo the modification on SYS_INDEXES table.
    
    The drop of index on the truncated tablespace causes assert because the
    tablespace is in inconsistent state (the truncate fixup is yet to be done).
    
    Fix:
    ----
    During rollback, do not try to drop the index of tablespace if it is
    marked for truncate. The tablespace will be fixed by the truncate fixup
    action.
    
    Also fixed the wl#6501 testcases to use .inc files
    
    Reviewed-by: Krunal Bauskar <krunal.bauskar@oracle.com>
    RB: 9961

commit 8686c64812ebf580552e954e9a3d71a66643f15d
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Aug 19 14:07:54 2015 +0530

    - Bug#21629618: RECOVERY FAILURE: PLUGIN 'INNODB' INIT FUNCTION RETURNED ERROR
    
      Followup fix to correct compilation error about basename usage.

commit 2e62a613b474e20bea8af2660e34b4ec3a57b4b8
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Aug 18 12:27:34 2015 +0200

    Bug#21616585 ASSERTION FAILED: !(DECIMAL_IS_ZERO(FROM2) && FROM2->SIGN)
    
    Avoid negative zero for results when converting time to decimal.
    This is a followup patch to
    Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES

commit 1a07eb3dd3c21aa7560781c0ff87af569c3e5046
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Aug 19 13:17:30 2015 +0530

    Bug #20625566:   SHOW CREATE USER ALLOWS ACCESS TO OTHER USERS PASSWORD HASH

commit b668ed1be482cc752590dc0b9564c7bff211d926
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Aug 19 12:31:19 2015 +0530

    - Bug#21629618: RECOVERY FAILURE: PLUGIN 'INNODB' INIT FUNCTION RETURNED ERROR
    
      Likely cause seems to be related to recently added code that check if
      there is out-of-space error while creating new rollback segments.
    
      Unfortunately, we couldn't find other traces in InnoDB log files
      about out-of-file error.
    
      Based on discussion we have improved the logging messages and added
      new error messages to help catch this issue if it occurs next time.
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB: 9981

commit 1d3d97f36b93fce63f0ecfce4b00fc141289cfde
Author: Darshan M N <darshan.m.n@oracle.com>
Date:   Wed Aug 19 12:04:29 2015 +0530

    Bug#21557723 CAN'T USE OUTPUT OF 'SHOW CREATE TABLE' TO CREATE A NEW TABLE
    
    Problem:
    ========
    When `CREATE TABLE` is used with the `COMPRESSION` option then the output
    of `SHOW CREATE TABLE` cannot be used to create a new table.
    
    Fix:
    ====
    Fixed get_schema_tables_record(), mysql_prepare_create_table() to display
    COMPRESSION instead of COMPRESS. Also fixed the error message which uses
    COMPRESS.
    
    Reviewed-by: Aditya A <aditya.a@oracle.com>
    Reviewed-by: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
    RB: 9866

commit e4952d2057251f6bab0f1d7865bde2702224f221
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Aug 11 18:48:13 2015 +0300

    Bug #21534277: MYSQLPUMP HAS NO --VERSION OPTION
    
    Added a --version option to the Help_options class by reusing some of the
    --help code.
    
    This adds --version to both mysqlpump and mysql_upgrade (that was suffering
    from the same deficiency).
    
    Added a test case for mysqlpump.

commit e5af16404977cc7b9f77c976c2607b0ab8437430
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 18 09:56:38 2015 +0200

    Bug#21296553: WARNINGS SENT TO STDERR/OUT EVEN WHEN LOGGING SET TO SYSLOG
    
    Follow-up patch: Add flushing for error log in a few cases
    where we don't call unireg_abort(). Remove key_memory_buffered_logs
    since it is now unused.

commit a91c0257184cf5c902e2484628841f8cd548dd39
Merge: 5f9b02c 1dbe2bc
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 18 17:31:06 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1dbe2bcee728a6e4f126d66d5a159fae263007eb
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Aug 18 17:29:02 2015 +0530

    BUG#20928790 SHOW BINLOG EVENTS COMPLETELY LOCKS DOWN WRITES TO BINLOG, HENCE TRANSACTIONS.
    Problem: While a `SHOW BINLOG EVENTS` is executing, any parallel transaction
    is blocked.
    
    Analysis:
    ========
    
    In the good old days, replication was coded such that every access to the
    binlog was protected by a mutex. So `Show binlog events` also acquires
    LOCK_log mutex and loops through the file to print the events in order not
    to get conflicts with any ongoing operations. While this operation is happening,
    all binlog write operation which are trying to acquire LOCK_log mutex are blocked.
    Hence all the parallel transactions are blocked.
    
    When 'show binlog events' opens the file to read the events from it,
    the file is locked and if there is parallel purge operation to delete
    this file that operation will fail with a warning that "file 'xyz' was
    not purged because it was being read by another thread". Hence
    server does not require to acquire a lock while iterating through
    the events in the file.
    
    Fix:
    ====
    Acquire LOCK_log only for the duration to calculate the log's end
    position. LOCK_log should be acquired even while we are checking
    whether the log is active log or not. Once 'end_pos' is calculated
    for the given binary log, the events are displayed till that position.
    Since we do not acquire LOCK_log (acquired only for less duration),
    parallel transactions will not be blocked for large duration.

commit 5f9b02cdd876017b6e7a00ce3f8d19b1e470d16d
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Aug 18 15:56:34 2015 +0530

    Bug #21628662: MYSQLPUMP SHOULD EXIT FOR ALL INCOMPATIBLE OPTION COMBINATIONS
    Post push fix. On solaris the mysqlpump test was failing due to uninitialized
    class member. This patch fixes this issue.

commit 459528a372ccc88c5dbc0f188f2b6cf63e2e01a1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Aug 18 09:36:59 2015 +0200

    WL#8786 INFORMATION_SCHEMA WITH SHOW_COMPATIBILITY_56

commit 5d014851acd8188046f1974e6885439ab876ec32
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Aug 18 15:06:05 2015 +0800

    BUG#21638891 NGRAM PARSER: FAILING ASSERTION: STATE->DEPTH > 0
    
    It's general issue for plugin parser: we don't handle parenthesis properly.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> over IM

commit e2bf770a4f73eb7605e7b833cd84c0b291471bf8
Merge: 2da8de0 84f9232
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Aug 18 12:26:24 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 84f92327ffc567b2fcb9fede9cbbb7e6a1c93ea1
Merge: 1b2f074 8e5de32
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Aug 18 12:25:36 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8e5de3276063c3b8edfa242ee6df49e73bd4cfc4
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue Aug 18 12:24:27 2015 +0530

    Bug #16171518 - LOAD XML DOES NOT HANDLE EMPTY ELEMENTS
    
    DESCRIPTION
    ===========
    Inability of mysql LOAD XML command to handle empty XML
    tags i.e. <row><tag/></row>. Also the behaviour is wrong
    and (different than above) when there is a space in empty
    tag i.e. <row><tag /></row>
    
    ANALYSIS
    ========
    In read_xml() the case where we encounter a close tag ('/')
    we're decreasing the 'level' blindly which is wrong.
    Actually when its an without-space-empty-tag (succeeding
    char is '>'), we need to skip the decrement. In other words
    whenever we hit a close tag ('/'), decrease the 'level'
    only when (i) It's not an (without space) empty tag i.e.
    <tag/> or, (ii) It is of format <row col="val" .../>
    
    FIX
    ===
    The switch case for '/' is modified. We've removed the
    blind decrement of 'level'. We do it only when its not an
    without-space-empty-tag. Also we are setting 'in_tag' to
    false to let program know that we're done reading current
    tag (required in the case of format <row col="val" .../>)

commit 2da8de0a8bf46690bbafa33d8aa0b42270001d6e
Merge: 54d8b7d 1b2f074
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Aug 18 10:39:58 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1b2f074c58299507bc4bbd3bdab5628a6500e9ef
Merge: 65b12a2 447ee4b
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Aug 18 10:39:07 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 447ee4b352ab0601f38e9befda3338e1e63ec608
Author: Karthik Kamath <karthik.kamath@oracle.com>
Date:   Tue Aug 18 10:38:06 2015 +0530

    BUG#11754258: INCORRECT ERROR MESSAGE WHEN CREATING UNSAFE
                  VIEW
    
    
    It appears that the code refactoring done as part of the
    patch for the MySQL BUG#11749859 fixed this issue. This
    issue is not reproducible on MySQL 5.5+ versions now.
    As part of this patch, the test file "mysqldump.test" has
    been updated to remove the comment which was referring to
    the bug and also the line which suppresses the warning.

commit 54d8b7d31ff0404061d49454b19e3469ac13c024
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Aug 17 19:24:27 2015 +0530

    Bug #21628662 MYSQLPUMP SHOULD EXIT FOR ALL INCOMPATIBLE OPTION COMBINATIONS
    mysqlpump when used with --single-transaction or --add-locks should disable
    parallelism else must report error.

commit a0b47bd5149dde4d72edc12f6643353da2a78264
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Aug 17 14:51:25 2015 +0200

    Bug#21296553: WARNINGS SENT TO STDERR/OUT EVEN WHEN LOGGING SET TO SYSLOG
    
    Post-push fix: Fix sporadic failure in main.help_verbose.
    
    The problem was that this test asserts that no warnings or
    errors are written to the error log. After the patch for
    Bug#21296553 warnings/errors that occur during early server
    startup are now written to the error log. This caused the
    test to fail on platforms where e.g. max number of connections
    where adjusted due to OS configuration.
    
    This patch fixes the problem by rewriting the tests so it
    only checks for errors in the error log. Warnings like
    the one mentioned above are normal and expected, and should
    not be silenced as they affect output of --help --verbose.

commit 2ce88c4a84753782fb35ee7148c98405c672341d
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Aug 17 20:46:11 2015 +0800

    Followup: BUG#21551464 - SEGFAULT WHILE INITIALIZING DATABASE WHEN
    INNODB_DATA_FILE SIZE IS SMALL

commit bdac2977a922c586ba6ea6a7e152871cf933f1e4
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Aug 17 13:46:03 2015 +0300

    Bug#21640085 RECV_PARSE_LOG_REC VIOLATES ITS CONTRACT RE. INCOMPLETE RECS
    FOR MLOG_CHECKPOINT
    
    When recv_parse_log_rec() encounters an incomplete redo log record,
    it should return 0 instead of the length of the redo log record.
    This was being violated for the MLOG_CHECKPOINT record.
    
    This is a regression from the Bug#17798076 fix, which increased
    SIZE_OF_MLOG_CHECKPOINT from 1 to 9 bytes.
    
    recv_parse_log_rec(): Return 0 if an incomplete MLOG_CHECKPOINT record
    is encountered.
    
    recv_parse_log_recs(): Remove the check for incomplete MLOG_CHECKPOINT
    records. We will already have returned if recv_parse_log_rec() returned 0.
    
    RB: 9949
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit d318da74a9d968967aed2d259d2ab18785d9843d
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Aug 17 13:44:52 2015 +0300

    Bug#21628087 innodb_log_checkpoint_now not fully compatible with WL#7142
    
    In debug builds of MySQL, there is an configuration variable
    that allows an InnoDB log checkpoint to be initiated:
    
    SET GLOBAL innodb_log_checkpoint_now=ON;
    
    Setting this variable while a table-rebuilding ALTER TABLE is executing
    may result in an infinite loop.
    
    checkpoint_now_set(): Account for log_sys->append_on_checkpoint->size().
    Note that this function contains race conditions, because it is accessing
    fields of log_sys without holding log_sys->mutex. We think that this is
    acceptable, because this variable only exists for debugging purposes, in
    debug builds of MySQL.
    
    RB: 9947
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 4e9cb0d3c47a43e1e6f4c9b042f9125e8c236081
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Aug 17 16:03:18 2015 +0530

    Bug#21504889: MYSQLPUMP --HELP PROVIDES NO INVOCATION SYNTAX
    When mysqlpump is invoked with wrong options mysqlpump should provide proper invocation
    syntax. Fixed this issue and also fixed the same in --help output for mysqlpump.
    
    Bug#21461407: mysqlpump output says it is mysql dump
    Fixed the output to display mysql pump.
    
    Fixed following issues raised during documentation:
    1. issue an error if mysqlpump connects to an old server
    2. remove --tables options
    3. set default-character-set set to UTF8MB4 in help output
    4. change english grammer in help output
    5. allow event names to be specified as <db>.<event> in include/exclude option. ex: mysqlpump --include-events=db1.ev1

commit e1847a8cc78dcbba1ff1a982969bfc3daea7626c
Merge: 1d35967 65b12a2
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Aug 17 12:29:37 2015 +0200

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

commit 65b12a2b55ad49a5718c373d515b17024fe96522
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Aug 17 12:05:57 2015 +0200

    Bug#21335271 CANNOT SET MYSQL_FIREWALL_TRACE AT RUNTIME
    
    (backport from 5.7)
    The mysql_firewall_trace variable could be updated at runtime
    because the plugin hijacked the update command without setting
    the new value.

commit 1d35967bd6e117ea829cee3ec0d8392434ffe705
Merge: 13ef5f0 581ecda
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Aug 17 15:29:01 2015 +0530

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

commit 581ecda9c8eb039a65699fa43639ea2d6bdaa389
Merge: e480ac6 43301e4
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Aug 17 15:28:18 2015 +0530

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

commit 43301e42ef18b9898f1e8d94e9c9a6ac31f3efd5
Merge: e242946 9d9a929
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Aug 17 15:26:01 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 9d9a929f0b016ebab7254f6e47da509e71d509f4
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Mon Aug 17 15:23:47 2015 +0530

    Bug #21350175: SUBQUERIES IN PROCEDURE CLAUSE OF SELECT STATEMENT CAUSES SERVER FAILURES.
    
    Analysis :
    ==========
    During JOIN::prepare of sub-query which creates the
    derived tables we call setup_procedure. Here we call
    fix_fields for parameters of procedure clause. Calling
    setup_procedure at this point may cause issue. If
    sub-query is one of parameter being fixed it might
    lead to complicated dependencies on derived tables
    being prepared.
    
    SOLUTION :
    ==========
    In 5.6 with WL#6242, we have made procedure clause
    parameters can only be NUM, so sub-queries are not
    allowed as parameters. So in 5.5 we can block
    sub-queries in procedure clause parameters.
    This eliminates above conflicting dependencies.

commit 13ef5f07d9622e93a3deebc58ad916cede65822d
Merge: d7ef3f3 e480ac6
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Aug 17 15:13:56 2015 +0530

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

commit e480ac6c2cd23db1c420e0c6740b493cc2587195
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Aug 17 15:12:17 2015 +0530

    Bug#21046372: GAPS IN RETRIEVED_GTID_SET WHILE NO GAPS IN
    EXECUTED_GTID_SET
    
    Fixing a post push issue.

commit d7ef3f3c4203a0dc016b56d558d963204624d874
Merge: 8489d35 d24661b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Aug 17 12:26:41 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d24661b5200f453859517b89802cbd07e2d8de71
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Aug 17 12:25:55 2015 +0530

    BUG#19286708 REPLICATION BROKEN AFTER CREATION OF SCHEDULED EVENTS
    
    Problem: In mixed replication, events that has unsafe functions
    (sysdate()) cannot be created.
    
    Analysis: DDL Statements (that change metadata) are always
    getting written in the binlog in STATEMENT format irrespective
    of binlog_format settings. And the changes to the metadata
    should not be replicated as the same statement when it is executed
    on Slave will update the metadata on slave side. Event based SQL
    commands (CREATE EVENT, ALTER EVENT and DROP EVENT) belong to
    the same category. Code was written to take care of changing the
    current_statement_binlog_format into 'statement' if it is 'row'
    in case of executing/replicating such statements. But in case of
    create event and alter event, after we are converting row format
    to statement format, while we are opening the tables server decides
    the binlogging format (in decide_binlog_format()) and the logic
    again changes binlog format to "row" if it sees the statement is
    unsafe and we are using mixed format.
    
    Fix: Forcefully change the binlog format to 'statement' (if it is 'row'
    format) for these statements *after* server executing 'decide_binlog_format'.

commit 8489d35fd8dad3084274354762bc37d857efc81a
Merge: e07c1f6 f2e768e
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Aug 17 11:42:44 2015 +0530

    Bug#21046372: GAPS IN RETRIEVED_GTID_SET WHILE NO GAPS IN
    EXECUTED_GTID_SET
    
    Merge branch 'mysql-5.6' into mysql-5.7
    
    Null Merge

commit f2e768e4fe39da8309f9e17d40faa80de6bf2752
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed Aug 5 16:09:02 2015 +0530

    Bug#21046372: GAPS IN RETRIEVED_GTID_SET WHILE NO GAPS IN
    EXECUTED_GTID_SET
    
    Problem:
    ========
    Under certain circumstances it is possible that
    Retrieved_Gtid_Set on slave will contain gaps while actually
    no gaps will be in Executed_Gtid_Set and slave binary logs.
    
    This happens when slave rotates relay log in such a way that
    last event contains record which sets GTID_NEXT, then
    following log contains few GTIDs, then slave restarts. After
    restart GTIDs for Retrieved_Gtid_Set executed wrongly and
    there are phantom gaps.
    
    Analysis:
    ========
    Let us consider a scenario where gtid set 1-3 is written to
    relay log and we are about to write the 4th GTID event.
    Existing code first writes the events to relay log and then
    adds the new GTID to the Retrieved_Gtid_Set. If a rotation
    happens at this moment after writing the GTID event the
    newly written relay log will have the Previous_Gtid set as
    1-3. If a restart happens at this scenario and few more
    gtids are present after this event the Retrieved_Gtid_set
    will have gaps like 1-3:5-6 and 4th GTID will be a gap.
    
    Fix:
    ===
    Add the gtid to the Retrieved_Gtid_Set before writing the
    actual event to the relay log. If due to some reason
    writing to relay log fails remove the GTID from the
    Retrieved_Gtid_Set.

commit e07c1f6dc6113c678959192da8119cf9c0d6f2ab
Merge: 5d3f588 562bafc
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Aug 17 11:04:38 2015 +0530

    Bug#20909880: BROKEN REPLICATION ON SQL THREAD RESTART
    IF GTID_MODE IS ENABLED
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 562bafcaa92f74d6bc0997c7546f47a82b1c6cae
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Aug 17 11:00:50 2015 +0530

    Bug#20909880: BROKEN REPLICATION ON SQL THREAD RESTART IF
    GTID_MODE IS ENABLED
    
    Fix:
    ===
    Back port Bug #20644100  "Event crc check failed" when
    master disable binlog_checksum to mysql-5.6.

commit 5d3f588d2743519d4e87a69a7f7567fdc9568296
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 17 08:10:47 2015 +0530

    Bug #19985318: DATE_FORMAT: STACK BUFFER OVERFLOW IN
                   INT10_TO_STR
    
    Issue:
    -----
    When the number of days calculated by the DATE_FORMAT
    function is negative, there is incorrect behavior.
    
    SOLUTION:
    ---------
    DATE_FORMAT function does not consider a negative value
    for the number of days as possible. Hence supplies a
    positive radix value to the INT10STR function. This results
    in misinterpretation of the actual value of the days. A
    negative radix value should be supplied when the number of
    days is negative.

commit a6d057948249af89f983dd8e5850f5544705d942
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Aug 14 23:23:02 2015 +0530

    BUG#21134683 NATIVE PARTITIONING MOVING FILES BETWEEN WINDOWS AND LINUX
    
    post push fix: correct variable name in _WIN32 specific code

commit 016308e2625a00265645c120f5e72b7670cfceee
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Aug 12 14:06:11 2015 +0200

    Bug#21562212 MEMORY/PERFORMANCE_SCHEMA INSTRUMENTS SHOULD BE ALWAYS ENABLED
    
    Before this fix,
    - "memory/%" instruments could be configured with
      TIMED='YES' or TIMED='NO' in table setup_instrument.
    - "memory/performance_schema/%" instruments could be configured with
      ENABLED='YES' or ENABLED='NO' in table setup_instrument.
    
    This does not make sense, because:
    - memory instruments in general are never timed,
    - performance_schema builtin memory instruments in particular can not be disabled
    
    With this fix,
    - "memory/%" instruments are never timed.
    - "memory/performance_schema/%" instruments are never disabled.
    
    This fix avoids confusion, by displaying more truthfully in table
    setup_instrument what the server actually does with the memory
    instrumentation.

commit e10cb06631118c27e218185ca6c4dc2eac78ee4b
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Aug 14 17:44:09 2015 +0530

    BUG#21134683 NATIVE PARTITIONING MOVING FILES BETWEEN WINDOWS AND LINUX
    
    Problem :
    ---------
    The is a known issue that is resolved for general partitioning by
    11755924[rb#786]. The hard-coded #P/#p creates problem when we
    move partition data files between windows and linux.
    
    Solution :
    ----------
    For native partitioning add similar fix to check for table in
    dictionary by modifying upper/lower case, if the load fails
    with default name.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    
    RB: 9905

commit 6efbcee09ee2720a1596427e98702c560dbb6a99
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Aug 14 09:51:18 2015 +0200

    Bug#21613422: Assertion failed: !thd->is_error() in select_lex::prepare()
    
    This is yet another occurrence of a missing error check, this time after
    call to find_field_in_table_ref().

commit 8ec72e60d620bb3b30390be50abffc59ad310078
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Aug 14 15:57:05 2015 +0800

    Bug#21628058 - DICT_TABLE_HAS_INDEXED_V_COLS MISSING UNIV_INLINE IN .IC
    
    Approved-by: Sunny Bains <sunny.bains@oracle.com>

commit fbecbe786fa7105decdadbe5ed47d1354a8ef865
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 14 06:38:17 2015 +0200

    Disable two failing tests in Valgrind
    
    Bug#21631197 ASSERT 0 IN INNODB.DOUBLEWRITE RUNNING UNDER VALGRIND
    
    Bug#21616914 MAIN.JSON_CONVERSIONS TIMES OUT IN VALGRIND
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 3262a9b889e9e3c9bfaed69964fc84f92dbab1a6
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Aug 13 13:44:56 2015 -0500

    Add back an assert previously deleted needlessly.
    Approved by Marko in rb#9476.

commit e0bff87b0be7dfed89d7b9a4abe14e0ed40a09a1
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Aug 13 11:42:15 2015 -0500

    Followup fix to the testcase for Bug#20698468
    Proved by Sunny over email

commit 563b0e9f0cce1ceefa00fd6edcfd368bf1e7b665
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Aug 13 13:33:10 2015 +0100

    Bug#21296553: WARNINGS SENT TO STDERR/OUT EVEN WHEN LOGGING SET TO SYSLOG
    
    The problem was that some server error messages during server boot are
    written to stderr/out even if syslog and/or error log file is enabled.
    This happened because proper error logging is only enabled after the
    relevant options have been parsed and the server knows where to write
    the messages. This is especally a problem if mysqld has been detached
    so that stderr/out messages are simply lost.
    
    This patch fixes the problem by buffering error log messages until
    the relevant options have been parsed. The existing Buffered_logs
    implementation, which was only partially in use, has been removed
    in favour of a similar implementation hidden behind the standard
    error log API. This means that the error log API can be used at
    all times.
    
    Note that if the server terminates during startup before the
    error file log has been opened (we know which file to open),
    error messages will be written to stderr as before.

commit 0174eaffe0a0a94280fb68fdab45fac138b6e1f9
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Aug 13 13:19:53 2015 +0200

    Bug#21625471 LEGACY MYSQL_INSTALL_DB{.SH/.PL} SCRIPTS SHOULD BE REMOVED FROM SOURCE

commit 29f6221ba7085a6fd52dbe1836a15471153eb2fa
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Thu Aug 13 10:56:43 2015 +0200

    BUG#21066592 DEFAULT LOCATION OF SOCKET FILE SHOULD NOT BE /VAR/LIB/MYSQL
    
    It's problematic to have socket inside datadir as liberal access
    rights to socket file is required. Moving socket to
    /var/run/mysqld/mysql.sock is the correct solution, however it might
    break a number of applications which for years have used
    /var/lib/mysql/mysql.sock.
    
    For existing Linux distributions we change permissions of datadir to
    more strict mode of 0751 (previous mode was 0755).

commit cec35be75f38d548c2905b28425a4d6fa4c2fa71
Author: Benny Wang <benny.wang@oracle.com>
Date:   Mon Aug 10 09:25:04 2015 +0200

    Fixed bug#21487651: GCOLS: MEMORY LEAK AFTER FAILED ALTER TABLE
    
    During parse the gcol_expr of a generated column, Item objects will be fixed.
    Take the issued test case in the bug report. Item_date_add_interval object
    is fixed and one String member allocates the space by my_alloc. However, if
    an error happens after such an allocation, the space is not freed in
    open_table_from_share.

commit cd90713013cb36b39fc3db9910eac3af88b58080
Merge: f2025d4 9ef7ef9
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Aug 13 10:44:01 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9ef7ef98bb7fec19f7f2503529a2cb085170f364
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed Aug 12 11:06:19 2015 +0530

    Bug#20797764: FAILED CREATE VIEW IS BINLOGGED, AND NOT
    FILTERED OUT
    
    Problem:
    ========
    Replication slave choke on statement that should be ignored
    instead.
    
    Analysis:
    ========
    There are two problems in the above mentioned bug.
    1) Failed CREATE VIEW statement is written to the binary log
    2) When a statement which has failed on master is received
    on slave with an expected error and if the statement is
    skipped on slave due to replication filter we still try to
    compare the expected error with actual error that happened
    on slave. Which is incorrect.
    
    Fix:
    ===
    For the first problem since CREATE VIEW statement cannot
    result in partial view creation, it should not be binlogged
    if the view creation fails. We check for the return status
    of view creation and avoid writing to binlog on error.
    
    For the second problem if a statement with expected error is
    received on slave and only if the statement is not filtered
    then only compare it with actual error that happened on
    slave.

commit f2025d4e5b16953e76645339ab6bd5e05f8e338d
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Wed Aug 12 16:36:10 2015 +0800

    Followup patch for bug#20698468.
    
    Approved by Sunny <Sunny.Bains@oracle.com> over IM.

commit 7050a4ed7c5eebaca5b83727a251f04ea0bd6cee
Merge: 0fb2253 67acbc6
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 12 19:24:03 2015 +0530

    Bug #21025880	DUPLICATE UK VALUES IN READ-COMMITTED (AGAIN)
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 67acbc6a2abeb68dc36dc442e8f2c32ab19e0452
Merge: 6894e50 e242946
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 12 19:20:56 2015 +0530

    Bug #21025880	DUPLICATE UK VALUES IN READ-COMMITTED (AGAIN)
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit e2429464cde3555962787fae236a296cf3971d07
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed Aug 12 19:17:26 2015 +0530

    Bug #21025880	DUPLICATE UK VALUES IN READ-COMMITTED (AGAIN)
    
    PROBLEM
    
    Whenever we insert in unique secondary index we take shared
    locks on all possible duplicate record present in the table.
    But while during a replace on the unique secondary index ,
    we take exclusive and locks on the all duplicate record.
    When the records are deleted, they are first delete marked
    and later purged by the purge thread. While purging the
    record we call the lock_update_delete() which in turn calls
    lock_rec_inherit_to_gap() to inherit locks of the deleted
    records. In repeatable read mode we inherit all the locks
    from the record to the next record  but in the read commited
    mode we skip inherting them as gap type locks. We make a
    exception here if the lock on the records is  in shared mode
    ,we assume that it is set during insert for unique secondary
    index and needs to be inherited to stop constraint violation.
    We didnt handle the case when exclusive locks are set during
    replace, we skip inheriting locks of these records and hence
    causing constraint violation.
    
    FIX
    
    While inheriting the locks,check whether the transaction is
    allowed to do TRX_DUP_REPLACE/TRX_DUP_IGNORE, if true
    inherit the locks.
    
    [ Revewied by Jimmy #rb9709]

commit 0fb22535d7940af015823b576c0af86ae4ff0a08
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Aug 10 09:25:38 2015 +0200

    Bug#21055139 SUBQUERY HAVING COUNT WITH GROUP BY GIVES INCORRECT RESULT
    
    For 'x in (SELECT y)', subquery materialization is used.
    x and y are here a list of expressions.
    
    The result of 'select y' is stored into a temporary table; duplicates
    are eliminated:
    1) by default this is done by creating a unique index over the columns
    of the tmp table
    2) but here the length of "y" is so big that it's not possible; a
    hidden hash column, indexed, is added; because of possible collisions
    (two different "y" having the same hash value), the hash index is not
    unique; if, upon insertion, there is a collision with an existing hash
    value, the values of "y" are compared to decide if this is a duplicate
    or not (see check_unique_constraint() in
    Query_result_union::send_data()).
    Possibility (2) is new in 5.7, added by WL#6711 "Support InnoDB as
    additional storage engine for tmp table".
    
    Then we look "x" up in the tmp table's index (ha_index_read_map()).
    In case (1) above, the index is unique, so a single lookup is enough.
    In case (2), the index is not unique, so we can have:
    hash y
    1    A
    2    B
    and if we are searching for "x=B", the first lookup is a false positive.
    Thus we must do all lookups until we find a match (this matching is
    ensured by the condition "x=y" in
    "subselect_indexsubquery_engine::cond" created in
    subselect_hash_sj_engine::setup()).
    This problem was missed in WL#6711.
    
    Fix: if using hash column, index is not unique, so set unique=false.
    No new testcase is added, as an existing testcase in
    subquery_sj_mat_nosj.test is covering the case (transitions from bad
    to good result). Notice how it has ("time","time") as value for "y";
    this gives a hash value of 0; so does ("lpjdzvkp","lpjdzvkp"); so does
    any pair of two identical strings (CRC of second string is XORed with
    CRC of first steing). So we have different "y" for a same hash value.
    Changes in EXPLAIN: are about subqueries using hash_field; they must
    try multiple lookups.

commit ab1f23513dc5ac772b46a4e3d167964f54280f38
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Aug 12 15:55:19 2015 +0800

    BUG#21551464 - SEGFAULT WHILE INITIALIZING DATABASE WHEN
    INNODB_DATA_FILE SIZE IS SMALL
    
    1. Add more check and abort when error occurs in bootstrap.
    2. Exit other than core when innodb_data_file_path mismatch
    in bootstrap and startup.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9849

commit bf49e61a6a65316e3e04af09a916f3de30dbaa15
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Aug 11 16:24:29 2015 +0300

    Bug #21601696: MYSQLADMIN SHUTDOWN FAILS FOR 5.7.0 .. 5.7.8
    
    * Fixed mysqladmin to check for the correct version the RPC is deprecated
    * Fixed mysql_shutdown() to do the same check and alternate between
      COM_QUERY and COM_SHUTDOWN depending on the target server version.

commit 6dc887ed22717a7b0e0af2b3eba6f7e8a6fc6703
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Aug 12 11:44:59 2015 +0530

    - Bug#21569876: SEARCH_LATCH_TIMEOUT DOESN'T MAKE SENSE AFTER SUPPORTING MULTI AHI LATCH
    
      Search Latch Timeout approach was introduce to avoid search latch contention.
      Search latch was released for BTR_SEARCH_TIMEOUT (10000) times before it was kept
      w/o releasing unless any writer is waiting.
    
      This contention is now reduced by using a better and alternative approach of
      ahi partitioning and so we can get rid of old approach.
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB: 9902

commit 296273e2e5a7c9bb0a87a3a8a65e10b92b718f7a
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Aug 12 10:52:37 2015 +0530

    - Disabling test-case wl6501.test for Windows as the server restart on crash
      while truncating table with fts is taking longer.
      Log file downloaded from the pb2 run doesn't have any immediate reference.
      Will continue to investigate it independently.

commit d88eb279bd40e6d2a1553d34761be261b758ace8
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 22 15:54:54 2015 +0200

    CSV engine refactoring

commit b424a8165890dc9cbedf92830c8561b2ac027620
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Aug 11 14:03:51 2015 +0100

    Bug#21522888: DATA RACE ON SAFE MUTEX MP->FILE
    
    Fix potential race condition in safe mutex implementation by
    making sure mp->global_mutex is locked when accessing mp->file.
    
    Note that this affects debug builds only (or to be more exact,
    it only affects safe mutex implementation which is only turned
    on by default for debug builds).

commit a958831ebc4c2074f7fb7b2d8933be70a3a1a404
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Aug 11 13:51:49 2015 +0530

    Bug #18979515: HANG/INFINITE LOOP IN
                   ITEM_SUM::CLEAN_UP_AFTER_REMOVAL
    
    Issue:
    -----
    Item_sum maintains a circular chain of registered objects
    that keeps track of all the aggregate functions used in a
    query. Item_sum::clean_up_after_removal will remove the
    Item_sum object from this list. The problem occurs when the
    same Item_sum object is revisited (through an Item_ref in
    the HAVING clause inserted by the IN to EXISTS
    transformation). On the second visit, the item's next
    pointer still points to an element in the list, although
    the item itself is no longer in the list. The loop will
    start traversing the list, but it will never detect the
    end since the start element is no longer in the list, so it
    loops forever.
    
    SOLUTION:
    ---------
    By assigning Item_sum object's next pointer to NULL, we
    make sure that a revisit to clean_up_after_removal will not
    result in a loop.

commit 69962df7ac68ac3d26f2b67dcf1e8751fea2ed84
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Tue Aug 11 12:03:04 2015 +0530

    - Bug#21529012: ASSERTION: INDEX->PAGE != 0XFFFFFFFF BTR_CUR_SEARCH_TO_NTH_LEVEL
    
      WL#6501 made truncate table atomic only for tables w/o fts index which was as
      per the scope and plan of the WL. Making a table with fts index atomic
      involves lot more complexity and so it may be better to switch to use more
      generic approach than the part approach that WL#6501 has implemented for
      normal tables.
    
      With current approach, if server crashes while table with fts is being
      truncated then on recovery, table may be in an inconsistent state.
    
      To safe-guard against accessing object in an inconsistent state a check has
      been introduced to validate if all the fts-common tables associated with
      base-table are in sane state.
      (Currently this validation is limited to page_no but can be expanded on
       use-case basis).
    
      Reviewed by: Jimmy Yang (Jimmy.Yang@oracle.com)
      RB: 9873

commit c856e12a5ce88414e1e92468a9ade44616600fc5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Aug 10 11:31:19 2015 +0200

    Bug#21491442 variant::forced_return() [with t = json_scalar*]: assertion `false' failed.
    
    Post-push fix: broken build with -Werror in optimized mode.

commit 0f10699f626fb89c90475f11f5ba3d04045e6569
Merge: f3f06ab 6894e50
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Aug 10 16:35:23 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6894e500fa685212022ae442d82b4fe0ac86255c
Merge: 521aea9 7efc9f7
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Aug 10 16:33:32 2015 +0800

    Merge branch 'mysql-5.5' into mysql-5.6

commit 7efc9f757ec52741cfc4fba9711d16d52642a2c2
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Aug 10 16:31:05 2015 +0800

    BUG#21102971 data corruption on arm64
    
    The root cause is that x86 has a stronger memory model than the ARM
    processors. And the GCC builtins didn't issue the correct fences when
    setting/unsetting the lock word. In particular during the mutex release.
    
    The solution is rewriting atomic TAS operations: replace '__sync_' by
    '__atomic_' if possible.
    
    Reviewed-by: Sunny Bains      <sunny.bains@oracle.com>
    Reviewed-by: Bin Su           <bin.x.su@oracle.com>
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    Reviewed-by: Krunal Bauskar   <krunal.bauskar@oracle.com>
    RB: 9782
    RB: 9665
    RB: 9783

commit f3f06ab758484269c39d82ca0132d3298b49f5b4
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon Aug 10 13:06:54 2015 +0800

    BUG#21542698 - LOAD DATA INFILE: ASSERTION FAILED: ML == 2 || ML == 4
    
    This is due to a too strict assertion, which could not handle the invlaid
    characters. We just have to accept the invalid characters in the assertion.
    
    Reviewed-by: Roy Lyseng <Roy.lyseng@oracle.com>

commit 34d1c8a410fc4442f1845847e2f8cb3fc4f4227d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Aug 7 12:56:42 2015 +0200

    Bug#21574096: ERROR LOG FILE DISABLED IF MYSQLD IS
                  STARTED AS A WINDOWS SERVICE
    
    The problem was that the error log file by mistake was disabled
    if mysqld was started as a Windows service. This was a regression
    introduced by the patch for Bug#21328041.
    
    This patch fixes the problem by enabling the error log file on
    Windows unless --help or --console is used (i.e. regardless of
    if mysqld is started as a service or not).
    
    Note that this bug did not affect messages being written to
    the Windows event log.

commit e0171d475ff2c964756e24c5b72d6431fba21c45
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Fri Aug 7 17:01:04 2015 +0300

    Bug#21455603 post-push 2. Refined the first post-push.

commit fbe25a5a32c830b255b26bc861c778ae84d15b65
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Fri Jul 31 11:29:02 2015 -0700

    Bug#18706592 CRASH IN CHECK_GROUP_MIN_MAX_PREDICATES

commit 9a9478928098ad349f3229686baf90d6f2b2c50a
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Fri Aug 7 14:52:04 2015 +0300

    Bug#21455603 post-push: an initialized variable is made initialized.

commit 059dd09c8efaaf52766cd02df5a2feb9eff4f7b9
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Aug 7 11:24:42 2015 +0200

    Bug#21466850: Derived I_S based tables + MAX_INDEXES=128 causes crash
    
    When MAX_INDEXES is > 64, Key_map uses a special template implementation.
    However, the fields keys_in_use_for_group_by and keys_in_use_for_order_by
    were not initialized when used by a temporary table.
    This was OK when using a Bitmap<64> template, but causes failure when
    using the special template.
    
    The solution is to explicitly initialize the two fields.
    
    In addition, it was detected that argument key_to_save to is_set()
    in TABLE::use_index() could be negative, this was corrected.
    To prevent further problems like this, more asserts on valid arguments
    were added in sql_bitmap.h.
    
    No test case was added to this bugfix: A special configuration is
    needed to trigger the problem, and several queries in the test suite
    are vulnerable (all queries with materialized derived tables with
    equality test on non-indexed columns). However, the problem is not
    met in any standard test suite, since none of them use the option
    MAX_INDEXES=128.

commit 269559d1f420aa046825b118912cdab5c0c5af54
Merge: ce0ced1 521aea9
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 7 16:35:12 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 521aea978966398f73481724be5d44c9fef637af
Merge: 9ef7591 1eaec27
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 7 16:34:15 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1eaec2788e234d8a5d4825ea3c8ffbe8dd2e392b
Merge: 1908406 4052aa6
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 7 16:27:48 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 4052aa6a3e5d9783dc91fe593172fbc4ea8c7110
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Fri Aug 7 16:26:10 2015 +0530

    Bug #20760261 mysqld crashed in materialized_cursor::
    send_result_set_metadata
    
    Analysis
    --------
    Cursor inside trigger accessing NEW/OLD row leads server exit.
    
    The reason for the bug was that implementation of function
    create_tmp_table() was not considering Item::TRIGGER_FIELD_ITEM
    as possible alternative for type of class being instantiated.
    This was resulting in a mismatch between a number of columns
    in result list and temp table definition. This mismatch leads
    to the failure of assertion
    DBUG_ASSERT(send_result_set_metadata.elements == item_list.elements)
    in the method Materialized_cursor::send_result_set_metadata
    in debug mode.
    
    Fix:
    ---
    Added code to consider Item::TRIGGER_FIELD_ITEM as valid
    type while creating fields.

commit ce0ced1eaf2a00799ee4a7d7c00f90a2d4f1b4eb
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Fri Aug 7 15:17:43 2015 +0530

    WL#6784: SHUTDOWN SQL command

commit 69f7fd07babbd5c634bfd5cf013b8f802bfc9345
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Aug 7 10:13:38 2015 +0200

    BUG#21551742 ERRONEOUS EXECUTE BITS AND INCORRECT FSF ADDRESS ON VARIOUS FILES

commit 476a6d7cdb2a73d678292066a5ca21a396a9376f
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Fri Aug 7 02:35:05 2015 +0200

    Bug#21415791 VALGRIND ERROR (CONDITIONAL JUMP) AT KEY_AND (RANGE_OPT_PARAM*, SEL_ARG*, SEL_AR
    
    Description:
    ------------
     - Error 'Conditional jump or move depends on uninitialised value' occors
       when using valgrind to do test for get_mm_leaf().
     - This is cause by the part member variable of a SEL_ARG object was not
       initialized.
    
    Fix:
    ----
    Initialize the part member variable in the SEL_ARG constructors.
    
    Add test case.

commit a2fc8216d6646a1409ae619cb56dcff4232eb7bd
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Thu Aug 6 15:04:30 2015 +0530

    Modified the deprecated gis spatial functions, tested

commit 9902337b102405e56a5b8f2393315433fbcdff33
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Aug 6 10:16:20 2015 +0100

    Bug#21552524: GCC CRASHES WHEN COMPILING RELEASE BUILD ON ARM
    
    GCC crashes when compiling server InnoDB source files as part
    of release build on ARM64. This is due to a GCC bug that is
    present in at least GCC 4.9.2 and GCC 5.1.1.
    
    This patch adds a workaround - compile the affected files with -O0
    (on ARM64 only). This makes it possible to build release builds
    on ARM64 while waiting for a fixed GCC version.
    
    Note that the GCC bug does not seem to affect ARM32.

commit 56cf6b35be68272a7c0fda51cda76bdfef6b8006
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Aug 3 18:04:33 2015 +0200

    Bug#21491442 variant::forced_return() [with t = json_scalar*]: assertion `false' failed.
    
    This problem here is another issue of the problem with state in
    Items. Normally, at the end of a statement execution, the items are
    cleaned up. However, code for generated columns is not presently
    cleaned up.
    
    This patch adds cleanup for cg code when we close the tables for the
    statement (close_thread_tables), and re-fixes the gc code to be ready
    for new execution (since cleanup clears the fixed flag) in
    TABLE::init.  This is necessary since in some cases expression tree
    objects are used to cache execution information, e.g.
    Arg_comparator::json_scalar.
    
    Added a new test case for the repro for all combinations:
    
          - normal and prepared statements
          - normal and temporary tables

commit 69bcc3d35f6cef41355cce7bb1086eae2f7a6f86
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Jul 15 12:51:19 2015 -0500

    Bug#20698468
    INNODB: NEW TABLESPACE DISCOVERY CAN MAKE A CRASHED DATABASE NON-PORTABLE
    
    This change adds back the ability to discover a datafile when it has been
    moved after a crash.  InnoDB recovery uses MLOG_FILE_* records in the REDO
    log to find the previous location of a tablespace since the dictionary is
    not available.  During recovery InnoDB will choose a file from multiple
    locations based on this priority;
       1. Default location:
             General Tablespace = datadir
             File-per-table = datadir/dbname
       2. ISL location: if the ISL file exists.
       3. REDO log record location from MLOG_FILE_NAME record.
    This behavior matches what 5.6 did also, as shown in the last section of
    innodb-multiple-tablespace.test with the exception that if a valid datafile
    is found in both the default and ISL locations the default location is used
    instead of the ISL.
    
    Approved in rb#9785 by Jimmy and Debarun

commit 1e56d5e5d9fb9db1583715e65fc6b03dac449d74
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Aug 5 21:16:34 2015 +0530

    Bug #21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Post push fix. Non-PS build was broken. Fixing it.  Thanks to Jon Olav
    for providing the fix.
    
    approved by Marko over IM.

commit 345c9f23f49c2705cb1e5fec400517668afc9b05
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Jul 29 19:15:52 2015 +0300

    Bug #21455603 	REGRESSION: REPLICATION FAILS FOR INSUFFICIENT PRIVILEGES
    
    Refactoring of SHOW handler in WL6629 left some flaws in privileges that
    were exposed by this bug report. When @@global.show_compatibility_56 is OFF,
    access to show variables is made through performance_schema so that
    a slave account with minimal privileges could not actually connected to the master
    anymore.
    That happens to the regular slave as well as to the semi-sync slave.
    
    Fixed with converting SHOW-VAR-LIKE queries into SELECT-based ones
    working on target variables directly.

commit 5d521ddb9c0a28c79c02d260bd98fed6753d1b00
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Aug 5 16:51:10 2015 +0530

    BUG#21433768 NON-REPEATABLE READ WITH REPEATABLE READ ISOLATION LEVEL
    
    Problem :
    ---------
    This issue is introduced by fix Bug #17320977 [rb#3982]. We are removing
    the transaction from trx_sys->rw_trx_ids after doing commit and
    releasing lock. This makes the order of removal of transaction from
    rw_trx_ids unpredictable.
    
    if a row is first updated by T1 and then by T2, it is possible that T2
    is removed from the list before T1. This would cause the
    ReadView/snapshot of a concurrent transaction to see changes made by T2
    but not T1 resulting in the inconsistency (reading part of the committed
    transaction T1 as the updates that are further updated by T2 are visible).
    
    Solution :
    ----------
    During commit, remove transaction from trx_sys->rw_trx_ids &
    trx_sys->serialisation_list before committing transaction in memory and
    releasing locks. This is essentially reverting back a part of the fix
    in rb#3982. This ensures the serialization order (in removal from trx
    id list) for transactions that operated on same row.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Reviewed-by: Annamalai Gurusami <Annamalai.Gurusami@oracle.com>
    
    RB: 9712

commit 8fd7f212388e2c6287a9d63605647a34242582d2
Merge: 30f535a 9ef7591
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Wed Aug 5 15:32:58 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9ef759151dc57590b774bf26856bce480ef701c0
Merge: 5ddc90c 1908406
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Wed Aug 5 15:30:36 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	mysql-test/lib/mtr_cases.pm

commit 19084061d0c4bb991d3bb85ca371b53de622d5ac
Author: sayantan dutta <sayantan.dutta@oracle.com>
Date:   Mon Feb 24 18:44:37 2014 +0530

    Follow-up fix : Bug #18145121 - DEPRECATED PERL SYNTAX IN MTR
    (cherry picked from commit 1bfe5f724bc4c24da635f632247e7d263aa53970)
    
    Conflicts:
    	mysql-test/lib/mtr_cases.pm

commit 82c1baac79ef72cf7f2604cf58fdce9339dc8fa4
Author: sayantan dutta <sayantan.dutta@oracle.com>
Date:   Tue Feb 18 17:57:54 2014 +0530

    Follow up Fix: Bug #18145121 - DEPRECATED PERL SYNTAX IN MTR
    (cherry picked from commit 3eb933e0eb55f962404a04741767177e12a9885f)
    
    Conflicts:
    	mysql-test/mysql-test-run.pl

commit 30f535aab67447b6f4cc9857048becac2296d83e
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Aug 5 15:08:29 2015 +0530

    Bug #21462732 MYSQLPUMP --DEFER-TABLE-INDEXES MISHANDLES IN SPECIFIC CONDITION
    
    With --defer-table-indexes option in mysqlpump, mysqlpump would parse the
    SHOW CREATE TABLE output and extract indexes and constraints so that they are applied
    on table after rows are dumped. This parsing of the table DDL had a problem because of
    which there was a syntax error during restore of dump file. This patch fixed this
    parsing issue.

commit 51d8c557d85e82d996b2f745c3bca562d43fbddf
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Aug 4 15:41:24 2015 +0300

    Bug #21251297 and Bug #21436364: Make some P_S tables world readable
    
    The MySQL ACL system does not currently support granting stuff to public.
    So the only currently possible fix is to make performance schema override
    the ACL code and return that the tables are accessible to public.
    
    Fixed by reverting parts of the fix for bug #14569746 pertaining to
    PERFORMANCE_SCHEMA.SESSION_ACCOUNT_CONNECT_ATTR, namely re-introducing
    the PFS_readonly_world_acl derived class and returning it into the tables
    share.
    
    Also used PFS_readonly_world_acl (and another derivate
    of PFS_truncatable_world_acl) to ensure performance_schema.session_status,
    performance_schema.global_status, performance_schema.session_variables and
    performance_schema.global_variables are using the world readable derivates
    too.
    Test cases updated.

commit fa7b80c72a3473ab7be78aa9ea1d09f09323881f
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Aug 5 11:02:26 2015 +0530

    Bug #21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Post push fix. Fixing the result mismatch of the test case.
    
    approved by Marko over IM.

commit a35d59e2cb232ccaaf63c3f07a602697057da9f0
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Aug 5 10:22:15 2015 +0530

    Bug #21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Post push fix.  In the patch, I have changed LLONG_MAX to LONG_MAX
    as the upper limit for the system variable innobase_buffer_pool_size.
    Reverted this change.  This is something that needs to be taken care
    of when merging innobase_buffer_pool_size (type long long) and
    srv_buf_pool_size (type ulint).
    
    approved by Jimmy over IM.

commit 1d817e09cca47029218a78079f84aff4988d4191
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Thu Jul 23 19:13:17 2015 +0300

    Bug #21459999 "ASSERTION FAILURE WHEN PREVIOUSLY UNUSED TIME ZONE IS USED WITH GTID + NO BINLOG".
    Bug #21459795 "ASSERTION FAILURE WHEN PREVIOUSLY UNUSED TIME ZONE IS USED IN FUNCTION/TRIGGER".
    
    The first problem was that attempt to use previously unused time zone
    in CONVER_TZ function with binary log off but with GTID mode turned on
    caused assertion failure in debug builds and warning/errors in release
    builds.
    
    The second problem was that attempt to use previously unused time zone in
    CONVERT_TZ function or for @@time_zone system variable inside of stored
    function or trigger has caused assertion failure in debug builds (and
    no effect in release builds).
    
    Both problems stem from the fact that use of previously unused time zone
    causes time zone cache miss and thus initiates attachable transaction
    to look up time zone definition in time zone tables. To finish this
    attachable transaction we call trans_commit_stmt() function.
    In case of the first problem this function and functions called by it are
    unaware of attachable transaction being active, so in no-binlog + gtid-mode-on
    mode it will prematurely try to store current GTID (which describes main
    transaction) into special table. Since attachable transaction is read only
    errors will be reported/assertion will fail.
    Similarly trans_commit_stmt() is not supposed to be called inside of stored
    functons/triggers which is enforced by assert, which fails in the second case.
    
    This patch fixes the problem by introducing new trans_commit_attachable()
    function which is used to finish attachable transaction specifically. This
    function is slimmed down version of trans_commit_stmt() which commits
    attachable transactions but skips code which is unnecessary and unsafe for
    them (like dealing with binary log and GTIDs). It is also OK to call this
    function inside stored functions/triggers.

commit 261e774344d990c51dac56716eb9103f7a2b8392
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Tue Aug 4 13:49:12 2015 +0530

    bug#21252802 Fixed MTR tests.

commit d9c048a3b760fddfb18ca565f737a5fcd7bdd89c
Merge: 4290820 5ddc90c
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Aug 4 12:31:15 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5ddc90c5e3267a437fb21c6d9eb01e81e9ea0740
Merge: c195ac1 cafc94e
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Aug 4 12:30:10 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit cafc94e644cc41486860a35afa60a58151faa07d
Merge: 49a80c2 83cfb8e
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Aug 4 12:28:56 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 83cfb8e31274cb4d8e05ebb0ab114a46b8944ef0
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Aug 4 11:45:02 2015 +0530

    Bug #21096444: MYSQL IS TRYING TO PERFORM A CONSISTENT READ BUT THE READ VIEW IS NOT ASSIGNED!
    
    Issue: A select for update subquery in having clause
    resulted deadlock and its transaction was rolled back
    by innodb. val_XXX interfaces do not handle errors and
    it do not propogate errors to its caller. sub_select
    did not see this error when it called
    evaluate_join_record and later made a call to innodb.
    As transaction is rolled back innodb asserted.
    
    Fix: Now evaluate_join_record checks if there is any
    error reported and then return the same to its caller.

commit 4290820b2f83fade3aabf3ec1ba9794923481d64
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Aug 4 11:33:08 2015 +0530

    Bug #21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Post push fix.  Reducing the buffer pool size requirement for the
    test (from 2GB to 1GB).
    
    approved by Marko over IM.

commit 5eaa0648693daf4bdd8c08525912a710713aceca
Merge: d23e23b c195ac1
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Aug 4 10:29:01 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c195ac11883b84fc934deb842a38575a99a50631
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Aug 4 10:25:28 2015 +0530

    Bug #21039264: HANDLE_FATAL_SIGNAL (SIG=11) IN MI_EXTRA |
                   STORAGE/MYISAM/MI_EXTRA.C:44
    
    Issue:
    -----
    The updatable property of a view is set during creation of
    the view. If the underlying table is dropped and re-created
    as a non-updatable one, the original view's updatable
    property is not revised accordingly. This will cause a
    problem when an attempt to insert or replace into the view
    is made. This problem is specific to views with multiple
    tables/views. It also does not occur with update statements.
    
    SOLUTION:
    ---------
    This problem affects only the insert/replace statements
    because only the updatable property of the top view is
    tested. The problem does not occur for update statements,
    since the updatable property of each underlying table/view
    is tested.
    
    For a view with a single table, the updatable property is
    set based on the underlying table's property. The same
    should be done for views with multiple tables/views.
    
    This fix is specific to 5.6. The problem was fixed in 5.7+
    by WL#5275 and Bug#20515155. But this is not a backport
    since the code has changed significantly.

commit d23e23bcf7dd98cf205d4db950feb2e7360d894f
Merge: d526f64 ae3b133
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Aug 4 05:35:54 2015 +0200

    Null merge branch 'mysql-5.7.8-rc-release' into mysql-5.7

commit d526f6431dc466b989f62c8275ba6010be5c938e
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Mon Aug 3 23:07:39 2015 +0200

    BUG#21537552: REMOVE COROSYNC VALGRIND SUPPRESSIONS
    
    Back on WL#8202: Group Replication: Server Interfaces (2nd push),
    the file mysql-test/valgrind.supp was updated with Corosync leaks
    suppressions. These leaks happens inside Corosync and we don't have
    control over them.
    
    Though since Corosync is used by Group Replication plugin and not by
    the server itself, now we control these suppressions inside the
    plugin. This bug will remove the unneeded valgrind suppressions from
    server side.

commit e340e9f665fe6ddcca50d4ce8fa9a28bd0dc91bc
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Jul 22 10:58:11 2015 +0100

    Bug#21273010 SLAVE GROUP EVENT PARSER DOES NOT RECOGNIZE XA ROLLBACK AS A BOUNDARY
    
    Problem:
    A warning was issued when a XA transaction rollbacked without
    a preceeding XA PREPARE command when binlog format was set
    to statement and binlog_direct_non_transactional_updates is
    set to off.
    XA ROLLBACK was an EVENT_BOUNDARY_TYPE_STATEMENT, which
    would put the parser in the EVENT_PARSER_DML state. Since
    is it followed by an EVENT_BOUNDARY_TYPE_GTID, this event
    sequence was not valid.
    
    Fix:
    Added a new boundary_type so that the parser will be the
    correct state (EVENT_PARSER_NONE) after a XA ROLLBACK command.

commit 3a90046a894d3541ae9004ff60cc235f22787fcd
Author: Benny Wang <benny.wang@oracle.com>
Date:   Mon Aug 3 15:24:08 2015 +0200

    Fixed Bug#21461026: INCONSISTEND CASING ON STORAGE ENGINE VARIABLE VALUES
    
    Recorded the failures of PB2 tests.

commit a267e21e46a40d34dd42a2a168e58bf3b59b7d24
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed Jul 29 05:30:27 2015 +0200

    Fixed bug#21390605: VALGRIND ERROR ON DELETE FROM TABLE CONTAINING AN INDEXED
    VIRTUAL COLUMN
    
    Take one test case for an example.
    CREATE TABLE t1 (
     a INTEGER,
     b INTEGER GENERATED ALWAYS AS (a) VIRTUAL,
     c INTEGER GENERATED ALWAYS AS (b) VIRTUAL,
     INDEX idx (c));
    When calling the callback function my_eval_gcolumn_expr_helper() to evaluate
    the value of column 'c', the value of virtual generated column 'b' is needed.
    But the caller only asks for 'c'. So the callback function won't calculate
    column 'b' before evaluating column 'c'.  This results in invalid read of 'b'
    during calculate 'c'.
    
    The solution is to calculate all the base virtual generated columns before
    evaluating the required column.
    
    Instead of adding yet another walk() to gather needed columns, we do the
    walk() a single time (when opening the table) and build a bitmap
    (new member Generated_column::base_columns_map).  This bitmap replaces the
    base_columns list. It is different as it lists virtual base columns too
    (base_columns only listed *stored* base columns). So the InnoDB code, which
    wants to see the stored base columns only, has been adapted to filter out the
    bitmap; if it only needs a count of columns, it uses the new member
    Generated_column::num_non_virtual_base_cols.

commit b1f18e9174a1209734ed34f8088e76bdc769d2bc
Author: Benny Wang <benny.wang@oracle.com>
Date:   Mon Aug 3 08:19:27 2015 +0200

    Fixed Bug#21461026: INCONSISTEND CASING ON STORAGE ENGINE VARIABLE VALUES
    
    Change the value of global variable internal_tmp_disk_storage_engine to use
    consistent typo as other variables' value.

commit ad44b596775c4941bb3ad961936ce624caf6ea29
Merge: c9ac39c 126b53f
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Aug 3 10:58:02 2015 +0530

    Bug #21239299 MYSQL CRASHED BECAUSE OF FLUSH_ALL
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 126b53f63bfd4a0e6c13901937db806d439dbbb5
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Aug 3 10:56:24 2015 +0530

    Bug #21239299 MYSQL CRASHED BECAUSE OF FLUSH_ALL
    
    Function call to start transaction was called
    inside the assert. Assert can be disabled by
    setting NDEBUG ,which will cause this function
    not to be executed and causes crashes later.
    
    FIX
    ---
    
    Call the function outside assert and do assert
    on the return value.

commit c9ac39ce3cc3ddd438c5cb5c76656fd14209f370
Merge: 1af8e76 13e0993
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 10:12:01 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 13e09936d7b1c20c7ceb9b9d78402e19d9269509
Merge: 1d20726 49a80c2
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 10:11:15 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 49a80c2e223496ad0d6d753337444d122826c6be
Merge: 190d75e 9ab548f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 10:10:41 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 9ab548fcc4fe8e0fbf4ad63c76aaf365a7940b11
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 10:08:46 2015 +0530

    Bug #20909518: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   FIND_USED_PARTITIONS | SQL/OPT_RANGE.CC:3884
    
    Post-push fix.

commit 1af8e76ce6f09413f9d87eb7735a12619899c21a
Merge: 577e438 1d20726
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 08:20:51 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1d207269a640e03a19052dc0ed61a8a7895d048c
Merge: 5059f10 190d75e
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 08:19:07 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 190d75e5de8ec78ad2f7e1b31b408451f5e39984
Merge: 1ed0575 b7043a9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 08:17:27 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit b7043a91aad5ee3753a10a46abb295a8bf159e83
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Aug 3 08:15:59 2015 +0530

    Bug #20909518: HANDLE_FATAL_SIGNAL (SIG=11) IN
                   FIND_USED_PARTITIONS | SQL/OPT_RANGE.CC:3884
    
    Issue:
    -----
    During partition pruning, first we identify the partition
    in which row can reside and then identify the subpartition.
    If we find a partition but not the subpartion then we hit
    a debug assert. While finding the subpartition we check
    the current thread's error status in part_val_int()
    function after some operation. In this case the thread's
    error status is already set to an error (multiple rows
    returned) so the function returns no partition found and
    results in incorrect behavior.
    
    SOLUTION:
    ---------
    Currently any error encountered in part_val_int is
    considered a "partition not found" type error. Instead of
    an assert, a check needs to be done and a valid error
    returned.

commit 577e438e00e489b35b5833a4b1543ea49d35886b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sun Aug 2 14:23:12 2015 +0200

    Add mysqlpump man page

commit 91df51c018d485baf190af9c597a15547622f750
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Jul 31 17:20:56 2015 +0200

    BUG#21457699 AUDIT API 'MYSQL_AUDIT_GLOBAL_VARIABLE_SET' EVENT DOESN'T CARRY NEW VALUE INFO
    
    Problem:
    Generated MYSQL_AUDIT_GLOBAL_VARIABLE_SET event has not passed a value that was
    used with the sql SET GLOBAL syntax (NULL value was used).
    
    Solution:
    mysql_audit_notify function call passes a value that is used for setting a global
    variable (SET GLOBAL syntax).

commit 65bee99c9fac13180d275179e904656e7b465354
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Jul 31 15:13:44 2015 +0200

    Bug#21211187 CRASH IN JOIN::UPDATE_DEPEND_MAP Bug#21292102 CRASH IN GET_SORT_BY_TABLE()
    
    Only testcases; the problem was bad used_tables information
    and is fixed by the patch for Bug 21139722.

commit 368ef2df3ce186cbc8b4c0189efab67c02abc8f8
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Jul 31 15:06:50 2015 +0200

    Bug#21139402 ASSERTION FAILED: LENGTH > 0 && KEYPARTS != 0, CRASH IN JOIN::OPTIMIZE_KEYUSE
    
    select 1 from t1 where 1 in
    (select (t2.c is null) in (select t1.a from t1 where t1.b)  from t2);
    
    Scenario, in time order:
    
    1) FIXING 'c IS NULL':
    Item_func_isnull::fix_fields():
    c is a pk column, cannot be NULL, so this item is marked as constant
    with a value of FALSE:
      virtual void update_used_tables()
      {
        if (!args[0]->maybe_null)
        {
          used_tables_cache= 0;            /* is always false */
          const_item_cache= 1;
          cached_value= (longlong) 0;
        }
    
    2) DOING IN->EXISTS FOR SELECT#3:
    Item_in_subselect::single_value_transformer():
    "c IS NULL" wrapped into Item_ref which is is injected into WHERE:
    "WHERE b AND (c IS NULL)=t1.a"
    Item_ref is NOT marked as an outer reference because 'c IS NULL' is
    constant:
    
        // Make the left expression "outer" relative to the subquery
        if (!left_expr->const_item())
          left->depended_from= select->outer_select();
    
    (this if() is introduced by:
    Bug#16369522: Assertion failed: !tables ||
    thd->lex->is_query_tables_locked() with comment:
    "   Notice also that const items need not be designated as outer.
        Ignoring those occurrences was required to preserve multiple equality
        handling for equalities involving constant values.";
    it might be why this bug is a regression)
    
    Same function does fix_fields() on this new WHERE, which does nothing
    as 'c is NULL' is already fixed.
    
    3) SELECT#2 IS SEMIJOIN-MERGED INTO SELECT#1
    
    We do fix_after_pullout on sj condition and thus on SELECT list of select#2
    and thus on select#3 and thus on WHERE of select#3 and thus on
    the previously injected 'c IS NULL'; this is fix_after_pullout for 'c
    IS NULL':
      if (arg_count)
      {
        for (arg=args, arg_end=args+arg_count; arg != arg_end ; arg++)
        {
          Item *const item= *arg;
          item->fix_after_pullout(parent_select, removed_select);
          used_tables_cache|=     item->used_tables();
          not_null_tables_cache|= item->not_null_tables();
          const_item_cache&=      item->const_item();
    
    'item' is t2.c. The last lines above declare that "IS NULL uses
    t2" and is not constant (anymore!).
    So we now have a non-constant item in select#3, not declared as outer
    reference, involving a table from select#1 (t2 is in select#1 now). This is
    wrong.
    
    Later we have a keyuse for select#3 for '(c IS NULL)=a',
    so keyuse->used_tables= used_tables of 'c is NULL' = map of t2, wrong,
    as t2 is not in select#3. So we try to access a join_tab for t2 in
    select#3 and crash.
    
    Fix:
    when we pull out an Item_func, if it's already constant there's no
    reason it could become non-const; and if it's constant it doesn't
    really use tables, so there's no reason to recalculate
    used_tables_cache and friends.

commit 88da26e7c08eecbe7bbf1e3059b5f2ec39efd02c
Merge: ea3c418 5059f10
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 31 12:31:32 2015 +0100

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

commit 5059f10cebfe161fafb15f71d298ba8152a45999
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 31 12:30:49 2015 +0100

    BUG#21349028: BACKPORT PATCH FOR BUG#16621582 TO MYSQL-5.6
    
    Backporting BUG#16621582 to mysql-5.6.
    
    Cset description from BUG#16621582:
    
    A flag that stated that transactional tables were
    involved in the statements was not being set. The
    binlogging routing would then assume that it had
    to write to the statement cache instead of the
    transactional cache. This would split the transaction
    in two and the savepoints would be logged without
    a GTID.
    
    This patch fixes the issue by setting the flag even
    if no rows had been changed by the statement.
    
    Added test case.

commit ea3c4180b67cbf175b0d579663c7d2f752987a1b
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Jul 31 12:45:37 2015 +0200

    Bug#21139722: Assertion failed: !(used_tables() & ((table_map) 1) << size...))
    
    This problem is hit when merging a derived table into an outer query
    block. When doing Item::resolved_used_tables(), a scalar subquery is
    visited (the left-hand side of the inner-most IN subquery).
    This function asserts when meeting an outer reference, but an outer
    reference is actually valid here.
    
    The problem is that Item::resolved_used_tables() is insufficient:
    1. It is not properly implemented for all kinds of Item classes, and
    2. It lacks a clear definition of what it is supposed to do.
    
    This is examplified by the default implementation for class Item, which
    evaluates a rather arbitrary assert.
    
    The first problem occurs because Item::resolved_used_tables() is
    implemented only for a few classes. To make it reach all items, we
    either have to make implementations for expression nodes and condition
    nodes, etc. Or we can replace it with a walk() function. This is the
    chosen approach, and the new function used for walk() is named
    used_tables_for_level(). See below for explanation of the name.
    
    Another example demonstrating insufficient implementation is this case:
    
      CREATE TABLE t1(a INTEGER);
      SELECT (SELECT a FROM t1 AS t2
              WHERE a IN (SELECT t1.a+t2.a FROM t1 AS t3))
      FROM t1 AS t1;
    
    When the IN subquery is transformed into a semi-join, the used tables
    information of the selected expression t1.a+t2.a is recalculated with
    help of ::resolved_used_tables(). We see that before transformation,
    this expression is an outer reference (pointing to the query block at
    level 0 and 1). After transformation, t1.a is still an outer reference,
    but t2.a has become a local reference. So used tables information for
    the expression should be OUTER_REF_TABLE_BIT | 1.
    
    Thus, we can better formulate the requirements for this function:
    
      Recalculate used tables information for an expression for
      a specific query block.
    
    The expression t1.a+t2.a is moved from the eliminated query block into
    the parent query block, so it is recalculated for the parent query block.
    
    The transformation also affects the scalar subquery, so its used tables
    information is recalculated for the query block where it is located,
    which is the outer-most query block.
    
    Since the transformation occurs in a strict ascending order of query
    blocks, we are concerned about the query block at a certain level,
    and hence the new function is named used_tables_for_level().
    
    A specific implementation is only needed for Item_field. If the column
    is resolved from the same query block as the requested one, the specific
    table number is returned. If the column is resolved from a query block
    that is outer to the requested one, it is an outer reference.

commit 17ecf5767658bfbb5d87b2a2c40f5a0f5085081f
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Jul 31 11:42:01 2015 +0200

    BUG#21458066 AUDIT API SHOULD SUPPRESS ABORTING ON MYSQL_AUDIT_COMMAND
    
    Problem:
    Some audit plugin's MYSQL_AUDIT_COMMAND_START events and all
    MYSQL_AUDIT_COMMAND_END and MYSQL_AUDIT_CONNECTION_DISCONNECT events cannot
    be aborted. The plugin can abort execution of the current operation in two
    ways: returning a non-zero value from a plugin handler function or invoking
    my_message function that sets the error state of the current THD. In case of
    non-zero value, the non-zero value can be discarded. In case of my_message
    function, setting an error state can be discarded by setting the
    Internal_error_handler to the THD.
    
    Solution:
    This fix implements Internal_error_handler that suppress aborting
    MYSQL_AUDIT_COMMAND_START, MYSQL_AUDIT_COMMAND_END and
    MYSQL_AUDIT_CONNECTION_DISCONNECT events with the my_message function call
    from within a plugin.

commit 4c560b74b342c4d692fa25b8b6e36f177828c2f6
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Fri Jul 31 16:39:45 2015 +0800

    Bug#21507796 - ASSERT IN ROW_SEL_CONVERT_MYSQL_KEY_TO_INNOBASE WITH REPLACE
    GENERATED COLUMN
    
    Reviewed-by: Sunny Bain <sunny.bains@oracle.com>
    
    rb:9784

commit 68f09f13f6cde5436711112e1691a1958f97bb9c
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jul 31 13:45:02 2015 +0530

    Bug# 21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Post push fix to resolve a valgrind issue.
    
    approved by Jimmy over IM.

commit e3483fe934440eb2d8eac8c0476185339920e673
Merge: 57082ca a4a11e4
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jul 30 12:15:53 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 57082ca8cbce921c53703f2e68adf826a1c6aba4
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Thu Jul 30 14:52:33 2015 +0530

    Bug#21507072: SIG 11 IN TABLE_LIST::MAP AT SQL/TABLE.H:2463
    
    Issue:
    ------
    In init_read_record we try to push the condition down to
    the engine(ECP). For this we check if current tables is
    part of condition's used_tables, In 5.7 after WL#7540
    table_map of TABLE is move to TABLE_LIST, and some
    temporary tables do not have any TABLE_LIST. Trying to
    read unassigned temp table's table_map resulted in null
    pointer exception.
    After the fix of Bug #21243772 there are more new cases
    added where we add conditions to temp table. Hence issue is
    easily reproducible.
    
    Solution:
    ---------
    Make a NULL check before dereferencing
    table->pos_in_table_list.

commit a4a11e47a68ddeffd858e73b9b7cef51a9d67076
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jul 30 11:17:50 2015 +0200

    Bug#21528683 SLOWDOWN CAUSED BY MEMSET IN SQL_DIGEST_STORAGE.RESET()
    
    Before this fix, an unnecessary memset was called in
    sql_digest_storage.memset().
    
    This affected:
    - the server under normal operations,
      when collecting digests for a query,
      with typically an extra memset(1024) for each query.
    
    - the performance_schema.events_statements_current,
      _history and _history_long tables, during a SELECT,
      with typically an extra memset(1024*1024) for each row.
    
    This memset is un necessary, because the code making
    copies of struct sql_digest_storage, or computing md5 of it,
    is already only using the first m_byte_counts initialized bytes
    and not the full array.
    
    The fix is to simply remove the memset().

commit 521b8a7263e1c50e076e9ce954774a9b49ea8ba1
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Jul 29 17:10:04 2015 +0530

    BUG#21405865 - LOG WARNING WHEN A DISABLED STORAGE ENGINE
                   IS SET BY RELATED SYS VAR.
    
    The patch logs a warning when default_storage_engine or
    default_tmp_storage_engine is set to a disabled storage engine
    specified in the disabled_storage_engines option.

commit b6ab0df82b8fea0e97886d8f3d9b052ff428c086
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Jul 30 11:28:53 2015 +0800

    BUG#20481175 - ALTER ADD FTS INDEX ASSERT TRX->DICT_OPERATION_LOCK_MODE == 0
    || TRX->DICT_OP...
    
    This bug is mainly due to when a trx is selected as a victim for some other
    trx with higher priority and the rollback is undergoing, the trx should not
    be used in other threads until it's rolled back completely. Because the
    rolling back trx would require the RW_S_LATCH for dict_operation_lock during
    rollback, if the trx is also running by other threads, the failing assertion
    could be triggered. In current design, the thread with higher priority who
    wants to kill the victim trx would enter InnoDB first, and any follow up
    entrance would not be checked. That's why the trx can enter InnoDB again in
    some other thread.
    
    The fix should be simple, when one thread wants to enter InnoDB, it should
    also check if there is an asynchronous rollback for this trx, and the thread
    itself is not the killer thread. If so, it have to wait for the asynchronous
    rollback.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    RB: 9780

commit e591c1b20a3cfe3738857dbef3c09973f5173c26
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Jul 30 10:11:03 2015 +0800

    Fix#Bug 21478287 - FAILING ASSERTION: TEMPL->ICP_REC_FIELD_NO !=
    ((ULINT)(-1))
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    rb:9761

commit 01e9d389f71af3330ac074a7076d2e7e88e0e450
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Jul 29 16:26:45 2015 +0530

    Bug #21348684 SIGABRT DURING RESIZING THE INNODB BUFFER POOL ONLINE
    WITH MEMORY FULL CONDITION
    
    Problem:
    
    InnoDB buffer pool resize is done by background thread.
    Consider the following scenario:
    
    1.  User issues "set global innodb_buffer_pool_resize = X;", where
        X is very high and allocation of such large memory is bound to fail.
    2.  The system variable innodb_buffer_pool_resize is immediately
        set to X, and then an event is generated to resize buffer pool.
    3.  The background thread wakes up with the event generated.  It
        proceeds to do buffer pool resize.
    4.  The background thread may fully or partially fail depending on the
        available memory in the machine.
    
    The memory allocation failure was considered as a fatal error.  Also,
    the system variable was not updated to the actual value of the innodb
    buffer pool.
    
    Solution:
    
    If memory allocation fails, it should not be considered as a fatal failure.
    And update the system variable to the actual value of the innodb buffer
    pool after doing resize.
    
    rb#9581 approved by Deb.

commit f70e68d088ec7565ba449220d312ab09a94a921b
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Mon Jul 20 16:32:21 2015 +0100

    Bug#21162525: ASSERT `! IS_SET() || M_CAN_OVERWRITE_STATUS' AT SQL_ERROR.CC:444
    
    Whenever the thread executing a query declared success using its
    diagnostic area, any further declared error when executing the before
    commit hook would result in a debug assert error.
    
    To solve this, we reset the thread diagnostic area whenever a error is
    going to be thrown if needed.

commit b23c11c2f3a423ff5f2de5789244a14e6e14728f
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Tue Jul 28 12:01:39 2015 -0700

    Bug#21442624 INCORRECT RESULT FROM JSON_SET WITH AUTO-WRAPPING
    
    Bug#21442624 INCORRECT RESULT FROM JSON_SET WITH AUTO-WRAPPING

commit 9d2210ae7884f6a0001cf1d9e0be8a7772e27c36
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jul 29 16:31:51 2015 +0200

    Bug#21512842: Sig 11 in check_column_grant_in_table_ref
    
    For a specific field name resolution pattern (a GROUP BY expression
    with a column that matches an aliased column), the cached_table
    field was not assigned correctly. This field was later required when
    resolving the inner query as a derived table, which caused a NULL
    pointer dereference.
    
    Fix: Assign the field.

commit 065630a8cea6e9114fc7c72b308a578ac4a449ec
Merge: 99d6331 18c1f4b
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 29 18:36:53 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 18c1f4b1ddb5ed99d7f281087024ea073947ec3a
Merge: 4dffb78 1ed0575
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 29 18:34:44 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1ed0575ef7d03dcbfea778ed5f21de8730ccce31
Merge: 2836d92 aa2bf3a
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 29 18:27:39 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit aa2bf3a1f5114a39e2ee58e4454c12f651e6eb2f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 29 18:24:20 2015 +0530

    Bug #20796566   ERROR: INSERT BUFFER INSERT FAIL CANNOT
    			INSERT INDEX RECORD
    
    Problem:
    =======
    
    IBUF_BITMAP_FREE bit in ibuf bitmap array is used to indicate the free
    space available in leaf page. IBUF_BITMAP_FREE bit indicates free
    space more than actual existing free space for the leaf page.
    
    Solution:
    =========
    
    Ibuf_bitmap_array is not updated for the secondary index leaf page when
    insert operation is done by updating a delete marked existing
    record in the index.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9544

commit 99d633181338681622ef92fedbcf47702952d061
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Jul 27 19:04:47 2015 +0200

    Bug#21442878 INCORRECT RETURN STATUS FROM ITEM_JSON_TYPECAST::VAL_JSON() ON PARSE ERRORS
    
    - made Item_json_typecast::val_json() return correct error status
    - remove unnecessary method parameter need_parse
    - fixed a doxygen bug: in->out
    - added missing error message for certain cases where JSON type is expected +
      added test case for this

commit a94b11dfdafba25f60033ea944504860212818bf
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Wed Jul 29 15:42:42 2015 +0530

    BUG #20980691 - MTR FAILS WITH --PARALLEL IF VARDIR IS 81 CHARACTERS LONG
    post fix

commit 8b5cb16778da9e5965a71bd4c4ba23c2ae4c355a
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Wed Jun 24 11:12:02 2015 +0530

      BUG #20980691 - MTR FAILS WITH --PARALLEL IF VARDIR IS 81 CHARACTERS LONG
    
    append extra characters to socket path
    
    (cherry picked from commit ba2f31b11d246263eb81b742975a3ef934b51371)

commit ee9846c9dcc329e650d4ce1e7e49a2ef5146be33
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Jul 29 14:12:02 2015 +0530

    Bug#20821550 : ADD MYSQL_GET_PARAMETERS FUNCTIONALITY TO MYSQL_GET_OPTION()
    
    Description : 1> Removed mysql_get_parameters() and st_mysql_parameters
                  2> Updated mysql_get_options() and mysql_options() to get
                     and set value for max_allowed_packet and net_buffer_length.
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
                  V S Murthy Sidgam <venkata.sidgam@oracle.com>

commit b4b9a14b8ede61c78710331c4525f99567d62b31
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Wed Jul 29 11:08:11 2015 +0300

    BUG#21429854 ST_DIFFERENCE : ASSERTION FAILURE IN SPATIAL.CC FILE
    BUG#21436139 CRASH/ASSERTION FAILED: INVALID OPERATOR< IN ALGORITHM(3014) :
    BUG#21441991 CRASH AFTER UNINITIALIZED VALUE IN LESS_SEG_FRACTION_OTHER_OP
    
    fix on the BG side the root cause for these three bugs; the problem was that the way
    the less functor for turns was implemented it allowed to have two turns t1 and t2
    for which both less(t1, t2) and less(t2, t1) could be true; with new implementation
    this inconsistency is removed and the less functor satisfies the validity property
    that if less(t1, t2) is true, then less(t2, t1) is false (and vice versa);
    fix also the corresponding less functor for relate for consistency;

commit 6767be1f92679fa71ed99a66e39d04122e801eaf
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Jul 29 11:25:06 2015 +0800

    Limit innodb_v_basic.test to server with pagesize under 16k. Since we
    do not support create compress table with > 16k page size
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 1b48eae893e986f8c20793deed98925d84b047c2
Author: Libing Song <libing.song@oracle.com>
Date:   Wed Jul 29 09:15:05 2015 +0800

    BUG#19641963 RPL.RPL_SEMI_SYNC_GROUP_COMMIT_DEADLOCK FAILS WITH
                 ASSERT IN MTS CODE
    
    Postfix. Added have_debug.inc and have_debug_sync.inc into
    the test, so it can be skipped on the test servers without debug cod.

commit 9913f0594413f94acb94ab1bb822c5068b4d296d
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Mon Jul 27 08:01:02 2015 -0700

    Bug#21472872 WRONG RESULTS CAUSED BY PATH LEG POPPING IN JSON FUNCTIONS
    
    Bug#21472872 WRONG RESULTS CAUSED BY PATH LEG POPPING IN JSON FUNCTIONS

commit 46798e244224469773ea4d7cb2ce60401fa85e4a
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue Jul 28 19:24:25 2015 +0530

    Bug#21507334: ASSERTION `0' IN BOOL SHOW_SLAVE_STATUS_SEND_DATA AT RPL_SLAVE.CC
    
    show slave status for channel 'group_replication_recovery' results in assert error
    due to missing option Relay_log_info::UNTIL_SQL_VIEW_ID, when group_replication is
    in recovering stage.
    
    Fix: Added missing until_condition option Relay_log_info::UNTIL_SQL_VIEW_ID for show
    slave status.

commit 945b049aec0d96465bc577c67edda12f06bd0bcf
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jul 28 08:06:03 2015 +0200

    Bug#21446772 INNODB: DROP TABLESPACE DOES NOT DELETE ISL FILES
    
    Follow-up fix on 5.7 to fix build break.
    
    Approved by Sunny Bains <sunny.bains@oracle.com> over IM.

commit 012793ec1521238556beaeb39d1a7ff4deed4299
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Jul 14 21:59:32 2015 -0500

    Bug #21446772 	INNODB: DROP TABLESPACE DOES NOT DELETE ISL FILES

commit 784b0f7f47345f3bdb00c977207984aed210fbd0
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Jul 9 22:15:32 2015 -0500

    Bug#21419888
    INNODB: CANNOT CREATE A TABLESPACE ON A DRIVE ROOT IN WINDOWS
    
    Redesign os_file_dirname() from a function that splits a path into
    directory path and basename into a function that strips off the last
    component of a path.
    Add a unit test since MTR should not use the root of a drive.
    
    Approved by Jimmy in rb#9580

commit 1c06d46dc2407fe421820b7162c663c53d2ebd21
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Jul 27 13:36:36 2015 +0200

    Bug#21216067 ASSERTION FAILED ROW_UPD_SEC_INDEX_ENTRY (INNOBASE/ROW/ROW0UPD.CC:2103)
    
    A multi-table UPDATE updates a table using a temporary table:
    - it first runs a regular join (as a SELECT), storing in the
    tmp table the new (future) value of columns and the rowid of the row
    - then it scans the tmp table and for each row:
      * fetches the row by rowid into record[1]
      * copy new values from tmp table to record[0]
      * calls before-update trigger
      * calls update_row()
    but it forgets to calculate the new value of generated columns.
    This is specific of UPDATE-with-tmp-table (Query_result_update::do_updates());
    when on-the-fly UPDATE is used Query_result_update::send_data()
    calls fill_record() which does the job.
    Fix: call update_generated_write_fields().
    This solves all wrong results and the crash in the report.

commit c65029e72a7661b044c82d744953edec9f330267
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Jul 27 10:29:17 2015 +0200

    Fixed failure on pb2

commit f20d262a1e46883009417bf457c3e4132cb124d1
Author: Libing Song <libing.song@oracle.com>
Date:   Mon Jul 27 11:41:46 2015 +0800

    BUG#19641963 RPL.RPL_SEMI_SYNC_GROUP_COMMIT_DEADLOCK FAILS WITH
                 ASSERT IN MTS CODE
    
    Postfix, use rli->info_thd instead of current_thd.

commit b886026ec8eab68afdf4e0b4a35077fdc09de6e8
Author: Libing Song <libing.song@oracle.com>
Date:   Mon Jun 29 15:02:05 2015 +0800

    BUG#19641963 RPL.RPL_SEMI_SYNC_GROUP_COMMIT_DEADLOCK FAILS WITH
                 ASSERT IN MTS CODE
    
    It was an sporadically assertion failure on:
    lwm_estim + 1 == rli->gaq->get_job_group(rli->gaq->entry)->sequence_number);
    
    In slave_worker_ends_group(), mts_submode->min_waited_timestamp is checked.
    if it is not SEQ_UNINIT then the worker should call get_lwm_timestamp and
    signal coordinator. But the checking is not protected by mts_gaq_LOCK,
    coordinator's status may already changed when the worker calls get_lwm_timestamp.
    And the status should not appear when get_lwm_timestamp is being called.
    
    To fix it, mts_submode->min_waited_timestamp is checked again after the
    worker gets mts_gaq_LOCK.

commit a683a7dc56fc3a22cf1ef68f1f957167f23cd406
Author: Benny Wang <benny.wang@oracle.com>
Date:   Fri Jul 24 10:14:06 2015 +0200

    Fixed bug#21469535: VALGRIND ERROR (CONDITIONAL JUMP) WHEN INSERT ROWS INTO
    A PARTITIONED TABLE
    
    When prune partitions, the server only cares which partitions it needs scan.
    During this time, only partition expression needs an evaluation. So there is
    an extra argument named 'bitmap' to show which columns needs an evaluation in
    fill_record.
    
    However, update_generated_write_fields tries to update the virtual generated
    columns only if they are in table->write_set and ignore the 'bitmap' in
    fill_record. Because the base columns of vitual generated columns in
    table->write_set don't occur in 'bitmap', it results in an valgrind error
    during generate the value of virtual generated columns.
    
    The solution is to add the 'bitmap' argument to update_generated_write_fields.
    If the field index of virtual generated column doesn't occur in 'bitmap'
    argument, the virtual generated column won't be evaluated.

commit d2c49829a3e62ded9e01565c7754568b41f50c87
Merge: 735bcf6 4dffb78
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Jul 25 06:55:05 2015 +0200

    Upmerge of the 5.6.26 build

commit 4dffb78e407c89e9eaa42a53dee5b600e51d7d60
Merge: 984a171 1f0fdfb
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat Jul 25 06:47:58 2015 +0200

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

commit 735bcf6032483996401bcdaede9c8e621afc927d
Merge: b91673d 984a171
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Fri Jul 24 17:08:25 2015 +0200

    Upmerge of the 5.5.45 build

commit 984a171694959d35c37f74faf963c4e82b92e208
Merge: 2008531 2836d92
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Fri Jul 24 17:03:14 2015 +0200

    Upmerge of the 5.5.45 build

commit 2836d925709de97c3f14481c0aae715fc2a3e3a7
Merge: 16868a0 4c915b6
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Fri Jul 24 16:57:17 2015 +0200

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

commit b91673d50f640b8a582dc15552dce26f228ce2c8
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Jul 24 12:00:14 2015 +0200

    Bug#21487833: DBUG_ABORT() IN JSON_WRAPPER::MAKE_HASH_KEY WITH ORDERED JSON
    
    If a NULL value is inserted into a not nullable JSON column (which is
    possible if strict SQL mode is turned off), an empty string is
    inserted at that position. Since an empty string is not a valid
    representation of a JSON value, code that attempts to parse it, might
    raise an error, or possibly hit an assertion in debug builds.
    
    Field_json::val_json() knows about this case and will return a
    representation of the JSON null literal if it encounters it. However,
    some parts of the code bypass val_json() and access the internal
    representation directly, and they fail when they try to parse the
    stored value.
    
    This patch fixes the failures by making the failing code access the
    JSON values via Field_json::val_json(), which doesn't suffer from this
    problem, instead of accessing the internal representation directly.

commit 24cf8af22ef2a0a2b73205b87d1c0887f26db690
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Jul 17 11:44:38 2015 +0200

    Relay log variable refactoring.
    
    (cherry picked from commit 7078734540593903210e5872348bea5a3199328f)

commit 608e129caef5f1cd12fcf24be0ec45439d1e5d8f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jul 24 15:13:24 2015 +0200

    Revert "UG#21405865 - LOG WARNING WHEN A DISABLED STORAGE ENGINE IS SET BY RELATED SYS VAR."
    
    This reverts commit a43c30d8a6bdbad63ec2d7cbc3af25034270f6c2.

commit 85cd227ade62726ae77c27f951d04cf390ef0309
Merge: 4d435e2 2008531
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Jul 24 19:54:24 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2008531cf43563a934630a1ca82f44fb4817553c
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Jul 24 19:52:45 2015 +0800

    BUG#21454472 AUTO-INCREMENT SEQUENCE GETS RESET
    
    autoinc is reset to 0 when table is loaded after table is evicted
    without any rows. The solution is store autoinc value in a map when
    table is evicted, and restore autoinc when table is loaded.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9694

commit 4d435e2a92ba55896f05dde7a0d009a3029ab16c
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jul 24 12:34:14 2015 +0200

    Bug#21490075 REMOVE USELESS SCRIPTS AND PROGRAMS FROM THE TESTS/ DIRECTORY
    
    Remove unused files under tests/.
    
    Also rename tests/ to testclients/.
    
    Make corresponding changes in MTR and test cases.

commit a43c30d8a6bdbad63ec2d7cbc3af25034270f6c2
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue Jul 14 16:20:40 2015 +0530

    UG#21405865 - LOG WARNING WHEN A DISABLED STORAGE ENGINE IS SET BY RELATED SYS VAR.
    
    The patch logs a warning when default_storage_engine or
    default_tmp_storage_engine is set to a disabled storage engine
    specified in the disabled_storage_engines option.

commit 3f925601cbfdc7c23cb93857ac3dcc1429996b28
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Thu Jul 23 10:52:50 2015 +0800

    Bug#21478389 - ASSERTION IN HA_INNOBASE::CHECK_IF_SUPPORTED_INPLACE_ALTER
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    rb: 9702

commit 4ce02f1498be93d55d26199095347700379e06c6
Merge: f1376f9 13d05b5
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jul 23 11:22:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 13d05b5e381b81c49011b1646dc512a332f39465
Merge: 11ca343 16868a0
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jul 23 10:59:54 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 16868a07b723edd2f83c40e8d8414169b5589a93
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jul 23 10:47:58 2015 +0530

    BUG#19886430: VIEW CREATION WITH NAMED COLUMNS, OVER UNION,
                  IS REJECTED.
    
    Analysis
    ========
    
    View creation with named columns over UNION is rejected.
    Consider the following view definition:
    
    CREATE VIEW v1 (fld1, fld2) AS SELECT 1 AS a, 2 AS b
    UNION ALL SELECT 1 AS a, 1 AS a;
    
    A 'duplicate column' error was reported due to the duplicate
    alias name in the secondary SELECT. The VIEW column names
    are either explicitly specified or determined from the
    first SELECT (which can be auto generated if not specified).
    Since a duplicate column name check was performed even
    for the secondary SELECTs, an error was reported.
    
    Fix
    ====
    
    Check for duplicate column names only for the named
    columns if specified or only for the first SELECT.

commit f1376f9a9b70164cd9ca109acae18aa7d987d6bb
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Jul 22 13:50:45 2015 +0200

    BUG#21483948 - INCOMPLETE GPL COPYRIGHT IN FILES
    
    Approved by Balasubramanian Kandasamy  <balasubramanian.kandasamy@oracle.com> over IM.

commit 9b68ddf71310cb86979ce2c81e274efed29e43af
Author: Erik Froseth <erik.froseth@oracle.com>
Date:   Mon Jul 20 15:07:09 2015 +0200

    Bug#21397107 ASSERTION FAILED: K < STATIC_CAST<SIZE_T>(GET_DIMENSION()) IN GIS_POINT::GET<0>(
    
    Issue:
    When passing geometry data to GIS functions, the user is allowed
    to send raw byte data for some of the functions:
    
      SELECT ST_AsText(0x00000000010100000000000000000024400000000000002440);
    
    However, if the user add extra garbage bytes at the end of a valid byte
    input, an assertion is hit in some of the GIS functions.
    
    Fix:
    Check that there are no extra trailing bytes in GEOMETRY byte strings
    manually crafted as input to geometry functions. If the check fails, take the
    input as invalid.

commit 608ebe89b9a4dc91de3e4a4bcb686e109ec7c791
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Jul 22 11:35:05 2015 +0800

    Bug#21477535 - INCLUDE COL->MAX_PREFIX IN UNDO LOG CALCULATION FOR
    UNIV_FORMAT_B TYPE TABLE
    
    Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>
    
    rb: 9681

commit 579d271b4245280907403a74cb776a0e2f47e754
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Jul 21 11:14:55 2015 -0700

    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    Another post-fix change to eliminate memory leak.

commit e3389d065324ae48ce048cbf09aaf2e54d561f76
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Mon Jul 20 12:24:29 2015 -0700

    Bug#21450922 MAKE JSON UPDATING FUNCTIONS TREAT SQL NULL AS JSON NULL

commit cfabd8b939a3ef16b5621cf35141c79da250643c
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jul 21 13:40:45 2015 +0200

    Bug #18871046 SET NUMA MEMPOLICY FOR OPTIMUM MYSQLD PERFORMANCE
    
    Post merge fix, adjust perfschema.show_sanity test in 5.7 and up.

commit df1ed3aed61b7b99adbbadc12d4fbd6dbdd578a6
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue May 12 05:42:36 2015 +0200

    Bug#21062842 : Made i_main.costmodel_plan change experimental.
    
    (cherry picked from commit d4a2ed8a46647081a35c2973bd51b48ee6ea0692)

commit 6e12fbfb3421e309591a73e6f9a09dadcddc86cb
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jul 2 09:42:18 2015 +0200

    Build cleanup.
    
    Fixed inconsistent prototypes for storage/perfschema/pfs.cc.

commit e3e90a62a880bb3c93c61fe45cea1d70b028e647
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Jul 21 14:30:45 2015 +0530

    Merge branch 'mysql-5.7' into mysql-trunk
    (cherry picked from commit 84ae5c49a8f17ef90ca348f2f8c46a2d820dc11d)

commit 0982f71f531d1f71015131e9245bfc3d2bc0c2a6
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Jul 21 14:20:15 2015 +0530

    BUG #21243772: NOT IN SUBQUERY RETURNS INCORRECT RESULTS WHEN INNER QUERY HAS COUNT DISTINCT.
    
    BUG #21138327: wl8132:assertion
                   `other_type != json_dom::j_error' failed.
    BUG #21132538: union queries having aggregate function and
                   grouping returns wrong result
    ISSUE:
    ------
    Previous Fix for BUG 17055185 was to set join->ref_ptrs
    with tmp_table->ref_array in end_write and end_write_group.
    i.e to move ref_ptrs from itemsx to itemsx+1, This causes
    issues for Item_ref which refers Item_field, because each
    Item_field will have result_fields and Item_ref reads from
    this result_field not from actual field. And result_field
    will point to items in next level of projection which is
    yet to be written. So setting join->ref_ptrs to next items
    array will cause reading of fields which are not written
    yet. Thus some conditions fails!!!.
    
    Solution:
    ---------
    Reverting the fix of 5.7+ fix, and upmerged the 5.6 fix of
    17055185 where we move the having conditions to temp table
    where condition.
    Also removed DBUG_ASSERT(result_field == 0) from
    Item_direct_view_ref::has_null_row if temp tables are next
    in pipeline then Item_ref's result_field may be set to
    temp table field.

commit 1864c88d873212f0f508b564d12966b938cd3a8a
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Mon Jul 20 07:39:18 2015 -0700

    Bug#21442775 JSON_CONTAINS_PATH PERFORMS UNNECESSARY WORK WHEN 'ALL' IS SPECIFIED

commit 4f8f7e3df01a1a8d0c29def87f6cf427323caad7
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Jul 20 17:49:10 2015 +0800

    Fix Bug#21454155 - VIRTUAL INDEX: HANDLER::MY_PREPARE_GCOLUMN_TEMPLATE
    FAILED WITH SPECIAL NAMES
    
    Reviewed-by: Dmitry Lenev<dmitry.lenev@oracle.com>

commit e8bfa5d99c0a64dddd0fcd6dbe687d496e0016d7
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sun Jul 19 10:14:51 2015 +0200

    Bug#21467838 - MECAB PLUGIN DID NOT GET INSTALLED WITH FEDORA(21,22) REPO PACKAGES

commit 013f977ed32be0ad186d964c1f3bcddfd3759de2
Author: Bin Su <bin.x.su@oracle.com>
Date:   Sun Jul 19 21:06:26 2015 +0800

    BUG#20582189 - INNODB.DOUBLEWRITE FAILS DUE TO DATABASE CORRUPTION
    
    Follow-up patch for this bug.
    
    After previous fixes, current failure is due to the design of the test case.
    This test case could not make sure that the page it modifes when the server
    is down has a correct copy in doublewrite buffer. The test case always flush
    the the to be modified page first, and then start a transaction to update
    some other pages. It's possible that pages changed by the transaction would
    occupy the same doublewrite buffer page with the one used by the to be
    modifed page, so server may reports the corrupted page. We can simply always
    flush the to be modified page at last to fix this issue.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    rb: 9270

commit a1683cc8fba0e84f26029ffb70606fff6fe640eb
Merge: 2736836 11ca343
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Mon Jul 20 02:15:47 2015 +0200

    Manual merge of mysql-5.6

commit 11ca34310a8778d8c8d4c1261d7926b69d9454dd
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Mon Jul 20 00:33:02 2015 +0200

    Bug#20284744: COMMANDS OUT OF SYNC, MALFORMED PACKET, HANG, DISCONNECTIONS
    
    Bad error handling in mysql_admin_table for partitioned tables.
    
    Instead of returning error, mysql_admin_table produces a result-set
    which includes the error message and returns OK.
    
    Adjusted error handling for partitioning accordingly.
    
    Reviewed-by: Praveen Hulakund <praveenkumar.hulakund@oracle.com>
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 8467

commit 27368364403e241c86650f635c72664b4c11d7ff
Author: Rick Hillegas <rick.hillegas@oracle.com>
Date:   Fri Jul 17 12:15:05 2015 -0700

    Bug#21450084 LET JSON_INSERT() INSERT INTO THE MIDDLE OF JSON ARRAYS.

commit 59e2dd73cdb1d6818c4fa9e627aecd43ee8846e5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 17 12:41:14 2015 +0200

    BUG#21340268 INNODB: BOGUS CHECK FOR MAXIMUM RECORD LENGTH WITH SPATIAL KEY
    
    Post-push fix: fix -Werror build break in optmized mode.

commit 246a6e7831272ef5e058a259618da600f8a98543
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Jul 17 12:26:55 2015 +0200

    Bug#21335271 CANNOT SET MYSQL_FIREWALL_TRACE AT RUNTIME
    
    MySQL Enterprise Firewall exposes a mysql_firewall_trace system variable, but
    it cannot be set at runtime.
    
    FIX: Removed code which prevented updates in runtime

commit c6086a103f61b9ac1a85f5b0cbd60ee0a0a3fb25
Merge: 956ab2a ff07c7d
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 17 11:59:12 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 956ab2aabfdaa8576dae39d37ed18ff6610be4d2
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Jul 17 14:45:48 2015 +0530

    - Bug#21457373: ASSERT BTR_SEARCH_ENABLED
    
      It is too restrictive to enforce assert on btr_search_enabled for private
      AHI apis. For public APIs we have a check that will avoid execution if AHI
      is disabled.
    
      Once public APIs allows the caller to proceed helper function (private APIs)
      shouldn't enforce the check w/o holding proper latch as the value can change
      while the execution of the API is in progress.
    
      Reviewed by: Jimmy Yang (jimmy.yang@oracle.com)
      RB: 9637

commit ff07c7d95ceda203ea0e81a41ea05a0737d10834
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 17 11:15:42 2015 +0200

    Bug #14700102 AUDIT PLUGIN: HEAP CORRUPTION IN DEBUG BUILD, UNABLE TO
    STARTUP ON WINDOWS
    
    An error message code fix for the audit plugin so it won't report
    extra non-relevant errors on startup if there is an invalid audit
    log file.

commit f48f645e492d9485c45e625db4925e903ae1306a
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Thu Jul 9 15:18:53 2015 +0200

    Bug #21199582 CURSOR_TYPE_READ_ONLY AFFECTS INTEGRITY OF 1ST RESULT SET
    OF PREPARED CALL STMT
    
    Decription:
    
    while retrieving the result set after prepare/execute a CALL Stmt,
    following
    issues are observed when STMT_ATTR_CURSOR_TYPE=CURSOR_TYPE_READ_ONLY.
    1. First row of first result set is missing if the data is of type
    number
    2. If the data is of type string then
     a) In Debug mode :
        net_serv.cc:196: void net_clear(NET*, my_bool): Assertion
    `!check_buffer
    || (vio_pending(net->vio) <= 1)' failed from mysql_stmt_fetch()
     b) In Release Mode connection is closing while calling
    mysql_stmt_fetch()
    
    Bug-fix: When WL7766 was implemented there was a silent assumption that
    when CURSOR_TYPE_READ_ONLY is set server always responces with a cursor
    <METADATA><OK>. This is not true. For instance when prepared statement
    is a function call the server will response with binary result set
    <METDATA><ROW(S)><OK>. The solution is to check whether the server
    responded with cursor or with result set and act accordingly.

commit 868ef5c08267e4e17a11e8ae258add8972b672ca
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jul 16 21:25:54 2015 +0530

    Bug #21447964 PAGE FRAMES OF INNODB BUFFER POOL NOT USING
    MPOL_INTERLEAVE NUMA POLICY
    
    Cherry picking the patch from mysql-5.6 to mysql-5.7.

commit fcbfc1fa4190218b598588df1078c13f19072f32
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jul 15 14:16:20 2015 +0200

    Bug#21447969 FILTER USING TRIM RESULTS IN CORRECT
    
    Problem: a where predicate containing both trim(leading) and trim(trailing)
    was incorrectly optimized away.
    
    Solution: Change Item_func_trim::func_name() to return different results
    for leading and trailing. Introduce trim_func_name() for printing
    the correct function name for Item_func_trim::print()

commit f74fc94a500bec63f7b0223c11548512e0d28f64
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Jul 16 15:21:12 2015 +0200

    Revert "Bug #21447964 PAGE FRAMES OF INNODB BUFFER POOL NOT USING"
    
    This reverts commit 989aa38ac387b179444d5ccc9fc79a063f75de52.

commit 207185ea22e57222087d72370b1e9c6968667fa2
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Jul 16 14:45:51 2015 +0200

    BUG#21021848: Post-push fix.
    information_schema.key_column_usage is different in embedded mode.
    Modify I_S query so that the result is stable in different configurations.

commit ef51982b1d27d303f421d359f4b13be47f3ec30c
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 15 13:27:30 2015 +0200

    Bug#21448719: WRONG RESULT FOR JSON VALUE IN OUTER JOIN WITH VIEW
    
    Item_direct_view_ref overrides all the val_*() functions in order to
    ensure that they return NULL for the null-extended values of the inner
    table of an outer join. It does not override val_json(), so JSON
    values could in some cases come out as not NULL when NULL is expected.
    
    This patch provides an override for val_json() in
    Item_direct_view_ref, so that JSON gets the same handling of NULL as
    the other data types.

commit 18b5691e7e57bdef3b4b38420eec7524b9a86b5c
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Tue Jul 14 16:54:07 2015 +0200

    Bug#21437989: ASSERTION FAILED: JSON_BINARY::PARSE_BINARY(PTR, LENGTH)
                  .IS_VALID()
    
    Field_json::store_binary() has an assertion which checks that the
    supplied binary string is a valid binary representation of a JSON
    document. In some cases the binary string is not a valid
    representation of a JSON document. Instead it is an empty string, and
    this causes the assertion to fail.
    
    This happens if the value is the result of an INSERT statement that
    successfully inserted an empty value into a not nullable JSON column.
    Such insertions are usually not allowed and cause an error, but the
    errors could be suppressed and downgraded to warnings if INSERT IGNORE
    is used or strict SQL mode is not in effect.
    
    It is not those insertions that trigger the assert, as the insertions
    of the empty values don't go through Field_json. The assert is fired
    when an empty JSON value, already in a table, is attempted copied into
    another JSON column.
    
    This patch relaxes the assertion so that it doesn't fire when trying
    to store an empty binary string. Field_json::val_json() already has
    special handling for zero-length binary strings, in which case it
    returns the JSON null literal, so allowing such values to be stored
    should not cause any problems when reading them out again.

commit 54abc4ac57e9d9df467a1ceed06a4c4d6e5d1a86
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Jul 16 16:44:33 2015 +0530

    Bug#21341030 - IMPORT TABLESPACE HITS DEBUG ASSERTION WHEN USING 4K AND ROW_FORMAT=DYNAMIC
    
    Problem:
    --------
    We assume that the two bitmap pages (allocation bitmap and ibuf bitmap)
    repeat after every page_size pages. When we see all zero
    page("Freshly allocated page") inplace of IBUF bitmap page, we still treat
    it as ibuf bitmap page.
    
    Fix:

commit 989aa38ac387b179444d5ccc9fc79a063f75de52
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jul 16 17:22:06 2015 +0530

    Bug #21447964 PAGE FRAMES OF INNODB BUFFER POOL NOT USING
    MPOL_INTERLEAVE NUMA POLICY
    
    Cherry picking the 5.6 patch into 5.7.

commit d11667a0670ec8a56ff9cb53cfa5cb58d9e05b7b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 14 12:05:39 2015 +0200

    Bug#21317406 TRUNCATED DATA WITH SUBQUERY & UTF8
    
    Problem: for some string functions, data got truncated when evaluated
    in subqueries. This was caused by wrong space calculations when
    creating temporary tables to hold intermediate results.
    
    Solution: For multi-byte character sets: count number of bytes, rather than
    number of characters when creating blob columns to store the strings.
    
    Also: merge two almost-identical Field_blob CTORs into one.

commit 5fdf3f3bab81b63e77f14f72c9cecbe2485d9b3b
Merge: 4340330 0536711
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jul 16 15:37:44 2015 +0530

    Null merging mysql-5.6 to mysql-5.7

commit 4340330eae0bc154fe36f2879033877941e6a89b
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Thu Jul 16 09:53:50 2015 +0200

    WL#7254 Audit API extensions (post-push)
    
    - Valgrind fixes (uninitialized variables, unreferenced function).
    - Extra check added before the event structure is being constucted.
      This prevents from building an event structure, when no plugin is
      interested in receiving it.

commit 3e3573ec64a830280e3bc73620f960df7428a8db
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 16 11:46:11 2015 +0300

    Addendum to bug #21335821: Fixed a test case that was failing
    due to wront expectations.

commit 05367118d26f31b92151a725f5acc8c0c19ef35e
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jul 16 12:23:39 2015 +0530

    Bug #21447964 PAGE FRAMES OF INNODB BUFFER POOL NOT USING
    MPOL_INTERLEAVE NUMA POLICY
    
    Problem:
    
    The fix for Bug #18871046 SET NUMA MEMPOLICY FOR OPTIMUM MYSQLD
    PERFORMANCE attempts to allocate the innodb buffer pool with
    MPOL_INTERLEAVE numa memory policy. But it doesn't do it correctly.
    
    The scenario:
    
    1.  Set the memory policy of process to MPOL_INTERLEAVE
    2.  Initialize the InnoDB buffer pool.
    3.  Set the memory policy of process to MPOL_DEFAULT
    
    In step 2, there are two parts to the InnoDB buffer pool
    initialization.  One is the control block (buf_block_t) memory
    allocation.  And the other is the actual database page frames.
    
    The control block memory is immediately allocated
    and hence the patch works as expected.  But in the case
    of the database page frames, which is using mmap(), it is not working
    as expected.  The mmap() call only reserves memory and doesn't do
    actual allocation.  The actual allocation happens only when it is
    first used.  The allocation of pages will follow the memory policy
    that is in place during allocation.
    
    Solution:
    
    While initializing the chunks in buf_chunk_init(), use the mbind() call
    to specifically set the memory policy for the reserved memory.  This will
    ensure that the database page frames use MPOL_INTERLEAVE memory policy.
    
    rb#9619 approved by Sunny.

commit 450ff6b368cf995986e8e695fb23b86b01274db0
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Thu Jul 16 11:39:22 2015 +0800

    Bug#20742519  KILL `CREATE TABLE ..SELECT` MAY LEAD TO REPLICATION BROKEN
    Bug#21114464  CRASHES WITH CONCURRENT DDL+KILL+BIN LOGGING
    
    The root cause of the problem is that CREATE ... SELECT has a commit
    in the middle when binlog_format=row and gtid_mode=off. The original
    purpose of introducing the commit was that it is logged as:
      Anonymous_gtid_log_event
      CREATE TABLE
      Anonymous_gtid_log_event
      BEGIN
      rows event
      COMMIT
    This may be a mistake, since it is also logged as above without the
    commit. The reason is that 'CREATE TABLE' event is logged into
    binlog statement cache with an Anonymous_gtid_log_event and rows
    event generated by 'SELECT' part with an Anonymous_gtid_log_event
    is logged into binlog transaction cache.
    
    To fix the problem, CREATE ... SELECT does not do the commit in the
    middle when binlog_format=row any more. After the fix, we reset the
    binlog statement cache when rolling back a single statement
    'CREATE...SELECT' transaction, since the 'CREATE TABLE' event was put
    in the binlog statement cache (not synchronized into the disk). The
    rollback can be caused by killing the query from other connection or
    an error happened on DML part of CREATE...SELECT. We also remove the
    thd->pending_gtid_state_update flag, since it is not needed any more.

commit a23356096d1518ff35f193f7589eedf8ae639d22
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 16 10:38:31 2015 +0800

    Followup: BUG#21340268 INNODB: BOGUS CHECK FOR MAXIMUM RECORD
    LENGTH WITH SPATIAL KEY
    
    Fix 'ptr' may be used uninitialized in row0row.cc:205 with -Werror build.

commit 8ad88c298f2afcd8afc00485f469ad5aafcebc09
Merge: 3865959 8ee4495
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Jul 16 08:00:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8ee4495ddbf0f390134a20ee11ac33e4f203eec0
Merge: 6bae99e 2aec6eb
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Jul 16 07:57:53 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 2aec6ebda682541b8ad29ea637223f881921bc6a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Jul 16 07:56:39 2015 +0530

    Bug #21143080: UPDATE ON VARCHAR AND TEXT COLUMNS PRODUCE
                   INCORRECT RESULTS
    
    Issue:
    -----
    Updating varchar and text fields in the same update
    statement can produce incorrect results. When a varchar
    field is assigned to the text field and the varchar field
    is then set to a different value, the text field's result
    contains the varchar field's new value.
    
    SOLUTION:
    ---------
    Currently the blob type does not allocate space for the
    string to be stored. Instead it contains a pointer to the
    varchar string. So when the varchar field is changed as
    part of the update statement, the value contained in the
    blob also changes.
    
    The fix would be to actually store the value by allocating
    space for the blob's string. We can avoid allocating this
    space when the varchar field is not being written into.

commit 3865959f7aefa97ac48359d43a3865b73b9d9c92
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Jul 15 10:33:52 2015 -0500

    Bug#21324507: INNODB: ASSERT(DICT_TF_GET_REC_FORMAT(TABLE->FLAGS)
    != REC_FORMAT_COMPRESSED
    
    Post-fix; The added test in innodb-tablespace.test runs differently
    on 32k and 64k page sizes.  Split innodb-tablespace.test into
    innodb_tablespace.test and  innodb_tablespace_zip.test where the
    latter does not run on 32k and 64k page sizes.

commit 74545f557c1407d9ad0da5b57a858e2d6b5edcfb
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Mon Jul 13 10:18:22 2015 +0200

    Bug#21391781 ASSERT WHEN RUNNING ALTER TABLE ON A TABLE WITH INDEX ON
                 VIRTUAL COLUMN
    
    During ALTER TABLE on a table that has an indexed virtual column, the
    storage engine calls my_eval_gcolumn_expr() to compute the value of
    the virtual column. Information about which columns that should be evaluated
    is specified using an ulonglong used a bit map. This bitmap can only
    define indexes on the 64 first columns.
    
    In the failing test, the virtual column with an index was column
    number 2. In addition column number 66 was a virtual column. Due to a
    bug in how the code checked if a column should be evaluated or not,
    column 66 left-shifted 66 times in the bitmap matched the same
    position as column number 2 in the bitmap. This caused column 66 to be
    evaluated. But since the storage engine had not requested this column
    to be evaluated, it had not provided the values for the base columns
    needed for this evaluation. This caused the evaluation to be based on
    whatever data was in the record buffer for the base columns and in
    some cases this could cause errors and hitting the assert.
    
    The fix for this problem is to replace the ulonglong used as a 64 bit
    bitmap with a general bitmap of type MY_BITMAP that can have a bit for
    all columns in the table.
    
    This change also removes the restriction that for virtual columns,
    only the first 64 columns in a table can be indexed.

commit 85b590b568ce696d634084c43b6eb9840b88493e
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Jul 15 16:29:54 2015 +0300

    Bug#21335821: --INITIALIZE OPTION DON'T ACCEPT "INSTALL PLUGIN" STATEMENTS IN INIT-FILE
    
    The --skip-grant-tables mode (implicit with --initialize/--bootstrap)
    was preventing the INSTALL PLUGIN and UNINSTALL PLUGIN commands.
    This was not necessary, since the plugins are initialized regardless of
    --skip-grant-tables and the only thing missing would be the ACL tables
    so these commands can check access to the plugin system table.
    
    Fixed by removing the blanket conditions for these two commands and
    just don't checking access to the plugin system table when ACLs don't
    exist.
    
    Test case added.

commit 0f6f498ed070b397a9e924397a38f9e5c74042e0
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 15 14:23:44 2015 +0200

    Bug #20408206 Auditing refactoring

commit fceeff1d41aa7e56e0be43cc13a0522943585bcc
Merge: 9ee5ae2 6bae99e
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Jul 15 12:55:19 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Needed to record new result file as the result of I_S query had changed.

commit 6bae99e631d846178c1a0c1d351a71c991d6a9aa
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Jul 14 10:11:09 2015 +0200

    BUG#21021848: ASSERTION `M_STATUS == DA_ERROR' FAILED.
    
    Problem: When I_S query which needed to perform full table open
    encountered a corrupt table it tried to repair it. To do this I_S
    query tried to acquire X metadata lock on the table. When I_S query
    was used in the middle of transaction this sometimes led to deadlocks
    if there was concurrent DDL. As result transaction was aborted and
    rolled back without appropriate error reported. For XA transaction in
    debug builds assert fired.
    
    Solution: Since it is undesirable to have an I_S query attempt repair
    (or discovery) the patch modifies the behavior of
    Open_table_context::recover_from_failed_open() to skip these
    operations if MYSQL_OPEN_FAIL_ON_MDL_CONFLICT set, and instead sets
    the error ER_WARN_I_S_SKIPPED_TABLE which will be converted to a
    warning. This will avoid deadlocks during I_S query execution.
    
    This returns the behavior of I_S queries to what they were before
    BUG#18075170 was fixed. The assert in conjunction with XA abort, which
    was present even before BUG#18075170, is now fixed.

commit 9ee5ae2767cd4156b7de2f6190e96142d9b48505
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 15 16:39:30 2015 +0800

    BUG#21340268 INNODB: BOGUS CHECK FOR MAXIMUM RECORD LENGTH WITH SPATIAL KEY
    
    We log only MBR for purge when a column is only used by spatial index,
    and the field data is stored externally, in which case, we logged prefix
    + MBR.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9566

commit 8fe55c4ea199074d59781c9481137c9460b7aa0f
Author: shipjain <shipra.x.jain@oracle.com>
Date:   Wed Jul 15 09:16:03 2015 +0200

    fix to work with debug

commit 0d6917b67bb573b084c1e00885c53ee678473618
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Jul 15 10:40:39 2015 +0800

    Fix Bug#21372331 - DEBUG ASSERTION IN INNOBASE_GET_COMPUTED_VALUE() FOR
    PARTITIONED TABLE.
    
    reviewed by Bin Su <bin.su@oracle.com>
    reviewed by Debarun Banerjee <debarun.banerjee@oracle.com>
    
    rb: 9597

commit c13d09f974bccdc60dceb309cc19f795f2c08c35
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jul 15 11:20:19 2015 +0800

    Followup:BUG#21245805	HA_INNOBASE::RECORDS_IN_RANGE()
    RETURNS CONSTANT FOR SPATIAL INDEXES
    
    Fix innodb_gis.rtree_estimate failure with embedded runs.
    
    The root cause is gcc optimization in linux 32-bit platforms,
    so the fix is enabling the test only for debug build.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit 383edf5022ac8a255972ef05a6124342b6ac53dc
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Jul 15 10:32:25 2015 +0800

    Follow-up patch for Bug#20582189 INNODB.DOUBLEWRITE FAILS DUE TO DATABASE
    CORRUPTION
    
    This patch should make sure that when setting innodb_buf_flush_list_now = 1,
    server will return until dirty pages are flushed out.
    
    Approved by Jimmy over IM.

commit 8de2108d62e7aba50972527c24cbf4ab904bbc44
Author: Menelaos Karavelas <menelaos.karavelas@oracle.com>
Date:   Tue Jul 14 21:02:29 2015 +0300

    BUG#21387639 ST_ISSIMPLE FLATLINES CPU
    
    Problem: when a geometry has NaN coordinates, it is possible that bg::detail::has_spikes
    enters an infinite loop (this is caused by the fact that bg::equals(pt, pt) where pt
    is a point with NaN coordinates returns false instead of true)
    
    Solution: modify the algorithm used for bg::detail::has_spikes to avoid calls of this type
    and never call bg::equals() with two arguments that we know beforehand that are the same point

commit b2277e723ca9c16f08e3d1cb6603804bb4c56ba2
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Wed May 27 16:17:04 2015 +0200

    BUG#20545943 patch 3/3: start_slave
    
    Make the family of functions related to start_slave return bool, and
    fix the bug by reporting errors where they happen instead of at the
    end of the top-level function. (See patch 1 for details.)

commit 059322e2ebf18812a13b966c6ae25c003f171ef4
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue May 26 11:37:13 2015 +0200

    BUG#20545943 patch 2/3: remove useless parameter from start_slave(THD *, ...)
    
    The 'net_report' parameter to start_slave(THD *, ...) was never set to
    any other value than 1.  Removed the parameter to simplify the
    prototype. (See also patch 1 for details.)

commit a7d990ee6563b01aa9c1dbcb7bbd96e6b78a2bcb
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Mar 12 18:10:53 2015 +0100

    BUG#20545943 patch 1/3: queue_event
    
    BUG#20545943: MY_MESSAGE() WITH WRONG NUMBER OF ARGUMENTS IN RPL_SLAVE.CC:9540
    
    In this bug, my_message was used with the wrong number of arguments in
    queue_event and start_slave(THD*,...).  The root cause was that these
    functions have many error conditions, each generating different error
    messages.  In each error condition it stored the ER_* constant in a
    variable, and then it reported the error in a one centralized place
    near the end of the function.
    
    Since different error messages need different numbers of arguments, it
    is hard to maintain such code.  Therefore we fix the bug by reporting
    the errors exactly where they happen.  That creates less
    dependencies between different parts of the code.
    
    This also makes it unnecessary to return error codes between
    functions, making the protocols for the functions simpler.
    
    This bug is split into three patches:
     1. Fix queue_event.
     2. Make a small simplification in the prototype of stop_slave.
     3. Fix stop_slave.

commit 4faea30fb7fe3e0e5d31b762e44564605854351b
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jun 12 15:45:29 2015 +0300

    Bug #20438524: 5.7.5 SKIP_NAME_RESOLVE STOPS ALL CONNECTION ATTEMPTS
    
    In --skip-name-resolve move accounts with non-IP based host name parts
    are in fact not available for one to login through.
    The server generates a warning in the log file when it encounters one
    such account and disables the account.
    
    The checks to generate the warning for some reason were excluding the
    "localhost" host name. Thus the default account created by e.g.
    mysqld --initialize (root@localhost) was not triggering the warning
    but people still couldn't login to it in --skip-name-resolve mode.
    
    Fixed by:
    1. Not excluding "localhost" when checking if a warning for the user
    account should be written into the log.
    2. Not disabling the accounts that people can't login against since
    that also prevents proper use of SQL DEFINER stored programs that
    reference these accounts.
    
    Test case added.

commit 1ad46adb2bceb67efb1c4d6a65df96d18fb97fe9
Merge: 6c45eda edea685
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jul 14 17:35:57 2015 +0530

    Bug #21040050	PURGE THREAD MUST EXIT SOONER AT SERVER SHUTDOWN
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit edea685729fbeefca5490e14caa4057ecca3c6f5
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jul 14 17:31:10 2015 +0530

    Bug #21040050	PURGE THREAD MUST EXIT SOONER AT SERVER SHUTDOWN
    
    PROBLEM
    
    The purge thread takes too much long time during
    shutdown. This is because we call trx_purge()
    three times during shutdown,each time it is
    called 300 undo log pages are being processed.
    so even though you set batch size as 300,
    900 undo pages are processed during shutdown,
    whereas in 5.5 it is only called once
    during shutdown.  This is the reason we are
    seeing a 10 minute delay in shutdown time.
    
    FIX
    ---
    Instead of calling a separate trx_purge()
    for truncating the history log, do it
    with the trx_purge() in work loop once every
    128 (TRX_SYS_N_RSEGS) times. Also reduce the
    batch size to 20 for trx_purge() which is
    called after detecting shutdown.
    
    [#rb 9359 Approved by jimmy]

commit 6c45eda819ca73daf385590560a408e2bb32d4ad
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 13 15:50:05 2015 +0200

    BUG#21279005 - ROUND FUNCTION INCORRECT IN WHERE-CLAUSE USING LOCAL VARIABLE
    
    Problem the predicate "where round(<field>, <local sp_variable>) > 0
    could return false rather than true.
    
    Solution: evaluate the <local sp_variable> expression before peeking
    at the "is-null" flag

commit c3df3a19b3305dc3591c667ade7469bfe6dc74a8
Merge: ca8e6db 88c5abe
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Tue Jul 14 12:12:41 2015 +0400

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit ca8e6dbeea64777396a5bc184c56e96118c952ae
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Tue Jul 14 12:01:59 2015 +0400

    Bug #20968596: MYSQL_UPGRADE IN 5.7 FAILS ON MYSQL.PROC TABLE, WORKS WHEN RUN AGAIN
    
    Problem: mysql_upgrade treats a warning with severity 'ERROR' as a real query execution error, so it stops when such a warning appears. In this particular bug, musql_upgrade got a warning after "DROP DATABASE IF EXISTS performance_schema" query and finished, although the database is dropped, and the next mysql_upgrade run will go with no problem.
    
    Fix: relax it, don't treat warnings as query execution errors.
    
    Note: all warning messages are prepending with 'non fatal' from now on.

commit 88c5abe94990d338f9635c04f55f0cadd59f46de
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Jun 29 11:56:37 2015 +0200

    Bug #21216433 MYSQLD.EXE CRASHES WHEN TRYING IN-PLACE UPGRADE FROM
    5.0.96
    
    When reading the ACL tables in acl_reload() and acl_load() failing to
    perform for some reason the server calls init_check_host().
    
    Bug-fix: host cache is rebuild based on the previous acl_users. In case
    the previous acl_users is empty - empty host cache is generated.

commit 33467a114ac887aee72d5f91a6412320172734da
Merge: 8824c0e 4ca9dbe
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jul 14 07:40:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4ca9dbe2ef159e33d7a788eabe9aa013cf5cdf1e
Merge: 58bc083 30cc4c5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jul 14 07:38:36 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 30cc4c54c65cdc4b096a1a55e591b3796a6de3b9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Jul 14 07:37:37 2015 +0530

    Bug #20777016: DELETE CHECKS PRIVILEGES ON THE WRONG
                   DATABASE WHEN USING TABLE ALIASES
    
    Post-push fix.

commit 8824c0ea4c2dfc4ec2439a368220d82ad7b89022
Author: Marcin Babij <marcin.babij@oracle.com>
Date:   Mon Jul 13 23:44:49 2015 +0200

    Bug #18636874	PASSWORD VALIDATE PLUGIN: DICTIONARY CHECK MISBEHAVES WITH GOOD HEX INPUT
    
    Running PASSWORD on non-text can lead to memory access problems. This is due to std::string being constructed on the buffer, but it ignore length of the buffer.
    
    Fixed failing test on 5.7+.

commit fb9cde72d6e49a2f776c30115fbb5393f9e3175b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Jul 13 14:55:26 2015 -0500

    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    Post-fix change to eliminate memory leak.

commit eb1be4f47b6344ce7431f031e88cb24e70b7d536
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Mon Jul 13 22:52:08 2015 +0530

    Bug#21047658 KILL OF QUERY USING ATTACHABLE TRX CAUSES SHUTDOWN HANG
    
    Notes from Satya:
    This bug is not reproducible anymore, but the assert which
    used to crash is added. See bug page for more info.

commit 2fd2f24f4d0e65150c749ca6f83ce1e539dd1930
Author: Erik Froseh <erik.froseth@oracle.com>
Date:   Thu Jul 9 09:15:28 2015 +0200

    BUG#21389101 ST_GEOMFROMGEOJSON: STACK OVERFLOW IN RAPIDJSON::GENERICREADER
    
    Issue: When given a deeply nested JSON input, rapidjson hits a
    stack overflow.
    
    Fix: The new JSON functions (see WL#7909) has a mechanism for handling
    deeply nested JSON inputs. The solution is thus to change
    ST_GeomFromGeoJSON from using rapidjson directly to using the new
    JSON functions for parsing the input. This will also have the benefit
    of more easily keeping all JSON handling across the server more
    consistent and easy to maintain.

commit ac9b92a98b81404800f194d0eb00a51e1cd0d927
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Jul 10 11:04:49 2015 +0200

    Bug#21383284: ASSERTION IN SELECT_LEX::SETUP_CONDS
    
    JSON_SEARCH evaluates the escape expression at resolve time in
    Item_func_json_search::fix_fields(), but it doesn't check if the
    evaluation is successful, and it could end up returning false
    (indicating success) even though an error has been raised.
    
    SELECT_LEX::setup_conds() has an assert which checks that no error has
    been raised if fix_fields() returns false. This assert gets hit if a
    JSON_SEARCH call is in a WHERE clause and the evaluation of the escape
    expression fails.
    
    Errors could be raised either when fix_fields() calls val_str() on the
    item representing the escape expression, or when it calls fix_fields()
    on its synthetic Item_func_like object.
    
    Item_func_json_search::fix_fields() also allocates some objects
    without checking if the allocation was successful.
    
    This patch makes fix_fields() check for all of the above error
    conditions and return true to indicate that an error has happened.

commit 9380863e94079268ce14226b7e6c9bf45d5eb281
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Mon Jul 13 17:04:47 2015 +0530

    BUG#21303289  Removed sqlbench leftover in deb platform pkg src

commit a93e533494bf13e1e3a3d26be3ff7d37239e29e5
Merge: 9b467b1 bb9484c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 13:34:57 2015 +0200

    Merge branch '5.7-with-cluster' into mysql-5.7

commit 9b467b139a7681fdd391dbc03dfab0a75794b593
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Mon Jul 13 16:52:57 2015 +0530

    BUG#21434004   UBUNTU 15.04 REPO PACKAGES DO NOT CONTAIN ESSENTIAL SCRIPT LIKE MYSQLD_SAFE
    list of
    files being re-installed in server pkg:
    +usr/bin/mysqlbinlog
    +usr/bin/mysqld_multi
    +usr/bin/mysqld_safe
    
    Corresponding man pages have also been added into the server pkg.

commit bb9484cfbf138e5ee3591ffdcf664d9576b020f8
Merge: 8f70d21 f2043c7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 12:23:38 2015 +0200

    Merge branch 'mysql-5.7-cluster-7.5' into mysql-5.7

commit f2043c7fce65774b9c6e24526cf3ba4cacc01c00
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 2 10:44:19 2015 +0200

    Remove MCP_GLOBAL_SCHEMA_LOCK patch
    
     - prepare for upmerge
     - this functionality is still only supported by Cluster
       and will not be merged up.

commit 024979554519df2eeda1d6f85a57e71da7095f5a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 11:55:13 2015 +0200

    Fix syntax error in ndbinfo_sql.cpp

commit 7cf120694518c00eefcc1349d134bcae54520cdf
Merge: d39baa5 8c3fe8a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 11:06:42 2015 +0200

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

commit 8f70d21f9bc0b0c92b3c351a8e89a57f0295ca56
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Jul 13 10:56:53 2015 +0200

    Fixed mysql_ssl_rsa_setup test failing on Windows after pushing bug fix
    for bug#21025377

commit 8c3fe8a9690a1cd52738cafe90efb7bfafb82716
Merge: aa215d0 2185d90
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:54:55 2015 +0200

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

commit 2185d90e534c7fc3a5494533a4b91163b482ce93
Merge: 28a021d 471d543
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:54:41 2015 +0200

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

commit 471d543d4e5e96502ec99d39f8031c456dbc39da
Merge: b7efa93 d6fdcab
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:54:19 2015 +0200

    Merge branch '7.2-fix' into mysql-5.5-cluster-7.2

commit c627c4b32021d0e1ab01ec268d9e09ee3f21f173
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Jul 13 14:17:19 2015 +0530

    BUG#21280816 CONNECTION PERFORMANCE REGRESSION TEST HANGS SYSBENCH
    
    Problem :
    ---------
    The hang in TrxInInnoDB constructor is due to incorrect value of
    in_innodb reference count. The root cause is that we are releasing
    the transaction object during close connection before destroying
    the TrxInInnoDB object where reference counts are adjusted. The same
    transaction object gets allocated to another session/thread and the
    TrxInInnoDB::enter and exit are called simultaneously by concurrent
    threads for same trx object corrupting the in_innodb reference value.
    
    Solution :
    ----------
    In innobase_close_connection, free transaction object only after
    deleting TrxInInnoDB object.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 9596

commit d39baa5f85e730a7455ac28a1dcda4120a72d1ab
Merge: c0dba5f aa215d0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:50:09 2015 +0200

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

commit aa215d0c9513545a85718405fbcec041b7cb824f
Merge: b5ecc01 28a021d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:49:52 2015 +0200

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

commit d989a3961f56806820f6292884b48d287c2275e0
Merge: 6d10b11 58bc083
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 13 10:49:01 2015 +0200

    NULL Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	cmake/os/Windows.cmake
    	config.h.cmake

commit 28a021dd7bfe6b883aa7cc2407dc3d9f497ee0b9
Merge: b0a5daf d6fdcab
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:48:46 2015 +0200

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

commit c0dba5f30aa71a0bc345374beb5489a0abc246e8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:48:16 2015 +0200

    Keep ndbinfo_sql.ccp in sync with mysql_system_tables.sql
    
     - allowing  the creation of these tables to be automated
       in the future

commit d6fdcab4c9ffa3fac7b8eda4312cc027f2795646
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 13 10:46:23 2015 +0200

    Remove unintentional change in variables-big.test
    
     - just comments

commit 58bc083d4cada37febf8d4365cc23c896eddef31
Merge: 716d660 5b69f8d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 13 10:43:53 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 5b69f8d338daeba50eb623ede7b4b9ea68dbf725
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 13 10:10:12 2015 +0200

    Bug #20168526 YASSL: CORRUPT SSL-KEY CRASHES CLIENT
    
    Post-push fix: broken build on windows.
    The problem is min/max macros from windows.h
    which interfere with a template function callex max.
    
    Solution: ADD_DEFINITIONS(-DNOMINMAX)

commit 6d10b11120b0bc22b5f7d811bbc93f4cfa5e6d38
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Mon Jul 13 13:22:27 2015 +0530

    Version change in d/changelog for DEB pkg src
    5.7.9+ are non-rc releases

commit 72d96753ee4f085821f3e941e43d5d82a8611f13
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Mon Jul 13 11:13:19 2015 +0530

    - Bug#21407023: DISABLING AHI SHOULD AVOID TAKING AHI LATCH
      Currently if AHI is disabled check for it was protected by AHI latch which
      caused latch overhead even though the feature is not adding any value.
    
      This has been fixed to avoid taking latch if AHI is disabled. If AHI is
      enabled while the API is performing the check then we may use stale value
      but that is fine. API active during that snapshot will miss using AHI which
      is far less costlier than keeping it active when feature is disabled.
    
      Reviewed by: Jimmy Yang (jimmy.yang@oracle.com)
      RB: 9570

commit 40bcccff179d1bbdee831f3a5f5409dad0e45639
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 13 06:17:17 2015 +0200

    Bug#21429471 - COMMUNITY/COMMERCIAL EL7 UPDATE FAILING WHEN MARIADB-BENCH.X86_64 INSTALLED
    
    Move obsoletes from bench to server subpackage

commit f10f0bc583365171454346a919f87fbc4b9ce920
Merge: f2e34a8 716d660
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Jul 13 09:12:28 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 716d66076c55c2e177723f58811923d0dc527c7e
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Jul 13 09:11:09 2015 +0530

    Bug #20728894: MEMORY LEAK IN ADD_DERIVED_KEY()
    
    Problem:
    Possible derived keys are created in stmt_arena's mem_root which
    is the permanent memory area for statement. It does not get deleted
    after execution of the query. In case of stored procedure, if a query
    creating derived table is executed many times, the memory keeps growing.
    
    Solution:
    Allocated derived keys in thd->mem_root which is for runtime objects instead
    of thd->stmt_arena->mem_root.

commit f2e34a82dc67efa79340861df310886d1abbc2a9
Merge: c615951 836c729
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jul 13 08:03:49 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 836c72914fd172fe0e09a909c582a1ebae096146
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jul 13 08:03:12 2015 +0530

    Bug #21056907: CONTENTS OF NOT REQUESTED CHAR/VARCHAR
                   COLUMN ARE REVEALED
    
    Issue:
    -----
    When a hexadecimal representation of a string literal is
    passed as a parameter to the insert function, additional
    information is displayed by the SELECT statement.
    
    
    SOLUTION:
    ---------
    This happens because while creating the hexadecimal
    character, the "Alloced_length" is set to the string
    length, but the actual allocation does not happen. This
    will result in the same string being used for multiple
    rows, and the new string will be appended to the old one.
    
    The solution is to check whether a string is actually
    allocated, if not make sure that this is done.
    
    Also, when a string is supplied from a variable,
    String->realloc will result in truncation if 'to' and
    'from' overlap. This needs to be handled by forcing an
    allocation on the heap.
    
    Functions like lcase/encode/decode may return substrings
    that are already allocated on the heap. concat/concat_ws
    can have similar problems where temporary results are
    over-written. Here uses_buffer_owned_by() can be used
    to check if the input string is already allocated on the
    heap. If yes, a temporary variable is used to store the
    substring.
    
    This fix is a backport of Bug#11765149, Bug#20315088 and
    Bug#20554017.

commit c6159516d2aac4b840ca418e8dd98ea4667da887
Merge: 5c142df f118b3e
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jul 13 07:54:42 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f118b3e99b7680347df2be9a4f9f51a35f444010
Merge: ced5c92 28c60fa
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jul 13 07:53:48 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 28c60fafd1e7aec7181c549f2196c976bc6b8a9c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jul 13 07:51:23 2015 +0530

    Bug #20777016: DELETE CHECKS PRIVILEGES ON THE WRONG
                   DATABASE WHEN USING TABLE ALIASES
    
    Issue:
    -----
    When using table aliases for deleting, MySQL checks
    privileges against the current database and not the
    privileges on the actual table or database the table
    resides.
    
    
    SOLUTION:
    ---------
    While checking privileges for multi-deletes,
    correspondent_table should be used since it points to the
    correct table and database.

commit 5c142dfad18c622aaeda3ef9e39755bdaf8d23e1
Merge: 228469b ced5c92
Author: Marcin Babij <marcin.babij@oracle.com>
Date:   Sun Jul 12 13:03:43 2015 +0200

    Merge branch 'bug#18636874' into mysql-5.7-18636874

commit ced5c926db09690c815102e181f4ba59da714615
Author: Marcin Babij <marcin.babij@oracle.com>
Date:   Sun Jul 12 12:38:39 2015 +0200

    Bug #18636874	PASSWORD VALIDATE PLUGIN: DICTIONARY CHECK MISBEHAVES WITH GOOD HEX INPUT
    
    Running PASSWORD on non-text can lead to memory access problems. This is due to std::string being constructed on the buffer, but it ignore length of the buffer.

commit 228469b1df6e8f8efc5f5a5eec5a158583eb191e
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Jul 10 18:30:46 2015 +0200

    WL#7254 Audit API extensions
    
    - New event classes introduced (authorization, table access, command, server
      initialization and shutdown, global variable access, stored program execution).
    - Plugin's event handling function can abort further execution of the server enquiry
      that caused generation of the event.
    - Plugin allows to subscribe to the specific subclass.
    - Sec Context exposed as a Plugin Service.
    - Plugin implementation extended (null_plugin) to support event verification
    
    MTR: test_sec_context, audit_plugin_2

commit 74c175be576a9b6a9dab6c8b03e811be3769b32a
Merge: c6ccf05 4c9f435
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Jul 10 21:14:22 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/perfschema/r/query_cache.result

commit 4c9f4350ae06701e580f33e6f95a923fe1e1d638
Merge: ed289a2 e8911d2
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Jul 10 20:58:36 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	storage/perfschema/pfs_timer.cc

commit e8911d26774f2c4e0c5388713f2d3f8125116e2a
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Jul 10 20:42:33 2015 +0200

    Bug#21374104 SETUP_TIMERS INITIALIZATION ASSUMES CYCLE TIMER IS ALWAYS AVAILABLE
    
    For WAIT events, fall back to other timers if CYCLE is not available.

commit c6ccf058ddb503c09eb3c5596a583d6a253ae86a
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Jul 10 21:14:58 2015 +0400

    Bug #20087571: 5.7 EASILY HITS ERROR 1436 (HY000): THREAD STACK OVERRUN ERRORS ON MANY EXPR'S
    
    After-push test update.

commit bc72e4e92e1389d11fb5ac332a78f45d443e33c7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jul 8 17:53:27 2015 +0200

    Bug#21383896 DECIMAL FIELD TAKES IN VALUES FROM OTHER FIELDS
    
    Calculation of database record size was wrong for queries of the type
    CREATE TABLE (.. decimal ... unsigned ..) select ... ;
    
    Correct space allocation depends on signed/unsigned-ness of the decimal column.
    Space allocated was off by one byte.
    
    Solution: propagate signed/unsigneness properties,
    before doing space calculations.

commit b5ecc0141dd9bf282a14dd2559a149769b89e9b9
Merge: 0593964 b0a5daf
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jul 10 15:02:48 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit b0a5daf23c9995053e5401a14193d2ffaeae5dcf
Merge: c9937af b7efa93
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Jul 10 14:57:02 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 85fa5c01d63af15f9644b005935d8aabdf1a8333
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 3 10:18:56 2015 +0200

    Bug#21153489 VALGRIND ERRORS IN ITEM_BOOL_FUNC2::IS_NULL LEAD TO CRASH LATER
    
    The problem was dangling blob pointers, to buffers owned/deleted by innodb.
    Solution: reset blob pointers when closing underlying table.

commit b7efa93c14a08e379e611923095d7336ffc7c43b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jun 29 01:24:49 2015 +0200

    Fix syntax errors in 16node-tests.txt and upgrade-tests.txt

commit c38b3ec8b2f523c924143be63db299f714e18b68
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Jun 29 01:18:59 2015 +0200

    Bug#21337139 ATRT SILENTLY STOPS TESTING AT FIRST SYNTAX ERROR IN TEST CASE FILE
    
    Added syntax check option --check-testcase-files to atrt.
    
    Added help description for testcase file syntax to atrt.
    
    If atrt aborts testing due to for example syntax errors in testcase
    file a start error on fictive testcase 'critical error' will be
    reported.
    
    This critical error will be visible in autotest webgui.
    
    Build time checks of testcase files are added.
    
    Unit test added to check testcase files.

commit f675249fe2d8e70d9685377428b030ce771d5414
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Jul 10 15:42:51 2015 +0300

    Fix a compilation error after bc098885
    
    Use ib::info instead of ib_logf(IB_LOG_LEVEL_INFO) in MySQL 5.7+

commit 8924a4805b3b3f104c4e2264333720b4d0ba3c37
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jul 9 11:47:46 2015 +0200

    Bug#21338012 MTR MANUAL-GDB OPTION DOES NOT WORK
    
     - handle special case for
       $ >mtr.pl --start --manual-[gdb|dbx|lldb|ddd|debugger]
       by prompting user to start servers accoring to instructions
       and then hang around until user kills mtr.pl(with Ctrl-C or
       something)

commit b2cb5a4a135ce31aa2ec5bff97e7af9e96c19c07
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 10 12:31:02 2015 +0200

    Bug #21280801: VERSION TOKEN LOCKING DOES NOT WORK
    
    The plugin was releasing all the get_lock() locks at the end of
    each query regardless of whether session version tokens are present
    or not.
    Fixed as suggested by Ingo by making the lock release dependent on
    presence of session version tokens.
    Added some more verbose comments on what the function is doing.

commit f63352f80b7c419d338a72bcddebc6a94552e55a
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jul 10 12:20:00 2015 +0200

    BUG#21421471 LICENSE HEADERS MISSING IN FILES
    
    Approved by Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com> over IM.

commit 8f56d51941ace8f17fcbf69af85aab28e84bdc57
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Fri Jul 10 13:14:09 2015 +0300

    Bug#21300774 ASSERT `!INIT_FTFUNCS(THD, SELECT_LEX)` IN JOIN::RESET AT SQL/SQL_SELECT.CC:874
    
    Assert is removed since it's based on false assumption
    that init_ftfuncs() can not return error on second execution.
    Error can happen if uncacheable subquery returns more than one row.

commit 2c23277490607e608fa3b7e978140b77bcd1d874
Merge: bc09888 ed289a2
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Jul 10 15:40:22 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Along with disallowing modification of these repositories
    inside a transaction like in MySQL-5.6, in MySQL-5.7 server
    will not allow modifying inside a stored function or inside a trigger
    as there are no real uses cases for the same.

commit ed289a27a0655115353b6d22c49d6db6311d56d0
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Jul 10 15:37:48 2015 +0530

    BUG#20074353 HANDLE_FATAL_SIGNAL (SIG=11) IN MY_B_WRITE | MYSYS/MF_IOCACHE.C:1597
    
    Problem: Modifying master_info/relay_log_info repositories
             inside a transaction and later rolling back that
             transaction is leaving repository in a bad condition
             that cannot be used later.
    
    Fix:     Disallow modifying these repositories inside a transaction
             as there are no real uses cases for the same.

commit bc098885b0e3bd352e7dc8e29a6969cba53a0502
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jul 10 15:24:10 2015 +0530

    Bug #18871046 SET NUMA MEMPOLICY FOR OPTIMUM MYSQLD PERFORMANCE
    
    Cherry picking the mysql-5.6 patch into mysql-5.7.

commit 87812ff886b6c378999d63ad3d798f796124a568
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 10 12:49:05 2015 +0300

    Addendum 2 to bug #21034322: removed the max test due to it being different for different OSes

commit 4a1b5acaebbb4d3691e9cceee86599e1850acf1e
Merge: 2bc350c 47b8c72
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jul 10 15:04:51 2015 +0530

    Null merging mysql-5.6 to mysql-5.7

commit 2bc350cfc8d53638ffafdb0270a15c9c7d2809d9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 10 10:08:14 2015 +0200

    Bug#21271736 UNITTEST UT0CRC32-T HANGS ON SOLARIS 10 SPARC
    
    Reduce execution time for unit test.
    Change the constant n_megabytes_to_checksum and build optimized when doing
    performance analysis.

commit 48e3044f42321c73a680e1246417197dbd5e9e2f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jul 9 17:48:11 2015 +0200

    Bug#21381060 A "CASE WHEN" EXPRESSION WITH NULL AND AN UNSIGNED TYPE GIVES A SIGNED RESULT
    
    Write unit test to verify that the bug is fixed in 5.7 and up.

commit 30ec75f1b922f537167187657380f4feaf5c9aae
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 10 10:14:46 2015 +0200

    Addendum #1 to bug #21034322: fixed a signed/unsigned comparison.

commit c796cf60e8d15d0dd46dfa352b4e4516ad3246c2
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Thu Jul 9 12:42:22 2015 +0530

    BUG#21303289  Removed sqlbench leftover in deb platform pkg src

commit 47b8c72ee93087dc5d550d2ce77fd6c0c98e1bf7
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jul 9 10:29:31 2015 +0530

    Bug #18871046 SET NUMA MEMPOLICY FOR OPTIMUM MYSQLD PERFORMANCE
    
    Problem:
    
    This is a contributed patch (bug#72811). The original contributor
    states that, "Historically, the suggested way to run MySQL on NUMA
    machines has been to run with "numactl --interleave=all" so that
    things like the InnoDB buffer pool are spread across all NUMA
    nodes." Currently InnoDB buffer pool is allocated without using
    NUMA features.
    
    Solution:
    
    Provide an option (--innodb_numa_interleave) to allocate InnoDB buffer
    pool using MPOL_INTERLEAVE memory policy of NUMA. What this patch does
    is the following:
    
    1.  If the option innodb_numa_interleave is enabled, then set the numa
        memory policy MPOL_INTERLEAVE for the mysqld process.
    2.  Allocate the buffer pool.
    3.  If the option innodb_numa_interleave is enabled, then set the numa
        memory policy back to MPOL_DEFAULT for the mysqld process.
    
    So all allocations that happen between 1 and 3 will be using the
    MPOL_INTERLEAVE memory policy.  This is a basic patch to make InnoDB
    numa aware.  More fine grained control is possible and will be taken
    up later.
    
    rb#7309 approved by allen.

commit de99c9560728e7ea76e3de635b835c2358b8f651
Merge: cbb18b8 44dadb2
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 10 07:57:08 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 44dadb223d829e2e39ac318846e3e6e0013f23ea
Merge: d4676a8 62ae704
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 10 07:56:33 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 62ae704a2279e6f2f18675d32eb9fd61fec164aa
Merge: 5a955a5 314b436
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 10 07:54:55 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 314b436982fd1adc5d306874dcc3ac772bf467a0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 10 07:52:00 2015 +0530

    Bug #20238729: ILLEGALLY CRAFTED UTF8 SELECT PROVIDES NO
                   WARNINGS
    
    Backporting to 5.1 and 5.5

commit cbb18b84f307365613c97721140b614c88fd6c4e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri Jul 10 00:13:51 2015 +0200

    * Fix: Missing GRANT_INFO constructor in gunit test merge_small_tests.cc

commit 184260a723c2ef052b7137dbbf037bb63a0acb83
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Jul 9 19:31:47 2015 +0200

    * Fixed: Illegal comparison between signed and unsigned integer expressions
    * Fixed: GRANT_INFO member should be in #ifndef DBUG_OFF clause

commit 2c997e03d10d03694fc4acdfa0a010d12478cdd7
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Jul 9 16:55:35 2015 +0200

    Bug21338077 HANDLE_FATAL_SIGNAL (SIG=11) IN __STPCPY_SSE2_UNALIGNED FROM MY_
    
    PROBLEM: Derived tables with no name caused issues when pre-check
     was performed.
    FIX: For derived tables: Skip pre-check and initialize the table privilege
     with a SELECT_ACL grant

commit 76a8cd6936481b9d628830082a1b0d0afdb6235f
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 9 16:40:11 2015 +0300

    Bug #21034322: RENAME LOCKING UDFS IN THE VERSION_TOKEN PLUGIN
    
    Renamed the locking UDFs as follows:
    vtoken_get_read_locks   -> version_tokens_lock_shared
    vtoken_get_write_locks  -> version_tokens_lock_exclusive
    vtoken_release_locks    -> version_tokens_unlock
    
    Fixed a conversion warning and added range checks for the timeout
    argument to version_tokens_lock_*.
    
    Tests added to cover the range check.
    
    Bumped plugin version to 1.01.

commit 9392c553a046a6feb053dbd62649e33db8b41c2b
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 8 14:51:09 2015 +0200

    Bug#21384048: ASSERTION FAILED: N >= 0 && N <= 308 IN
                  RAPIDJSON::INTERNAL::FASTPATH
    
    An assertion was hit in rapidjson when parsing a JSON text that
    contained a floating point number with a large, negative exponent.
    
    The bug is fixed upstream in this bug report:
    https://github.com/miloyip/rapidjson/issues/313
    
    This patch applies the upstream fix to
    extra/rapidjson/include/rapidjson/reader.h.

commit 9f8f4c0d93a3e9dfe35cb091d930a09fe60109ad
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 8 12:41:17 2015 +0200

    Bug#21383497: DBUG_ABORT() IN VAL_JSON
    
    Item_func_rollup_const does not override val_json(), and attempts to
    call it will end up using Item::val_json(), which always raises an
    error.
    
    This patch makes Item_func_rollup_const override val_json() and read
    the JSON value from its nested item.

commit dd0ce5180dab96f5c09da9bbf80ea80f0bda6e5e
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 8 11:15:21 2015 +0200

    Bug#21381806: JSON: ASSERTION FAILED: ARG->NULL_VALUE
    
    The failing assertion asserts that null_value is true if the field
    type of an item is MYSQL_TYPE_NULL. This happens before a val_*
    function has been called on the item, and null_value is not
    necessarily updated until one of the val_* functions is called.
    
    This patch calls update_null_value() on the item to make sure that
    null_value is up to date before we try to use it.

commit 7adcf99ec665c32156a344fee920dd8f2bd5e728
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Wed Jul 8 08:59:44 2015 +0200

    Bug#21377136: STACK OVERFLOW IN RAPIDJSON::GENERICREADER
    
    The JSON parser used by Json_dom::parse() has a mechanism for stopping
    if the document is very deep, in order to avoid stack overflow.
    However, the JSON_VALID function doesn't use Json_dom::parse(), since
    it doesn't care about building a Json_dom structure for the document.
    Instead, it uses its own light-weight parser, which is quicker, but
    this parser does not stop if the document gets too deep, and it could
    run out of stack space.
    
    This patch adds checks for nesting level to the light-weight parser
    used by JSON_VALID, so that it too stops if the document is deeply
    nested.

commit 94e53fc1b3a0a0cf0ab35ef1433e832c13aeadb0
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Wed Jul 8 21:33:28 2015 +0200

    Bug#21376088 JSON: CRASH IN VAL_JSON_FUNC_FIELD_SUBSELECT
    
    When determining a suitable arg_cmp_func, we negleced to check if the
    comparison result type could be ROW_RESULT, immediately setting it to
    Arg_comparator::compare_json if one of the sides' field_type is JSON,
    causing the crash, since the right side isn't a JSON item, but rather
    a row item.
    
    That setting should happen one recursion level down after
    Arg_comparator::set_cmp_func calls itself at the bottom:
    
      a= cache_converted_constant(thd, a, &a_cache, type);
      b= cache_converted_constant(thd, b, &b_cache, type);
      return set_compare_func(owner_arg, type);   <--- leads to recursive call
    
    Once inside that level, a Arg_comparator::compare_row will be chosen
    which in turn will choose the Arg_comparator::compare_json at the
    right level.
    
    To make this happen we simply add an extra condition where we select a
    JSON comparator - to guard against ROW_RESULT.

commit e27b9a5e8bb5ace2985fc5fa7a8695da99c8e1d1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jul 9 13:59:48 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update result file for ndb_wait_until_ready.result since
       the included restart_mysqld.inc now prints the parameters
       used for the restart. Ie some additional printouts.

commit bf3a4eb6ef42adebb9dcb18783bb5d80e9d24e6c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jul 9 13:40:56 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - change Sql_condition::WARN_LEVEL_WARN -> Sql_condition::SL_WARNING

commit 3cf7ee8e3710811fdf7591b98bf1e51f50d35591
Merge: a5ddc6e 0593964
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jul 9 13:37:31 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit 756186bb95f0f1c382a6dbae54158b1b6087a078
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Thu Jul 9 16:00:44 2015 +0400

    Bug #20868496 MYSQL_UPGRADE IN 5.7.7+ REPAIR LOOKS USER TABLES IN TEST WHEN LOAD FROM 50/51/55
    
    Backport from mysql-trunk.

commit ead88db0cbe8d4d203269336f7997d493a8b63da
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jul 9 12:14:04 2015 +0200

    WL#8149  B-tree Index Support on non-materialized virtual columns
    
    Post-push fix: update valgrind suppression pattern for filesort()

commit 99b009024bb64d9a0ecc160f19c8929be99c8788
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Jul 9 15:13:58 2015 +0530

    BUG#20106837: ALTER TABLE WHICH DROPS AND ADDS THE SAME FULLTEXT
                  INDEX IS NOT INPLACE/FAST.
    
    Follow up patch to fix valgrind failure.

commit f0483d3c8536c6429eeff27299666f09eb1dd10a
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Thu Jun 25 14:49:02 2015 +0200

    Bug #21271571 GRANT COMMAND CREATES USER WHEN
    SQL_MODE=NO_AUTO_CREATE_USER
    
    Grant command on a non-existing user creates the user even though
    sql_mode=NO_AUTO_CREATE_USER.
    As per WL8326 "User creation using the GRANT statement is blocked with the default
    settings. It produces error."

commit 0593964174512831b5c6851b8a3598a7f7dc5da8
Merge: 4792adf c9937af
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 21:21:44 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c9937afdd499cc35ef9e37d40305ab126493b0ca
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 21:20:53 2015 +0200

    Remove non experimental test.

commit 663813606e2f8cac28be2d5a5e229246a5e92703
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 21:18:01 2015 +0200

    Bug#18949282 I_MAIN.MYSQL_CLIENT_TEST FAILED AT LINE 43, COMMAND $I_M_C_T
    
    Marking i_main.mysql_client_test as experimental on solaris since it always fail in CluB.

commit 0499f05244741437afd48b93cb495b38ca17691b
Merge: 89eaefe d4676a8
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Jul 8 19:31:33 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit d4676a84d83dc55e09ec16e4a400a04ed7765001
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Jul 8 19:27:06 2015 +0200

    Bug#19929832 EVENTS_STATEMENTS_HISTORY HAS ERRORS=0 WHEN THERE ARE ERRORS
    
    Adjust perfschema.mist.test for gcov builds.

commit 89eaefe12045ca105c7c2e668ab686dc9c7dced5
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jul 8 17:18:48 2015 +0200

    Bug#21383882 ASSERTION FAILED: 0 IN SELECT_LEX::PRINT()
    
    We currently do not have the machinery in place
    to report errors up the val_xxx call stack,
    esp. for sub-queries.
    
    Suggested fix: remove the DBUG_ASSERT.

commit a143dc0a4a220e106a71f424069960bb0bc2d3b3
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jul 8 16:41:33 2015 +0200

    Bug#21383714: Assertion failed: !thd->is_error() in select_lex::prepare()
    
    The problem is caused by a missing error check after calling
    fix_length_and_dec() in Item_sum_hybrid::fix_fields().

commit eacd9edd42169d29661f287c85ca723b26685bed
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Jul 8 16:33:54 2015 +0200

    Bug#21277074: crash (segfault) in THD::change_item_tree on exec of prep
    
    The problem here is when resolving a field during execution of a
    prepared statement, when the field is an aggregation argument,
    an outer reference, and comes from a derived table or a view, and
    the aggregation function is aggregated on the outer level.
    
    When this type of field is resolved for the second time, some code
    that updates max_arg_level of the aggregation function is triggered.
    In this case, max_arg_level was set to the level according to the
    current select_lex, but should be set to the level which the table
    the field belongs to is resolved from.
    
    For evidence, check the other assignments to max_arg_level inside
    Item_field::fix_fields() and Item_field::fix_outer_field() and
    Item_ref:fix_fields().

commit 4792adf246d5977ebaf8cf998cf555ff8bed508b
Merge: 9b25040 ecfdb04
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 15:38:27 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ecfdb04251812cd8149250464bad1816cae28545
Merge: 5bab2b8 86b19d3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 15:37:39 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 0a6ae5839ee3bb8af24c511c3a63d9c200b67638
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Jul 8 19:00:39 2015 +0530

    BUG#21368299 - SERVER CRASH AT SHUTDOWN AFTER PORT CLASH DETECTED.
    
    MySQLD server crashes when the server is started with the port
    number of an existing server.
    
    Due to port clash, initialization of the acceptor object fails
    and the instantiated acceptor object is deleted. During cleanup
    on shutdown, the acceptor object is again freed. This results
    in corruption of the heap and thereby resulting in a crash.
    
    The fix is to free the acceptor object as part of cleanup during
    shutdown. Also reset all listener objects to NULL after free and
    close the socket listener if the listener is not closed when the
    socket listener is undergoing destruction.

commit 86b19d3d8255f7fe9cd1856789654bcef3598f42
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 8 15:32:02 2015 +0200

    Configure smaller redo log for test ndb.ndb_backup_rate.
    
    Test failed occasionally waiting for redo log to fill up.

commit 0342578bfca430a90ff57267d3db992b6ee51435
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 14:37:54 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC
    AFTER INITIAL STARTUP
    
    Description: By using mysql_ssl_rsa_setup to get SSL enabled server
    (after running mysqld --initialize) server don't answer properly
    to "mysqladmin ping" first 30 secs after startup.
    
    Bug-fix: YASSL validated certificate date to the minute but should
    have to the second. This is why the ssl on the server side was not up
    right away after new certs were created with mysql_ssl_rsa_setup. The fix
    for that was submitted by Todd.
    
    Added a test case after upgrading YASSL

commit 66b9c97787ae852bfa2ff08c78291d5e7b6a564e
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 14:04:19 2015 +0200

    Bug #20774956: THREAD_POOL.THREAD_POOL_CONNECT HANGS WHEN RUN ON A
    YASSL-COMPILED SERVER/CLIENT
    
    Description: thread_pool.thread_pool_connect hangs when the server
    and client are compiled with yaSSL.
    
    Bug-fix: Test thread_pool.thread_pool_connect was temporary disabled
    for yaSSL. However, now that yaSSL is fixed it runs OK. The bug was
    introduced by one of the yaSSL updates. set_current was not working
    for i == 0. Now this is fixed. YASSL is updated to 2.3.7d
    
    After upgrading YASSL allowing thread_pool.thread_pool_connect to run.

commit 55d95f0aa08d64ec16505e22ff5c63d07bb6eace
Merge: 9a6608a 39fb504
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 13:55:13 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 39fb50422c43d670fd530ac42891213a151d3eb8
Merge: a787a4b 5a955a5
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 13:54:43 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 5a955a5499520cf3904d74dae46a02ccb3327cad
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 13:51:06 2015 +0200

    Bug #20774956: THREAD_POOL.THREAD_POOL_CONNECT HANGS WHEN RUN ON A
    YASSL-COMPILED SERVER/CLIENT
    
    Description: thread_pool.thread_pool_connect hangs when the server and
    client are compiled with yaSSL.
    
    Bug-fix: Test thread_pool.thread_pool_connect was temporary disabled for
    yaSSL. However, now that yaSSL is fixed it runs OK. The bug was
    introduced by one of the yaSSL updates. set_current was not working for
    i == 0. Now this is fixed. YASSL is updated to 2.3.7d

commit 9a6608a5303c75c1497257fb713885d743954b22
Merge: cf0b98d a787a4b
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 13:36:12 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit a787a4b0ee3932bef42d551c0cc959bd68a5bd87
Merge: a219d1c d8ca066
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 13:35:37 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit cf0b98d9726a2c9c5f797247247fa87362c18033
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Wed Jul 8 18:56:59 2015 +0800

    Bug#21374258 - INNODB: ASSERTION FAILURE IN THREAD 140507082643200 IN
    FILE ROW0PURGE.CC
    
    reviewed by: Bin Su <bin.su@oracle.com>
    rb:9555

commit d8ca0661c34098b798d2ce7ea242f76073cacc03
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 12:21:51 2015 +0200

    Bug #21025377 CAN'T CONNECT TO SSL ENABLED SERVER FIRST 30 SEC AFTER
    INITIAL STARTUP
    
    Description: By using mysql_ssl_rsa_setup to get SSL enabled server
    (after running mysqld --initialize) server don't answer properly
    to "mysqladmin ping" first 30 secs after startup.
    
    Bug-fix: YASSL validated certificate date to the minute but should have
    to the second. This is why the ssl on the server side was not up right
    away after new certs were created with mysql_ssl_rsa_setup. The fix for
    that was submitted by Todd. YASSL was updated to 2.3.7c.

commit bc001be319985882c7201239fa2ac3206fbc069b
Merge: 27581d4 a219d1c
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 12:09:45 2015 +0200

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

commit a219d1ce3913657378710c277eaafdb2fa82e825
Merge: b3279bc 853ae3f
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jul 8 12:08:28 2015 +0200

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

commit 853ae3fd763cca58c7c3ebee48e7a927ee8a2222
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Mar 20 15:05:59 2015 +0100

    Bug #20168526 YASSL: CORRUPT SSL-KEY CRASHES CLIENT
    
    Affects at least 5.6 and 5.7. In customer case, the "client" happened to
    be a replication slave, therefore his server crashed.
    
    Bug-fix:
    The bug was in yassl. Todd Ouska has provided us with the patch.
    
    (cherry picked from commit 42ffa91aad898b02f0793b669ffd04f5c178ce39)

commit 27581d4d75f6c51047bdab50b29072e9cb683c35
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Jul 8 14:37:23 2015 +0530

    Bug#21138119 : CA-KEY.PEM CREATED WITH INSECURE PERMISSIONS
    
    Description : When certificate/key files are generated at
                  server startup, they are created with default
                  permission which allows read/write access to all
                  users of the host system. Later their permission
                  changed to a more restricted set of permission.
                  However, there exists a small window where
                  information is accessible to all users.
                  Same is true for mysql_ssl_rsa_setup utility.
    
    Fix : Set umask to appropriate value to make sure that files
          are accessible to user executing the process. Reset the
          umask once file generation is complete.
    
    Reviewed-By: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Reviewed-By: Marek Szymczak <marek.szymczak@oracle.com>

commit 997893443a012c9b72f4163f48ce20d3faec2a23
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Jul 8 14:20:13 2015 +0530

    Bug#21024979 : MYSQL_SSL_RSA_SETUP VERY NOISY
    
    Description : mysql_ssl_rsa_setup let output of
                  openssl commands to be printed
                  on stdout.
    
    Solution : In case of non-verbose mode, directed
               output from openssl to /dev/null(or NUL)
    
    Reviewed-By: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Reviewed-By: Robert Golebiowski <robert.golebiowski@oracle.com>

commit 555791b49f36b8d1caaf2ca9f9651d0a8c81112c
Merge: 5eccc48 b3279bc
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 8 12:42:12 2015 +0530

    Null merge branch mysql-5.6 into mysql-5.7

commit b3279bccf109501b9ec9f67ad42bfa916ce3ba2f
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Jul 8 12:40:32 2015 +0530

    Bug #19779113   INNODB REFUSES STARTUP WITH INNODB_FORCE_RECOVERY>3
    
    Problem:
    =======
    
    Server refuses to startup when innodb_force_recovery > 3 and
    InnoDB making the server to read-only mode before applying the redo log.
    
    Solution:
    ========
    Introduce a new variable called high_level_read_only and
    it will be enabled when server is in read-only mode or
    innodb_force_recovery > 3. This variable will be
    checked during DML and DDL(expect Drop table). In other words,
    Drop table is the only operation allowed when innodb_force_recovery > 3.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB: 9320

commit 5eccc485ce8a31be6772683ec0ec6ee7e929271b
Merge: 02d2dc7 a883890
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Jul 8 11:56:39 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a8838908c9af9ae035ef716118cf0801b7cda9fe
Merge: 13370fe 7fd0325
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Jul 8 11:55:46 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 7fd0325f8f5876a1b2ad8824d98ab79ccb4fccca
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Wed Jul 8 11:53:54 2015 +0530

    Bug #20802751 - SEGMENTATION FAILURE WHEN RUNNING
                    MYSQLADMIN -U ROOT -P
    
    DESCRIPTION
    ===========
    Crash occurs when no command is given while executing
    mysqladmin utility.
    
    ANALYSIS
    ========
    In mask_password() the final write to array 'temp_argv'
    is done without checking if corresponding index 'argc'
    is valid (non-negative) or not. In case its negative
    (would happen when this function is called with 'argc'=0),
    it may cause a SEGFAULT. Logically in such a case,
    mask_password() should not have been called as it would do
    no valid thing.
    
    FIX
    ===
    mask_password() is now called after checking 'argc'. This
    function is now called only when 'argc' is positive
    otherwise the process terminates

commit 02d2dc7aa1a57970fb729fda1ece526f3b524512
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed Jul 8 11:26:41 2015 +0530

    WL#7755 mysqlpump: Extend mysqldump functionalities.
    Post-push fix: Fixed compiler errors for mysqlpump source file
    mysql_crawler.cc which occurs when compiled with clang compiler.

commit 5c4d75680b53765db3f761ff7dda97243a88725e
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Tue Jul 7 22:12:09 2015 +0530

    BUG#20106837: ALTER TABLE WHICH DROPS AND ADDS THE SAME FULLTEXT
                  INDEX IS NOT INPLACE/FAST.
    
    Analysis
    -------
    
    The ALTER TABLE operation which drops and adds the same FULLTEXT
    index is not a INPLACE/FAST operation.
    
    While determining if the key definition has changed, the index
    algorithm is compared between the old index and new index
    definition. While preparing the new index list during the ALTER
    TABLE operation, the FULLTEXT index algorithm is not set correctly.
    Hence the ALTER TABLE operation for dropping and adding the
    same FULLTEXT index is not a fast operation.
    
    Also, such fast operation which drops and adds the same index
    did not clean up the temporary 'frm' created during the
    operation.
    
    Fix
    ---
    a) Set the algorithm correctly for the FULLTEXT index in the
       new index list prepared.
    b) Delete the temporary 'frm' file created for such fast/INPLACE
       operations.

commit b7bfcb5a41aec04e61d6bf2ab70ae32498d134bf
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jul 8 06:39:50 2015 +0200

    - update compat libs to 5.6.25
    - obsolete bench < 5.7.8 to ensure clean upgrade path
    - docker fixes

commit e0ae4c56455f9710dc3e479ae14409c27ec90806
Merge: 06088ff 13370fe
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jul 8 10:07:16 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 13370fec4b7fa0bcc002f73372cd57b4fe185069
Merge: 6154e63 118774f
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jul 8 10:04:13 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 118774fd6f73cda46971f1831ea73de6807b2fb5
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jul 8 10:00:53 2015 +0530

    BUG#16613004 PARTITIONING DDL, CRASH IN FIELD_VARSTRING::CMP_MAX
    
    Problem :
    ---------
    The specific issue reported in this bug is with range/list column
    value that is allocated and initialized by evaluating partition
    expression(item tree) during execution. After evaluation the range
    list value is marked fixed [part_column_list_val]. During next
    execution, we don't re-evaluate the expression and use the old value
    since it is marked fixed.
    
    Solution :
    ----------
    One way to solve the issue is to mark all column values as not fixed
    during clone so that the expression is always re-evaluated once we
    attempt partition_info::fix_column_value_functions() after cloning
    the part_info object during execution of DDL on partitioned table.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 9424

commit 06088ff2c8bb10666b46d9782c5e66597b1bd92c
Author: Dag Wanvik <dag.wanvik@oracle.com>
Date:   Mon Jul 6 17:00:04 2015 +0200

    Bug#21373874 ASSERTION `PARENT' FAILED
    
    Missing condition for a legal case in an "if statement" allowed the
    else's ASSERT to fire.

commit 9b250407faf68cb8fd7d5923b2845ee65aa1871e
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jul 7 21:45:15 2015 +0530

    Updating the test case ndb_addnode_restart* :
     The autotest testSystemRestart had an additional restart loop
     in runAddNodesAndRestart function, which is not needed as there
     is no change in the configuration of the cluster.
     Removed that and updated the name of the funcction and added few
     comments to explain the proper setup of the testcase

commit 064bed4bfcfa468e975840bb5ec2c888135749b7
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Jul 7 10:13:06 2015 -0500

    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    Post-fix to prevent innodb-tablespace_per_table from failing on some systems
    Make sure the directory referred to exists so that test_if_data_home_dir() will
    succeed in seeing that this is a subdirectory of datadir.

commit 20fb0b52771f0f333650ee4f734758605dfaa3e3
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Jul 7 09:25:48 2015 -0500

    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    Post-fix Valgrind error.  A test to make sure that the separator is at the end of
    fil_path_to_mysql_datadir was checking the wrong byte, one byte past what
    was initialized so far.  This did not cause a problem because this conditional check
    is did not occur in our MTR tests.  It was only noticed in valgrind.

commit 1eba92371ec66256fadda7d50df1cdafe6262929
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Tue Jul 7 17:55:50 2015 +0800

    Bug#21376546 - ALTER TABLE DESTROYS CONTENT OF INDEXED VIRTUAL COLUMN
    
    approved by Olav Sandstaa

commit 8451390aba8b6670597ecaec7dc3f5ba4e9a6f2b
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Mon Jul 6 09:51:48 2015 +0200

    Bug#17763238: MYSQL_UPDATE CRASH WHEN SUBSTITUTE_FOR_BEST_EQUAL_FIELD
                  RETURNS NULL CONDS
    
    substitute_for_best_equal_field() is documented to return NULL in case
    of error. Some callers don't check for NULL and could run into trouble
    later if an error did occur during the call.
    
    mysql_update() and Sql_cmd_delete::mysql_delete() call
    substitute_for_best_equal_field() and right afterwards try to
    dereference the return value, without checking that it's not NULL.
    When NULL is returned, they should instead immediately return with an
    error status.
    
    substitute_for_best_equal_field() also calls itself recursively
    without checking if the recursive call returns NULL. It should check
    the returned value and immediately return NULL to signal that an error
    happened, instead of continuing the processing.

commit 1c74fff7184f7daa992063625630e2690a9c525d
Merge: adfe767 8508692
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Jul 7 13:58:57 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8508692de20f88391ff829ff71f712fda80637cf
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Jul 7 13:56:15 2015 +0530

    Bug #19779113   INNODB REFUSES STARTUP WITH INNODB_FORCE_RECOVERY>3
    
    Problem:
    =======
    
    Server refuses to startup when innodb_force_recovery > 3 and
    InnoDB making the server to read-only mode before applying the redo log.
    
    Solution:
    ========
    Introduce a new variable called high_level_read_only and
    it will be enabled when server is in read-only mode or
    innodb_force_recovery > 3. This variable will be
    checked during DML and DDL(expect Drop table). In other words,
    Drop table is the only operation allowed when innodb_force_recovery > 3.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    RB: 9320

commit adfe7677941f98a43d6dc23fab746b712a00d296
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Jul 7 13:47:19 2015 +0530

    WL#7755 mysqlpump: Extend mysqldump functionalities.
    Post-push fix: Convert files to UNIX format.

commit 375a7cfab326195a8deda5b7174478b10d175030
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jul 7 08:23:50 2015 +0100

    Bug#21328041: STREAMLINE THE INITIALIZATION OF THE ERROR LOG
    
    Post-push fix: Fix issue when compiling with MERGE_UNITTESTS=0

commit ad7363824bfeebd13c4d9f44a9b33da2cda601b4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jul 7 06:29:19 2015 +0200

    WL#8149  B-tree Index Support on non-materialized virtual columns
    
    Post-push fix: spurious output to stderr may break mtr tests in debug mode.

commit 3c759d0ebf9522bc986178e1fc10fadb176d9db3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 25 16:28:57 2015 +0200

    Bug#21143151 ASSERTION FAILED: BITMAP_IS_CLEAR_ALL(&SORT_FORM->TMP_SET)
    
    Problem:
    For some queries where sorting/grouping require a temporary table,
    we might actually end up with a temporary table without any columns.
    That means that the 'read_set' 'tmp_set' and 'cond_set' bitmaps for
    the temporary table are zero-length, which is not supported by our
    bitmap implementation. If such a temporary table is passed on to
    filesort() for sorting, we may hit undefined behaviour, because
    we access the bits of a zero-length bitmap.
    
    Solution:
    Handle zero-length bitmaps in filesort().
    If the bitmap is empty, we are only sorting constant expressions
    anyways, and the read-set of the temporary table will be empty.
    
    In the bitmap implementation:
    Make it clear that a bitmap of size zero can be initialized,
    but cannot be used. Add more DBUG_ASSERTs to ensure that no
    bits are accessed. The only exception being bitmap_init
    (which initializes the bitmap struct)
    and bitmap_clear_all/bitmap_set_all (which are no-ops)

commit d5603eeb003852cc1539be6df0f4ae53274c1a8f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jul 7 05:54:44 2015 +0200

    Update release version for 5.7.9

commit ccc36b247330ab7d61932ff5e269ef222d44cfc8
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Jul 7 00:04:22 2015 +0200

    Fix for WL#7763

commit 24a8e023d7fa54be20cda49cce19097ba149cd34
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Jul 7 00:18:46 2015 +0400

    Bug #21306319: HARMONIZE MAX_EXECUTION_TIME HINT WITH MAX_STATEMENT_TIME
    Bug #21306392: REMOVE OLD-STYLE MAX_STATEMENT_TIME HINT (REPLACE WITH MAX_EXECUTION_TIME)
    
    After-push test update #2.

commit d5bd3c425dd5c52877ac146ee0e66bbff1191549
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 6 20:54:37 2015 +0200

    Updated for 5.7.9

commit f5b2d0a249af3248c6b666f4c07cd2fe7c54b10b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jul 6 12:08:18 2015 +0200

    WL#7763, remove use of inet_ntoa from ndb parts

commit 83629966fea4f73d694b9af1e06f618f659202b4
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Jul 6 17:11:54 2015 +0200

    Raise version number after cloning 5.7.8-rc

commit b2da9e09b978d3834f1874840ae5701355a9bc3a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jul 2 09:52:43 2015 +0200

    Post-push test fix for Bug#17312761 MYSQLD WAITS FOR DUMMY NODES (NODEGROUP=65536) TILL NDB-WAIT-CONNECTED PERIOD
    
    Made the new test ndb.ndb_wait_until_ready work on Windows.

commit f7848e16628f559024485664bed1e742feca4948
Merge: 23f5b8a 5bab2b8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 6 14:48:38 2015 +0200

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

commit 23f5b8a6bc003bc96ed2a42d21f7ea689ad3cc24
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 6 14:47:32 2015 +0200

    Bug#17493646 NDB: CALL TO MY_ERROR() LACKS ERROR CODE AND ERROR STRING
    ARGUMENTS
    
     - rewrite ndbcluster_discover() to avoid using my_error()
     - perform the check early in function so it's ok to just return
       with an error when the problem is detected.
     - improve the error message being written to mysqld log file
     - this is safe since:
     -- the output generated from my_error() was never ignored anyway
     -- the my_errno variable was never set by call to my_access

commit 5bab2b845f56b0c762291dab0f37335d37a0730a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jul 6 14:20:18 2015 +0200

    Bug#21352763 FLEXASYNC SEGFAULTS IF FAILED TO CREATE TABLES
    
     - skip initializing of ThreadNdb.record when create tabes failed.
     - this is safe since all tests will be skipped and program returns
       failure

commit 51cb3f384fc49b9ac641c2ff964deda4c65b6b08
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Jul 6 11:11:48 2015 +0200

    BUG#21297407: Fix to ensure sending CONTINUEB with proper variables in dropTable_wait_usage

commit 7e5b4ad18ca8be07f9b66a330333780ccffd9933
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jul 4 01:45:45 2015 +0200

    Pushing BUG#21297407 revealed an uninited variable in Fragrecord in DBLQH (lcp_frag_ord_state, was set to LCP_QUEUED == 0 in most cases which led to crash if drop table happened before LCP had time to execute

commit 0dfc6cdd98fa1441a279ff54ed5eab1a5af3c675
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 3 18:51:14 2015 +0200

    BUG#20981491: Fix resource issues for NR, LCP andb Backup with regard to scan numbers, BUG#21362758: Crash with holding LocalDLFifoList context over call EXECUTE_DIRECT(NEXT_SCANCONF), BUG#21370839: Ensure also ACC scans are queued in a proper manner, previous push only added test case to autotest

commit a57e62bf626ca7063786cb245f3c924ad45029fc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 3 18:47:48 2015 +0200

    BUG#20981491: Fix resource issues for NR, LCP andb Backup with regard to scan numbers, BUG#21362758: Crash with holding LocalDLFifoList context over call EXECUTE_DIRECT(NEXT_SCANCONF), BUG#21370839: Ensure also ACC scans are queued in a proper manner

commit 98dc69f57db99cd621fc2f4ab1d13ccb94f86885
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jul 3 16:27:55 2015 +0200

    BUG#20993380: (Also BUG#69994 in community bugs), ensured that node recovery and LCP scans can continue even if user has used up all resources for user level transactions, reserved operation records and segments for necessary things during LCP and NR scans

commit beb12f49d75c5555c0e3239de5fb67700b210d5e
Merge: 5c6e95e 2964da3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jul 2 16:26:18 2015 +0200

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

commit 2964da32e904aed4bf206fa1a5de3f255e8cb555
Merge: 1b79d74 ae1fb0f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jul 2 16:26:04 2015 +0200

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

commit ae1fb0f76aff95e1c04a158b54e54933cca5dc17
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jul 2 16:25:49 2015 +0200

    Fix test case testRedo -n RedoFull

commit 5c6e95e2994aa41fa9cee2c19ffc3935d17f9584
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jul 2 16:20:45 2015 +0200

    Fix testRedo -n RedoFull test case

commit 4715d6d6ffcd8e4ef097e4c46bd5f715289c68eb
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jul 2 16:17:44 2015 +0200

    BUG#21297407: Speed up drop table

commit 78bb4fe9eae1f23187fa17359154096928aed706
Merge: da2a733 1b79d74
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 1 17:51:06 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 1b79d74b0bf493029c072a61443c83837989a66e
Merge: 72a2b4d 8f4cd13
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 1 17:50:43 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 8f4cd132bd569318309458896b59cae98a28745b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 1 17:49:18 2015 +0200

    Bug#17665497 DATANODE CRASH IN DBTUPDISKALLOC.CPP DBTUP (LINE: 848) 0X00000000
    
    Diagnostics patch adding extra printouts if crash happens again.

commit da2a73333a86379efa082232d632bc145a475f15
Merge: aad6d5f 72a2b4d
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Wed Jul 1 14:49:56 2015 +0200

    Upmerge of the 7.1.36 build

commit 72a2b4d56e6339a03280c19dd2603f5945b813c0
Merge: 095cfeb 588610d
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Wed Jul 1 14:49:17 2015 +0200

    Upmerge of the 7.1.36 build

commit 588610d7bfc744cd6dc3335720bc5ef0f91b47fb
Merge: 01d6c32 1711c8e
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Wed Jul 1 14:46:02 2015 +0200

    Upmerge of the 7.1.36 build

commit 1711c8eef0af01232529d83c8d4c4c4c3efb034a
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Wed Jul 1 14:43:39 2015 +0200

    Raise version number after cloning 7.1.36

commit aad6d5fcb618ba2724f6eab40e12825b55b207e6
Merge: e36c00e 095cfeb
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 1 14:25:30 2015 +0200

    Upmerge of the 7.3.10 build

commit 095cfeb663ebd1817fb990dd1c61c85fceaf74ad
Author: Lars Tangvald <lars.tangvald@oracle.com>
Date:   Wed Jul 1 14:23:19 2015 +0200

    Raise version number after cloning 7.3.10

commit e36c00e17245aa8f93e5823687c7164b552b7e94
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Tue Jun 30 11:12:25 2015 +0200

    Raise version number after cloning 7.4.7

commit 4c34da45153e5b9c6fceb44b24d076598588b0a3
Merge: 0e82ea8 1d43521
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jun 30 09:54:24 2015 +0200

    Upmerge of the 7.2.21 build

commit 0e82ea831f7f4a1801428ed8fdf2eae84220f54a
Merge: 97d4848 01d6c32
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jun 30 09:44:49 2015 +0200

    Upmerge of the 7.2.21 build

commit 1d43521f0dabce75ee3b63c4c16cba7896002a9a
Merge: b2e453b 01d6c32
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jun 30 09:40:13 2015 +0200

    Upmerge of the 7.2.21 build

commit 01d6c325ddd551ba99431cf0f69875a94da3c06d
Author: Gipson Pulla <gipson.pulla@oracle.com>
Date:   Tue Jun 30 09:32:48 2015 +0200

    Raise version number after cloning 7.2.21

commit 97d4848c6036bce16368a766ac9806fce111272f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sun Jun 28 15:27:52 2015 +0200

    Fixed syntax errors in daily-basic-tests.txt

commit 7e64bbe69d610ba7c80fa9d3a5cc213eb821ebe9
Merge: fafb637 b2e453b
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Jun 27 18:03:23 2015 -0700

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

commit b2e453bf98f57a73360dede60f84ca4e78d3c114
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Jun 27 18:01:42 2015 -0700

    Implement required methods in clusterj-openjpa
    
    NdbOpenJPAValueHandler.java
      implement wasReleased

commit fafb637fdc3db68d5df2847131cdf3fd22ce6e67
Merge: e008e04 c77ef57
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Jun 27 17:15:20 2015 -0700

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

commit c77ef57cc969d87cadd1b365477e8df1d0f05278
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Sat Jun 27 17:13:16 2015 -0700

    Bug#20504741
    Improve clusterj release of byte buffers by adding a user method session.release
    
    DynamicObjectDelegate.java
      add wasReleased method to interface (implemented by all ValueHandlers)
        this method is used to disable access to domain objects with released value handlers
    
    Session.java
      add session.release(object)
        object must be a persistent object obtained from the session
        or an Iterable of such objects
        or an array of such objects
      calling release will release the underlying direct buffers and mark the object as unusable
    
    SessionImpl.java
      implement session.release(object)
    
    DomainTypeHandlerImpl.java
      when obtaining a ValueHandler, verify that the value handler has not been released
    
    InvocationHandlerImpl.java
      implement wasReleased
    
    KeyValueHandlerImpl.java
      implement wasReleased
    
    Bundle.properties
      add new error messages for
        illegal parameter for release
        illegal access of a domain object after release
    
    ReleaseTest.java
      test that for domain objects obtained via newInstance, find, query
        and then released,
        get and set methods, makePersistent, savePersistent, updatePersistent, and deletePersistent
        throw exceptions
    
    NdbRecordSmartValueHandlerImpl.java
      implement wasReleased
      throw exception whenever get, set, or invoke is called after release

commit a5ddc6eeb0c309d09d6d8ea879e876353d50fff5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Sat Jun 27 11:07:09 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update .result file for ndb_rpl_circular_2ch_rep_status.result with
       new deprecation warnings which occurs when selecting from
       INFORMATION_SCHEMA.GLOBAL_STATUS

commit 95ac430adf13dbcba0c98d45d3ff281c8e4b8e8a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Sat Jun 27 10:59:32 2015 +0200

    WL#7570 Remove ifdefs which are not necessary since trunk has it all
    
     - remove NDB_THD_BINLOG_QUERY_HAS_DIRECT define ant it's use
     - add comments for which argument is being used when calling
       thed->binlog_query()
     - change booleans to use false/true

commit de7ce7c5aeb5dd93fddf5d83fcff0e80854354a1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Sat Jun 27 10:53:44 2015 +0200

    Bug #20592110 	CLUSTER CIRCULAR REPLICATION WITH IGNORE_SERVER_IDS()
    BROKEN BY ANONYMOUS_GTIDS
    
     - Fix by restoring original server_id and db after commit
       since the server_id is being used also in the commit logic
     - Enable disabled testacases

commit e008e046b548e17436aaae09c6c34d7849127771
Merge: 496b509 2bfcea6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 26 08:10:56 2015 -0700

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

commit 2bfcea682bff153bb43c56695192d9ea1b8015d8
Merge: 0073716 9129366
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 26 08:10:16 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.6-cluster-7.3

commit 496b509e5c022f024994cbc7262345f84e07e479
Merge: 5054948 0073716
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 26 08:08:26 2015 -0700

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

commit 0073716cbc17c2c8314bb3222f8fc28a7f70110c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 26 08:08:15 2015 -0700

    revert change to mysql-test-run

commit 5054948ed32b2b3cc8c37cb521d012b4904ac7ac
Merge: 629db81 e43bed0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 26 08:06:46 2015 -0700

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

commit 1c1d7345e77a447527338527db460e047eb4414b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jun 26 11:49:08 2015 +0200

    Bug #21326540 	NDB_JOIN_PUSHDOWN TESTS UNSTABLE EXECUTE_COUNT
    
     - remove Ndb_execute_count from ndb_join_pushdown.inc

commit c85544993b6e030bbf09f00f58a163caf12f6308
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 25 15:22:59 2015 +0200

    Remove obsolete ifdef
    
     - restarting node using angel on Windows has been supported
       for long time now. Remove TODO and obsolete ifdef.

commit e43bed0d0712597752f2098cd91ecbc85f2555be
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 25 09:19:36 2015 -0700

    Add comment re. valgrind

commit 629db81922c319e815bd3f48a3ffb2346250e65f
Merge: c9689bf 61b8fcb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 25 08:23:59 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.6-cluster-7.4

commit 1ced2e65398c610e29e70eac74785b16f18c4213
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 25 15:15:52 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - changes in optimizer causes query execution plan changes, fix
       by updating .result files
     - re: Bug #18194196: OPTIMIZER EXECUTES STATEMENT INPERFORMANT

commit 1f0fdfb6cce6027214de394484c3ab16841bb7cc
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 25 15:06:45 2015 +0200

    Update docker package names

commit 4c915b63199d592b5406044d09a18016730498b1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jun 25 15:04:44 2015 +0200

    Update docker package names

commit 8ae79c537f9659fb30884dd7dfa649fb000467fa
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Jun 25 15:03:31 2015 +0200

    Revert "WL#6815 Adapt MySQL Cluster to 5.7"
    
    This reverts commit a9282c4cae174bd7b125a943eeb3d405ac807a95
    which added lots more printouts of the accumulated counters
    trying to hunt down where the missing or additional executes
    were hiding.

commit 61b8fcb5b3c295355d7072f239ac203429d4c05a
Merge: 7d6a626 9129366
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 21:46:15 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 91293666cfcba9b45fcd35aa31dec95f76b8c15f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 21:42:26 2015 +0200

    Removed extra blank line in ATRT test scripts preventing
    tests to start (Due to ATRT bug)

commit 7d6a626edc5d773afea62012ec8fd87b6e1aca44
Merge: 874a310 d36ae89
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 24 16:49:10 2015 +0100

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

commit d36ae89b74ea728a69525cc8bdba27bd183bc904
Merge: 8ad713b 83b43b9
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 24 16:48:39 2015 +0100

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 83b43b9ea79c3920faf5f33531accd22f8984fbb
Merge: df65361 20c263b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 24 16:47:59 2015 +0100

    Merge ../mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2

commit 20c263baa0d2aec26fb2c77ec1d79b1f53f5ed42
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 24 16:46:09 2015 +0100

    Bug #17878183       NDB CONTINUOUSLY REBOOTING DUE TO FILE NOT FOUND (DBLQH:
    
    Fix to fix.
    
    Dequeued GetTabInfoReqs which result in immediate GetTabInfoRef was not
    being followed up with a check of the queue.
    
    Fixed.
    
    Found with testPartitioning + 4 LDM threads.

commit 874a31087d312e66958e464655d560ee66c17eb1
Merge: 9ed7352 8ad713b
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jun 24 16:34:37 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 8ad713b8a0a69a4bc7b8bbf55160494a0b7d0f56
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed Jun 24 14:11:18 2015 +0200

    Bug#17493646 NDB: CALL TO MY_ERROR() LACKS ERROR CODE AND ERROR STRING ARGUMENTS

commit 9ed73521f532b5ee4d124f48ff6cad291a8a5f42
Merge: 82c3ab2 f67f708
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:20:28 2015 +0200

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit f67f708fa4ecfc5b78d1c595e68ad3f678c5d485
Merge: d8c9aa8 df65361
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:20:02 2015 +0200

    Null Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit df65361478594759088d569e034a5824e988bd8a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:12:05 2015 +0200

    Increase timeout for ATRT test

commit 82c3ab22ca56b274e0cf672ed478419867426246
Merge: 7bf5d74 d8c9aa8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:15:24 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit d8c9aa8f9bf2e5c7b0b60fd999a6010d1824b160
Merge: 8bf5e87 9c1ab28
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:14:47 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 9c1ab28406e413fdf5ff6a942c1ffd40bf74d92f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 24 16:12:05 2015 +0200

    Increase timeout for ATRT test

commit 7bf5d74a38c793c945c767b00ab0a290f46a864c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Jun 24 15:49:20 2015 +0200

    BUG#20904721, WL#8525: Fix of part9, used internal TUP pointer instead of LQH pointer when calling LQH function directly, leads to both wrong handling and sometimes even a crash when index is not a used scan pointer

commit c9689bf1b3050fa0c32183457d12cb7415794ce6
Merge: 2d23ff4 f11878f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 15:05:49 2015 -0700

    null merge

commit f11878fb11a5a5c4933324be7e74b822a87cfa42
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 15:02:26 2015 -0700

    Apply pollEvent_v4.patch from Ole John

commit 73c421d55979b4e88ef23869de3e4a45a0924822
Merge: 02eaa64 08dfd8e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 15:01:30 2015 -0700

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

commit 02eaa6481dbf921e70e3df7aefaf8efebfceda60
Merge: bdc4cc8 2d23ff4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 15:00:54 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.6-cluster-7.4-bug17638548

commit 08dfd8e5bb59ae202cf9220fec6fe6945ad5f4cd
Merge: a0e265f 4136def
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 14:57:15 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3-bug17638548' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.3-bug17638548

commit a0e265f2ac219551da372f0e775dbdc57addaccf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 14:52:43 2015 -0700

    restore new scheduler & multiwait fix to bug branch

commit 2d23ff41efa533ecc83cb3e87b52ec7e6692ee7d
Merge: 2add803 8bf5e87
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 11:12:29 2015 -0700

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

commit 8bf5e87cf67e23954c9a36f559a333fb291f61ea
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 11:12:13 2015 -0700

    If memcached crashes, mysql-test-run should not restart it.

commit 2add803611bad837831cf8558f9b6ffb8f45ab16
Merge: 9ed531f c9a5bc8
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 11:11:21 2015 -0700

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

commit c9a5bc848e1a7d77f32870333a6689239b5683e8
Merge: 46e11cb aaaf5c5
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 11:10:03 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3-bug17638548' into mysql-5.6-cluster-7.3
    
    Conflicts:
    	storage/ndb/memcache/src/ndb_worker.cc

commit aaaf5c5115ee0a5c3d5b0d0d1fdc9ceacb6714e9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 23 09:09:26 2015 -0700

    On misc. errors, print workitem to debug log

commit a72d8198354a99782aa53746e42bd61a80fd4d39
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 13:27:18 2015 -0700

    always compile ndb memcache with DEBUG_OUTPUT

commit c82e849e23f1fe92858a9b54da5b5717dc26fdcf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 10:34:35 2015 -0700

    More unified error handling

commit 68509d861968b7f54f44c81a273b65a33fbc651b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 09:54:57 2015 -0700

    New record_ndb_error() function where error logger keeps statistics but
    caller is resposnsible for writing to log file.
    Direct error messages to the debug log if enabled.

commit fffedcd5d86a08428f2c39ed740c94b1f811ff5b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Jun 20 20:08:32 2015 -0700

    The table scan code where NDB Memcache reads it configuration tables was written poorly,
    and could cause memcached to crash during configuration.
    
    Read configuration in a single consistent transaction.

commit 51320016f5268cf8ec269e983deae4781dc31cd4
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jun 23 11:29:57 2015 +0200

    BUG#20894024 - FIREWALL STILL DEPENDS ON MAX_DIGEST_SIZE OF THE P_S DIGEST
    
    Fix for missing symbols compilation error on Windows.

commit bdc4cc83681ad4adb3962cb38611d78658a542b2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 20:59:08 2015 -0700

    revise debug messages in new scheduler

commit 846c5e9da672c3ea834229d06e1e7f4e63aa24c0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 18:22:16 2015 -0700

    switch default scheduler to Trondheim

commit 4d7ad1a217821b27f0c3902d8cdf9b03120685ba
Merge: 2007824 9ed531f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 16:31:07 2015 -0700

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

commit 9ed531fc7ca3a8375cccddd0cd6fc6e3905759f0
Merge: b4766e7 4136def
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 13:37:10 2015 -0700

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

commit 4136defc15fbdc9d9a5fa303824cac65d09974c3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 13:27:18 2015 -0700

    always compile ndb memcache with DEBUG_OUTPUT

commit a5c1905303b0776cf4eef2b23c35b2196113e560
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 10:34:35 2015 -0700

    More unified error handling

commit c118ac69e594f5e2b6bdf1542d001ca6cbe9712c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 22 09:54:57 2015 -0700

    New record_ndb_error() function where error logger keeps statistics but
    caller is resposnsible for writing to log file.
    Direct error messages to the debug log if enabled.

commit b4766e70d78d4c198c79469ce616b55a0d6df552
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jun 22 14:27:53 2015 +0200

    Bug#21127135 NDB_CONFIG SHOULD SHOW DEPRECATED OPTIONS
    
    - move fix which allow NULL value as description for
      deprecated parameters to ConfigInfo constructor thus
      avoiding potential duplication of this rule throughout.

commit 800685f56109c5d70e8d44f3c92f018f81058520
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Jun 22 12:17:21 2015 +0200

    Bug#21127135 NDB_CONFIG SHOULD SHOW DEPRECATED OPTIONS
    
     - follow up fix, check for parameter description being NULL
       for deprecated parameters. Add check that only
       deprecated parameters are allowed to have description
       set to NULL.

commit 8c95a8004c88b7287b7541346e75f90c98f87f56
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 13:51:16 2015 +0200

    Bug#21127135 NDB_CONFIG SHOULD SHOW DEPRECATED OPTIONS
    
     - change ndb_config to print also deprecated parameters
       to the xml file. Mark the deprecated parameters with
       the "deprecated=true" tag.
    
    (cherry picked from commit d5356721479ff7cf0ce0b4b069eeee2db3d05699)

commit c2a3f14022928b8153b2c0a1616f1b1cef4934e3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 14:44:12 2015 +0200

    Bug#11759461 NDB_CONFIG --XML --CONFIGINFO: VARIOUS UPDATES TO
    PARAMETERS LISTED
    
     - Mark MaxNoOfSavedEvents as deprecated
     - all other things mentioned in bug report is already fixed or should
       not be changed.

commit 79ca3f814a96e80bdca3cc78e0a0e6712b16500f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 14:34:12 2015 +0200

    Bug#11760628 DEPRECATE EXECUTEONCOMPUTER
    
     - Mark ExecuteOnComputer as deprecated and refer to using HostName for
       specifying name of host.

commit f652e23890c13ec265a333f7e6f9504296bdf051
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 12:22:34 2015 +0200

    Bug #21270509 	FAULTY COMMENT DESCRIBING
    NDB_MGM_NODE_STATE.CONNECT_ADDRESS IN MGMAPI.H
    
     - change the commetn to just describe that connect_address holds
       the IP address as seen by the other node(s) in the same cluster.
     - when returning the value of connect_adress we always ask anothe node
       to whom the first node is connected to. Thus both NDB and MGM node
       are resovled locally while for API nodes always you always query
       a data node since the API nodes are not connected directly to MGM.

commit 50d49efca08d1c0e27abe83a0eb186dafe489fb1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 12:06:21 2015 +0200

    Bug #21270425 	MGMAPI.H SPELLING ERROR

commit 08d13e96d00b0dda7137297071d4e84bd58678aa
Merge: fc647a8 46e11cb
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Jun 22 13:32:22 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 46e11cb5962698aa90ecac3cee28d498e425f7f5
Merge: b3628ed aecbad0
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Jun 22 13:31:59 2015 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit aecbad05c134d886f4311a31752456bf05a265e3
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Jun 22 12:48:34 2015 +0530

    Bug#20617891: NDB : SUSPICIOUS HANDLING OF SIGNAL-WAIT TIMEOUT
    IN NDBAPI
    
    In ndbapi, a signal timeout should be handled by setting the
    state to timed-out. A timed-out state can then be mapped to
    the error code 4008. However, the timed-out state is always
    overwritten to a success state.
    
    Modified the signal-timeout code so that the timed-out state
    is not overwritten.

commit 2007824485a14b37634134b94f7e1199dfd389b7
Merge: 5747b4c 6fdad61
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Jun 20 21:02:54 2015 -0700

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

commit 6fdad6164bc1b0d10959e88a46f33dd3da95f027
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Jun 20 20:54:51 2015 -0700

    read configuration in a single consistent transaction

commit 899e06f5a6474fed0ab6274b99a98d28d1e77e95
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Jun 20 20:08:32 2015 -0700

    The table scan code where NDB Memcache reads it configuration tables was written poorly,
    and could cause memcached to crash during configuration.

commit fc647a82ecefec6bb8bfdfc61ab42c9f048d3d3d
Merge: 5babea3 b3628ed
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Jun 20 23:55:13 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit b3628edd51598204c8aeb2e79c3e04d3ba12406d
Merge: 0cf41c5 e8e012c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Jun 20 23:54:29 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit e8e012c17195aed9ee6cb1a606677ccd14329c7f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Jun 20 23:48:32 2015 +0200

    Revert "Debug patch for Bug#17665497 DATANODE CRASH IN DBTUPDISKALLOC.CPP DBTUP (LINE: 848) 0X00000000"
    
    This reverts commit 30e00fcf0ed2f00747797e417266d3603ad82f15.

commit 92879ff609a858ada04bfc313a639fa574e4b1ba
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Jun 20 23:48:12 2015 +0200

    Revert "Debug patch for Bug#17665497 DATANODE CRASH IN DBTUPDISKALLOC.CPP DBTUP (LINE: 848) 0X00000000"
    
    This reverts commit d19890615ed0c86eb0b065b70a8744841ce5d1d0.

commit 5babea3c7c81c9991445e9dadf6dbdbae04aae86
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Jun 20 23:18:31 2015 +0200

    Bug#17312761 MYSQLD WAITS FOR DUMMY NODES (NODEGROUP=65536) TILL NDB-WAIT-CONNECTED PERIOD
    
    Post-push fix, do not run ndb.ndb_wait_until_ready with embedded
    since test needs two different mysql server processes.

commit 508c3137de1bc678445e0161f36aa553ce7a0582
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jun 20 12:55:40 2015 +0200

    BUG#20904721: Fix for a number of asserts that assumed interpreted mode for all scans

commit 6a1b085949073f5b8394af109efdf1782264dead
Merge: c8c7123 0cf41c5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jun 20 12:22:31 2015 +0200

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

commit 0cf41c5ea0914fb00f4e07c2e1796230c7345e42
Merge: 72a9383 04334df
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jun 20 12:22:17 2015 +0200

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

commit 04334dfdc637f51f7aea7fd00b7606d3f44049ea
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Sat Jun 20 12:22:04 2015 +0200

    BUG#20727343: Fix failing ndb_dd_initial_lg test case, minor initialisation issue

commit 5747b4ce0c4db8f35cb9a2a9ae46f60bd8b75f8f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 16:05:25 2015 -0700

    reapply bugfix in this branch. do not push this change to 7.4

commit c8c71233682f6d4a9370047b62fb0a75524be2e4
Merge: b39097e 72a9383
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 15:58:35 2015 -0700

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

commit 72a9383941866dc63884e6a04ebf96921f8614ec
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 15:55:51 2015 -0700

    move another message from debug to detail level

commit b39097ea408169b2cb08c1a413f6ba97b6271f5e
Merge: 793708b 80f1b79
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 15:57:12 2015 -0700

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

commit 80f1b794772e0288bcf2fd76c6d72516028b6c2b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 15:55:51 2015 -0700

    move another message from debug to detail level

commit 793708b871d52a284f62fc4c658743b9d602e2df
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 19 17:56:35 2015 +0200

    WL#8525: Part 11, don't use interpreted execution for LCPs and Backups since it is a waste of CPU resources

commit 0e33b4473a39103799a806b6f1add6ee01eceaa0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Jun 19 17:26:24 2015 +0200

    BUG#20904721: Part 9: Implementing the adaptive LCP speed using bounded delay concepts and A-level signals

commit 961e0615dc191bdad6610b399ca9eda88106687e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 06:12:00 2015 -0700

    more safety when Ndb::startTransaction() fails

commit 59aaffe00506a0ffc747275834cf3654f7640408
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 19 06:12:00 2015 -0700

    more safety when Ndb::startTransaction() fails

commit b7279f9a6b0cbf5b29097f88a81bf581d752075c
Merge: 03a90c8 13fdd71
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 21:59:31 2015 -0700

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

commit 03a90c86457fd6c7287003b45bbb36196cc0a43a
Merge: 2aaeb2b 415c964
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 21:59:15 2015 -0700

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

commit 8d2e25699c4a5d21245dccf31c765791c856a6e5
Merge: 452f363 415c964
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 21:58:01 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3-bug17638548' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.3

commit 415c9643d8989b205c4b05b888f1c6549df938ef
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 16:24:42 2015 -0700

    add a more detailed debug output level to ndb memcache
    
    Change some memcached log messages to print at DETAIL level rather than DEBUG level.
    This reduces the size of the memcached.1.out file from an mtr run to about 700 KB.

commit 55cf5223bbe1412cd8b79da2d6c97925074b0d3d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 15:24:44 2015 -0700

    Anticipate SERVER_ERROR responses in My::Memcache.pm

commit 13fdd71e73df99b990af80fd7e9d3c80af19e36e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 17:18:32 2015 +0200

    Bug#17312761 MYSQLD WAITS FOR DUMMY NODES (NODEGROUP=65536) TILL NDB-WAIT-CONNECTED PERIOD
    
    On startup mysqld waste time waiting on ndb data nodes that have
    not joined the cluster.
    
    Any ndbapi node including mysqld can only connect to a started
    cluster.
    
    Prior this patch mysqld (or a ndbapi application calling
    wait_until_ready/2) waited until all configured data nodes were
    started.
    
    The ndbapi actually only need one connection to a data node with
    DBTC to work, but this is not optimal since all data will be
    routed internally in kernel via that data node.
    
    Data nodes that not yet have joined the cluster will of course
    never send any data until it have joined so no need to wait for
    that node.
    
    If a new data node eventually joins the cluster the ndbapi will
    try to connect to the new node with an API-DB heartbeat interval.
    
    With this patch mysqld will wait only for data nodes that have
    joined the cluster.

commit 14bbd2c7a1d4c5b91bf4dfb0011575df1fa7c9fa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 17:18:30 2015 +0200

    Test case for Bug#17312761 MYSQLD WAITS FOR DUMMY NODES (NODEGROUP=65536) TILL NDB-WAIT-CONNECTED PERIOD
    
    On startup mysqld waste time waiting on ndb data nodes that have not joined the cluster.

commit 2aaeb2b6b19e6085f4ceb5402ae6a502a0343e42
Merge: bdf54f6 e5a2c87
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 07:07:12 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.6-cluster-7.4

commit bdf54f651cc821c085dbf814b39d0fb85766924b
Merge: ca1f2ea 4333e8b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 07:05:59 2015 -0700

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

commit ca1f2ea4108e63cd9f0685b02985be69d343aee5
Merge: bcb4c86 f9cee11
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 07:05:46 2015 -0700

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

commit 4333e8b05cd1558c26902dbab7d0c6724eca93bb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Jun 18 07:04:52 2015 -0700

    induce memcached to flush its log file at end of mtr testing

commit e5a2c87a18e19db1eba696600485ea528c658fb6
Merge: d535672 452f363
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 18 15:37:24 2015 +0200

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

commit 452f3632f67336343bafa68d49474a356fce4dc3
Merge: e8cd4d3 2c20ee3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 18 15:15:53 2015 +0200

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

commit 2c20ee3c0ce58427025691e0aafc6c35c3be2570
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Jun 18 15:15:28 2015 +0200

    BUG#20727343: Fix problems in UNDO log applier when changing log files

commit d5356721479ff7cf0ce0b4b069eeee2db3d05699
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 13:51:16 2015 +0200

    Bug#21127135 NDB_CONFIG SHOULD SHOW DEPRECATED OPTIONS
    
     - change ndb_config to print also deprecated parameters
       to the xml file. Mark the deprecated parameters with
       the "deprecated=true" tag.

commit 98ed80a798466c7c67002fb827d050555b152684
Merge: 3730652 e8cd4d3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 13:00:03 2015 +0200

    Revert Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e8cd4d3cb33d95e44f20953d0dadf4cb9fe90ca9
Merge: d198278 63e15dc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 12:54:02 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 63e15dce761e24f6f73bfc6b07fff50a0ffa7434
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 12:53:18 2015 +0200

    Revert of prev push for bug#20957068

commit 373065227deb4daa4f5df880fa961ecf6e60ca3c
Merge: 484a655 d198278
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 10:28:16 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit d198278f8c42b007b27e04465960dee3acc90e35
Merge: 043a33c cf2e4be
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 10:22:21 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit cf2e4be5510512629db754d6bd435dced3767b59
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jun 18 10:20:43 2015 +0200

    Fix for Bug#20957068:
    
    NDB : EVENT API POLLEVENTS() MUST ACTUALLY CAUSE POLL OF TRANSPORTERS
    
    The patch introduce the normal do_poll pattern to be used
    by clients into ::pollEvent(). This also makes the condition member
    in the EvenBuffers obsolete, as do_poll offers the exact same
    functionality.
    
    By doing its own poll of the receiver, we are not amu longer
    dependent of other client threads or the ClusterMgr doing the
    poll for us. This removes a problem where pollEvents were slow to
    receive events.

commit 484a6553c61de3ffcbc3de2cab0c1e8679da97a5
Merge: fbf8f3a 043a33c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:14:00 2015 +0200

    Null merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 043a33ce14f227d66e9baca39ce5785c9301a984
Merge: 82f5291 55f9380
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:13:47 2015 +0200

    Null merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 55f93805c56c30bdbede8adb8996cc57e45525df
Merge: d855d08 1b70485
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:13:14 2015 +0200

    Null merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit fbf8f3ab70674ccf4b2e97e1ce8af6510f4ec317
Merge: e6e7ebd 82f5291
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:10:14 2015 +0200

    Null merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 82f5291d23a56766d66edfebf1ddb55a2c0f247f
Merge: 780cd14 d855d08
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:08:22 2015 +0200

    Null merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit d855d0850aa5c1bfbbadd4d581d869bff2678191
Merge: d1c32b1 68a5adc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:04:43 2015 +0200

    Merge branch 'mysql-5.5.44-cluster-7.2' into mysql-5.5-cluster-7.2

commit e6e7ebd0f8eecd266ef0198b289be373bdd8a88b
Merge: bcb4c86 a6e2b23
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:03:48 2015 +0200

    Merge branch 'mysql-5.6.25-cluster-7.4' into mysql-5.6-cluster-7.4

commit a6e2b23ec8d93e1232751d43dc8db49151397631
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:02:00 2015 +0200

    Post merge fixes (mysql-5.6.25 via mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4)

commit 174aea2cb3faa03a39b827b10f8cf710cdadd2de
Merge: 2bbae98 780cd14
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 01:00:24 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6.25-cluster-7.4
    
    Conflicts:
    VERSION
    packaging/WiX/CPackWixConfig.cmake
    sql/ha_ndbcluster_binlog.cc
    sql/sql_show.h

commit 780cd14f40c68a95574db87c56a42d6184159aa7
Merge: c769c32 5c139f0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:59:18 2015 +0200

    Merge branch 'mysql-5.6.25-cluster-7.3' into mysql-5.6-cluster-7.3

commit 5c139f0aa2ef438f8c5769a4c386001284e690f0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:20:57 2015 +0200

    Port commit to MySQL Cluster 7.3
    
    commit e5f7c69c5ce2a2eed2446b476acd8aaecc3a229a
    Merge: ed2536c ae298e2
    Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
    Date:   Wed Apr 29 13:52:25 2015 +0530
    
        Merge branch 'mysql-5.5' into mysql-5.6
    
    commit ae298e24fe51a8d95c4036bd95055fb2bfe42f31
    Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
    Date:   Wed Apr 29 13:51:29 2015 +0530
    
        Bug #18592390 QUERY TO I_S.TABLES AND I_S.COLUMNS LEADS TO HUGE MEMORY USAGE
    
        As part of the fix find_files() prototype has been modified and
        mysql-cluster uses find_files() function. Hence modified find_files() call
        in ha_ndbcluster_binlog.cc file to make mysql-cluster build successful.

commit 53f60283d9361f89d1dd2b78d1b31fd111caeee1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:15:25 2015 +0200

    Port of commit to MySQL Cluster 7.3
    
    commit 59441ca823eea314444e3f9ca7e823df1b581091
    Merge: d12fba3 17ae11f
    Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    Date:   Tue Mar 24 13:16:01 2015 +0100
    
        Merge branch 'mysql-5.5' into mysql-5.6
    
        Bug#20734434 - SPELLING ERROR \"EMDEDDED\" IN RPM SPEC FILES
    
        - Updated emdedded to embedded

commit dc066810a0bcdd93395b59aac8969cd01f5d9d21
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:14:09 2015 +0200

    Port of commit to MySQL Cluster 7.3
    
    commit d60388e70adc4c9877f007355bae23b55046cc5d
    Author: Sreedhar.S <sreedhar.sreedhargadda@oracle.com>
    Date:   Wed Feb 25 12:50:31 2015 +0530
    
        Fix to remove debug_binaries component for MSIs

commit 4adfc9410a8bca608eeac9386b785d924b26c718
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:12:26 2015 +0200

    Port commit to MySQL Cluster 7.3
    
    commit bfa092c73aa5408cb9577ae1fcdb86e9ee20a10f
    Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
    Date:   Thu Jan 22 14:19:56 2015 +0100
    
        Bug#20730053: BACKPORT BUG#19770858 TO 5.1

commit e7b5ced82766339aa38a8cf0fdb5545a4620c8cb
Merge: c769c32 9294a49
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jun 18 00:07:08 2015 +0200

    Merge tag 'mysql-5.6.25' into mysql-5.6.25-cluster-7.3
    
    Conflicts:
    VERSION
    mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
    mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic.result
    mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    packaging/WiX/CPackWixConfig.cmake
    sql/ha_ndbcluster_binlog.cc
    sql/item_func.cc
    sql/sql_select.cc
    support-files/mysql.spec.sh

commit f9cee11d14342d7837717067923dc588c56985e6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 17 14:11:17 2015 -0700

    some additional debug output re. online reconfiguration

commit bcb4c862d8b7fed1af29caa04681bde81ecebed8
Merge: 16f3a73 c769c32
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 17 13:59:09 2015 -0700

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

commit c769c32809e64af2779e5f56daa3c6365a523c3d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 17 13:58:58 2015 -0700

    Test: temporarily revert recent changes

commit 68a5adc15874bad3e18c9fd23a0da0662f29778a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 21:18:24 2015 +0200

    Bug#20730053: BACKPORT BUG#19770858 TO 5.1
    
    Adoption of below commit to MySQL Cluster 7.2
    
    commit bfa092c73aa5408cb9577ae1fcdb86e9ee20a10f
    Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
    Date:   Thu Jan 22 14:19:56 2015 +0100
    
        Backport from mysql-5.5 to mysql-5.1 of:
    
        Bug19770858: MYSQLD CAN BE DRIVEN TO OOM WITH TWO SIMPLE SESSION VARS

commit 16f3a73298d6e5724b1e3f60d4c3007c2c078f50
Merge: db27222 fa05322
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 17 10:38:24 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.6-cluster-7.4

commit db272220cd188e32847d174f5514f48a80847859
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 17 10:37:53 2015 -0700

    Test: temporarily revert recent changes

commit 3aca67e6d7470d3586300d8555929ea539ac2f13
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 18:34:54 2015 +0200

    Bug#20734434 - SPELLING ERROR \"EMDEDDED\" IN RPM SPEC FILES
    
    Adoption of below commit to MySQL Cluster 7.2
    
    commit 17ae11ff5bc8695b54020ac3bcc2f3929aa2aecb
    Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    Date:   Tue Mar 24 12:55:43 2015 +0100
    
        - Updated emdedded to embedded

commit 785df7a6da1ebe7f03fafc3d57fc5de6a726dc37
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 18:31:14 2015 +0200

    Bug#20788853 MUTEX ISSUE IN SQL/SQL_SHOW.CC RESULTING IN SIG6. SOURCE LIKELY
    
    Adoption of below commit to MySQL Cluster 7.2
    
    commit afc2a9ceab6711d6276488c0d588254689d9c459
    Author: Marc Alff <marc.alff@oracle.com>
    Date:   Wed Apr 8 07:01:39 2015 +0200
    
        FILL_VARIABLES
    
        Prevent mutexes used in SHOW VARIABLES from being locked twice.

commit 450373d8c519a3ddc53457737c369ec2b4abe1c6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 17:46:50 2015 +0200

    Bug#18592390 QUERY TO I_S.TABLES AND I_S.COLUMNS LEADS TO HUGE MEMORY USAGE
    
    Adaption of below commit to MySQL Cluster 7.2
    
    commit ae298e24fe51a8d95c4036bd95055fb2bfe42f31
    Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
    Date:   Wed Apr 29 13:51:29 2015 +0530
    
        As part of the fix find_files() prototype has been modified and
        mysql-cluster uses find_files() function. Hence modified find_files() call
        in ha_ndbcluster_binlog.cc file to make mysql-cluster build successful.

commit fadbde98bbfad25c1a51bda11c873f29d36473f6
Merge: d1c32b1 ae298e2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 14:16:19 2015 +0200

    Merge tag 'mysql-5.5.44' into mysql-5.5-cluster-7.2
    
    Conflicts:
    VERSION
    mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
    mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic.result
    mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    sql/ha_ndbcluster_binlog.cc
    sql/sql_class.cc
    support-files/mysql.spec.sh

commit 2bbae9866b62525a34cba33f3830fa31cdb8ea22
Merge: fa05322 926553b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 13:27:37 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 926553b145ae6c5a3856f349a524d4b5f48b13ee
Merge: e1445a0 9294a49
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 12:25:04 2015 +0200

    Merge tag 'mysql-5.6.25' into mysql-5.6-cluster-7.3

commit 17937490709f218027ae0e5ad3d325283ffb13c1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 17 11:53:53 2015 +0200

    Bug#21270190 REMOVE UNUSED AND DANGEROUS NDBHOST_GETHOSTNAME()
    
     - remove function NdbHost_GetHostName()
     - remove some old windows specific hacks in NdbHost.h
     - fix copyright headers
     - remove usage of NdbHost_GetHostName() from mainAsyncGenerator.cpp
       which doesn't really need to print the name of current host
       using a portability layer function.

commit fa05322be4630e9bd474a522070f5b8a84eed991
Merge: 5162693 e1445a0
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 17 10:46:10 2015 +0100

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

commit e1445a0b6ae4d03de91a479fc7130d0a6b3e8cf4
Merge: 7add54e d1c32b1
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 17 10:45:56 2015 +0100

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit d1c32b1b0953594f87335215f0d77f61dd5e6fa1
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 17 10:45:06 2015 +0100

    Fix compiler warnings due to hidden inherited virtual and release-unused variables.

commit 1b7048567700561fac520079461ffda271ebdbac
Merge: 16bbfec 65fc16c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 11:44:05 2015 +0200

    Merge tag 'mysql-5.1.75' into mysql-5.1-telco-7.1

commit 51626930f3252133d33c397bfde00e2af58d5fa5
Merge: 26ce753 7add54e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 11:04:13 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 7add54e9c092b88462a04af85adcfadc9d7ee0e2
Merge: 3e43626 d198906
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 11:04:00 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit d19890615ed0c86eb0b065b70a8744841ce5d1d0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jun 17 11:00:41 2015 +0200

    Debug patch for Bug#17665497 DATANODE CRASH IN DBTUPDISKALLOC.CPP DBTUP (LINE: 848) 0X00000000
    
    Removing failure point introduced in commit 30e00fcf0ed2f00747797e417266d3603ad82f15
    Date:   Tue Jun 16 15:20:08 2015 +0200
    
    Watch out for check failures in
    testNodeRestart -n Bug16766493 D1
    testSystemRestart -n SR_DD_1b D1
    testSystemRestart -n SR_DD_1b D2
    testSystemRestart -n SR_DD_1b_LCP D1
    testSystemRestart -n SR_DD_1b_LCP D2
    testBasic -n Bug54986 D2
    and possible some more tests in daily-basic.

commit 26ce753cdd4e91cdc6a9fe75eda0d5fd00665913
Merge: 174fc6a 3e43626
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 17 10:32:24 2015 +0200

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 3e43626cb2d15553f99516dbfeec0dfac814ff0f
Merge: fa83595 285dab1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 17 10:28:12 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 285dab1833ca193860042210de8fbbc25bf35ab0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 17 10:22:23 2015 +0200

    Backport of Part 2 (of 2) of fix for Bug#18390321 to 7.2 & 7.3
    
          MT-SCHEDULER: POSSIBLE BUSY WAIT IF PERFORMSEND() FAILED TO SEND
    
    As 7.4 had some new features in this area of code, making
    a plain merge impossible, a seperate patch has been made for 7.2 & 7.3.
    
    It introduce the send-delay framework into 7.2. This already
    existed in 7.4, but was refactored as part of the original patch.
    
    As in the original patch, the overload delay has been
    introduced into the plain delay-send framework.
    See original push message for further comments.

commit 174fc6a1c97b4c12b38eb9aabfea82a1a1ca7fa7
Merge: 14cd95a fa83595
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 21:11:17 2015 -0700

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

commit fa835955b9a83a4b3d366af3b538f7318e22e859
Merge: 0bfe91d 8693a3b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 21:10:13 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.6-cluster-7.3

commit 0bfe91d5bcf0f0ef861f893df23d3cd8b12f6477
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 21:08:32 2015 -0700

    bug#17638548 Try to address test failures from previous push

commit 14cd95a57f9824e86876b9f530f118350a750119
Merge: d217d01 8693a3b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jun 17 00:00:44 2015 +0100

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
      - Disabled SegmentList-t build

commit 8693a3b3ec25b866a7d5873ecef9f09931d4478e
Merge: ef0b93b 65ebb88
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 16 23:24:56 2015 +0100

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit d217d01bf3c96a91b27bf5ee6cf5baf3606ba842
Merge: 3a00e76 ef0b93b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 17 00:04:42 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 65ebb88872636727354949d015777ce22fb3838b
Merge: 977f7cf 16bbfec
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 16 23:04:35 2015 +0100

    Merge ../mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2
    
      - Merged with existing related bugfix
      - Reusing testDict -n GetTabInfoRef
      - Removed STATIC_CONST macro
      - Some comment fixes

commit ef0b93b01ec949f88dee9f93b0843a43f8cc967c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jun 17 00:03:46 2015 +0200

    Reenable usage of send threads in MTR tests.

commit 3a00e76383a953b0b8626d8a3198b59360438378
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 23:55:40 2015 +0200

    Part2 (of 2) fix for Bug#18390321
    
      MT-SCHEDULER: POSSIBLE BUSY WAIT IF PERFORMSEND() FAILED TO SEND
    
    This fix is for the above issue when the send threads are
    responsible for doing the sends. For different reason
    the send threads may have no progress when trying to send
    a chunk of data (buffers full, slow receivers, ++). It is
    then no point in busy-retrying the send. Instead the send thread
    should take a short break. Other theads will then be able
    to do their work which migh help in resolving the stuck send.
    
    Part of this patch is a refactoring / fix of a patch
    introducing a configurable 'max_send_delay' for the
    send threads. The idea behind that patch is that having a
    short delay before sending available data, might allow us
    to piggy back more data to the same node. This was
    a usefull mechanism to extend into a more general send-delay
    mechanism when the send threads should wait due to overloaded
    transporters. However, I found a refactoring was required in
    order to 'open it up' for such reuse, that included:
    
     - Setting of 'delay' was moved from insert_node() into
       own methods: set_max_delay() / set_overload_delay().
       This also fixed a problem in ::run_send_thread() where
       we re-inserted a node having more data to send, *and*
       started a new delay. In this situation it does not make
       sense to delay more, as we were likely unable to complete the
       current send due to too much data.
    
     - Decision of when to take a delay-sleep, or possible ignore it,
       was moved from get_node() into ::run_send_thread().
       get_node() will now first search for a send node not being
       delayed- If that cant be found, the node with the shortest
       delay is returned. It is then up to the send schedulling
       logic in ::run_send_thread() to either wait for this delay to
       expire, or ignore the delay and send immediately (As previous)
    
     - Furthermore, previously get_node() contained logic deciding
       how many send threads should be kept awake. This is now also
       handled by ::run_send_thread().
    
     - There were also a bug as a send delay actually resulted
       in a busy wait for the delay to expire: Even if get_node() didn't
       return any (non-delayed) node, yield() was called with
       the check_callback function check_available_send_data().
       As 'first_node != 0' when there were delayed sends, the yield()
       would not be taken (Assumed more data had arrived)
    
       That problem were fixed by introducing a 'm_more_nodes' flag
       which is set if more send nodes is inserted inbetween we release the
       send_threads_mutex, and yield has grabbed its own mutex.
       (Some memory barrieres required in addition)
    
    The 'overload' delay has been added on top of this delay
    mechanism, Mainly implemented by perform_send() now returning
    'bytes_send'. Together with the existing 'more' return value,
    ::run_send_thread() detect overload as 'more && bytes_sent==0',
    and then request a set_overload_delay(). Much more than
    that is not required with the refactored send-delay...

commit 528fbc7fa2385acab27d39da2a4685251087b82f
Merge: 081cd2e dc0e862
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 23:39:30 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit dc0e862a2622cc3c1a96675816e9bd5f10d9ffc8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 23:37:20 2015 +0200

    Temporarily change default MTR test config to use
    worker thread sending (No send threads) in order to
    get some regression test coverage of part1
    patch for bug 18390321

commit 081cd2e6522f7c8c1ce0f8519e81c3472c251255
Merge: 66f1ad3 23fc3c8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 23:28:13 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 16bbfec4581169f20534fd51fe4b5bf3dec14cd6
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jun 16 22:17:51 2015 +0100

    Bug #17878183 	NDB CONTINUOUSLY REBOOTING DUE TO FILE NOT FOUND (DBLQH: CAUSED BY ERROR 2341)
    
    Fix for this bug.
    
    Root cause :
     - DICT overload resulting in GETTABINFOREF
     - Backup block failing to complete LCP_PREPARE due to GETTABINFOREF
     - LQH ignoring failure to start LCP
     - Node restart finding LCP file missing, and cannot handle.
    
    Fixes
     1.  LQH no longer ignores failure to start LCP
     2.  DICT no longer REFs internal requests
    
    This patch adds
     1.  A new testcase (testNodeRestart -nGetTabInfoOverload)
     2.  A new queueing mechanism inside DICT, separating internal +
         external requests
     3.  A new SegmentList utils class for kernel code
    
    Merge to 7.2+ requires some modifications :
     - Integrate with more recent fixes there.
    
    Applied to 7.1 as 'backport' is requested there.

commit 23fc3c83adaaafc4f41de0ba7b490577ffdaee97
Merge: f32cf81 977f7cf
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 22:56:46 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 977f7cf6de39db888aea0b4b864fde2fec006935
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 22:48:09 2015 +0200

    Part1 (of 2): Fix for Bug#18390321
    
      MT-SCHEDULER: POSSIBLE BUSY WAIT IF PERFORMSEND() FAILED TO SEND
    
    This fix is for the above issue when the worker threads are doing its own
    sends - There will be a part2 for fixing the same issue in the send threads.
    
    We fix two similar issues where the worker threads could more or less
    end up in a busy loop doing (only) send.
    
    1) Other threads may trylock the same send buffer as the worker thread
       has locked while in do_send. The 'force_send' flag will then be set
       by these threads in order to force this worker thread to do the send
       for them.
    
       As the 'force' flag was checked in a while loop on do_send, this worker
       thread could on up looping here for a long time without taking care of
       its own work.
    
       This fix removes this busy-loop and instead return to the main worker loop
       with information set up such that it know it has more pending send work to
       this node. Further sending will now be retried **after** it has checked
       for more own 'work' to do.
    
    2) If there are only pending send work remaining in the main work loop:
       (No 'work' / (signals) pending) The worker loop would immediately
       retry the pending send. This is a good idea if it is able to make progress.
       However, if send is not able to send more data (buffers full?), it is
       no point in wasting CPU in a send-retry loop.
    
       This patch now detects this condition, and allows the worker threads
       to yield the CPU for 1ms in this state.

commit 66f1ad37c85e40e535cecd9d21226efbba0bcf76
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 12:19:33 2015 -0700

    bug#17638548 In NDB Memcache 7.4 use 7.3 Scheduler by default

commit 2dafbdcd0fe0425c6556ca126e9dae615a4a4373
Merge: 262d315 f32cf81
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 12:19:02 2015 -0700

    Merge ../7.3 into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/src/ndbapi/WakeupHandler.cpp

commit f32cf81de52be8f66e57e27333ee2655cea4a4fc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 16 11:26:16 2015 -0700

    bug#17638548 : reset "woken" state after wakeups

commit 262d315e7cbf2253a0615a7051fdb10657407a68
Merge: 29ff0bb2 5570a30
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Jun 16 15:24:54 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 5570a305ad6091726cf7fa393531d54d35e32eb9
Merge: 25ca7cd 30e00fc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Jun 16 15:23:40 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 30e00fcf0ed2f00747797e417266d3603ad82f15
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Jun 16 15:20:08 2015 +0200

    Debug patch for Bug#17665497 DATANODE CRASH IN DBTUPDISKALLOC.CPP DBTUP (LINE: 848) 0X00000000
    
    Add some checks and failure points in debug and test mode to see
    if we got some test cases that exercise a suspect code path.

commit 29ff0bb2ca32d598effe98d1132bebe7c1c961f5
Merge: bd2eab1 25ca7cd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 15:04:16 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 25ca7cd586fbbba5ce785e4f912147a31ed46e80
Merge: 8ea73e6 13f1a78
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 15:03:48 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 13f1a783c29242c15dc8c674f991b7c2a8ff00a8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Jun 16 15:00:59 2015 +0200

    Fix failing ATRT testcases:
    
    - testNodeRestart -n TestLCPFSErr
    - testNodeRestart -n LCPScanFragWatchdogIsolation
    
    Both tescases assumed that 'victim' node killed by testcase
    would auto-restart after being killed. However, as the
    testcase didn't specify CmvmiSetRestartOnErrorInsert behaviour,
    it depended on the previous restart behaviour setting
    whether the node started, or stayed in 'no start' state.

commit bd2eab1f4ceab9a40ccb22dfa186a676a27fbb92
Merge: 564a549 8ea73e6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 14:26:53 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 8ea73e61ea06bd8fffca0aab50ef3f1f82402981
Merge: 32030fd 755cf2c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 14:25:58 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 755cf2c8ed4a85fab39a44737685c9cb9b201f1c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 14:24:52 2015 +0200

    Increase timeout value for several failing
    'testNodeRestart ... DD' tests.

commit 564a5498cc3502f483f6d6864b8352ff5c9623fe
Merge: dbe683d 32030fd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:30:52 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 32030fd3c1f542f25d9a98c425cdea5c5accdd1d
Merge: 5c4c59f bf6374e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:30:18 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit bf6374e1f9fce4b718a322388865937ac837cfe7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:25:28 2015 +0200

    Fix failing testcase 'testNodeRestart -n GcpStop T1 --loops=1' :
    
    Tescase assumed that 'victim' node killed by testcase would
    auto-restart after being killed.
    
    However, as the testcase didn't specify
    CmvmiSetRestartOnErrorInsert behaviour, it
    depended on the previous restart behaviour setting whether
    the node started, or stayed in 'no start' state.

commit dbe683ddc3ad1a3fe0e11ca62dc273987823840a
Merge: 43ba142 5c4c59f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:02:15 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 5c4c59f3493ec1c5300f95e7f7adf4929ab689fb
Merge: 9e581b8 31da652
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:01:38 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 31da652a70cc2345f99dfc895344027357332a50
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 13:00:15 2015 +0200

    Added more printout to testcase 'testBasic -n Bug54986 D2'
    in order to aid in understanding why / where this test fails.

commit 43ba1424fb9791da08e51671787af4eb1d4fb6b2
Merge: 28a81d7 9e581b8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 10:01:42 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 9e581b8778b65f529a124ffc7c6b35864e6df45d
Merge: e4b20dd 23445b2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 10:00:59 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    Conflicts:
    	storage/ndb/test/run-test/daily-basic-tests.txt

commit 23445b28ccbe17ff6d9e86e141ded1054a1519e4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 09:55:22 2015 +0200

    Increase timeout for  'testNodeRestart -n Bug27003 T1'
    from 1800 -> 3600sec.
    
    Normal run time for the tests not failing seems to be
    from 20 - 28 min, so timing out after 30min on slow machines is
    simply too early.

commit 28a81d7a4783572a644c53047fcb72e252740262
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 09:17:25 2015 +0200

    Moved unstable 'basic' tests to 'devel'.

commit 9e6a30a1fa0c46b1081cef9a49b3566ab7d5bce8
Merge: 40cab97 e4b20dd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 09:05:19 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e4b20dd86cfc75a106b282feb1bb1d5a53b78cd2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jun 15 09:00:52 2015 +0200

    Fix compiler warnings in patch for bug#21185585:
    
    'theOwnId' is declared as an unsigned number, so checking
    for it being negative does not make sense.

commit 40cab97b7b20d309db25a3c5fc4fb9610369806f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 10 23:00:38 2015 +0200

    fix bug in cmakelists from previous push

commit 1eff07b5806fc48e4ee3d9dbf72fc9d10162286f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 10 22:45:04 2015 +0200

    Convert test_workqueue into a TAP test

commit 59c89656cb8545fc1a1d9e6599b3e570e810749e
Merge: fe3e178 fd43c42
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Jun 6 18:24:33 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/src/ndbapi/TransporterFacade.cpp

commit fd43c4234c0b257d25cccb67018f197741b372ce
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Jun 6 18:05:43 2015 +0200

    Fix for bug#21185585
    
    SIGNALS DELIVERED TO INCORRECT OR GARBLED 'TRP_CLIENT' -> CLIENT CRASH OR HANGS
    
    The 'TransporterFacade' in the API clients maintains a Vector
    of valid client connections. As more API clients connects,
    this Vector may be resized, which involves a reallocation
    of the structure where the Clients are registered in.
    
    There were no mechanisms to protect this reallocat from concurrent
    'get' from the same Vector. Thus, garbled Client information
    could be retrieved from this 'Vector of clients', causing
    the signals to be delivered to some garbled memory structur believed
    to represent client information.
    
    This fix serialize expanding of the client Vector by moving
    it into a function called when holding the poll right. 'get'ing
    from the same Vector already does happen inside :trp_deliver_signal()
    which holds the poll rights.

commit fe3e178bf095a29c840d4b8f20e08069cae05c32
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 3 14:15:46 2015 -0700

    ndb memcache: recently in CLUB testing of ndb memcache suite, 7.4 consistently passes but 7.3 has many failures.  This commit swaps the default schedulers in 7.3 and 7.4 to see if that leads to any change in the pattern of test results.

commit 592db8b85ee9f7a05985a144c3f4158b16aa62d3
Merge: f9f6e1b b3e0a55
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 3 14:14:47 2015 -0700

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

commit b3e0a55698dfea58cde2b3a0a1da4a2771f161fb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 3 14:14:09 2015 -0700

    ndb memcache: change default scheduler in 7.3

commit f9f6e1bed328b881f59001957a362554a3321059
Merge: b158cda 46c9b4f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 3 14:10:36 2015 -0700

    Merge ../7.3-b into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/include/ndbapi/NdbDictionary.hpp

commit 46c9b4f27104c9514a1a2e0ccb2ee7281ab2ff43
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 3 14:07:00 2015 -0700

    bug#21067283 Fix inconsistent space calculations in NdbRecord

commit b45a0e3f039ec5edbae8f2a77cb512664cee892a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 3 15:25:07 2015 +0200

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - change expected error code returned from failed
       privilege command. The upstream BUG20561087 has been fixed
       and now errors are properly checked and returned.
     - This also significantly reduces the number of warnings
       which occur during such failure.

commit 070e0a76e196afd34e0cccfb8d91ed77ed8a98e2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 3 14:53:03 2015 +0200

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - Additional tablespaces show up in information_schema.files queries
       when test shows which tablespaces has been created. This is since
       several mysql.* system tables has been moved to innodb and thus
       one tablespace for each table is now created.
     - Change ndb_dd_basic.test to only look at engine=ndbcluster files
       when using information_schema.files to tablespaces.

commit 5bd3630a7389e7b20366fd493bb88f602c0ad57a
Merge: 7d75a41 c8fdfe2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Jun 3 10:38:55 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	sql/mysqld.cc

commit b158cdaa6b087dc59b609d5d55c5f329d689c827
Merge: a779b56 7b60f2e
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 3 14:08:01 2015 +0530

    Null Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 7b60f2e6d99c95e98376f14c6ca04ec4a6c54f32
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Jun 3 03:08:06 2015 +0530

    BUG#18234170
    Foreign Constraints are lost from NDB Tables during truncate
    
    Fixing a post push failure
    Updating the result file w.r.to. Cluster 7.3

commit a779b566255ca14fa81e3b253cc81ec704726b88
Merge: 61532db 6102b1d
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Jun 2 11:06:09 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 6102b1d4885ffc22d757c1733e7fb6cde45920d7
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Tue Jun 2 10:47:06 2015 +0200

    Bug#21184102 PATCH FOR BUG#16890703 MYSQLD STUCK IN OPN TABLES ..., LOST IN 7.3 AND UPWARD
    Added error check for missing database directory,
    added testcase

commit 61532dbe5b05badf1fffd05122d416c4799ca44c
Merge: 8c0ba89 ead736e
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Mon Jun 1 21:41:47 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ead736e4bd196935452986ac3b71178e7fe816d5
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Mon Jun 1 21:22:34 2015 +0530

    BUG#18234170
    Foreign Constraints are lost from NDB Tables during truncate
    
    The foreign constraints are lost from cluster, when truncate table is
    issued on a ndb table. Truncate is internally executed as a drop + create
    table in the NDB engine. The foreign constraints are dropped along with
    the table and when the table is recreated, they are lost.
    
    This patch solves the issue by saving the foreign key details into a local
    list and later restoring it into the newly created table.
    Changes :
     - created Ndb_fk_list, a wrapper class for the sql list to hold NDBFKs
     - added functions get_fk_data_for_truncate & recreate_fk_for_truncate,
       to retrieve and restore the foreign key details into the table
     - A local list in ha_ndbcluster::create of type Ndb_fk_list to store
       the fk list.
     - updated test cases

commit 7d75a4135ada5f1d79355c3a442e28a743d0437f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 29 13:56:22 2015 +0200

    WL#8648 NDB_SHARE lifecycle improvements
    
     - add missing DBUG_RETURN in handle_non_data_event

commit 4b7121ddb0283a0c0a71dd5c0711e6f1a66549d7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 28 15:05:40 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - use --innodb-read-only to avoid that innodb starts recovery
     threads etc. since that will only cause mystery crashes
     when the mysqld startup is aborted due to the invalid
     option tests performed below. Would have been nice to
     skip innodb for these test but that is not an option in 5.7

commit 972662731663d9c13244e4573d56fd1548645a8d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 28 15:01:00 2015 +0200

    WL#7578 Refactor schema distribution code
    
     - Improve comment describing why query is rewritten for
       DROP TABLE and RENAME TABLE

commit bd92ff6563e80109892e3f80dcaaa613f58c1aa6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 18 13:22:55 2015 +0200

    WL#8648 NDB_SHARE lifecycle improvements
    
     - Cache event operations type in local variable
     - Fix DBUG printouts in ndbcluster_rename_share
     - Move dbug_print_share() macro to ndb_share.h
     - use dbug_print_share() to print the shared of table which has changed
     - Mark three constant variables as const
     - Require mysqld started with binlogging for alter_rename tests
       so that also shadow tables are opened and managed during
       the RENAME and ALTER
     - Improve DBUG for ndbcluster_create_event and ndbcluster_create_event_ops
     - Remove two useless check for "share" pointer since the share "pointer"
       is already used higher up in function and the called function requires
       share pointer to be not NULL
     - Remove dead code inside never activated ifdef
     - Call ndb_handle_schema_change only for TE_DROP or TE_CLUSTER_FAILURE,
       remove endless fall through, remove calling of ndb_handle_schema_change
       for TE_ALTER event since the function would just return anyway.
     - Remove duplicated code for releasing ndb_apply_status_share,
       count "schemaops" separately since that was the only
       difference between the two cases. Introducing one fall through,
       remove "ToDo: remove printout" comment and the printout
     - Improve DBUG in ndb_handle_schema_change and handle_non_data_event
     - Remoe outdated ToDo, the return code of ndbcluster_rename_share()
       is still ignored but at least there is not memory allocated to free
       where the comment so indicates.
     - Use DBUG_ASSERTS to make it clear that participant always rename from real to real name
     - Allocate the names for shadow_table in the event_data MEM_ROOT, since the shadow
       table is not renamed when renaming from real -> temp name those pointers
       point at released memory
     - fix by allocating the strings for shadow_table separately
       in the event_data MEM_ROOT
     - this causes a minor mem leak(again) in the mem_root and
       will be revisited while continuing to improve the lifecycle
       of NDB_SHARE

commit 8c0ba89a7871adb48859f00cfe9c171794266846
Merge: 8af9363 bb5f549
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 28 11:42:41 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit bb5f5497666dbd7908c074e3a783ab895fe574b1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 27 14:01:20 2015 +0200

    Bug#21141495 NDB_MGMD USES 90% CPU
    
     - Problem occured when several threads open and close blocks
       in the NdbAPI rapidly. The 'close_clnt' function synchronizes
       the close by sending a signal to itself to wait for potential
       signals "in the air". While waiting for the signal to self a too
       tight polling loop was implemented. This cause excessive CPU
       usage and prevented other threads from openinig or closing
       other blocks.
     - Fix by changing the polling call to properly wait on a condition
       to be woken up when some signal has been executed.
    
     - Reproduced and tested using a cluster with 250 API nodes
       and five management clients doing "SHOW" repeatedly in combination
       with 'testNdbApi -n NdbClusterConnect' which is a NdbApi program that
       in parallel allocates one Ndb_cluster_connection for each
       available API node, ie. 250 Ndb_cluster_connections created.

commit 8af9363924a644a4c1526fd684b4e98a7590e1ab
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 13 09:30:31 2015 +0200

    Remove global forward declaration of Ndb_fk_data
    
     - enough to do that when the member is declared

commit 399ad9f39d98d7edf578ee4372bdb7dcb2a7a96c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 26 15:19:28 2015 +0200

    BUG#20095208: Fix to make portlib not dependent of ndbgeneral

commit 775b0c5e71e1d1064eb7c0d014bb8621ff532908
Merge: eecc6f2 b9634cf
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 26 10:53:26 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit eecc6f25699a1da51d4d3dc29c63bf71cd77b4c1
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 20:37:40 2015 +0200

    Removed compiler warning

commit f18df8ea05c391410d37ed413a75d27ed64c73a6
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 19:30:02 2015 +0200

    Bug#20636124 CRASH AFTER NODES POWER OFF CAUSED A SEGFAULT IN GLOBALDICTCACHE
    Only use C++ ABI functionality if libstdc++ is being linked. Otherwise resort
    to protect the allocation/deallocation of the static objects using the existing
    connection mutex.

commit 0cb70f3cf0a1659996fd051cec9faea45979c594
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:21:45 2015 +0200

    Bug#20636124 CRASH AFTER NODES POWER OFF CAUSED A SEGFAULT IN GLOBALDICTCACHE
    Allocate f_invalid_table and f_altered_table as static local objects and
    initialize pointers in a thread safe manner using my_pthread_once.

commit b9634cfd3b8d3ff6a24db894b2ffd6451f0e8233
Merge: 9574eca 4468153
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 26 10:52:26 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/src/kernel/vm/mt.cpp

commit 4468153bc7b2d0a04e15dee0ed45775441a30344
Merge: dcf8366 885a4ad
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 26 10:44:03 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 885a4adce0af94585d82b166a8a6c967412321eb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue May 26 10:41:13 2015 +0200

    Patch for bug#21109605
    
    EXCESSIVE NDB KERNEL THREAD IS STUCK IN: PERFORMING SEND; WATCHDOG TERMINATE
    
    It was possible to end up in a livelock on the send_buffer
    mutex if send buffers became a limiting resource. This could be due
    to too little send buffers configured, slow/failing
    communication network such that all send buffers are filled,
    slow receiveres which does not consume what is sent and likely other
    reasons.
    
    In this situation (all?) worker threads will fail to
    allocate send buffer memory for the signals, and
    will attempt a ::forceSend() to free up space.
    At the same time the send thread will be very busy
    trying to send to the same node(s). All these threads
    will compete for taking the send_buffer mutex, which
    result in a livelock on it. Send threads stalled due
    to hitting this livelock will be reported by the
    watchdog as 'Stuck in Send'
    
    As 'stuck' send threads also held the global send_thread mutex
    they could even block worker threads trying to grab the same
    mutex while alerting send threads as part of a do_send request.
    Thus, even the worker threads got 'Stuck in Send'
    
    This patch does two things:
    
    1) Code analysys revealed that the send thread does not
       need to hold the global send_thread mutex while grabbing
       the send_buffer mutex. By releasing this global mutex prior
       to locking the SB-mutex the *worker threads* will no
       more be 'Stuck in Send'.
    
    2) Changed the send treads locking of the send_buffer mutex
       to use a trylock. If the try-locking failed, the node to be
       sent to is re-inserted last into the list of send-nodes in
       order to be retried later. This removed the 'Stuck in Send'
       condition for the send threads as well.

commit 9574eca565f3f8b3929406dc5cbef1a9679bc384
Merge: 49d2cc7 dcf8366
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 20:39:58 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit dcf8366aff006d6879dee4b05fe476a816181b07
Merge: d319e69 a96892f
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 20:39:30 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit a96892fd23325d84f51c2a60796a6ed336d9ce8c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 20:37:40 2015 +0200

    Removed compiler warning

commit 49d2cc7cc33aab31267ff6d4a804a68b5f1c9baa
Merge: d1aeee7 d319e69
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 19:39:01 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit d319e69fb9581132361e5be77df4eb840a9e7333
Merge: 9084603 72a844b
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 19:37:50 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 72a844b03f404899c287559a5e72714035e27ebd
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 19:30:02 2015 +0200

    Bug#20636124 CRASH AFTER NODES POWER OFF CAUSED A SEGFAULT IN GLOBALDICTCACHE
    Only use C++ ABI functionality if libstdc++ is being linked. Otherwise resort
    to protect the allocation/deallocation of the static objects using the existing
    connection mutex.

commit d1aeee75dbdc1bc313e16887dce05d9dc83fc583
Merge: 3f0db2a 9084603
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:34:41 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 90846033b7d776b62c607cbd5957298119a7c674
Merge: faf4bfc 5c12bb7
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:29:36 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 5c12bb7800c7b08898c6c0aac57baa1bdadcf325
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:21:45 2015 +0200

    Bug#20636124 CRASH AFTER NODES POWER OFF CAUSED A SEGFAULT IN GLOBALDICTCACHE
    Allocate f_invalid_table and f_altered_table as static local objects and
    initialize pointers in a thread safe manner using my_pthread_once.

commit 3f0db2a92413d413f76af3e2eeb0f313e76f4ca3
Merge: 1b93c25 faf4bfc
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:25:46 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit faf4bfcb24508d125cc8500626b88839c6ee3acf
Merge: 1ecaa29 76c9c80
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:24:29 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 76c9c804236a3097023d00a108304d5b95c6675c
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Thu May 21 14:21:45 2015 +0200

    Bug#20636124 CRASH AFTER NODES POWER OFF CAUSED A SEGFAULT IN GLOBALDICTCACHE
    Allocate f_invalid_table and f_altered_table as static local objects and
    initialize pointers in a thread safe manner using my_pthread_once.

commit 1b93c250c9e50703e00232b1d458508071d9e8f4
Merge: d7490ae 6a70bcd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 21 09:12:55 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit 2813a92f0567822f780afffd371c8ee7639e45d4
Merge: 864b182 d7490ae
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 21 09:11:40 2015 +0200

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

commit d7490ae1271b6c5ee5669b5de925a2c3dfaf64fc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 27 09:27:45 2015 +0200

    WL#8525: BUG#20904721: Part6: Improve performance of checksum calculations, remove unnecessary ones and simplify bit toggling ones. Also solves BUG#20980229 that ensures that also header bits are included in checksum calculation.

commit 864b182a82a0273cd072ecc64b8d66440cc21aba
Merge: 783f143 6a70bcd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu May 21 09:04:59 2015 +0200

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

commit 6a70bcdfc8db65fcd3cf5504594cca8fc34ddc78
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 21 16:30:38 2015 +0200

    BUG#20904721: Fix LCP processing with heavy insert activity, part 2

commit 01c57e9d083b057373ea0e3ccc0a2d74d200c6ab
Merge: 0b967e3 1ecaa29
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 20 21:33:08 2015 -0700

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

commit 1ecaa29d7b3e1376fe94b31c250ac98627099db4
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 20 21:31:07 2015 -0700

    Improve multi-thread use of charsetDecoder and charsetEncoder in clusterj Utility
      charsetDecoder is used only in Decimal decoding
      charsetEncoder is used only in Decimal encoding
      charsetDecoder and charsetEncoder are not thread-safe
      use charset.decode for decoding
      use charset.newEncoder().encode for encoding
      avoid synchronization

commit 0b967e30006537896be8f555052e38411141924f
Merge: e1e03f8 ff90571
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 20 16:59:01 2015 +0300

    Merge branch 'bug20095208-7.3' into bug20095208-7.4
    
    Conflicts:
    	storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp

commit ff905715ba1a083307e312dbfb5be09fb033dc74
Merge: 1a02605 27a41f8
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 20 16:04:17 2015 +0300

    Merge branch 'bug20095208-7.2' into bug20095208-7.3

commit 27a41f8dd00b4f3d8189693a5fd5b83948c666eb
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 20 15:13:10 2015 +0300

    bug#20095208 - UNABLE TO STORE FRAGMENT DURING LCP. NDBFS ERROR: 2812 - DBLQH (LINE: 14305)
    
    Including EventLogger.hpp via ndb_socket.h caused unrelated
    link problem on Solaris (missing symbols in Parser-t).  Move
    implementation of my_socket_close to ndb_socket.cpp.

commit 1241b7a5e1261520b9eb067e8367aca0bb57bce4
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 20 15:07:56 2015 +0300

    bug#20095208 - UNABLE TO STORE FRAGMENT DURING LCP. NDBFS ERROR: 2812 - DBLQH (LINE: 14305)
    
    On some branches we have seen very rare cases where NDBFS
    FSAPPENDREQ gets an errno which only applies to sockets.
    A theory is that a transporter thread has closed a file fd
    and re-opened it as a socket fd.
    
    This patch adds debug, also included in release builds.
    
    - add filetype and fd to FSOPENCONF for signal trace
    
    - check in PosixAsyncFile that filetype has not changed
    in append and close requests
    
    - check in ndb_socket_posix when closing a valid fd
    that the fd is a socket
    
    (copied from commit 33fe7811cf39fa237e903f3cf4b312cc7cd27fd5)

commit e1e03f84cdce724795a57abd1d7591ca8347dc9d
Merge: 376a87f 1a02605
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed May 20 12:32:02 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/include/ndbapi/Ndb.hpp
    	storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp

commit 1a026051254dae63451c550d3c684c634d5e656d
Merge: 1ba44cf dc915e8
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed May 20 12:29:30 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit dc915e8fbbf22316082b2bf1a44f98f16c87a130
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed May 20 12:27:46 2015 +0200

    Bug#18753887 MYSQLD STOPPED WRITING TO BINARY LOG
    Modifies pollEvents to return latest_GCI as NDB_FAILURE_GCI (~(Uint64)0)
    in case a cluster failure has been detected. An internal flag is set
    in NdbEventBuffer::report_node_failure_completed and the flag is
    reset when the next SUB_GCP_COMPLETE_REP signal is received.
    Test case StallingSubscriber is extended to verify that NDB_FAILURE_GCI
    is returned and that polling of events is resumed after the cluster
    is connected again and new epochs are received.

commit 376a87fa54350e2db087b890100f19c104be62f3
Author: Martin Sköld <Martin.Skold@oracle.com>
Date:   Wed May 20 10:04:23 2015 +0200

     Bug#18753887 MYSQLD STOPPED WRITING TO BINARY LOG
        Modifies pollEvents to return latest_GCI as NDB_FAILURE_GCI (~(Uint64)0)
        in case a cluster failure has been detected. An internal flag is set
        in NdbEventBuffer::report_node_failure_completed and the flag is
        reset when the next SUB_GCP_COMPLETE_REP signal is received.
        Function Ndb::isExpectingHigherQueuedEpochs is added to be used together
        with pollEvents2 that checks if cluster has disconnected due to failure
        causing no more events to be received.
        Test case StallingSubscriber is extended to verify that NDB_FAILURE_GCI
        is returned and that polling of events is resumed after the cluster
        is connected again and new epochs are received.

commit 783f14343af618c671bc9c1cd634e3a05986a1fb
Merge: 79b1f71 41b06e3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed May 20 08:48:05 2015 +0200

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

commit 41b06e30e026fe1b1b610ae17922238f3f5d89c7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue May 12 19:42:45 2015 +0200

    BUG#20904721: Part 8: Fixing the NDB scheduler to work with Bounded delay signals

commit 79b1f71d597505fccd8813b4116795879dce9483
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed May 20 01:59:52 2015 +0100

    Revert last merge
    
    Previous merge was intended to be a NULL merge but in fact merged in some
    very old version of the affected files.
    
    This commit undoes those changes, though the history will show the bad
    changes which may be problematic.

commit cad9747a2f332dc298c44afd391269e4cf357713
Merge: 8659c73 e4c4525
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue May 19 17:27:45 2015 +0100

    Merge commit mysql-5.6-cluster-7.4 into mysql-5.7-cluster-7.5
    
    Null merge of MCP_BUG20701918 into 7.5.
    
    Current intention is that users move to using new types in the
    5.6 (7.3 + 7.4) timeframe.
    
    Conflicts:
    	mysql-test/r/mysqld--help-notwin.result
    	sql/mysqld.cc
    	sql/mysqld.h
    	sql/sql_yacc.yy
    	sql/sys_vars.cc

commit deff531cfbc671f0d51fd1a84c8af5760fe89deb
Merge: e4c4525 1ba44cf
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon May 18 19:12:37 2015 -0700

    Merge /Users/clr/ndb/git/mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 1ba44cf806ebef90283740bc314c3f716ed28cf8
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Mon May 18 19:11:26 2015 -0700

    Fix multi-thread use of charsetDecoder in clusterj Utility
      charsetDecoder is used only in Decimal decoding
      charsetDecoder is not thread-safe

commit e4c4525336aebd3154c22685dc84e716c2a2bc20
Merge: 844659e 5549ec4
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 18 20:31:41 2015 +0100

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

commit 5549ec4b5fcc69763eb980560d7b5218c84e0606
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 18 20:30:49 2015 +0100

    Follow up testcase fix for MCP_BUG20701918

commit 844659ee0a03f7f2348fb5deb644f9b165f35d56
Merge: 625f4f4 f568e1a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 18 18:25:54 2015 +0100

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

commit f568e1a030603fe52c5e72188ba418a9637714ca
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon May 18 17:59:52 2015 +0100

    MCP_BUG20701918  create-old-temporals MySQLD option
    
    This patch adds the --create-old-temporals option to MySQLD allowing it
    to optionally create original temporal types when temporal type
    specifications have no explicit fractional seconds part (fsp).
    
    This in turn means that the Binlog and Storage Engine types used to
    store the temporal types can be compatible, easing upgrade to MySQL 5.6
    based releases, especially of MySQL Cluster, and systems with
    replication in use.
    
    This is an MCP (MySQL Cluster Patch), as there is not currently
    any agreement to have this included in mainline 5.6 or later
    releases.
    
    Related testcases :
     - parser_old_temporals
     - ndb_wl946*
     - ndb_binlog_temporals*

commit 8659c73e94380c7685599b695dbb72fd3b395a15
Merge: ef62134 625f4f4
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 15:13:10 2015 +0200

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

commit 625f4f4ad9a7c1a1b90f9fd03d7bdbc68c4e27e4
Merge: 173aa5d 807336d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 15:07:15 2015 +0200

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

commit 807336d0957e0f6da3660c47d3806e44b5a3fa7c
Merge: 7ec65be da15c53
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 14:44:28 2015 +0200

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

commit da15c53f3dd258f3a93e91c16bda50d34d5acfef
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 14:44:08 2015 +0200

    BUG#20904721: Fix of previous push

commit 173aa5db5dfcf53c85f3ebc0158ae813b3fcf86b
Merge: 5500569 7ec65be
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 18 14:21:52 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 7ec65be88c7f740b49df985dec9c041ece7d42de
Merge: caf032d 9469c92
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 18 14:21:18 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 9469c92e5e8567b6aae61e33a0cb8cdf10bb6e8d
Merge: 7058d38 eaec685
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 18 14:20:31 2015 +0200

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit eaec68590c0587135e3069b252dc03d09f30ad90
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon May 18 14:16:25 2015 +0200

    Fix regression in debug build caused by fix for bug#20408733.
    
    Moved assertion from where row_ptr is assigned, to where it
    is used.

commit ef62134b6f34b77bcb64241802a3f612dedc6084
Merge: bea4e9c 5500569
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:59:54 2015 +0200

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

commit 5500569d8d8cd2579253bb73077f8b4794f15b20
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:59:40 2015 +0200

    WL#8525: BUG#20904721: Part 4, write up description of local LCP protocol and how to handle overload situations, increase to prio level A in some cases. Also standardise naming on END_LCPREQ and END_LCPCONF and remove all usages of END_LCP_REQ and END_LCP_CONF.

commit bea4e9ceb4d2ef70d8bb81d259d5bbefd0bc9767
Merge: 538a813 95b5508
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:43:59 2015 +0200

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

commit 95b5508dbfb19fcbf57752ea190f10e7eb86b047
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:43:47 2015 +0200

    BUG#20904721: WL#8525: Part 3, use prefetch to speed up scan processing for LCP scans and also other full table scans, such as node recovery scans and user level full table scans

commit 538a8130c019c1193f615086613db28920595f28
Merge: 762e217 fd23a51
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:20:47 2015 +0200

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

commit fd23a51f54cf7735846b16f4fc3c09c41b9da522
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 27 15:05:43 2015 +0200

    WL#8525: BUG#20904721: Part 7: Ensure it's not so easy to misconfigure LCPs and Backups

commit 762e2177afa5b23b5b1916880501a4f554aa5011
Merge: 1f7aa72 1892380
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:15:16 2015 +0200

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

commit 1892380883065545f74da141a5406a71a4adec91
Merge: ff6321c caf032d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:15:03 2015 +0200

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

commit caf032d6492a8058357e7fd1729d91f371341612
Merge: bc1132f 7058d38
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:14:48 2015 +0200

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

commit 7058d3834ef1cb90ef407e1e6c7e39339c7f6725
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 11:00:05 2015 +0200

    BUG#21049554: Fix OM_SYNC flag to work on all platforms, not only those that support the O_SYNC flag

commit 1f7aa726a6998cc0a8080e1cf9b3e8d46f1897bb
Merge: 7fcd140 ff6321c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 10:42:51 2015 +0200

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

commit ff6321ceefea5945eacffe19fcceb4b4cff3a4fb
Merge: dda1f8b bc1132f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 10:42:36 2015 +0200

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

commit bc1132f92e938ac1f0c46d5d748bdfa2b0b9fa2a
Merge: 5fc5a86 666810f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 10:39:53 2015 +0200

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

commit 666810f46a38daaeb77d0f08d3bde4e9aff38725
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 10:39:37 2015 +0200

    WL#8525, BUG#20904721: Part1: Avoid LCP watchdog crash when scanning many pages with LCP_SKIP records

commit 7fcd1405724c79f73532e825b9dcd528b38b961d
Merge: 5e6a7ed dda1f8b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 09:12:52 2015 +0200

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

commit dda1f8b493e288a1dd30da20b38e9530a59b7fc4
Merge: 5de6eca 5fc5a86
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 09:11:23 2015 +0200

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

commit 5e6a7ed6f1b26bdc53a0c66a4ea9f32d34518b51
Merge: 880c29b 5de6eca
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 09:07:23 2015 +0200

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

commit 5fc5a8622158a7a321059aeb52647f4bb743f482
Merge: a13a54e 26be41a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 09:01:14 2015 +0200

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

commit 26be41a2006dcf6a66a34a370c72be4cc14e2f99
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon May 18 09:00:49 2015 +0200

    Fix annoying compiler warnings on Mac OS X

commit 5de6eca46c6b7b4b2140db54bb41c3d4256f638e
Merge: eadc706 a13a54e
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri May 15 14:26:03 2015 -0700

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

commit a13a54ea20796cefd04a354b1c202dd3857d269a
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Fri May 15 14:22:18 2015 -0700

    Fix white space warning in clusterj
    
    FixedByteBufferPoolImpl.java
      fix white space warning in debug messages

commit eadc7067e917bc13fd013aeafc74f862ba3ca17f
Merge: 135209a 07dd52b
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 13 15:41:31 2015 -0700

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

commit 07dd52bef640edf61232516b7c341df3508c1988
Author: Craig L Russell <craig.russell@oracle.com>
Date:   Wed May 13 15:34:46 2015 -0700

    Bug #20504741
    Bug #20695155
    Improve Clusterj handling of ByteBuffers to reduce direct memory footprint
    Fix Clusterj incompatibility with Java 7
    
    Implement two kinds of buffer pool:
      fixed-sized buffers
        used for NdbRecord and Decimal scratch buffers
      variable-sized buffers
        used for Blob when reading and writing data
    Configuring the variable-sized buffers is done via connection properties
    
    Work around a bug in handling Blob columns with NdbRecord
      the size of blob is incorrectly calculated to be 16 bytes plus 256 inline size
        this calculation should include only the 16 byte Blob header
      the incorrect calculation makes the total size of the NdbRecord
        larger than needed, which affects the nextRecordCopyOut method
        to write more data than it should
      with java 6 each direct ByteBuffer is aligned on page boundary
      with java 7 onward, direct ByteBuffers are packed so writing more data
        corrupts the following memory which crashes the vm
    
    Constants.java
      add connection property com.mysql.clusterj.byte.buffer.pool.sizes
        with default 256, 10K, 100K, 1M
    
    SessionFactoryImpl.java
      initialize variable buffer pool for cluster connection
    
    ClusterConnection.java
      add method setByteBufferPoolSizes(int[] poolSizes)
    
    core/Bundle.properties
      add message for invalid variable byte buffer pool sizes
    
    BlobImpl.java
      add variable buffer pool to constructors
      use variable buffer pool to read and write blob data
    
    ClusterConnectionImpl.java
      implement method setByteBufferPoolSizes(int[] poolSizes)
      initialize variable byte buffer pool
      implement method getByteBufferPool()
    
    ClusterTransactionImpl.java
      implement method getClusterConnection()
    
    ColumnImpl.java
      change space allocation for blobs to include only the blob header
    
    NdbRecordBlobImpl.java
      add variable byte buffer pool to constructor
    
    NdbRecordDeleteOperationImpl.java
      use fixed buffer pool for delete key instead of direct allocation
    
    NdbRecordImpl.java
      use fixed byte buffer pool for NdbRecord value and key buffers
      use new Utility method for BigDecimal and BigInteger conversions
        the new methods pass ByteBuffer instead of allocating new buffers
      calculate the size for NdbRecord but also check it against
        the size from NdbDictionary; warn if the values are different
      release the buffer pool when the table is unloaded due to schema change
    
    NdbRecordIndexScanOperationImpl.java
      return the key (index) buffers used to define the scan after definition
    
    NdbRecordOperationImpl.java
      initialize the variable buffer pool in the constructor
      release the value buffer and any key buffers when the owning object
        is garbage collected
    
    NdbRecordScanOperationImpl.java
      change the order of releasing resources: this first; superclass afterward
    
    NdbRecordScanResultDataImpl.java
      close the ScanOperation java object instead of the ndb object
    
    OperationImpl.java (used for non-NdbRecord access)
      plan for the variable byte buffer pool (not currently implemented)
    
    ResultDataImpl.java
      implement the new constructor for Blob
    
    Utility.java
      add new methods to convert BigDecimal and BigInteger
        new methods take ByteBuffer parameter instead of allocating new buffers
        scratch buffers are borrowed and returned in the method
    
    tie/Bundle.properties
      add messages:
        warning: no buffer pool with big enough buffers
        info: buffer pools initialized
        error: wrong size buffer returned to pool
        warning: failed check guard (writing past allocated space)
    
    clusterj-tie/pom.xml.in
      added sun.misc to import packages for Cleaner internal class
    
    FixedByteBufferPoolImpl.java
      implement a pool of fixed size buffers for NdbRecord and Utility buffer
      each buffer in the pool is the same size
      the pool grows without bound as more buffers are needed
      optionally a guard can be allocated immediately after the data
        in the buffer and checked when the buffer is returned to guarantee
        that the buffer was not overwritten by errant code
    
    VariableByteBufferPoolImpl.java
      implement variable size buffer pool for Blob read and write
      the sizes are specified in configuration property
        com.mysql.clusterj.byte.buffer.pool.sizes
      if this property is set to “1” no buffer pooling occurs
      if no pool has a big enough buffer size, a single use buffer is obtained
        and immediately after use, it is “cleaned” by calling the unsupported
        method “clean” on the object in the buffer’s “cleaner” field.

commit 135209ad212c7f701ff773155123b87d7c0b58ae
Merge: 1de70b6 c4c96cc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 10:09:31 2015 -0700

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

commit c4c96cc7c3d89b212fa6a557d80eefaf41d43666
Merge: a940052 eaf25ff
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 10:09:17 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit eaf25ffead03dfeb0538fb845ef78693741d5eb6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 10:08:39 2015 -0700

    Backport My::Memcache.pm improvements from 7.3
    This will be null-merged up

commit 1de70b6c832ebfec71898ca7b51bc67efce4db8a
Merge: 759d13a a940052
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 09:58:10 2015 -0700

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

commit a940052589686327f4d86478add710c789064f55
Merge: 14712e3 90e11e4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 09:57:40 2015 -0700

    Merge commit '90e11e41d4f5ce4d79e9878d5585fd437edf1091' of ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 759d13a92f9c678cac69f124333858432af69c2e
Merge: c3d1dfc 14712e3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 09:49:24 2015 -0700

    Merge ../mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    This is a manual merge to overwrite some previously pushed changes to 3rd party memcached source files in 7.4

commit 14712e333d3ccbdcacd335e53477029aa04666f7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 13 09:28:44 2015 -0700

    Eliminate some compiler warnings in 3rd party memcached code for NDB Memcache
    This fix includes both reducing the gcc warning config in CMakeLists.txt
    and changing two memcached source files.
    No Oracle copyright is added to the changed 3rd party files.

commit c3d1dfc200c49518270f96680e0b39bf07ca4349
Merge: cf650d8 e6f7cdc
Author: craiglrussell <craig.russell@oracle.com>
Date:   Tue May 12 14:22:36 2015 -0700

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

commit e6f7cdc5dd4f7ee7e73485261a4693550a404d7e
Author: craiglrussell <craig.russell@oracle.com>
Date:   Tue May 12 14:20:37 2015 -0700

    Clusterj Trivial bug fix for error displays
    
    ConnectionPoolTest.java
      trivial bug fix

commit cf650d8a9361b21ed8c81784ee194d5642661b7d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon May 11 10:34:10 2015 +0200

    Bug#21055643 REDUCE DEBUG PRINTOUT DURING A GAP AND IMPROVE

commit 880c29b7af03ddbbddb6a81b7a4dcbe7d9978350
Merge: caa6d83 522c967
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 14:14:19 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit caa6d830aa2d78a4cc8b24838f35a30247e69fe4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 13:49:39 2015 +0200

    Improve comments

commit 99c17e32d2b8097faaa94e60ff9ed7f251b01ac6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 13:45:28 2015 +0200

    Cache the key_length in NDB_SHARE_KEY
    
     - avoids repeated strlen when searching the HASH
     - add asserts checking consistency

commit 43ba762d94beb399d966e7f88d30ab20d87cc19a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 13:27:55 2015 +0200

    Provide type safety by using the opaque NDB_SHARE_KEY* type
    
     - instead of char*

commit f63e175b2b12c4790da094b2a43f9abc0e4f2f42
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 12:46:42 2015 +0200

    Use NDB_SHARE::key_string() instead of direct access to key member
    
     - only printouts and DBUG_PRINTS

commit 4b08b0e657bd12e2d74d37aba966d4e63d16484b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 12:27:29 2015 +0200

    Move NDB_SHARE::key_length into NDB_SHARE_KEY
    
     - using strlen() to start with but should be cached inside the opaque
       type since it's used by the HASH get_key function repeatedly

commit dd69a24072638741e24f3fc5b5239a83f2764a2c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 11:53:10 2015 +0200

    Rewrite the lgive share leak name  to also use NDB_SHARE::create_key
    
     - leaks slightly more memory but with less code.
     - increase the size of the min key from 10 to 16 bytes since
       that seems like the current max

commit 12ebba40be6235706bae6a3dff4e96f91cbcdd3d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri May 8 11:35:24 2015 +0200

    Move all NDB_SHARE key initialization into NDB_SHARE::creat_key()
    
     - add internal type NDB_SHARE_KEY
     - add ndb_name_util providing the common functionality
       to create table and db name from key
     - move the formatting of db and table_name into NDB_SHARE::create_key
       thus removing duplicated code.

commit 522c967ee5d716ecbdcbfeeb713858d4bc65de05
Merge: cb8aeca f11ccb7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 16:41:08 2015 -0700

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

commit f11ccb784e5c70ff1f9ebfd0dbaff93a7586c6d6
Merge: 3cc8786 63a0550
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 16:37:31 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit cb8aeca56a620b88cf13974f93fc343b08b03f8d
Merge: 09c701f f56811a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 16:34:31 2015 -0700

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

commit f56811a0056baea5d5c86286b05f2affa00886ed
Merge: 0898626 63a0550
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 16:30:06 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 63a05501d498c155e753ef0e9ccba6a2f87aaeed
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 15:14:16 2015 -0700

    Fix some compiler warnings from memcached sources

commit 0898626a2e7a4bd1da13a62fd275f82eb7ea4ae4
Merge: 3cc8786 90e11e4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 12:23:09 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 90e11e41d4f5ce4d79e9878d5585fd437edf1091
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 7 12:06:27 2015 -0700

    My::Memcache.pm: handle case where the last read before a timeout completed the read buffer.
    Open a new memcache connection when trying to fetch server error stats.

commit 1c33f5b616129c939e0c606d8538b7f6be0302a7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 20:00:20 2015 +0200

    Save the prepared key in Ndb_schema_dist_data
    
     - add placeholder in Ndb_schema_dist_data for the key prepared
       for rename
     - remove NDB_SHARE::new_key, shrinking runtime footprint even more

commit 6ed3a54dc8552a298c7bdb74a80a390d014baa99
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 19:40:07 2015 +0200

    Rename ndbcluster_prepare_rename_share to NDB_SHARE::create_key
    
     - use the new function in both places which allocates
       memory for the key
     - move function to ndb_share.cc

commit 82e66b7642ec2356ec8fc24bde653d125323840b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 19:25:10 2015 +0200

    Remove NDB_SHARE::mem_root and instead use my_malloc for dynamic strings
    
     - this fixes the memory leak where the MEM_ROOT just kept growing
      for each reame/alter.
     - add NDB_SHARE::free_key() to release the memory for key
     - saves runtime footprint of NDB_SHARE and reduces complexity

commit f9b00c9fed5fd5f6a5002ee7f472a4276610d796
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 18:42:58 2015 +0200

    Change ndcluster_prepare_rename_share to return newly allocated key
    
     - return newly allocated key to allow caller to decide where
       to save the pointer.
     - Change schema dist client to save the new allocated key
       on stack instead of in NDB_SHARE
     - Now only the schema dist paricipant uses the NDB_SHARE::new_key

commit 8a18533bef63364f83674ad9d0d912fa0c8686af
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 18:33:15 2015 +0200

    Remove NDB_SHARE::old_names
    
     - save the old_key pointer on the stack instead
     - remove the ndbcluster_undo_rename_share which is now not necessary

commit 411bdda9649bba368cf09df1d080e776b0b7a9ea
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 15:24:20 2015 +0200

    Pass the new_key as argument to ndbcluster_rename_share
    
     - to not always take it from share->new_key

commit a61dcac18e4b5a6c1c0f53b34ca887ca80572db2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 15:14:17 2015 +0200

    Skip ndb_ddl tests with embeddes server
    
     - they require more than one started mysqld which is not supported

commit 4965cc03db8891ba38588ed530f2f2fb990e9429
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu May 7 15:11:23 2015 +0200

    Change to allocate Ndb_CONFLICT_FN_SHARE bith my_malloc
    
     - the first thing of using the NDB_SHARE::mem_root
     - add function teardown_conflict_fn() which releases the
       allocated memory and allocated resources

commit 5da1e8a1d38db69c412bb4a449ebb0dc30ceb2c3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 6 15:29:03 2015 +0200

    Make the NDB_CONFLICT_FN_SHARE an opaque type for users of ndb_share.h
    
     - move include of ndb_conflict.h to ndb_share.cc

commit 2da8bba71e24dcf1a7323170d362733228da1062
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 6 15:23:10 2015 +0200

    Remove useless typedefs
    
    - just causes confusion when the same type has two different names

commit d5fdbf82c95242885615ca7e5fbbe10cb1e872b2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 6 15:04:51 2015 +0200

    Remove backwards jump into a hoop on fire

commit 09c701f35403abd931744f58a5889ad383949ead
Merge: f8d35d8 e58fd8d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 6 14:20:20 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e58fd8d876dff8daa11eb7120fd4628e9d76679b
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 6 14:18:02 2015 +0200

    bug#18411034: Remove an unnecessary if-statement

commit c901ba6a6ed462934190a3adf18401ee963feb31
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed May 6 13:03:38 2015 +0200

    Print stats for the MEM_ROOT in Ndb_event_data

commit f8d35d8b9e09a7f7e3f63758e6509339d5977e92
Merge: 322f034 9930717
Author: Saroj Tripathy <saroj.tripathy@oracle.com>
Date:   Wed May 6 11:54:33 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 993071776c9067d01165130f2110bcf83f3b5ca3
Merge: 848a3be 1ea73a8
Author: Saroj Tripathy <saroj.tripathy@oracle.com>
Date:   Wed May 6 11:50:06 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 1ea73a87eb27643b0cc6746b118c8be748f35b03
Author: Saroj Tripathy <saroj.tripathy@oracle.com>
Date:   Wed May 6 11:42:07 2015 +0200

    Increased the undolog file size from 256MB to 512MB and FragmentLogFileSize from 64MB to 128MB.

commit 322f03431a836a997c8937b18fd66c606e213eb3
Merge: 417f17f 848a3be
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 6 11:23:10 2015 +0200

    Null merge from 7.3

commit 417f17f823c368d900bc0e755c799ea84d70f665
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 6 10:10:57 2015 +0200

    bug#18411034: Assertion gci_ops && (gci == gci_ops->m_gci) failed
    
    The assertion fails due to the event queue not being cleared after the
    subscriptions are dropped and recreated due to a cluster initial
    restart, and continue using the same ndb object. In this case, the
    event queue contains epochs belonging to two incarnations of the
    cluster (higher epochs from first incarnation followed by lower epochs
    from the next one), causing the assertion failure.

commit 848a3befbff9e8fb6aee60636bc213609d19484e
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed May 6 10:10:57 2015 +0200

    bug#18411034: Assertion gci_ops && (gci == gci_ops->m_gci) failed
    
    The assertion fails due to the event queue not being cleared after the
    subscriptions are dropped and recreated due to a cluster initial
    restart, and continue using the same ndb object. In this case, the
    event queue contains epochs belonging to two incarnations of the
    cluster (higher epochs from first incarnation followed by lower epochs
    from the next one), causing the assertion failure.

commit 0a1aed2953aeda90ac45e4b798dc39806006ea8b
Merge: 96fab27 b1bea6d
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed May 6 00:08:08 2015 +0300

    Merge branch 'bug20553313-7.3' into bug20553313-7.4

commit b1bea6d4c6673c9124a12314e7d1787ff7720e62
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue May 5 20:04:54 2015 +0300

    bug#20553313, bug#20707694 - fix index stats query delays
    
    wait_query():  Client must not touch index entry error status.
    Now answer query at once if any stats exist.  Wait only if first
    stats (or lack of them) need to be discovered.
    
    wait_analyze():  Similarly client messing with error status led
    to a more subtle bug.  Use error_count to detect new errors.

commit 1c591deef68416e094bc95c37c622d07606c4280
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue May 5 11:50:35 2015 +0200

    Bug#20479917 REMOVE MCP_BUG16021021
    
     - refactor ha_ndbcluster::rename_table() and factor
       out the impl part and the decision logic part.
     - add support for ALTER ... RENAME which was what
       the MCP prevented.
     - add new ndb_ddl test suites with one test for each ALTER RENAME case

commit c87c385201ce14a4dd3815d8a7167ed41e4ea8d8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon May 4 15:40:12 2015 +0200

    Bug#21026199 	RANDOM WARNING ORDER NDB_ONE_FRAGMENT
    
     - each INSERT IGNORE generate 10000 duplicate key warnings each. By
       default only the first 64 warnings are saved on the  warning stack
      (and thus printed to the .result file). Since the order of the
      inserts are slightly random the first 64 warnings are also random.
      Fix by setting the number of saved warnigns to zero, since the test
      are only interested in checking that no records are allowed to be
      inserted by looking at "affected_rows"

commit 825a98a686d560469fcbc5422a26bff8f0d45964
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Wed Apr 29 14:51:21 2015 +0300

    Addendum to the fix for bug #20681412:
    
    revert the reset of the GTID mode when starting in --bootstrap mode.
    Filed bug #20980271 for the need of this code to be here.
    
    (cherry picked from commit 1996ed0bd325779523c71a4db2bdd7e6c3792e2f)

commit cec6f218b0b228fa94ec454ad7e187096d7a1009
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Apr 30 11:40:07 2015 +0530

    post push minor test fix for bug:19887143
    
    (cherry picked from commit d562671740474847d5111b42578fce46fb58b19d)

commit 677c45127efc837ef51844a2a9ac3bf984672eaa
Author: David.Zhao <david.zhao@oracle.com>
Date:   Wed Apr 29 20:24:29 2015 +0800

    Bug#20842030 ST_BUFFER CAN BE CALLED WITH PARAMETERS TO CONSUME INORDINATE AMOUNT OF MEMORY
    
    Follow-up: disable warnings as necessary in max_points_in_geometry_basic.test
    so it can succeed when run with and without --embedded-server.
    
    (cherry picked from commit 7a92381d6ce0cf22a69ba1e1beb5991e010170a7)

commit dc8e0bacb59161e3ad15be91297270bfee58869e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 30 14:40:53 2015 +0200

    Bug#20234681 HA_NDBCLUSTER USAGE OF FIND_FILES LEAK MEMORY INTO
    (UNRELEASED) MEM_ROOT
    
     - fix by implementing utility class Ndb_find_files_list which
       encapsulates the call to find_files(), the returned list and
       it's memory in MEM_ROOT.
     - also move the "col_access" quirk into the new utiliy class.

commit 660274ecad6c8c09f4d36be7b136067bddc485e4
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 30 16:02:52 2015 +0200

    Move new drop_table test to suite ndbcluster
    
     - need only one mysqld
     - crashed without GSL

commit bec6f900d505e3fd57df3ab67df4330e7b15244b
Merge: 7146829 b5fbd9a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 30 16:02:31 2015 +0200

    Merge ../7.2-bug20728189 into mysql-5.7-cluster-7.5

commit b5fbd9a0c879c0035775a281b26e337f4e3d8b2c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 19 15:45:13 2015 +0100

    Bug#20728189 DROP TABLE SEGFAULTS IF FIRST STATEMENT ON A NEW CONNECTION
    
     - move the get_thd_ndb() call to after check_ndb_connection
     - add test case

commit 96fab27c799845db1a87c2bc334be2b2ed371bb3
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Apr 30 14:50:44 2015 +0530

    Adding force_restart option to ndb_addnode_restart_setup.inc
    To force restart servers during retries.

commit 30d871dd01e04f55fe52e17e61d376a482ca6815
Merge: 4dec29c 6eed3e6
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Apr 30 11:53:27 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 6eed3e651e5360b14f84c58d322601960a3e4d30
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Apr 30 11:51:56 2015 +0530

    Bug#20782580: NDB REDO OVERLOAD: ABORT QUEUING REQUESTS IF OUT OF
    LOG SPACE
    
    Removed blank line from daily-basic-tests which was preventing
    execution of remaining tests.

commit 714682941e1a41f4c86c1e89a4477ad5443e28ec
Merge: a064a9b 4dec29c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 29 13:06:30 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5

commit a064a9b33c1995ecb78fe07806e871728b55086f
Merge: 232f383 0bceaf0
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 29 12:59:10 2015 +0200

    Merge mysql-5.7 into mysql-5.7-cluster-7.5

commit 232f383bbb3a49ec3a583541e12560661df98374
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 29 11:13:48 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - rewrite code to fix warning about unused 'col' variable
     - it was only used by the asserts

commit 8a12f62db77d93ae6f835fb7580f64b59b747c74
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 29 10:22:34 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - remove one assert too much. Checking the tableid can't be
      done while loading the virtual tables into list of table since
      they might already have a table id assigned from before.
    - the "big" consistency check loop will take care of this and
      check that each table has a unique and consequtive id.

commit 4dec29c2e02386b256b4a5f6881cde599e2ef0f4
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Apr 28 16:24:41 2015 +0530

    Added 5 autotest testcases to test node restart with following scenarios.
    1. Restarting one node at a time.
    2. killing two node of different groups and starting them
    with and without initial option.
    3. Restarting a node which doesn't belongs to node group 0, and checking
    that it is not associated with node group 0 after restart.
    4. killing four node of different groups and starting them
    with and without initial option.
    5. Killing only the master nodes one by one and starting them without
    initial option.

commit 273d8b0b62cfb01ef9b124a3ec5906ac3e4eb837
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:45:27 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - remove ndbinfo_create.inc, ndbinfo_drop.inc and have_ndbinfo.inc
     - these files have only been active in pre 7.1 versions and have
       since no effect rather than confusion.

commit 933846994a9d571e4ee49091da3c8eef46e58e18
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:26:31 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - Improve creation of the virtual tables as much as
      possible wihtout having to rewrite NdbInfoScanNodes
      too much. I.e makeing it as easy as possible to add new
      tables.

commit f2c7d4e1b49f19488b5fe0e7a6e4f70715e20d86
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:21:24 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - Improvements related to VirtualTable and VirtualTable::Row

commit 29ba89bb41e5edd004ce8ff68fa9216306bde083
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:17:12 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - Implment NdbInfoRecAttrCollection for shared functionality
    - New and improved "array new" to create all NdbInfoRecAttr up front
    - Change both NdbInfoScanNodes and NdbInfoScanVirtual to use the
      same container class for maintaining the NdbInfoRecAttr list

commit 36bc16421f7a4619594e5ac07cec2382f2ee7142
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:12:21 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     -remove unused argument to VirtualTable::Row constructor

commit a41b71af1a856625180a556dba810ad7f2ff0035
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:11:08 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - Remove the NdbInfo internal impl since it just obfuscates. The
      intention was to hide implementation details in a public API(which
      it's not)

commit 30e578f78f4bfd693d5258e84476fe87af70cb4d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:07:31 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - remove guess of failure return code

commit 5dffea2ff71b06c5b182377cdfac7ae9459fda3a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:05:50 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - Change to public constructor instead of friend
      for NdbInfoScanVirtual and NdbInfoScanNodes

commit 57a716aeb40c6be6ea103ed857c925f463ed2911
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:02:41 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - improve constness
     - remove #ifndef DBUG_OFF around code which primarily
       consists of asserts

commit 11efc68fbaa46f5c8c3605c340bf7449a43c108a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 10:00:16 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
     - improve comments

commit 3f6c826dc9b1b8cf98e078c42df9d9ff0ccf272f
Author: magnus.blaudd@oracle.com <magnus.blaudd@oracle.com>
Date:   Fri Nov 21 15:36:29 2014 +0100

    Bug#11762750 TABLE NDBINFO.CONFIG_PARAMS SHOULD BE READ-ONLY (FOR NOW)
    
     - Added test to verify that ndbinfo.config_params is readonly after WL#7575

commit 2afe18f906054b3d065165cd482c3755b06263b6
Author: magnus.blaudd@oracle.com <magnus.blaudd@oracle.com>
Date:   Fri Nov 21 15:31:54 2014 +0100

    Bug#16731538 MYSQLD CRITICAL FAILURE DURING ORDERED SELECT FROM NDBINFO.CLUSTER_OPERATIONS
    
     - The filesort() function asks the handler implementation how many rows are expected
       with estimate_rows_upper_bound(). The default implementation of that function(in handler.h)
        is to return "stats.records+EXTRA_RECORDS" where EXTRA_RECORDS is defined as 10. Unless
       the handler implementation has filled in stats.records it will be 0 and thus 10 will be used for
       calculating size of sort buffer etc.
    
     - Implement ha_ndbinfo::estimate_rows_upper_bound() to return "many" rows

commit f78c76bcf85bfc04b54cd6eff5e7ae5d4146e35f
Author: magnus.blaudd@oracle.com <magnus.blaudd@oracle.com>
Date:   Fri Nov 21 15:19:24 2014 +0100

    BUG#20075747 RND_INIT() ON AN OPEN SCAN IS USED TO REPOSITION THE CURSOR
    
     - rnd_init() on an open scan is used to reposition the "cursor"
       back to first row
     - Allow rnd_init() on an already open scan. Close the scan and let it reopen.

commit 2b045e44fcacf5c74e07dfdd5f5887c5a70b2359
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 28 09:23:54 2015 +0200

    WL#7575 Remove ndbinfo's usage of other engine
    
    - Add support for virtual (aka. hardoded table in ha_ndbinfo).
    - Extracted NdbInfoScanoperation to become an abstract interface
      to allow different scan implementations. The NdbInfo classes
      are internal so this is fine. Rename existing scan implementation
      to NdbInfoScanNodes which reads from the tables in the data nodes
      and then added new NdbInfoScanVirtual which reads from the virtual
      table. The factory function createScanOperation() decides which one
      to create based on the "virt" member in Table.
    - Create virtual table in Ndbinfo::init() and destroy them in
      destructor. This is important since the Table class  has
      pointer(s) to these tables. Alternatively the pointer could have been
      avoided at the cost of one hash lookup in createScanOperation() to
      determine if the table is virtual or not.
    - Implement ndb$blocks, ndb$dict_obj_types, ndb$config_params,
      ndb$dbtc_apiconnect_state and ndb$dblqh_tcconnect_state
    - Added SQL to create the above tables.
    - Added SQL to create backward compatibility views for the three old
      table names -  blocks, config_params and dict_obj_types
    - Updated ndbinfo_sql to generate code for the new virtual tables,
      drop the "old" tables and create the new views.
    - After this patch all tables in ndbinfo should have engine = NDBINFO.

commit 00c7a2b2ae1cc9709fb92149cc5fac921ec842c8
Merge: ecd43ee 3cc8786
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 21:59:50 2015 -0700

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

commit 3cc8786d3d3cb907db450f89ed0713663ca43ea0
Merge: 2f0497f c39e4c0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 21:59:40 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit c39e4c0b82fbfc567fa2e1f40ee49681daa74f07
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 21:58:36 2015 -0700

    My::Memcache -- longer write timeot

commit ecd43ee53953cc599d5a64c83120f3dd6c6eb3d9
Merge: 3c50870 2f0497f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 12:35:55 2015 -0700

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

commit 2f0497f2c111f3d8c397cc29a2480ed4c15b3417
Merge: d041552 1f74f23
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 12:34:29 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 1f74f23fb0073da1ca107be51a3c47055a17cc83
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 27 12:33:24 2015 -0700

    My::Memcache client, fix bug in read() where desired length is 0

commit 8d82c59c7f3793e40da0e7a3a41e15b02939ae5d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 27 16:25:45 2015 +0200

    Remove include/ndb_default_cluster.inc
    
     - The include checked if the ndbcluster status variable
       config_from_host was equal to localhost and skipped the test
       if not. This is an old remnant of someones wish for a generic
       check to be able to run a .test against a configuration not
       started by mtr. Should some test require specific configuration
       or feature a more explicit check should be made.
     - Intention of include file was apparently not clear since it was used
       in copy & paste fashion.

commit cc49493aebeae6d4db65a27088f039b0372ce4aa
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 27 12:04:47 2015 +0200

    WL#8165 Use new records per key interface in NDB
    
    - change the ha_ndbcluster to provide index statistics using the
      new KEY::set_records_per_key() interface.
    
    - "the new records per key interface should improve the accuracy
      of the index statistics and make the optimizer create better
      query plans for NDB."

commit 3c508707e3a40bddb9a323a2339af903e9e9f2c2
Merge: fe83ded d041552
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Apr 27 09:24:23 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit d0415527e7c338578351d005da7b168b14607743
Merge: 754bfd6 0cd81df
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Apr 27 09:23:35 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 0cd81dfb85719ac6d5f141596f4706fc8b8f65a5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 24 14:27:50 2015 +0200

    Fix for Bug#20954804
    
      'WATCHDOG DETECTS NO PROGRESS IN SEND THREAD AND KILLS DATANODE'
    
    Patch is a backport of 'part 3 of 3' of WL#7654:
    
      'Reduce lock contention in NDB mt-scheduler'
    
    That WL was originaly pushe dto Cluster-7.4 as a performance
    optimization, but it has later turned out that it also
    fixed a potential deadlock between send- and worker-threads
    in the multithreaded scheduler.
    
    Pasted commit comment from original WL:
    
    ---------------------------------------
          Reduce lock contention on send_lock when using send threads.
    
          Previously multiple send threads could be invoked for
          handling sending to the same node. These would then
          compete for the same send_lock. Furthermore, while
          being blocked on the send lock, there could be available
          sending work to other nodes.
    
          This patch ensures that new send threads are not activated
          while there already is an active send thread assigned to
          a node. Neither would a node being handled by an active send
          thread be visible to other, already active, send threads.
          This is achived by not putting the node into the 'node-list'
          while it is assigned to a send thread.
    
          See comment in code how different states are now defined for
          handling this.

commit fe83ded61b67e15186da8770d3a7098b8fcc836b
Merge: a7d4ad2 754bfd6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Apr 27 09:15:38 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 754bfd605df2238277619c4cc59c773e4b81d92d
Merge: 176e0a3 341e615
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Apr 27 08:31:06 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 341e61507e917c42330a0be80b73be4332ec89d8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 24 14:27:50 2015 +0200

    Fix for Bug#20954804
    
      'WATCHDOG DETECTS NO PROGRESS IN SEND THREAD AND KILLS DATANODE'
    
    Patch is a backport of 'part 3 of 3' of WL#7654:
    
      'Reduce lock contention in NDB mt-scheduler'
    
    That WL was originaly pushe dto Cluster-7.4 as a performance
    optimization, but it has later turned out that it also
    fixed a potential deadlock between send- and worker-threads
    in the multithreaded scheduler.
    
    Pasted commit comment from original WL:
    
    ---------------------------------------
          Reduce lock contention on send_lock when using send threads.
    
          Previously multiple send threads could be invoked for
          handling sending to the same node. These would then
          compete for the same send_lock. Furthermore, while
          being blocked on the send lock, there could be available
          sending work to other nodes.
    
          This patch ensures that new send threads are not activated
          while there already is an active send thread assigned to
          a node. Neither would a node being handled by an active send
          thread be visible to other, already active, send threads.
          This is achived by not putting the node into the 'node-list'
          while it is assigned to a send thread.
    
          See comment in code how different states are now defined for
          handling this.

commit a7d4ad2133255522b49d3ec4b4bedb013a8970b9
Merge: c342d4e 176e0a3
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Apr 24 17:54:53 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 176e0a39f8cc34dd43fb54fc760ee8909793915e
Merge: f307fe4 461938a
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Apr 24 17:53:04 2015 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 461938aa776c4693c5a6e0ea3f9e83adc7b27402
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Apr 24 17:45:25 2015 +0530

    Bug#20782580: NDB REDO OVERLOAD: ABORT QUEUING REQUESTS IF OUT OF
    LOG SPACE
    
    If redo log writes are requested when the redo log is full, the
    writes are queued instead of being rejected. These requests have
    to wait in queue until redo space is freed. However, redo space
    is freed only when the next LCP completes, which can take a long
    time. This results in long waits and timeouts.
    
    Modified redo log queuing to abort requests which are received
    when the redo log is full. The requests are aborted with the
    error code 410 'REDO log files overloaded (decrease
    TimeBetweenLocalCheckpoints or increase NoOfFragmentLogFiles)'.

commit c342d4e91d1b00a0f012b37a206d59826c0b5893
Merge: a53b9df f307fe4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 24 13:54:33 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit f307fe41c81b4b57f785245359ca8e95fa97e407
Merge: 455601b 1b5b247
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 24 13:54:00 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 1b5b247c16cf056e86a359107db6f18d1d7f38f0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Apr 24 13:49:03 2015 +0200

    Fix a possible crash in AutoTest when an
    ordered scan encounter error 4008, scan timeout.
    One such testcase is 'testScan -n ScanRead4880'
    
    In case scan timeouts are encountered, the test attempts to reduce the
    load by changing to unordered scans. This is done by setting the
    'const NdbDictionary::Index * pIdx' argument to NULL inside
    HugoTransactions::scanReadRecords.
    
    As pIdx->getName() is later called when creating a NdbIndexScanOperation
    we will crash.
    
    The patch below fixes this issue by calling NdbScanOperation() instead
    if 'pIdx == NULL'

commit b7b847bfa7d6ad1ba22911cb0772cb333a5deaf1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 24 13:29:04 2015 +0200

    Bug#11760802 SEVERAL MGMAPI FUNCTIONS RETURN 0(SUCCESS) WHEN NO HANDLE
    OR NOT CONNECTED
    
     - Change affected mgmapi functions to return -1 when handle
       is NULL or not connected. Most functions already had this
       behaviour but quite a few contained probable copy and paste
       errors causing the functions to return the same value as if
       the function suceeded.
     - Exception to the rule above is those function which does not return
       status but rather a value like node id or session id - those
       functions return an invalid node id. Add comment describing these
       cases.
     - Another exception is those functions which operate only on local data
       structures in the handle, those functions does not check connected
       status.
     - Add unit test program verifying that functions return proper values
       when handle is NULL or not connected.
     - Change ndb_mgm_get_latest_error(), ndb_mgm_get_latest_error(),
       ndb_mgm_get_latest_error() and ndb_mgm_get_latest_error() to allow
       handle to be NULL. Add tests for these functions showing the new
       behaviour
     - Fix constness of value returned from
       ndb_mgm_get_connection_int_parameter() in TransporterRegistry.
     - Fix constness and variable localization of values returned from
       ndb_mgm_create_nodegroup() in CommmandInterpreter

commit 6d2780ee7790b69194efe3c1a37906fd7ca7bbe6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 26 10:58:01 2015 +0100

    Refactoring of create partitioned table
    
     - Change set_up_partition_info() to use create_info, since set_up_partition_info()
       is used solely by create() it should only look at create_info values and not table_share
     - Mark functions used for creating partitioned table as static to make sure
       they don't use any members of ha_ndbcluster
     - Rename and localize utility functions for create of partitioned tables
       to be local static functions in ha_ndbcluster.cc
     - Move variable unsigned_flag to local scope and mark it as const
     - Remove useless goto in create_table_set_*_data
     - Remove unused variable ts_names
     - Fold various variables into local scope
     - Remove partition_info_* wrapper function
     - Colocate code and variables which setup partition to frag mapping, add comment
       describing what happens.
     - Add asserts to check partitions vs. fragments, partition_info know how many partitions it has
     - Remove ftype variable and just call setFragmentType() directly, add DBUG_PRINTOUT describing
       which fragmentation type is being used

commit d4cf6ff952b004430eebfbb0f8e29d95258d19fb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 21 11:42:35 2015 +0200

    Revert unintentional change
    
     - should not remove include of "direct.h" in CustomAction.cpp

commit 896734d02d6b14be4c9f1657b6f01ab3a07ddf30
Merge: 73dd0b8 a53b9df
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Apr 21 10:45:37 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-5.7-cluster-7.5
    
    Conflicts:
    	mysql-test/collections/default.daily
    	mysql-test/collections/default.push
    	mysql-test/lib/My/Memcache.pm
    	packaging/WiX/CPackWixConfig.cmake
    	packaging/WiX/ca/CMakeLists.txt
    	packaging/WiX/ca/CustomAction.cpp
    	packaging/WiX/create_msi.cmake.in
    	storage/ndb/memcache/CMakeLists.txt
    	storage/ndb/memcache/include/DataTypeHandler.h
    	storage/ndb/memcache/include/Operation.h
    	storage/ndb/memcache/include/Scheduler.h
    	storage/ndb/memcache/include/ndb_pipeline.h
    	storage/ndb/memcache/include/ndbmemcache_global.h
    	storage/ndb/memcache/memclient.pl
    	storage/ndb/memcache/src/DataTypeHandler.cc
    	storage/ndb/memcache/src/ExpireTime.cc
    	storage/ndb/memcache/src/ExternalValue.cc
    	storage/ndb/memcache/src/Operation.cc
    	storage/ndb/memcache/src/Record.cc
    	storage/ndb/memcache/src/Scheduler.cc
    	storage/ndb/memcache/src/debug.c
    	storage/ndb/memcache/src/ndb_engine.c
    	storage/ndb/memcache/src/ndb_pipeline.cc
    	storage/ndb/memcache/src/ndb_worker.cc
    	storage/ndb/memcache/src/schedulers/S_sched.cc
    	storage/ndb/memcache/src/schedulers/S_sched.h
    	storage/ndb/memcache/src/schedulers/Scheduler73.cc
    	storage/ndb/memcache/src/schedulers/Scheduler73.h
    	storage/ndb/memcache/src/schedulers/Stockholm.cc
    	storage/ndb/memcache/src/schedulers/Stockholm.h

commit 73dd0b873799c8d375e2e2a7181fd465221dbd13
Merge: f4e54f2 8a70364
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Apr 20 13:09:09 2015 +0200

    Merge 7.4 -> 7.5
    
     - as of commit '8a7036400aa7bc478c303334885bc72ebc26882b'
    
    Conflicts:
    	VERSION
    	mysql-test/r/sp.result
    	mysql-test/suite/perfschema/r/start_server_low_digest.result
    	mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
    	mysql-test/suite/sys_vars/r/transaction_prealloc_size_basic.result
    	mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    	mysql-test/suite/sys_vars/t/transaction_prealloc_size_basic.test
    	mysql-test/t/sp.test
    	packaging/WiX/CMakeLists.txt
    	packaging/WiX/CPackWixConfig.cmake
    	packaging/WiX/create_msi.cmake.in
    	sql/item_func.cc
    	sql/mysqld.cc
    	sql/sql_class.h
    	sql/sql_partition.cc
    	sql/sql_select.cc
    	storage/ndb/VERSION
    	storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp

commit a53b9df61f90bbcffce099ddfe952aba22778cad
Merge: 2309cbb 455601b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 16:42:04 2015 -0700

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

commit 455601b6863aa5b18df548ae26eb07940b82bd93
Merge: 962f2f4 486cc7f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 16:38:24 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 486cc7f3a4f6cb91a380c37c734be70b349fc496
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 16:35:33 2015 -0700

    My::Memcache - do not close connection before attempting to fetch server error statistics

commit 2309cbbbee3492cd16fc08c1054a509c87d77c60
Merge: 3ae9f9a 962f2f4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 11:02:04 2015 -0700

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

commit 962f2f42dfb5bf119b3324d6ca7c6a918579e17e
Merge: 71995e6 0a99274
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 10:38:17 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 0a992748356d76e89edbc325aa04e538a6b6a78b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 17 10:25:02 2015 -0700

    MTR ndb_memcache more tweaks to timeout handling

commit 3ae9f9a989b81e9945c4dd254cd2757e14007c14
Merge: 0ea8ce5 71995e6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 15:36:51 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 71995e6d1ee668e3871956aab023489edfbf1b2a
Merge: a082ae2 87592d4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 15:35:18 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 87592d453ed3627915258eda49455409b4bfce5f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 13:57:55 2015 +0200

    Bug#20814396 PB2 IS SECRET ABOUT WHAT UNIT TESTS IT RUN
    
    One can not see in PB2 test logs which unit tests have been run
    and passed.
    
    This patchs adds an option --unit-tests-report to mtr which
    include the ctest report in mtr output.  It will also turn on unit
    testing if not explicitly turned off with --no-unit-tests or
    equivalent.
    
    In manual runs one can always look in the ctest.log file in mtr
    vardir.
    
    --unit-tests are replaced with --unit-tests-report in files under
    mysql-test/collections/ to activate report in PB2.
    
    (cherry picked from commit 1dd2957dcc6e8b336bf1afe7fc22463ad9e6116f)

commit f4e54f2acc2048ddc8adffb7858b00357f8bd203
Merge: 88bb78b 938b4d5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 17 13:09:03 2015 +0200

    Merge branch 'mysql-5.7-MCP_GLOBAL_SCHEMA_LOCK' into mysql-5.7-cluster-7.5

commit 938b4d5630296925cc6d3bcdd586a90d55114483
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 17 13:07:01 2015 +0200

    Revert "Remove MCP_GLOBAL_SCHEMA_LOCK patch"
    
    This reverts commit 10f4e2944f78d998e8613a1c13501f56cdd17479.

commit 0ea8ce56683f3041111eb1b59f215cd4fbe7fd87
Merge: c05044a a082ae2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 12:08:14 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c05044a239cab89656ea390d2c9b62a13b3d0ba7
Merge: 070c387 579f461
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 16 09:14:04 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit a082ae2d6e815e477e7612131f4bcff8bd0a2287
Merge: 373fae2 df5a807
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 16 09:11:22 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 070c3870a5fb32bcef96558f199e83e8cd8f8691
Merge: cb29708 df5a807
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 16 09:11:00 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.4

commit 579f4616bfa9a4e5f4100d012e73a6d3eecb36f5
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Apr 16 18:09:33 2015 +0200

    Fixing the following test failures by synch'ing the error injection
    and the test checking the error:
    
    test_event -n NextEventRemoveInconsisEvent T1
    test_event -n BackwardCompatiblePollInconsistency T1

commit df5a807c4a5ccb9c2319a9febaba6c0869310074
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 16 09:09:00 2015 -0700

    increase timeouts

commit cb29708bbba0adc1660b4796459b05fb146349e6
Merge: 6d277de 373fae2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Apr 16 10:01:51 2015 +0200

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 373fae2caf2cd61df59e4c225d8513bd27a28fc7
Merge: cd52938 08ed93f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Apr 16 09:56:33 2015 +0200

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 6d277decf3765377d9af48257f00b6a6f633af27
Merge: 08adeab abd004a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 17:03:40 2015 -0700

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

commit abd004af7771ed2b61c1825beb831656ac46d50c
Merge: e199a65 7d6b5db
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 17:03:09 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.4

commit cd5293888e87ea9bfb2f877f450b0274b10cc6f5
Merge: ad71a47 7d6b5db
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 17:02:48 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 08ed93fc8a9e3724496bdf73ca58df059fbdc1e1
Merge: ed35ecf 7d6b5db
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 17:02:00 2015 -0700

    Merge ../working/mysql-5.5-cluster-7.2 into mysql-5.5-cluster-7.2

commit 7d6b5db65f32c049e0fe9fca27c6a241539aca34
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 17:01:02 2015 -0700

    Better failure handling in My::Memcache.pm

commit ed35ecf85983aa4707c5588299cac148e8048977
Merge: f69c2e2 a7eb4af
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:27:05 2015 -0700

    Merge ../working/mysql-5.5-cluster-7.2 into mysql-5.5-cluster-7.2

commit 08adeab80fcf6726bb485f44bff0a5534000f551
Merge: 73ed84f e199a65
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:24:38 2015 -0700

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

commit 73ed84f7b91510643ac375fd28636630b6de0094
Merge: 531aed7 ad71a47
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:23:56 2015 -0700

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

commit ad71a47bfcef8dfcbeef5c0e7782b37cabff112b
Merge: a0a9109 a7eb4af
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:23:25 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit e199a65a8162b474faf16b3b127da4517c2d6a8a
Merge: 531aed7 a7eb4af
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:22:35 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.4

commit a7eb4afaa0461312e7f68aeb1c29259290d091b2
Merge: 410a7d9 cc02a27
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:19:59 2015 -0700

    Merge branch 'mysql-5.5-cluster-7.2' of /Users/jdd/git-work-trees/working/../mysql into mysql-5.5-cluster-7.2

commit 410a7d9abc3a0476a8f60041a9b3a292764e7d10
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 15 10:18:06 2015 -0700

    Provide more information when an ndb_memcache test fails

commit 88bb78bd96c899e1fd660489c095afdf6e1283c9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 15 11:22:25 2015 +0200

    BUG#20887445: Fix so that cpuset is working in ThreadConfig, previously node log proclaimed it was working where it wasn't really working
    
    (cherry picked from commit f69c2e21d447094fd09a5a9c884e0eb0bdae0215)

commit 48edd560be0ca77f17099f83e7df6f9d90026ee3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 14 16:15:02 2015 +0200

    Fix ndbapi example programs to work on Mac OS X Yosemite

commit 531aed799b36c5e3cb714804306a2e6617cba9c5
Merge: 2d1bd8b a0a9109
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 15 11:23:05 2015 +0200

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

commit a0a91095d30a99c14ed463fd8a7ebc324ba490f6
Merge: 5ca1841 f69c2e2
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 15 11:22:51 2015 +0200

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

commit f69c2e21d447094fd09a5a9c884e0eb0bdae0215
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Apr 15 11:22:25 2015 +0200

    BUG#20887445: Fix so that cpuset is working in ThreadConfig, previously node log proclaimed it was working where it wasn't really working

commit 2d1bd8bfa956aba048507877b1d9f90eaf9044cc
Merge: e60c801 5ca1841
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 14 16:22:09 2015 +0200

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

commit 5ca184147683280b4c1bd7738a9d34590b8cb907
Merge: ed0bd0e 45225b0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 14 16:21:51 2015 +0200

    merge

commit 45225b0ef750e94669db09e109b93a27ceb061fd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Apr 14 16:15:02 2015 +0200

    Fix ndbapi example programs to work on Mac OS X Yosemite

commit e60c801abe20211b1957fbecd8dea91724af9857
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 14 12:50:24 2015 +0200

    Bug#20700220 - GETHIGHESTQUEUEDEPOCH() RETURNS WRONG VALUE THAN INTENDED
    
     getLatestGCI was returned instead of highestQueuedEpoch.

commit 1d1fa4d251b882a291bf5d01f88fbd2a05aba277
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 14 12:31:40 2015 +0200

    Bug#20729091 - ASSERTION TYPE < NDBDICTIONARY::EVENT::TE_EMPTY FAILED

commit 3052137d1a1e7168cbcd4d1ab164afaacc6451a3
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 14 12:21:14 2015 +0200

    Bug#20646496 - ENSURE BACKWARD COMPATIBILITY TO POLLEVENTS, RELATED TO EXCEPTIONAL EPOCHS
    
    When an empty or error epoch is found at the head of the event queue,
        - it removes empty event data
        - returns 1 for error types : inconsistency and event buffer overflow.

commit e6a6711a299f15fb11498f465cb7e31c13ec8ab4
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Apr 14 10:41:42 2015 +0200

    Bug#20762291 - POLLEVENTS2() WILL RETURN ERROR (-1) IF GIVEN WAITTIME AMILLISECONDS IS NEGATIVE

commit e2ae2e8e03730f19306c27de81116eb33cc83a0e
Merge: e185bca ed0bd0e
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Tue Apr 14 09:24:24 2015 +0200

    Upmerge of the 7.2.20 build

commit ed0bd0e278a737d02abb7a0bcc75f6522c134545
Merge: 3cb2e59 cc02a27
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Tue Apr 14 09:23:10 2015 +0200

    Upmerge of the 7.2.20 build

commit e185bca9cc58ec95c1cfc11f1290b9d2050a81c2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 13 14:52:59 2015 -0700

    Attempt to avoid spurious test failures.
    Increase read timeout in My::Memcache from 4 sec. to 8 sec.
    Change external_values test to use all non-logging tables.

commit 3cb2e596443c8bb40c9844a362233de1393470c3
Merge: 847c50c 4e65dfe
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 13 14:56:59 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.3

commit 847c50c57ab693ea1d2f1a7d748e87e4cd9fd109
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 13 14:52:59 2015 -0700

    Attempt to avoid spurious test failures.
    Increase read timeout in My::Memcache from 4 sec. to 8 sec.
    Change external_values test to use all non-logging tables.

commit cc02a274304494160526a004bd3866b2774891c7
Merge: 4d99384 cb4a0a1
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 13 14:55:44 2015 -0700

    Merge ../working/mysql-5.5-cluster-7.2 into mysql-5.5-cluster-7.2

commit cb4a0a190e3a4a23418a34178fc098b43b32ee93
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 13 14:52:59 2015 -0700

    Attempt to avoid spurious test failures.
    Increase read timeout in My::Memcache from 4 sec. to 8 sec.
    Change external_values test to use all non-logging tables.

commit 11680a8a14b0eb5394ff7ee074a7aa1faebe4c59
Merge: 6f79aa6 4e65dfe
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 13 15:01:47 2015 +0200

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

commit 4e65dfea84bcd624049b0cf50338469257f53b9f
Merge: 2096652 4d99384
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 13 15:01:33 2015 +0200

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

commit 4d993843914ef1ef067542644abc07f949890bcc
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Apr 13 15:01:02 2015 +0200

    Fix testIndex seg fault where index not exists when calling indexReadRecords, added check for NULL return

commit a9282c4cae174bd7b125a943eeb3d405ac807a95
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 10 12:15:03 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - there is apparently one of several hundred queries which
       randomly does not push. In order to detect in which section that
       query is located add printout of the counter diff values morre
       often(basically before each "connection ddl" which seem to indicate
       end of testcase).
     - add ndb_join_pushdown_counters.inc to be included after each section
       ndb_join_pushdown.inc
     - update .result files

commit 9c218fc45827da53c27ba6c1ee92b3ea307a3d12
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Apr 10 10:39:53 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - the ndb_binlog_default_format.test intends to check that
       the binlog_format of mysqld is automatically upgraded to MIXED
       when mysqld is started with binlog_format = STATEMENT, this
       test was broken now when the default binlog_format has been changed
       to ROW.
     - fix test by changing the config to start mysqld
       with binlog_format STATEMENT
     - improve comments in test describing the test purpose

commit 6f79aa6328386d7e2c60527b4b6b7425ee2869b6
Merge: 0df06c5 a8bd5ff
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 15:40:25 2015 -0700

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

commit a8bd5ff4516f518429fbc5311e75f3eadbc82b76
Merge: 87f844a 2096652
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 15:40:01 2015 -0700

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

commit 20966527ad3d3ccc640e5fe69ce7986dae8543a9
Merge: 35eb9cf 85d3b92
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 15:38:17 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit f64c65d984d498f155ca56d0939d3c8cdb3bf1b0
Merge: 93a89c5 85d3b92
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 15:37:13 2015 -0700

    Merge ../working/mysql-5.5-cluster-7.2 into mysql-5.5-cluster-7.2

commit 85d3b921574e27fe6049fcafc990d952f7437bbf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 15:34:57 2015 -0700

    MTR ndb_memcache : still better timeout handling & more verbose reporting during test runs

commit 0df06c5628c79db2d28d097006ca38358c23db8a
Merge: a3d02b6b 87f844a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 08:54:46 2015 -0700

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

commit 87f844a3cb0ecbb0b1380f2c4e5fc241b81389a7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 9 08:54:12 2015 -0700

    Revert to older scheduler as default in 7.4 for testing

commit 349fe43a29547a9eea0ab317e1361dd511d77e03
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 9 14:45:57 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - fix test which uses "DELETE IGNORE" to accept the returned error
     - in 5.7 only a few error codes are downgraded to warnings and
       error 1296 is not one of those, this means the statement is aborted
       when the error occurs. See Internal_error_handler class for list of
       ignored error.
     - remove unnecessary SHOW WARNINGS
     - add comment explaining why statement fails although IGNORE is used.

commit 4e6b6bd5393130a8072c7cc30ea2faae1715cd6f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 9 14:31:55 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re: WL#6629 Performance Schema, Status Variables
     - remove the recorded deprecation warnings from
       ndb_partition_key.result file since the sourced
       file ndb_scan_count.inc have been fixed to not trigger
       those warnings.
     - result file was fixed upstream where ndb_scan_count.inc was not
       yet fixed

commit 359019033b22f387a8dd9705e18330a7f6ed00cb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 9 13:55:52 2015 +0200

    Remove MCP_WIX
    
     - remove an accidental 'a' which appeared at end of line

commit a3d02b6b3f6b50f43975294ed8947b6b4ee1be40
Merge: e5b6300 50a55ef
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 22:26:58 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit e5b6300a0d67e00022029b5d2a9cbf3f0c021216
Merge: 4df5c45 35eb9cf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 22:25:16 2015 -0700

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

commit 35eb9cf6148ddcc852581e7d5c60415a221318b5
Merge: 7d1be57 6af386d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 22:22:35 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 93a89c5b6690db3b53e956177c558dea54c19933
Merge: 90ac63b 6af386d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 22:21:23 2015 -0700

    Merge ../working/mysql-5.5-cluster-7.2 into mysql-5.5-cluster-7.2

commit 6af386d2ff2edccb871caf0897a2d4f58e6200d3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 22:17:05 2015 -0700

    Handle server timouts and disconnects in MTR's My::Memcache client

commit f77d3a5f8826433ad691377f711d3d94ce416319
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 8 17:17:42 2015 -0700

    Work on My::Memcache to handle server disconnects and timeouts

commit 50a55ef9520ff0c8cb1c9e4a825f8bfec191afbd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 19 13:50:08 2015 +0100

    Bug#20575424 DATA RACE FOR NDBEVENTBUFFER::M_TOTAL_BUCKETS
    Bug#20561446 NDB : NDBEVENTBUFFER NEEDS MORE THREADING PROTECTION
    
    Patch removes some sharing of data between threads, and also adds
    some thread synchronization.
    
    Application thread used "uninitialised" value of m_total_buckets as
    indicator when to use a dummy schema trans blocking add and drop
    nodes during subscribing to first event.  Now a new separate flag
    is used for that.
    
    Application thread was setting the inititial value for m_total_buckets
    while it only was receiver that need to use it, this logic was moved to
    receiver thread on SUB_START_CONF arrival.
    
    Also the m_active_op_count member was written by application thread but
    read by receiver, this was also moved to receiver on SUB_START_CONF,
    SUB_STOP_CONF, and SUB_STOP_REF arrival.  Also purging event data when
    all subscriptions was canceled was moved to happend immediately when it
    occured, instead of waiting until next new subscription.
    
    Synchronization was added around writing to m_ev_op.

commit 4df5c450d625aa32c897c67a34f52f7c233979f6
Merge: aca8ddc 7d1be57
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 21:45:22 2015 -0700

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

commit 7d1be5776fe8f5473bb5cff3d654c50ee0ca6dcc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 18:13:35 2015 -0700

    NDB Memcache: mtr failures are caused by faulty locking on linux?

commit 90ac63bccc25fda650b16e1f2375374c7fbfebb6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 18:13:35 2015 -0700

    NDB Memcache: mtr failures are caused by faulty locking on linux?

commit b6ea1680a99bcfbf1b7c899413d1b47e2299966b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 18:38:57 2015 -0700

    fix

commit fa67c68ec92883a76349af3f27e21442dd117943
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 18:13:35 2015 -0700

    NDB Memcache: mtr failures are caused by faulty locking on linux?

commit aca8ddc10ee5486b41aa25c123ce6dadcb9b434d
Merge: edf347d 05a3662
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 16:08:10 2015 -0700

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

commit 05a366267b4e3b44690c81f8e627d4014746adda
Merge: 2664363 9e3b1a9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 16:04:57 2015 -0700

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 9e3b1a95c679dccee613a5326fa265c1f8f9b386
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 7 15:52:17 2015 -0700

    NDB Memcache external_values fixes:
    The external_values test had a Perl bug using "==" instead of "eq",
    causing tests to pass even when the server produced errant responses.
    This patch fixes the test case and also fixes the revealed errant
    behavior in memcached.

commit edf347d57d29b7038d1527aefc0294e71e7f64ef
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 27 12:42:16 2015 +0100

    Remove MCP_WIX
    
      - Detect Cluster build and turn on extra custom actions
        to be built into the wixca.dll.
      - Add conditional defines making it possible to turn on
        the extra custom actions for Cluster only.

commit 605ce2bd7e433b21f043632ccba92d0165478abf
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 27 10:26:06 2015 +0100

    Remove MCP_WIX
    
     - Detect Cluster build and setup DISPLAY_MAJOR_VERSION, DISPLAY_MINOR_VERSION and
       DISPLAY_PATCH_VERSION which is used to override the version "displayed"
       when create_msi.cmake builds the msi(i.e 5.6.21 -> 7.4.3)
     - Detect Cluster build and override parameters used by the mysql_server.wxs
       template. This was already parametrized but the original values fore PRODUCT_NAME,
       UPGRADE_CODE and UPGRADE_ID were never set. Now the logic setup
       the default values for these parameters(which are then used when building vanilla)
       and overrides them when Cluster is detected.
     - Added new parameter PRODUCT_DESCRIPTION which was not preoprly paremetrized before.
     - Most likely the WIXCA_LOCATION variable is not necessary to override since
       it's already contains the desired value. However this patch does not intend
       to fix anything, just parametrize it.

commit 7a91fdbe7477b9fdf5a8180fe5f479ccbc3c5060
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 27 07:20:32 2015 +0100

    Remove MCP_WIX
    
     - Detect Cluster build and append and define the additional
       components for Cluster only in this case
     -- append additional components to CPACK_COMPONENTS_USED
     -- define the appended components with CPACK_COMPONENT_XXX variables

commit 041098120c2d05d34c3b17a22aad6e77680c58ee
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 21:20:42 2015 -0700

    Do not change default scheduler in 7.2

commit cc83793ed58ef26dbd6866c0aa86ed0efbb8896a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 15:00:16 2015 -0700

    NDB Memcache: use pollEvents2() in reconfiguration waiter thread

commit 2bfbdad33e8427b83e5839bd276e9362812ba62e
Merge: c331767 2664363
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 14:37:22 2015 -0700

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

commit 266436336dfc9bc6b281568ffe430db8e0a0bc19
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 12:29:35 2015 -0700

    bug#17638548: NDB Memcached uses excessive CPU.
    This patch works around the underlying issue by defaulting to a new
    scheduler which does not make use of the NDB MultiWait APIs.

commit 83759fc0cb034a419adfda1eea05b07d9dcf7159
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 12:23:02 2015 -0700

    NDB Memcached: enable "Trondheim" scheduler in 7.2

commit 0c64e2f0228ab0171567b35cd68220b4c37a76e0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 09:16:13 2015 -0700

    one more solaris fix

commit eb147585aaf4f0b919828824515290d660f2ab6d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 09:14:09 2015 -0700

    Fix for compiler error on Solaris

commit 003dba80d121f98d18434128b3eee1c703802b47
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 10:12:02 2015 -0700

    Adapt 73 Scheduler to new online configuration manager

commit f0833aa1f819b4985819380089bd54851c1fb75d
Merge: 34dc536 8f5dc27
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 09:50:57 2015 -0700

    Merge ../../mysql into mysql-5.6-cluster-7.3
    
    Conflicts:
    	storage/ndb/memcache/CMakeLists.txt

commit e3aa5c8f525f88ed9cf294cbc61e1de262a02540
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 09:16:13 2015 -0700

    one more solaris fix

commit 9c93706a3473f329e1645624b1b11123922519e3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 6 09:14:09 2015 -0700

    Fix for compiler error on Solaris

commit 8f5dc270ed03b14cf2b1967bec685300c3ab8300
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 3 21:41:05 2015 -0700

    Fixup from previous merge

commit 6cea24c4a1ddeded9359c51274c186826b23093b
Merge: 700f945 9c7dc39
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 3 17:05:13 2015 -0700

    Merge branch '7.2-merge-work' of ../working/cluster-7.2 into mysql-5.5-cluster-7.2

commit 9c7dc39fadcaa9064f367348528d896b3495b238
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 1 15:13:26 2015 -0700

    NDB Memcache: backport improvements into 7.2

commit c3317673cf2bf3b62ac5fad509704152f077fe00
Merge: 8a70364 34dc536
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 3 16:41:06 2015 -0700

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 34dc53642ee44a70b3c25654018c284d1f5378a9
Merge: 8dea354 700f945
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 3 16:38:46 2015 -0700

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3
    
    Conflicts:
    	storage/ndb/memcache/src/DataTypeHandler.cc
    	storage/ndb/memcache/src/Scheduler.cc

commit 700f9453ec002ede5ef6bd3ea068d1bd164d68eb
Merge: 31ed311 cbfa71d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 3 16:14:40 2015 -0700

    Merge branch '7.2-merge-work' of ../working/cluster-7.2 into mysql-5.5-cluster-7.2

commit cbfa71da3aa92d0ad2d390c1c3dddcd20b90727d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 1 14:52:36 2015 -0700

    Backport misc. NDB memcache changes from 7.3 to 7.2

commit 8a7036400aa7bc478c303334885bc72ebc26882b
Merge: 6e13f15 8dea354
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Thu Apr 2 14:03:23 2015 +0200

    Upmerge of the 7.2.20 build

commit 8dea354aef7dfbea00fffa757ce888f57c8c58aa
Merge: 2a94078 31ed311
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Thu Apr 2 14:02:25 2015 +0200

    Upmerge of the 7.2.20 build

commit 31ed311418c17749f20100edfcbef4969c2e9f9c
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Thu Apr 2 14:00:10 2015 +0200

    Raise version number after cloning 7.2.20

commit 6e13f15e101f69996302917ec5463756522be79f
Merge: abf7da4 2a94078
Author: Vishal Chaudhary <vishal.chaudhary@oracle.com>
Date:   Thu Apr 2 10:15:29 2015 +0200

    Upmerge of the 7.3.9 build

commit 2a940782283bbcde42b5f512d94ee398abb3ff8d
Author: Vishal Chaudhary <vishal.chaudhary@oracle.com>
Date:   Thu Apr 2 10:04:27 2015 +0200

    Raise version number after cloning 7.3.9

commit abf7da431422b09cadb64d462b985cf471480e9c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 1 18:49:57 2015 +0200

    Raise version number after cloning 7.4.6

commit 585bfb7feeda82172f599d8990e874d96165d28f
Merge: c99b904 af74813
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 1 08:34:54 2015 +0200

    Upmerge of the 7.1.35 build

commit af74813488aa2c7e2d72a0afdd7d9a5f53bcd6bc
Merge: 8190f5e 43f6c54
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 1 08:33:30 2015 +0200

    Upmerge of the 7.1.35 build

commit 43f6c546d9015f38c95d8a86eb14beab9146379f
Merge: 07d955b 8d9f5f0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 1 08:30:46 2015 +0200

    Upmerge of the 7.1.35 build

commit 8d9f5f0c897e47ec6fb06c08364dc7b82f05964e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Apr 1 08:27:53 2015 +0200

    Raise version number after cloning 7.1.35

commit 9725c209057e22ae13a3805036e7c5b41fce59dd
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Nov 19 09:33:04 2014 -0800

    Attempt better "htonll" portability in NDB memcache code

commit c99b90477b9e030dca39cb64fd2bb6a41236231b
Merge: c11d840 8190f5e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 30 16:21:42 2015 +0200

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

commit 8190f5ea4265d1a93aa0dddbc9c9bd8bfef51314
Merge: 8605a83 07d955b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 30 16:21:25 2015 +0200

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 07d955b25f9612b042f2128cb957255a70560cf9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 30 16:20:14 2015 +0200

    BUG#20665205, fixed a part where we skipped reading of page 0 which was required to do in last file, also due to file 0, page 0 writes we can trust this page to be correct

commit c11d840b1e7f1d20f4366434bfe54ac45e80bf67
Merge: f29fd4a 8605a83
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 18:37:03 2015 +0100

    Null merge mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4

commit 8605a831b114527abf1ed214c410f15fdd118f3f
Merge: 8457953 599d810
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 18:36:13 2015 +0100

    Null merge mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 599d81054b0d33f54343f3d74ec304a086b43603
Merge: 1201924 b930f35
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 18:35:37 2015 +0100

    Null merge mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2

commit f29fd4ac0c298ffda36fbbb99a9c0a068ad0bcc7
Merge: 4904f3a 8457953
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 18:32:52 2015 +0100

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

commit 8457953d246cea39025b7dbb31c2980bdcad4b6f
Merge: c70ec36 1201924
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 18:32:08 2015 +0100

    Null merge mysql-5.5-cluster-7.2

commit 4904f3acb8deef538c43b8a9422028748ea16f5e
Merge: 47445d2 c70ec36
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 17:01:46 2015 +0100

    Merge server 5.6.24 via mysql-5.6-cluster-7.3 into mysql-5.6-cluster-7.4
    
    Conflicts:
    	VERSION

commit b930f35da7a477a5a0a692b3205dba4ae507f33c
Merge: 67fbd5d 295d881
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 13:34:44 2015 +0100

    Merge mysql-5.1 (5.1.74) into mysql-5.1-telco-7.1
    
    Conflicts:
    	configure.in

commit 1201924474f538ab9944fa70d419c21f0bf03a18
Merge: 1d1e0c0 85aeb32
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 13:29:53 2015 +0100

    Manual merge mysql-5.5.43-release into mysql-5.5-cluster-7.2

commit 85aeb32b7b897d93b184665f5812a61733e1a4af
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 26 23:23:50 2015 +0100

    Add ndb specific changes for Bug#20094067: BACKPORT BUG#19683834 TO 5.5 AND 5.6
    
    commit 088473e2979e7812624da686f219a6d7215a99b4
    Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
    Date:   Tue Jan 27 13:13:55 2015 +0530
    
        Bug#20094067: BACKPORT BUG#19683834 TO 5.5 AND 5.6
    
        Backporting the patch and the test case fixed as part
        of BUG#16041903 and BUG#19683834 respectively.

commit caf56393b3a98dd0f75074fb980ef922fc425d4b
Merge: 1d1e0c0 367802c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 12:47:10 2015 +0100

    Merge mysql-5.5.43-release into mysql-5.5-cluster-7.2
    
    Conflicts:
    	VERSION

commit c70ec36c0968fabf0dd594543737d926fd5bd6eb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 11:28:07 2015 +0100

    Added ndb testcase for bug#19856162.

commit 104ca211c067bbcb37f291bff869836f278c85b7
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Fri Mar 27 18:03:55 2015 +0100

    Post-push fix for bug#19856162.
    
    The added asserts was hit by ndb.
    See bug#20785860.
    
    (cherry picked from commit f11a63734bfab93fb223d17387ff401572909b38)

commit db5a034fe4647e9ff8bf52555bb270a2b5477bf3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 12:36:34 2015 +0100

    Merge into cluster: WL#8354 BACKPORT DIGEST IMPROVEMENTS TO MYSQL 5.6
    
    MySQL server 5.6 and cluster 7.3 and 7.4 have parser differences and
    statement digest differ between them and the cluster specific digest
    must be recorded.
    
    Note.  In 5.7 based cluster version there should be no parser differences
    hence no difference in digests either so for 5.7 based cluster versions
    the server digests should be kept.

commit 25d2a63a24f712797fcff92cccbb1e223ec2d755
Merge: 569fa57 9754366
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sat Mar 28 12:28:46 2015 +0100

    Merge mysql-5.6.24-release into mysql-5.6-cluster-7.3
    
    Conflicts:
    	VERSION

commit 47445d20ad1a8fb285a14a5f11e74949d6fc380a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Mar 27 13:13:33 2015 +0100

    Revert "Bug#20575424 DATA RACE FOR NDBEVENTBUFFER::M_TOTAL_BUCKETS"
    
    This reverts commit 5290225eb4ca80fa0a30345edf8a98fe7bfaacc5.

commit bfea2a44f614ea1382fafd0cc8e5654a16c19d56
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Mar 26 15:17:35 2015 +0100

    Revert "Bug#20646496 - ENSURE BACKWARD COMPATIBILITY TO POLLEVENTS, RELATED TO EXCEPTIONAL EPOCHS"
    
    Revert "Bug 20762291 - POLLEVENTS2() WILL RETURN ERROR (-1) IF GIVEN WAITTIME AMILLISECONDS IS NEGATIVE"
    
    This reverts commit f2f185294bced46645646f7b9197e0267ceb646a.
    
    This reverts commit 8b1239a8029094c53fd432066de9262398364a73.
    
    Fix copyright

commit 4a4ed3e9b19712a9e2fa2bdae95f34fdce2f1bd1
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Mar 26 15:16:57 2015 +0100

    Revert "Bug#20729091 - ASSERTION `TYPE < NDBDICTIONARY::EVENT::TE_EMPTY' FAILED."
    
    This reverts commit 0fb741086a0c20b99a4e95ff9a080cf4b1726e75.

commit 0b3360b51a74d11d79adb524370a6752f6fc4c1e
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu Mar 26 14:58:39 2015 +0100

    Revert "Bug#20700220 - GETHIGHESTQUEUEDEPOCH() RETURNS WRONG VALUE THAN INTENDED"
    
    This reverts commit af6119c23e517d239af4e123ce104ba0f86bdf22.

commit 06d9edbb4447729de200935fac9e21f3845b8985
Merge: 1038d06 569fa57
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 26 13:51:14 2015 +0100

    Merge BUG#20665205

commit 569fa57300deed0fbb7707080eebdb534492aaa3
Merge: edaa68a 1d1e0c0
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 26 13:49:30 2015 +0100

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

commit 1d1e0c076dd881b1eec47c5dbc2d8171eb209ca3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 26 13:44:22 2015 +0100

    BUG#20665205: Fix REDO log issue

commit 1038d067bc422821eb0c50b9095198301ff390d2
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Mar 26 03:43:05 2015 +0530

    Added autotest testcases to test addnode and restart.
    
    The tests are run from MTR as they need separate cluster config
    Changes:
      - added testcases to testSystemRestart and added .test files
      - updated run_ndbapitest.inc to handle post test cleanup queries

commit af6119c23e517d239af4e123ce104ba0f86bdf22
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 25 21:00:04 2015 +0100

    Bug#20700220 - GETHIGHESTQUEUEDEPOCH() RETURNS WRONG VALUE THAN INTENDED
    
    It returned getLatestGCI instead of highestQueuedEpoch.

commit 0fb741086a0c20b99a4e95ff9a080cf4b1726e75
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 25 20:42:25 2015 +0100

    Bug#20729091 - ASSERTION `TYPE < NDBDICTIONARY::EVENT::TE_EMPTY' FAILED.

commit f2f185294bced46645646f7b9197e0267ceb646a
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 25 20:25:11 2015 +0100

    Bug#20646496 - ENSURE BACKWARD COMPATIBILITY TO POLLEVENTS, RELATED TO EXCEPTIONAL EPOCHS
    
    When an empty or error epoch is found at the head of the event queue,
    - it removes empty event data
    - returns 1 for error types : inconsistency and event buffer overflow.

commit 8b1239a8029094c53fd432066de9262398364a73
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 25 20:02:26 2015 +0100

    Bug 20762291 - POLLEVENTS2() WILL RETURN ERROR (-1) IF GIVEN WAITTIME AMILLISECONDS IS NEGATIVE

commit 5290225eb4ca80fa0a30345edf8a98fe7bfaacc5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 19 13:50:08 2015 +0100

    Bug#20575424 DATA RACE FOR NDBEVENTBUFFER::M_TOTAL_BUCKETS
    Bug#20561446 NDB : NDBEVENTBUFFER NEEDS MORE THREADING PROTECTION
    
    Patch removes some sharing of data between threads, and also adds
    some thread synchronization.
    
    Application thread used "uninitialised" value of m_total_buckets as
    indicator when to use a dummy schema trans blocking add and drop
    nodes during subscribing to first event.  Now a new separate flag
    is used for that.
    
    Application thread was setting the inititial value for m_total_buckets
    while it only was receiver that need to use it, this logic was moved to
    receiver thread on SUB_START_CONF arrival.
    
    Also the m_active_op_count member was written by application thread but
    read by receiver, this was also moved to receiver on SUB_START_CONF,
    SUB_STOP_CONF, and SUB_STOP_REF arrival.  Also purging event data when
    all subscriptions was canceled was moved to happend immediately when it
    occured, instead of waiting until next new subscription.
    
    SUB_TABLE_DATA signals will now also be ignored before the first
    subscription is confirmed and m_total_buckets are initialised.
    
    Synchronization was added around writing to m_ev_op.

commit a85a6be5f4d83c726974060218385262297269b6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 13:16:15 2015 +0100

    Remove MCP_WIX
    
     - prepare for making the Cluster build specific settings
       to activate automatically only in Cluster builds, i.e where
       version string contains -ndb-
     - add log messages describing and showing each parameter
       as it's changes to Cluster build specific
     - add logic which checks that it's possible to detect Cluster build
       programatically in each affected file
     - move the ClusterJ and nodejs subfeature sections to be defined
       together with the other cluster specific features and subfeatures

commit edaa68ad7fd5983bc158dfb98841fbd2a1207214
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 24 15:22:48 2015 +0100

    Resurrect unintentionally remove disabled.def file
    
     - Does still exist upstream
     - Suspect revert and reapply of upstream problem patch
     - Fix copyright
